Macchina a controllo numerico CNC - fattibile
Moderatore: jpquattro
Re: Macchina a controllo numerico CNC - fattibile
@ elettrauto
COM1 e' la prima seriale, COM2 e' la seconda seriale. LPT1 e' la prima parallela LPT2 e' la seconda.
Per pilotare la parallela ,leggere scrivere i dati sui singoli pin, all'indirizzo
http://www.linux.it/~rubini/docs/parall ... llela.html
trovi una guida con una figura esplicativa.
Sintetizzando
la porta parallela si trova all'indirizzo base PORT. ( 0x0378)
Scrivendo all'indirizzo 0x0378 controlli i pin dal 2 al 9 (uscite)
leggendo dall'indirizzo 0x0378 + 1 ( il bit 7 corrisponde al pin 11, il 6 al pin 10 il 5 al pin 13 il 4 al pin 15 vedi figura nel link)
i pin 1 (bit0) , 2 (bit1), 16(bit2) , 17(bit3) sono uscite e controllate scrivendo all'indirizzo 0x0378 + 2
Le scritture sono di variabili a 8 bit ( unsigned char !!) i bit sono numerati da 0 ad 7 il bit 0 e' il piu' a destra
quindi un byte e'
bit7,bit6, bit5,bit4, bit3,bit2.bit1,bit0
I pin dal 18 al 25 devono essere messi a massa....
Esempio per porre ad 1 i pin dal 2 al 9 scrivere all'indirizzo 0x0378 il valore 0xFF (255 in decimale ti consiglio di utilizare il sistema esadecimale perche' molto piu' semplice quando setti i bit)
dal pin 2 al pin 5 ad 1 e dal 6 al 9 a 0 scrivere 0xF0 per fare il contrario scrivere 0x0F
Per settare il pin 1 a 0 o a 1 senza cambiare il valore degli altri pin ( ma questo vale sempre per qualunque pin)
leggere all'indirizzo 0x0378+2
settare il bit 1 del valore letto ( tramite xor o and )
scrivere all'indirizzo 0x0378+s il valore desiderato.
saluti
COM1 e' la prima seriale, COM2 e' la seconda seriale. LPT1 e' la prima parallela LPT2 e' la seconda.
Per pilotare la parallela ,leggere scrivere i dati sui singoli pin, all'indirizzo
http://www.linux.it/~rubini/docs/parall ... llela.html
trovi una guida con una figura esplicativa.
Sintetizzando
la porta parallela si trova all'indirizzo base PORT. ( 0x0378)
Scrivendo all'indirizzo 0x0378 controlli i pin dal 2 al 9 (uscite)
leggendo dall'indirizzo 0x0378 + 1 ( il bit 7 corrisponde al pin 11, il 6 al pin 10 il 5 al pin 13 il 4 al pin 15 vedi figura nel link)
i pin 1 (bit0) , 2 (bit1), 16(bit2) , 17(bit3) sono uscite e controllate scrivendo all'indirizzo 0x0378 + 2
Le scritture sono di variabili a 8 bit ( unsigned char !!) i bit sono numerati da 0 ad 7 il bit 0 e' il piu' a destra
quindi un byte e'
bit7,bit6, bit5,bit4, bit3,bit2.bit1,bit0
I pin dal 18 al 25 devono essere messi a massa....
Esempio per porre ad 1 i pin dal 2 al 9 scrivere all'indirizzo 0x0378 il valore 0xFF (255 in decimale ti consiglio di utilizare il sistema esadecimale perche' molto piu' semplice quando setti i bit)
dal pin 2 al pin 5 ad 1 e dal 6 al 9 a 0 scrivere 0xF0 per fare il contrario scrivere 0x0F
Per settare il pin 1 a 0 o a 1 senza cambiare il valore degli altri pin ( ma questo vale sempre per qualunque pin)
leggere all'indirizzo 0x0378+2
settare il bit 1 del valore letto ( tramite xor o and )
scrivere all'indirizzo 0x0378+s il valore desiderato.
saluti
Re: Macchina a controllo numerico CNC - fattibile
Salve, se avete interesse a costruirvi una cnc vi posso garantire che è un esperienza bellissima.
Se qualcuno fosse interessato ad un elettronica (economica ed affidabile)di controllo 3 assi + parallela con rele di comando mandrino e pompa lubbrificante, capace di pilotare motori fino a 4AH di potenza, mi faccia sapere che con una cinquantina di euro la cedo.
Ciao.
Se qualcuno fosse interessato ad un elettronica (economica ed affidabile)di controllo 3 assi + parallela con rele di comando mandrino e pompa lubbrificante, capace di pilotare motori fino a 4AH di potenza, mi faccia sapere che con una cinquantina di euro la cedo.
Ciao.
L'invidioso mi loda senza saperlo.
L'invidioso è un impotente incapace di rassegnarsi.
L'invidioso è un impotente incapace di rassegnarsi.
- elettrauto
- Messaggi: 502
- Iscritto il: 13 lug 2012, 18:49
Re: Macchina a controllo numerico CNC - fattibile
@Solarino
Mi piace la tua affermazione, supponendo che sono bravo con il linguaggio C , mi sento un pochino sopravvalutato quando una persona mi dice: mi raccomando "unsigned char!!" .
Battute a parte, grazie per le puntuali precisazioni, adesso devo digerire il tutto!!!
Mi sono procurato il libro di Ritchie, l'inventore del linguaggio C, l'unico problemino è che è in inglese, ma mi adatterò.
Inoltre ho trovato una valida guida sul sito Html.it.
Ma tutto ciò non vale quanto una spiegazione puntuale come hai fatto tu Solarino, quindi Grazie!!
Una cosa che non mi è chiara che ho visto in un listato di pilotaggio della parallela (che ho allegato prima), ma giusto per capirlo io, per mia conoscenza e chiarezza personale, visto che inserendo quella riga funzionerebbe comunque:
quindi io devo usare sempre l'indirizzo della LPT1, ma dentro di essa ci sono 2 intervalli di indirizzi
LPT1
Hex Dec
0378 888
037F 895 da 888 a 895 ci sono 8 piedini e sono quelli di dato
0778 1912
77B 1915 da 1912 a 1915 sono 4 piedini e probabilmente sono i piedini di controllo (quelli di stato sono 5)
a che servono gli indirizzi da 0778 fino a 077B?
allego l'immagine per chiarezza
unsigned char !!
Mi piace la tua affermazione, supponendo che sono bravo con il linguaggio C , mi sento un pochino sopravvalutato quando una persona mi dice: mi raccomando "unsigned char!!" .
Battute a parte, grazie per le puntuali precisazioni, adesso devo digerire il tutto!!!
Mi sono procurato il libro di Ritchie, l'inventore del linguaggio C, l'unico problemino è che è in inglese, ma mi adatterò.
Inoltre ho trovato una valida guida sul sito Html.it.
Ma tutto ciò non vale quanto una spiegazione puntuale come hai fatto tu Solarino, quindi Grazie!!
Una cosa che non mi è chiara che ho visto in un listato di pilotaggio della parallela (che ho allegato prima), ma giusto per capirlo io, per mia conoscenza e chiarezza personale, visto che inserendo quella riga funzionerebbe comunque:
quindi io devo usare sempre l'indirizzo della LPT1, ma dentro di essa ci sono 2 intervalli di indirizzi
LPT1
Hex Dec
0378 888
037F 895 da 888 a 895 ci sono 8 piedini e sono quelli di dato
0778 1912
77B 1915 da 1912 a 1915 sono 4 piedini e probabilmente sono i piedini di controllo (quelli di stato sono 5)
a che servono gli indirizzi da 0778 fino a 077B?
allego l'immagine per chiarezza
- Allegati
-
- mia porta parallela.jpg (21 KiB) Visto 9327 volte
- elettrauto
- Messaggi: 502
- Iscritto il: 13 lug 2012, 18:49
Re: Macchina a controllo numerico CNC - fattibile
Poi dovendo scrivere
come mi suggerisci tu e come è scritto pure nel listato allegato, se l'indirizzo è 0378 perché devo aggiungere 0x prima?
0x0378
come mi suggerisci tu e come è scritto pure nel listato allegato, se l'indirizzo è 0378 perché devo aggiungere 0x prima?
- elettrauto
- Messaggi: 502
- Iscritto il: 13 lug 2012, 18:49
Re: Macchina a controllo numerico CNC - fattibile
@Pippo
Grazie per la tua proposta, se ne avrò necessità ti farò sapere.
Tu con la tua CNC che lavori hai fattò?
Grazie per la tua proposta, se ne avrò necessità ti farò sapere.
Tu con la tua CNC che lavori hai fattò?
Re: Macchina a controllo numerico CNC - fattibile
Salve la mia piccolina l'ho già presentate qui http://offgrid2.altervista.org/viewtopic.php?f=8&t=342
Qua lo stampo delle piastre per fare le plantè che poi ho abbandonato perche troppo grandi figurati che ogni elemento di 2 volt mi veniva quasi 70kg.
Qua un pcb di un alimentatore
questa invece è l'elettronica che proponevo basata su L6203
Composta dai 3 driver da 4 amp e la scheda di controllo ltp che pilota oltre ai driver pure 2 rele.
Qua lo stampo delle piastre per fare le plantè che poi ho abbandonato perche troppo grandi figurati che ogni elemento di 2 volt mi veniva quasi 70kg.
Qua un pcb di un alimentatore
questa invece è l'elettronica che proponevo basata su L6203
Composta dai 3 driver da 4 amp e la scheda di controllo ltp che pilota oltre ai driver pure 2 rele.
L'invidioso mi loda senza saperlo.
L'invidioso è un impotente incapace di rassegnarsi.
L'invidioso è un impotente incapace di rassegnarsi.
Re: Macchina a controllo numerico CNC - fattibile
@pippo1971
Complimenti bella macchina. Prima o poi ti chiedo un favore 8)
@elettrauto
ti rispondo velocemente , ma seguirà risposta più lunga .
L'indirizzo deve essere 0x perché esadecimale , se togliessi lo 0x il numero , poiché inizia con zero sarebbe un ottale ..... Il c é un po formale 8)
ottima scelta il libro sul C é il migliore. Se hai bisogno della versione in italiano fai un fischio.
I libri che ti ho segnalato sono validi ed in italiano.
Saluti
Complimenti bella macchina. Prima o poi ti chiedo un favore 8)
@elettrauto
ti rispondo velocemente , ma seguirà risposta più lunga .
L'indirizzo deve essere 0x perché esadecimale , se togliessi lo 0x il numero , poiché inizia con zero sarebbe un ottale ..... Il c é un po formale 8)
ottima scelta il libro sul C é il migliore. Se hai bisogno della versione in italiano fai un fischio.
I libri che ti ho segnalato sono validi ed in italiano.
Saluti
- elettrauto
- Messaggi: 502
- Iscritto il: 13 lug 2012, 18:49
Re: Macchina a controllo numerico CNC - fattibile
Fiiiiiiiiiiuuuuuuu!!!!
E' abbastanza lungo come fischio?
@Pippo
non è conveniente fresare direttamente il piombo, secondo me sarebbe meglio fresare uno stampo in alluminio e poi fare lo stampaggio del piombo; su questo puoi chiedere anche il parere ad Ferrobattuto, lui è un "altofornista accanito" (woot) ed ha fatto parecchi esperimenti del genere, ti potrà dire la sua!!! Anche Hal9000 ha fatto fusioni su stampi, interpellali che sono navigati
E' abbastanza lungo come fischio?
@Pippo
non è conveniente fresare direttamente il piombo, secondo me sarebbe meglio fresare uno stampo in alluminio e poi fare lo stampaggio del piombo; su questo puoi chiedere anche il parere ad Ferrobattuto, lui è un "altofornista accanito" (woot) ed ha fatto parecchi esperimenti del genere, ti potrà dire la sua!!! Anche Hal9000 ha fatto fusioni su stampi, interpellali che sono navigati
Re: Macchina a controllo numerico CNC - fattibile
Ma qua nessuno sta fresando il piombo, quello che vedi è il primo stampo che stavo facendo, ma lo avevo progettato un po grandino.
Ora se mi vuoi seguire sulle plante, seguimi da qua. http://offgrid2.altervista.org/viewtopic.php?f=7&t=372
Ora se mi vuoi seguire sulle plante, seguimi da qua. http://offgrid2.altervista.org/viewtopic.php?f=7&t=372
L'invidioso mi loda senza saperlo.
L'invidioso è un impotente incapace di rassegnarsi.
L'invidioso è un impotente incapace di rassegnarsi.
- elettrauto
- Messaggi: 502
- Iscritto il: 13 lug 2012, 18:49
Re: Macchina a controllo numerico CNC - fattibile
Se ho capito male, meglio ancora!!! Vuol dire che sei già sulla strada migliore
Vedrò la discussione!! Grazie
Vedrò la discussione!! Grazie
- elettrauto
- Messaggi: 502
- Iscritto il: 13 lug 2012, 18:49
Re: Macchina a controllo numerico CNC - fattibile
Da windows xp non è possibile pilotare la porta parallela tramite un listato C (qualcuno lo ha mai fatto?)
Stando a quanto dice Vincenzo V nel suo sito, la partallela non si può pilotare direttamente neanche con linux.
siti software libero CNC
http://www.linuxcnc.org/
http://mync.sourceforge.net/
@Pippo
Tu che software hai usato per pilotare la tua CNC?
Stando a quanto dice Vincenzo V nel suo sito, la partallela non si può pilotare direttamente neanche con linux.
siti software libero CNC
http://www.linuxcnc.org/
http://mync.sourceforge.net/
@Pippo
Tu che software hai usato per pilotare la tua CNC?
- elettrauto
- Messaggi: 502
- Iscritto il: 13 lug 2012, 18:49
Re: Macchina a controllo numerico CNC - fattibile
Riporto la fonte
http://www.vincenzov.net/tutorial/spp/indirizzi.htm
http://www.vincenzov.net/tutorial/spp/indirizzi.htm
Windows NT / 2000 / XP
Questo sistema operativo implementa due modalità operative: il ring0 ed il ring3. Le istruzioni di I/O sono possibili senza limitazioni solo nel ring 0, quello del kernel del sistema operativo. Nel ring3 (il livello delle normali applicazioni utente) sono in teoria possibili istruzioni di ingresso e uscita solo su particolari indirizzi attraverso la manipolazione della cosiddetta I/O permission table, modificabile solo all'interno del ring0.
Eseguendo una applicazione DOS viene automaticamente generata da WindowsNT una macchina virtuale (la NTVDM: NT virtual dos machine) che emula le periferiche standard ed in particolare la parallela permettendo in qualche caso il corretto funzionamento dei programmi anche se con notevolissimi rallentamenti.
Nei compilatori nativi in ambiente Windows normalmente le istruzioni di IN e OUT non sono neppure implementate: ciò è vero in particolare per VisualBasic, BorlandC e Delphi.
La soluzione a questi problemi è quella di scrivere un device driver che, essendo eseguito nel ring0, permette la gestione diretta dell'hardware; purtroppo l'uso della DDK (driver development kit) di Microsoft è tutt'altro che semplice... Forse potrebbe esservi utile WinDriver disponibile in versione demo su http://www.jungo.com
In alternativa è possibile usare driver generici che mettono a disposizione apposite funzioni attraverso DLL o VBX. Spesso questi prodotti sono disponibili gratuitamente su internet: posso citare DriverLINX, per Win9x e WinNT e PortTalk. Alcune funzioni sono disponibile all'interno del tool VVIO, del quale rendo disponibile sia il codice sorgente sia l'eseguibile.
Analoghe considerazioni valgono anche in Win95/98/Me, anche se questi OS sono molto più laschi nella protezione dell'hardware.
Linux
Anche in ambiente Linux l'I/O diretto a livello di applicazione utente non è possibile. Chi volesse fare esperimenti con questo sistema operativo deve utilizzare la funzione C
ioperm(from, num, on_or_off)
Essa permette di rendere accessibile in lettura/scrittura una serie di registri ad una applicazione qualunque. Per usare un programma che invoca questa funzione occorre però essere l'utente root.
In alternativa occorre scrivere applicazioni in kernel mode; per questo potrebbe essere utile per esempio il pacchetto GPL short.
Re: Macchina a controllo numerico CNC - fattibile
Per accedere su linux alla porta parallela e' suff. essere utente root (amministratore)
Per accedere su Xp e similari bisogna linkare la libreria Inpout32.dll quindi potrai accedere alla parallela senza problemi. Al link http://logix4u.net/parallel-port trovi tutte le informazioni ed i sorgenti per il Visual C
Per accedere su Xp e similari bisogna linkare la libreria Inpout32.dll quindi potrai accedere alla parallela senza problemi. Al link http://logix4u.net/parallel-port trovi tutte le informazioni ed i sorgenti per il Visual C
- elettrauto
- Messaggi: 502
- Iscritto il: 13 lug 2012, 18:49
Re: Macchina a controllo numerico CNC - fattibile
Anche qui dice che bisogna fare un driver, ovvero un altro programma che piloti la parallela su xp, ma siccome né io né Bill Gates né Linus Thorwald sappiamo come funziona la scheda PCI che ha la parallela, questo programma lo può avere solo il costruttore della porta parallela e nessun altro, a meno che non esista uno standard oO
http://forum.html.it/forum/showthread/t-1196363.html
http://forum.html.it/forum/showthread/t-1196363.html
Se lavori con Win XP o 2000, non puoi accedere direttamente all'hardware. Puoi
farlo solamente attraverso un device driver.
Re: Macchina a controllo numerico CNC - fattibile
Il driver non lo devi fare. Le librerie inpout32.dll le devi solo linkare.
- elettrauto
- Messaggi: 502
- Iscritto il: 13 lug 2012, 18:49
Re: Macchina a controllo numerico CNC - fattibile
Ciao Solarino, mi ero aberrato a scrivere..., ho letto adesso il tuo post precedente, adesso vado a studiarmi il sito...
Questa faccenda sta diventando a matrioska
Questa faccenda sta diventando a matrioska
- elettrauto
- Messaggi: 502
- Iscritto il: 13 lug 2012, 18:49
Re: Macchina a controllo numerico CNC - fattibile
Mi chiedevo...ma per il controllo real time WinXp o Linux avrebbero le stesse capacità del DOS?
Mi spiego meglio: il dos è un sistema operativo semplice e scarno, mentre xp a volte si mette a fare le sue cose e la cpu risulta occupata anche se lo lascio senza dare nessun comando.
Mi spiego meglio: il dos è un sistema operativo semplice e scarno, mentre xp a volte si mette a fare le sue cose e la cpu risulta occupata anche se lo lascio senza dare nessun comando.
- maxlinux2000
- Amministratore
- Messaggi: 7406
- Iscritto il: 22 mar 2011, 11:50
Re: Macchina a controllo numerico CNC - fattibile
su linux si può compilare il kernel per avere il realtime....mai fatto, non mi serve...., ma so che è possibilissimo.
qui una guida in italiano
http://guide.debianizzati.org/index.php ... del_kernel
in realtà è facilissimo farlo.... ma ci sono distribuzioni già specializzate in questo se non sbaglio
...mmmm si, in linux ora si usa per fare musica ed effetti speciali live, in modo da dedicare il 99% dell tempo pricessore allo scopo principale.
http://www.bitaudioworld.it/forum/showt ... 116&page=1
qui una guida in italiano
http://guide.debianizzati.org/index.php ... del_kernel
in realtà è facilissimo farlo.... ma ci sono distribuzioni già specializzate in questo se non sbaglio
...mmmm si, in linux ora si usa per fare musica ed effetti speciali live, in modo da dedicare il 99% dell tempo pricessore allo scopo principale.
http://www.bitaudioworld.it/forum/showt ... 116&page=1
Cogito, ergo NO SUV !!
- elettrauto
- Messaggi: 502
- Iscritto il: 13 lug 2012, 18:49
Re: Macchina a controllo numerico CNC - fattibile
Allora, ho letto un po' di cose ed in sintesi non è indispensabile il controllo real time, il sistema operativo riesce a gestire la parallela in modo soddisfacente; comunque buono a sapersi che linux si può configurare per il real time!!!
Questo linux mi piace sempre di più, appena avrò il tempo di certo mi dedicherò a capire come funziona una sistema operativo, visto che il codice sorgente è libero
Questo linux mi piace sempre di più, appena avrò il tempo di certo mi dedicherò a capire come funziona una sistema operativo, visto che il codice sorgente è libero
Re: Macchina a controllo numerico CNC - fattibile
Questo linux mi piace sempre di più, appena avrò il tempo di certo mi dedicherò a capire come funziona una sistema operativo, visto che il codice sorgente è libero
in bocca al lupo...... capire qualche milione di linee di codice scritte da migliaia di persone, ti richiedera' qualche 20ina di vite 8) e te le auguro tutte.
Chi c’è in linea
Visitano il forum: Nessuno e 113 ospiti