Macchina a controllo numerico CNC - fattibile

Moderatore: jpquattro

Avatar utente
solarino
Messaggi: 110
Iscritto il: 1 set 2012, 16:48

Re: Macchina a controllo numerico CNC - fattibile

Messaggio da solarino » 3 mar 2013, 10:10

@ 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

Avatar utente
pippowind
Messaggi: 164
Iscritto il: 1 gen 2013, 23:44

Re: Macchina a controllo numerico CNC - fattibile

Messaggio da pippowind » 3 mar 2013, 11:45

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.
L'invidioso mi loda senza saperlo.
L'invidioso è un impotente incapace di rassegnarsi.

Avatar utente
elettrauto
Messaggi: 502
Iscritto il: 13 lug 2012, 18:49

Re: Macchina a controllo numerico CNC - fattibile

Messaggio da elettrauto » 3 mar 2013, 16:37

@Solarino
unsigned char !!

Mi piace la tua affermazione, supponendo che sono bravo con il linguaggio C :mrgreen: , mi sento un pochino sopravvalutato quando una persona mi dice: mi raccomando "unsigned char!!" :mrgreen: :mrgreen: .

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
mia porta parallela.jpg (21 KiB) Visto 9327 volte

Avatar utente
elettrauto
Messaggi: 502
Iscritto il: 13 lug 2012, 18:49

Re: Macchina a controllo numerico CNC - fattibile

Messaggio da elettrauto » 3 mar 2013, 16:43

Poi dovendo scrivere
0x0378

come mi suggerisci tu e come è scritto pure nel listato allegato, se l'indirizzo è 0378 perché devo aggiungere 0x prima?

Avatar utente
elettrauto
Messaggi: 502
Iscritto il: 13 lug 2012, 18:49

Re: Macchina a controllo numerico CNC - fattibile

Messaggio da elettrauto » 3 mar 2013, 16:46

@Pippo
Grazie per la tua proposta, se ne avrò necessità ti farò sapere.
Tu con la tua CNC che lavori hai fattò?

Avatar utente
pippowind
Messaggi: 164
Iscritto il: 1 gen 2013, 23:44

Re: Macchina a controllo numerico CNC - fattibile

Messaggio da pippowind » 3 mar 2013, 17:18

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.
Immagine

Qua un pcb di un alimentatore

Immagine

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.


Immagine
L'invidioso mi loda senza saperlo.
L'invidioso è un impotente incapace di rassegnarsi.

Avatar utente
solarino
Messaggi: 110
Iscritto il: 1 set 2012, 16:48

Re: Macchina a controllo numerico CNC - fattibile

Messaggio da solarino » 3 mar 2013, 18:24

@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

Avatar utente
elettrauto
Messaggi: 502
Iscritto il: 13 lug 2012, 18:49

Re: Macchina a controllo numerico CNC - fattibile

Messaggio da elettrauto » 3 mar 2013, 19:11

Fiiiiiiiiiiuuuuuuu!!!! :mrgreen: :mrgreen:
E' abbastanza lungo come fischio? :mrgreen:

@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 :D

Avatar utente
pippowind
Messaggi: 164
Iscritto il: 1 gen 2013, 23:44

Re: Macchina a controllo numerico CNC - fattibile

Messaggio da pippowind » 3 mar 2013, 19:24

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
L'invidioso mi loda senza saperlo.
L'invidioso è un impotente incapace di rassegnarsi.

Avatar utente
elettrauto
Messaggi: 502
Iscritto il: 13 lug 2012, 18:49

Re: Macchina a controllo numerico CNC - fattibile

Messaggio da elettrauto » 3 mar 2013, 19:53

Se ho capito male, meglio ancora!!! Vuol dire che sei già sulla strada migliore ;)
Vedrò la discussione!! Grazie

Avatar utente
elettrauto
Messaggi: 502
Iscritto il: 13 lug 2012, 18:49

Re: Macchina a controllo numerico CNC - fattibile

Messaggio da elettrauto » 5 mar 2013, 15:28

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?

Avatar utente
elettrauto
Messaggi: 502
Iscritto il: 13 lug 2012, 18:49

Re: Macchina a controllo numerico CNC - fattibile

Messaggio da elettrauto » 5 mar 2013, 15:33

Riporto la fonte
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.

Avatar utente
solarino
Messaggi: 110
Iscritto il: 1 set 2012, 16:48

Re: Macchina a controllo numerico CNC - fattibile

Messaggio da solarino » 5 mar 2013, 16:14

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

Avatar utente
elettrauto
Messaggi: 502
Iscritto il: 13 lug 2012, 18:49

Re: Macchina a controllo numerico CNC - fattibile

Messaggio da elettrauto » 5 mar 2013, 16:18

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
Se lavori con Win XP o 2000, non puoi accedere direttamente all'hardware. Puoi
farlo solamente attraverso un device driver.

Avatar utente
solarino
Messaggi: 110
Iscritto il: 1 set 2012, 16:48

Re: Macchina a controllo numerico CNC - fattibile

Messaggio da solarino » 5 mar 2013, 16:23

Il driver non lo devi fare. Le librerie inpout32.dll le devi solo linkare.

Avatar utente
elettrauto
Messaggi: 502
Iscritto il: 13 lug 2012, 18:49

Re: Macchina a controllo numerico CNC - fattibile

Messaggio da elettrauto » 5 mar 2013, 16:30

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 :D

Avatar utente
elettrauto
Messaggi: 502
Iscritto il: 13 lug 2012, 18:49

Re: Macchina a controllo numerico CNC - fattibile

Messaggio da elettrauto » 5 mar 2013, 18:04

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.

Avatar utente
maxlinux2000
Amministratore
Messaggi: 7406
Iscritto il: 22 mar 2011, 11:50

Re: Macchina a controllo numerico CNC - fattibile

Messaggio da maxlinux2000 » 5 mar 2013, 18:38

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
Cogito, ergo NO SUV !!

Avatar utente
elettrauto
Messaggi: 502
Iscritto il: 13 lug 2012, 18:49

Re: Macchina a controllo numerico CNC - fattibile

Messaggio da elettrauto » 5 mar 2013, 22:45

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 :)

Avatar utente
solarino
Messaggi: 110
Iscritto il: 1 set 2012, 16:48

Re: Macchina a controllo numerico CNC - fattibile

Messaggio da solarino » 6 mar 2013, 11:32

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.

Rispondi

Torna a “attrezzatura home made”

Chi c’è in linea

Visitano il forum: Nessuno e 113 ospiti