03 luglio 10, 01:42 | #1 (permalink) Top |
User Data registr.: 11-06-2007 Residenza: Sansepolcro (Ar)
Messaggi: 1.948
| Progetto Dc ServoDrive per cnc
Finalmente dopo tanto tempo speso dietro a esperimenti vari stà venendo fuori qualcosa... E' un drive per motori Dc retroazionati con encoder, che permette il pilotaggio step-dir come un tradizionale drive passo passo, può essere installato sulle nostre cnc dando la possibilità, di togliere finalmente le varie risonanze causate dai passo passo e di rendere più fluida e performante la nostra meccanica (forse ). L'azionamento teoricamente non dovrebbe avere problemi a comandare motori fino a 70-80V con correnti di 10-15A, anche se al momento le prove le ho fatte con tensioni di 50V e massimo 3A, dal momento che non ho disponibile un alimentatore migliore. Stò sviluppando il software dentro al pic (un DsPic che gira a quasi 120Mhz ) e sul pc per poter parametrizzare il pid di regolazione. Per ora metto il link ad un video con le prime prove mentre il motore viene pilotato da mach3 YouTube - servo1 Quello sul video era montato per metà sul pcb (la logica) e per metà sulla bradboard (la potenza) ma praticamente è lo stesso schema. Inoltre allego una foto del drive (versione molto beta ) che rende l'idea delle dimensioni e la printscreen del software. A presto nuovi aggiornamenti, spero!!! Ultima modifica di marcosinatti : 03 luglio 10 alle ore 01:48 |
05 luglio 10, 23:52 | #3 (permalink) Top |
User Data registr.: 11-06-2007 Residenza: Sansepolcro (Ar)
Messaggi: 1.948
|
Se sarà un lavoro free oppure no non lo so ancora, credo di averci dedicato molto più di un centinaio di ore di lavoro per ora, certamente non sarà un qualcosa di commerciale ma magari se raggiungo risultati soddisfacenti a livello di prestazioni e affidabilità posso pensare di farne qualcuno per riprenderci le spese. Ho fatto una cassetta di pcb prima di arrivare alla soluzione definitiva, considera che sono partito dall'utilizzo di un pic della serie 18, poi sono passato all'atmel ed infine sono arrivato ai dspic (altra musica). Per la parte di potenza ho provato varie configurazioni di ponti H fatti con mosfet p e n con pilotaggio a transistor poi sono passato a ponti totalmente N con l'utilizzo di mosdriver. Ho provato mosdriver della National, della Maxim e della IR, con varie configurazioni di pilotaggio per il gate. Per molte di queste prove sono stato costretto a ridisegnare i pcb per poter avere risultati affidabili, visto che in questo tipo di circuiti con induttanze e correnti importanti i giri di massa e altri elementi legati alla disposizione dei componenti possono fare la differenza. Metto un altro video un pò più interessante... YouTube - DcServo3 |
06 luglio 10, 09:25 | #4 (permalink) Top |
User Data registr.: 23-05-2009 Residenza: Imperiese
Messaggi: 938
|
Interessante, e bravo a Marcosinatti! Peccato che la metà di ciò che hai scritto nel tuo ultimo messaggio, non tanto l'ho capito Comunque ho appena terminato di fare l'elettronica di Fiser, non avendo grande dimestichezza in elettronica, è già tanto che ci sia riuscito a primo colpo , ma se mi faccio prendere la mano provo anche la tua ! Dimenticavo che devo (ormai è una questione di principio) rifare la Chimera di Danielxan che non so perchè ma non voleva saperne di andare (probabilmente colpa di qualche falsa saldatura o tipo di resistenze ). Ciao e ancora complimenti |
07 luglio 10, 22:47 | #5 (permalink) Top |
User Data registr.: 11-06-2007 Residenza: Sansepolcro (Ar)
Messaggi: 1.948
|
Ho implementato anche il pilotaggio in quadratura oltre che step-dir, configurabile ovviamente tramite il sw su pc. E' un ingresso in quadratura "reale" nel senso che controlla tutti i fronti dei canali A e B e incrementa o decrementa la posizione solo se la combinazione è valida, quindi è molto affidabile come pilotaggio. A cosa serve? -Alcuni software o controlli cnc hanno come uscita la quadratura -Per fare un albero elettrico, ammettendo di avere 2 motori che muovono lo stesso asse, si pilota con il pc un motore e il secondo si fa pilotare dall'encoder del primo avendo la certezza che rimarranno sempre sincronizzati. Metto un video in cui lo comando con un encoder da 500ppr YouTube - DcServo4 Quadrature |
07 luglio 10, 23:47 | #6 (permalink) Top |
User Data registr.: 09-04-2008 Residenza: Brescia
Messaggi: 1.945
|
Io seguo in silenzio tutti questi progressi di ingegneria/fai da te, comunque caro ragazzo permettimi la confidenza ma sei troppo avanti, purtroppo per scelte di lavoro diverse dopo le superiori ho abbandonato l'elettronica applicata e quando vedo queste realizzazioni mi manca il mio "primo amore" Complimenti P.S. approfitto per un saluto a stepper che mi ha salutato in un altro post |
09 luglio 10, 19:43 | #8 (permalink) Top |
User Data registr.: 11-06-2007 Residenza: Sansepolcro (Ar)
Messaggi: 1.948
|
Inizia a prendere una buona forma, ho aggiunto qualche funzione: -Ingressi settabili come step-dir o come quadratura, in quadratura controllo propio la sequenza dei segnali per discriminare eventuali disturbi esterni ed in modo da inchiodare in caso di rottura di un canale. La quadratura è utilissima se si monta due motori nelllo stesso asse per tenerli sincronizzati perfettamente. -Controllo sovracorrente per tempo limite, il tempo si imposta dal sw, quando il motore assorbe troppo per un certo tempo interviene mandando il drive in fault. -Controllo errore di inseguimento impostabile, se l'errore si discosta troppo manda il drive in fault. -Implementate le trap routine per errori interni del pic, oscillatore, errore matematico, errore stack o errore di indirizzamento -Inserito dei parametri aggiuntivi sul pid che normalmente sono esclusi ma possono essere usati con la sezione avanzata del sw, sono le limitazioni di ogni azione di correzione, il bias, correzione diretta proporzionale al comando e correzione derivata del comando. (durante le prove li ho usati ma poi in pratica tengo tutto escluso) -Aggiunto uscita di allarme in modo che se un motore va in allarme è possibile fermare anche gli altri e la lavorazione (devo ancora modificare il pcb) -Sul software di parametrizzazione ho aggiunto le indicazioni riguardanti gli errori e gli stati. Questo un video dove uso un encoder per gli ingressi in quadratura: YouTube - DcServo6 Qui invece la prova con una discreta massa (la mia futura mill) mossa a 18000mm/m: http://www.youtube.com/watch?v=rHOORZZi ... re=channel |
09 luglio 10, 19:51 | #9 (permalink) Top |
User Data registr.: 29-05-2006 Residenza: Catania
Messaggi: 2.933
|
Si può parlare ancora di "Passi" con questi drivers/motori ? Comunque, errori nel pilotaggio ( i passi persi di una normale cnc con motori stepper ) ? Complimenti, stai facendo un lavorone!! Magari sapessi programmare anche io con il pacchetto visual...
__________________ Il filo attaccato all'antenna non mente mai....Troppo vento, si torna a casa.... I miei circuiti elettronici autocostruiti: Postbruciatore per ventole intubate ; Circuito luci per aeromodello-elimodello ; Rallenta servo con protezione da corto circuito |
09 luglio 10, 20:26 | #10 (permalink) Top |
User Data registr.: 11-06-2007 Residenza: Sansepolcro (Ar)
Messaggi: 1.948
|
VB6 è abbastanza semplice, non lo so programmare bene, ma alla fine qualcosa ci tiro fuori. Una volta entrato nell'ottica della programmazione ad eventi e capito come funzionano le propietà degli oggetti e l'utilizzo delle variabili, usando l'help si riesce ad andare avanti anche se piano piano... Il duro è stato il pic, praticamente obbligato a programmarlo in C, anche quello l'ho impostato ad eventi, considera che la routine main fa solo la gestione del led, e si occupa di fare il polling della seriale di servizion per rilevare la presenza di caratteri dul buffer. Il resto lavora tutto ad interrupt, uno sul timer per temporizzare i campionamenti del pid e il resto su interrupt degli ingressi e QEI. Sul drive rimane il pilotaggio a passi come se fosse uno stepper, ma poi dai passi ogni 300microsecondi viene ricavata la posizione comandata che va ad alimentare il pid insieme all'errore letto (posizione comandata - posizione attuale). In pratica come fanno tutti i drive brushless commerciali, che di solito chiudono il loop in 250-500 microsecondi. I passi non si perdono mai, ovviamente se il motore ha sufficiente forza per attuarli e comunque se non riuscisse ad andare in posizione il drive lo può segnalare tramite l'uscita di allarme. |
Bookmarks |
| |
Discussioni simili | ||||
Discussione | Autore discussione | Forum | Commenti | Ultimo Commento |
Progetto cnc e presentazione. | Alexontherocks | CNC e Stampanti 3D | 10 | 03 aprile 09 17:51 |
aiuto progetto cnc | pessottino | CNC e Stampanti 3D | 8 | 13 agosto 08 01:49 |
adesioni progetto cnc | bgvsan | CNC e Stampanti 3D | 29 | 14 gennaio 07 17:06 |