NEW Servo Drive Dc 100W e 800W

Sezione dedicata all'elettronica di controllo cnc.
Rispondi
Avatar utente
marcosin
Senior
Senior
Messaggi: 840
Iscritto il: mercoledì 27 giugno 2007, 23:11
Località: Arezzo
Contatta:

NEW Servo Drive Dc 100W e 800W

Messaggio da marcosin » lunedì 31 maggio 2010, 23:45

Stò progettanto un drive DC che possa sopportare tensioni di 60-70V e 10A, dicamo per pilotare motori in DC da 500W circa.
Cercando in rete ho trovato un progetto abbastanza conosciuto e per testare il funzionamento del software ho fatto una scheda semplice che utilizza come finale un L6203.
Facendo le varie prove mi è piaciuta, quindi ho apportato alcune modifiche sia hardware che software al progetto di di ELM-CHAN che potete visionare qui http://elm-chan.org/works/smc/report_e.html

Ho quindi costruito una versione light, alimentata a 32V e con uscita massima di 3,5A, diciamo un drive da 100W circa.

Le modifiche principali apportate sono:
- Sostituzione del ponte finale con L6203
- Aggiunta di un rozzo stabilizzatore di tensione a 18V per fare in modo che il 7805 per la logica possa essere alimentato direttamente dalla stessa tensione di alimentazione del motore
- Aggiunta di un dumper realizzato con un transistor di potenza che si porta in conduzione quando la tensione di alimentazione supera i 36V. Il motore in frenatura produce corrente e facendo innalzare la tensione di alimentazione può bruciare il 6203 con questo sistema si scongiura questo pericolo, oltre ad ottenere una frenatura più efficace
- Modificato il firmware in modo che quando il drive va in allarme inibisce il ponte finale
- Aggiunta di una limitazione della corrente. Un transistor viene portato in conduzione quando la caduta di tensione sulla rsense supera una certa soglia, inibendo il 6203.

Il firmware originale implementa un controllo di sovracorrente che ricava il valore della stessa facendo dei calcoli che tengono conto della percentuale di pwm in uscita e dei giri effettivi del motore.
Tramite un ponticello ho lasciato la possiblità  di far lavorare il controllo della corrente in 3 modi:
1- Come da firmware originale
2- tramite trimmer si regola la limitazione di corrente (limitando la corrente in uscita)
3- tramite trimmer si regola la soglia di overcorrente (fault del drive con soglia superata)
Per questa ultima modalità  dvo terminra delle modifiche al firmware...

Per ora metto una foto e un video delle prime prove dove viene comandato da mach3, poi una volta che avrò testato il corretto funzionamento renderò disponibile il tutto.

http://www.youtube.com/watch?v=v6kPPFAqI-0

Tra qualche settimana spero invece di far funzionare il drive più potente, ma li c'è un pò più da fare... :D
Non hai i permessi necessari per visualizzare i file e le foto allegati in questo messaggio. Per visualizzare tali file devi registrarti ed effettuare il Login

gaetà
Member
Member
Messaggi: 447
Iscritto il: martedì 14 novembre 2006, 8:30
Località: Taurisano (LE)

Re: NEW Servo Drive Dc 100W

Messaggio da gaetà » martedì 1 giugno 2010, 8:42

Ti seguo con interesse anche se ho qualche dubbio su alcune scelte tipo l'alimentazione della logica direttamente dalla tensione motori, io sarei per alimentazioni separate in modo da evitare il rischio di inquinare i segnali come encoder e step/dir con i disturbi che sicuramente generano questi motori che sono a spazzole. Io sulla mia cnc ho motori più grossi su x e y e un e240 su Z. I grossi lavorano a 80V e ti garantisco che i diturbi ci sono e non sono pochi quindi cerca di curare questo aspetto ora che sei ancora in fase di sviluppo della scheda.

Parli di alimentazione a 36V, se non sbaglio il motore che usi è un E240 vero? ce la fai ad arrivare alla massima velocità  con quella tensione? vabbè sei ancora in fase di test, ti lascio lavorare :D
Altra domanda: la seriale per impostare i parametri? è quello strip a 4 pin vicino al micro?

I miei complimenti comunque per il lavoro che stai facendo

Avatar utente
leopiro
Senior
Senior
Messaggi: 1304
Iscritto il: domenica 6 maggio 2007, 12:33
Località: Castrolibero (Cosenza)

Re: NEW Servo Drive Dc 100W

Messaggio da leopiro » martedì 1 giugno 2010, 8:53

Conoscendo Marcosin,state tranquilli che in tutto quello che fa c'è una logica,e difficilmente sbaglia.......Grande continua e tienici informati :wink: .Ciao Leo
P.S. Sono partiti gli integrati?

Avatar utente
claudio.lorini
Junior
Junior
Messaggi: 199
Iscritto il: domenica 31 maggio 2009, 13:03
Località: Genova

Re: NEW Servo Drive Dc 100W

Messaggio da claudio.lorini » martedì 1 giugno 2010, 9:22

Ciao Marco e complimenti per le tue realizzazioni (seguo alcuni dei tuoi post...)
ho visto che hai preso ispirazione per HW e FW da l'ELM, io è da un po che sto pensando di integrare
il set dei comandi che accetta ELM sui miei drivers (per motori brushless, con interfaccia CAN, SPI, seriale)
ma la domanda che non sono mai arrivato a chiarire è come comandare il tutto dal SW su PC
(mi piacerebbe integrare il tutto con EMC2).
Il protocollo dei comandi è descritto (standardizzato?) con precisione da qualche parte? (non è un problema,
eventualmente si può capire dal codice)
La parte cruciale rimane comunque l'interfacciamento con il SW: esiste un driver per EMC2 che permeta
l'utilizzo dell'ELM?

Ciao, Claudio
...no, non è terra.

Avatar utente
marcosin
Senior
Senior
Messaggi: 840
Iscritto il: mercoledì 27 giugno 2007, 23:11
Località: Arezzo
Contatta:

Re: NEW Servo Drive Dc 100W

Messaggio da marcosin » martedì 1 giugno 2010, 9:34

@Leopiro
Integrati partiti.

@Gaetà 
Il drive è una versione light, per questo lavora a 36V visto che come finale usa in 6203.
Stò lavorando ad un drive con dsPIC molto più completo e con potenze molto più elevate in teoria molto migliore visto che l'acquisizione dell'encoder arriva a frequenze di oltre 800khz contro gli 83khz di questo.
Per quanto riguarda i disturbi, è tutto ben filtrato, ed ho preso varie precauzioni, sembra non ci siano problemi.
La seriale è quello strip a 4 poli dove c'è gnd-5v-tx-rx e va collgato tramite un interfaccina con max232 e 5 condensatori. Ho ritenuto opportuno usare un interfaccia esterna per la seriale in modo da non ingrandire il pcb, visto che in teoria una volta parametrizzato il drive non necessita avere un collegamento sempre presente.

@claudio.lorini
Non ho ben capito cosa intendi.
Per quanto riguarda i comandi di movimento lui usa step e dir, quindi si può pilotare con mach3 o emc senza problemi.
Per quanto riguarda invece la parametrizzazione usa la seriale, si può modificare i parametri con qualsiasi terminale tipo hyperterminal, oppure con un driverino scritto apposta.

Grazie per i complimenti a tutti...

robba
Junior
Junior
Messaggi: 92
Iscritto il: giovedì 11 febbraio 2010, 16:21
Località: Milano

Re: NEW Servo Drive Dc 100W

Messaggio da robba » martedì 1 giugno 2010, 12:25

Aggiungo anche i miei complimenti, da tempo sto cercando un driver che si possa alimentare con tensioni maggiori dei 40V degli L298 o 6803, ma non li ho ancora trovati.....

P.S: sto anche visualizzando il tuo sito e colgo l'occasione per segnalarti che il link al programmatore nella sezione progetti nn funziona

Avatar utente
marcosin
Senior
Senior
Messaggi: 840
Iscritto il: mercoledì 27 giugno 2007, 23:11
Località: Arezzo
Contatta:

Re: NEW Servo Drive Dc 100W

Messaggio da marcosin » martedì 1 giugno 2010, 13:28

Azz, hai ragione il link non funziona!
Il sito è fermo da anni, un giorno lo rimetterò a posto e farò aggiornamenti, spero...
Se ti serve lo schema del programmatore dovrei averlo, ma ti consiglio di prenderne uno della micrpchip, tipo il pickit 2 o 3, sei sicuro che funziona e che supporta tutti i pic.
Sul sito microchip rendono disponibili gli aggiornamenti firmware di continuo per stare dietro ai nuovi prodotti.

Avatar utente
claudio.lorini
Junior
Junior
Messaggi: 199
Iscritto il: domenica 31 maggio 2009, 13:03
Località: Genova

Re: NEW Servo Drive Dc 100W

Messaggio da claudio.lorini » martedì 1 giugno 2010, 13:49

marcosin ha scritto: @claudio.lorini
...
Per quanto riguarda i comandi di movimento lui usa step e dir, quindi si può pilotare con mach3 o emc senza problemi.
Per quanto riguarda invece la parametrizzazione usa la seriale, si può modificare i parametri con qualsiasi terminale tipo hyperterminal, oppure con un driverino scritto apposta.
Ah, ho capito #-o , mantenendo step/dir il pilotaggio con Mach o EMC è 'il solito' con parallela!
Mi aveva tratto in inganno il fatto che ELM accetta comandi di generazione traiettorie (G - Generate a motion)
e di posizione (J - Set a value into position command) via seriale...

S&B C.
...no, non è terra.

Avatar utente
marcosin
Senior
Senior
Messaggi: 840
Iscritto il: mercoledì 27 giugno 2007, 23:11
Località: Arezzo
Contatta:

Re: NEW Servo Drive Dc 100W

Messaggio da marcosin » martedì 1 giugno 2010, 14:47

Effettivamente è disponibile un firmware che riceve comandi di movimento, ma non so quanto sia conveniente, la cosa si complica un bel pò, e comunque lui esegue sempre un percorso con profilo trapezioidale con pendenze di rampa fisse.
Per fargli eseguire profili complessi è necessario sparargli di continuo la nuova quota in tempo reale.

Avatar utente
claudio.lorini
Junior
Junior
Messaggi: 199
Iscritto il: domenica 31 maggio 2009, 13:03
Località: Genova

Re: NEW Servo Drive Dc 100W

Messaggio da claudio.lorini » martedì 1 giugno 2010, 18:44

...oh yes! 8) è proprio quello che vorrei fare!
con una seriale 232 (comunicazione punto-punto) in effetti non ha grande senso (anche per la bassa capacità  del canale di trasmissione) ma per le linee multi-drop (tipo CAN o Ethernet) la cosa diventa più interessante...
Per fare tutto ciò immagino che in EMC bisogna intercettare il flusso del programma prima della generazione dei segnali Step/Dir e mandare i dati di traiettoria (velocità ? posizione?) in modo digitale verso gli azionamenti (che chiudono localmente il loop di controllo)
Purtroppo, mentre nel FW mi sento in grado di metterci le zampine, scrivere un driver per EMC direi che è decisamente fuori dalla mia portata.

S&B C.
...no, non è terra.

Avatar utente
marcosin
Senior
Senior
Messaggi: 840
Iscritto il: mercoledì 27 giugno 2007, 23:11
Località: Arezzo
Contatta:

Re: NEW Servo Drive Dc 100W

Messaggio da marcosin » martedì 1 giugno 2010, 23:30

In caso sarebbe necessario trasmettere in continuo comandi di posizione.
La cosa non è semplice anche se possibile, si parla di velocità  molto alte, considera che la rete ctsync (rs485) di un unidrvie controltecniques garantisce l'aggiornamento dei dati di posizione ogni 250 microsecondi, un tempo che non è semplice da garantire neanche in ethernet dal momento che non è una rete deterministica.
Pensare che possa farlo un pc, mi rimane difficile anche se linux ha sicuramente altre potenzialità  di gestione dei timing rispetto a windows.
Molte case come siemens utilizzano l'ethernet come veicolo ma si sono inventate di tutto per riuscire a sincronizzare i pacchetti con tempi fissi, la maggior parte implementano un protocollo di sottorete basato su IEEE 1588 che implica lavorare su layer della rete a livello molto basso per garantire la priorità .
Non so forse stò sopravalutando la cosa, ma lavorando su plc e motion tutti i giorni mi è capitato spesso di avere problemi di sincronizzazione tra li master e gli slave dovuti alla lentezza delle reti, è anche vero che parlo di applicazioni molto più spinte rispetto a quello che può fare un motore dc da 100-200w collegato ad una cnc.

Avatar utente
claudio.lorini
Junior
Junior
Messaggi: 199
Iscritto il: domenica 31 maggio 2009, 13:03
Località: Genova

Re: NEW Servo Drive Dc 100W

Messaggio da claudio.lorini » mercoledì 2 giugno 2010, 0:26

...si, penso anche io che sia impossibile raggiungere velocità  di rinfresco delle posizioni a 250micro con un SO
general pourpouse sotto, ma per iniziare mi 'acconteterei' di aggiornare le posizioni ogni diciamo 10milli
ed interpolare sull'azionamento.
Per quanto riguarda Ethernet presto cominciero a lavorare su una scheda con Ethernet industriale Ethercat/Powerlink che,
guardacaso sono proprio appoggiati sul 1588.
Oggi come oggi mi 'accontenterei' di utilizzare una linea CAN e controllare 3/4 brushless, non sono molto distante, ho gia chiuso localmente
gli anelli di controllo di coppia e velocità , ed alla posizione sono vicino... ma mi manca qualcuno (EMC2?) che mi dica *DOVE* andare :lol:
(attraverso il CAN).

Bye, C.
...no, non è terra.

Avatar utente
marcosin
Senior
Senior
Messaggi: 840
Iscritto il: mercoledì 27 giugno 2007, 23:11
Località: Arezzo
Contatta:

Re: NEW Servo Drive Dc 100W

Messaggio da marcosin » mercoledì 2 giugno 2010, 0:55

Forse potresti prendere in considerazione di iniziare con il modbus che è supportato su emc tramite il ladder, qui ne parlano http://www.linuxcnc.org/component/optio ... g,english/
Ma non so dirti altro non ho mai provato a usare la sezione plc di emc e non so se è possibile utilizzarla per tramettere le posizioni.
Il modbus è abbastanza snello come protocollo anche se non è il massimo però lavorando a 115200 forse si raggiunge un discreto compromesso a livello di velocità .
Forse tramite la sezione plc è possibile costruirsi anche un protocollino più semplice del tipo #nodo,#posizione,#crc in modo da limitare al limita il numero di byte trasmessi.

Avatar utente
claudio.lorini
Junior
Junior
Messaggi: 199
Iscritto il: domenica 31 maggio 2009, 13:03
Località: Genova

Re: NEW Servo Drive Dc 100W

Messaggio da claudio.lorini » mercoledì 2 giugno 2010, 8:21

Ah, grazie per la 'dritta', di ladder non avevo mai sentito parlare.
Oggi, visto il tempo pessimo, mi sa che mi metto a studiare... :wink:

Bye, C.
...no, non è terra.

Avatar utente
claudio.lorini
Junior
Junior
Messaggi: 199
Iscritto il: domenica 31 maggio 2009, 13:03
Località: Genova

Re: NEW Servo Drive Dc 100W

Messaggio da claudio.lorini » venerdì 4 giugno 2010, 19:27

... :cry: mi sono documentato un po, e sono giunto alla conclusione che per quello che voglio fare io
(controllo su linea 'digitale') EMC2 non abbia esattamente l'architettura ideale, infatti come ribadito
su diversi forum EMC aggrega sul PC tutta l'intelligenza di controllo mantenendo la periferia
(azionamenti ed IO) assolutamente NON-intelligente.
Anche i driver (SW) che potrebbero avvicinarsi a quello che voglio fare io (tipo quello per DC+Encoder) in realtà 
chiudono i loop di controllo sul PC (mentre io vorrei chiuderli sugli azionamenti).
Peccato, mi sarebbe piaciuto contribuire a fare crescere EMC in quella direzione, molte persone in diversi forum
ho visto che volevano fare la stessa cosa che volevo fare io ma sono stati prontamente sconsigliati nel muovrsi
in quella direzione...

Ciao C.
...no, non è terra.

Rispondi

Torna a “Elettronica CNC”