Driver Mandrino BDC 90VDC 20A 2HP

Sezione dedicata all'elettronica di controllo cnc.
Rispondi
Avatar utente
skylord73
Junior
Junior
Messaggi: 172
Iscritto il: lunedì 28 marzo 2011, 15:42
Località: Padova
Contatta:

Driver Mandrino BDC 90VDC 20A 2HP

Messaggio da skylord73 » mercoledì 22 marzo 2023, 16:37

Salve a tutti,
sto facendo il retrofit di una vecchia fresa e il driver del mandrino (analogico +/-10V) pur funzionando non eroga potenza, pertanto ho deciso di cambiarlo.

Il mandrino è un motore in continua con alimentazione separata delle armature, che dai dati di targa dovrebbe fare a 90VD 3000RPM.
Poichè gli ho montato in testa un encoder da 100PPR, hi provato a pilotarlo con uno dei driver per servo della CNCDRive (DG4S) ma è decisamente instabile, e sopra tutto alle "alte" velocità di rotazione (>1500RPM) non riesce a compensare l'errore che arrivato al max impostato fa resettare la linea.
Per riuscire a farlo andare ho dovuto lavorare con un guadagno di Ap=100, un termine derivativo molto alto Ad=15000 e uno integrativo minimo Ai=1 con il limitatore della somma integrale a Li=2000, altrimenti va immediatamente in risonanza, indipendentemente dagli altri settaggi
Attualmente lo sto utilizzando a 60V invece dei 90V nominali, ma vista la natura del motore non dovrebbe essere un problema.

Tale motore è stato configurato su UCCNC come spindle step.
Se lo uso a bassa velocità (<1500 RPM) l'errore di posizione resta stabile (sempre >0, ma non cresce), se supero i 1500 RPM comincia a divergere e quando raggiunge il limite impostato nel driver (20000) il motore si resetta...

Se qualcuno ha dei suggerimenti sono bene accetti.

In alternativa mi domandavo, visto che non ho necessità di gestirlo in closed-loop, e che dovrei comunque comprare un driver aggiuntivo DG4S, se qualcuno ha indicazione di un banale driver in aperto che gestisca però i 1800W.
Ho provato a cercare ma lavorano tutti in bassa tensione o a basso amperaggio.

Grazie
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

Avatar utente
hellfire39
God
God
Messaggi: 3402
Iscritto il: domenica 16 dicembre 2012, 9:04
Località: AN

Re: Driver Mandrino BDC 90VDC 20A 2HP

Messaggio da hellfire39 » mercoledì 22 marzo 2023, 17:09

L'unico consiglio che mi viene in mente, se non l'hai già fatto, è quello di partire senza componente derivativa, perché tende a dare instabilità.

100PPR non sono pochi? Non c'è il rischio che il motore vari troppo di velocità tra un impulso e il successivo?

Avatar utente
skylord73
Junior
Junior
Messaggi: 172
Iscritto il: lunedì 28 marzo 2011, 15:42
Località: Padova
Contatta:

Re: Driver Mandrino BDC 90VDC 20A 2HP

Messaggio da skylord73 » mercoledì 22 marzo 2023, 18:41

Ciao,
in realtà il problema è più la componente Integrativa, che mi serve per ridurre l'offset.
Se uso solo il guadagno il motore è stabile ma si ferma o troppo presto o troppo tardi (vedi immagine).
Teoricamente la componente integrativa dovrebbe portare a zero il gap, eventualmente inserendo una oscillazione che poi smorzi con quella derivativa.
Appena introduco la componente Integrativa la metto a 1 per capirci il sistema va in risonanza...
Parlando con CNCDrive mi hanno consigliato di ridurre il valore di Li (che riduce l'effetto cumulativo della parte integrativa) ma alla fine il tutto non è molto stabile, alle volte risponde come nella foto del post precedente che andrebbe bene, altre volte si ferma prima o dopo il target cumulando errore il che non va bene.

uso la stessa risoluzione di encoder anche per gli atri 3 assi (che in realtà il sistema moltiplica per 4 perchè legge entrambi i fronti dei due canali) e non ho problemi.
Non vorrei che l'encoder fosse lento a rispondere, perchè ne ho usato uno cinese di quelli che si usano per i volantini, però se lo uso su UCCNC per misurare la velocità non perde impulsi, perchè i giri letti corrispondono a quelli letti dal tachimetro.

Possibile che non si trovi un banale driver per motori DC in circuito aperto capace di gestire 2kW?
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

Avatar utente
hellfire39
God
God
Messaggi: 3402
Iscritto il: domenica 16 dicembre 2012, 9:04
Località: AN

Re: Driver Mandrino BDC 90VDC 20A 2HP

Messaggio da hellfire39 » mercoledì 22 marzo 2023, 21:29

Sono sicuro che l'encoder non ha ritardi, quello che intendevo è che la frequenza degli impulsi potrebbe essere lenta rispetto al loop di controllo.
Ma, facendo un paio di conti, penso di no.
A 1000 RPM sono 16,6 giri/s. Per 400 impulsi/giro sono circa 6600 impulsi/secondo. Quindi la velocità dovrebbe aggiornarsi in una frazione di millisecondo ( a meno che non sia utilizzata una strategia di misura impulsi x unità di tempo).

Qual è il significato del parametro Li?

Avatar utente
skylord73
Junior
Junior
Messaggi: 172
Iscritto il: lunedì 28 marzo 2011, 15:42
Località: Padova
Contatta:

Re: Driver Mandrino BDC 90VDC 20A 2HP

Messaggio da skylord73 » giovedì 23 marzo 2023, 11:30

Ciao,
non sono così d'accordo sulla lentezza dell'encoder...
Sto facendo questo ragionamento:
Fino a circa 1000RPM l'errore resta stabile attorno a 40/100 step.
Oltre i 1000RPM diverge, il che potrebbe voler dire, come mi suggerisce CNCDrive che il motore, attualmente alimentato a 60V invece che ai 90V di targa non riesce a stare dietro alla richiesta di velocità e quindi la posizione resta indietro rispetto a quella comandata, facendo crescere errore. Però la velocità misurata del mandrino (index su albero) è coerente con quella impostata, pertanto se gli chiedo di fare 3000RPM, il motore fa 3000RPM, quindi se la posizione misurata è diversa da quella richiesta, mi viene da pensare che il problema sia nella misura della posizione (encoder). Se però uso l'encoder al posto dell'index per misurare la velocità, quando il motore va a 3000RPM (collegato direttamente ai 90V) l'encoder mi da la stessa velocità, pertanto significa che funziona, da cui la mia preoccupazione che sia solo lento nel rispondere e questo metta in crisi il controller... come la vedi?


Li, se non ho capito male, è un termine che limita l'effetto dell'integratore, per evitare che in caso di saturazione dovute a PD una volta usciti dalla saturazione il termine I sfoghi la "correzione" accumulata creando una sovraelongazione non desiderata in una condizione di errore già azzerato.
Nel caso del mio controller è un valore da 0 a 65536, che dovrebbe fungere da limitatore percentuale sul valore assoluto della correzione introdotta da I.

Poichè nel mio caso già con I=1 il sistema va in risonanza, tenendo basso Li=2000, dovrebbe limitare il peso di I a circa un 3%.

Sto anche cercando di capire quanti step usare nel gradino di test del pid, oggi sto lavorando con 1000, ma se riduco a 100 il risultato a parità di parametri è molto diverso.
Mi viene da pensare che essendo pilotato dal controller in step/dir gli arrivino un treno di richieste di muoversi di uno step, in rapida sequenza, per cui mi verrebbe da pensare di renderlo stabile per un numero basso di step 10/100.
Però il driver potrebbe anche "impacchettare" la tante richieste ravvicinate in una richiesta di movimento più lunga e quindi avrebbe più senso renderlo stabile per movimenti di 1000/2000 step.
Purtroppo non ho esperienze di servo motori e quindi non ho idea delle logiche che usano i vari driver, per cui se qualcuno ha suggerimento sono ben accetti!

Avatar utente
hellfire39
God
God
Messaggi: 3402
Iscritto il: domenica 16 dicembre 2012, 9:04
Località: AN

Re: Driver Mandrino BDC 90VDC 20A 2HP

Messaggio da hellfire39 » giovedì 23 marzo 2023, 11:43

Infatti, come avevo detto:
Ma, facendo un paio di conti, penso di no.
Facendo due calcoli, non penso che la bassa risoluzione dell'encoder possa incidere nel pid.
Ho capito che il termine Li serve per il sistema antiwindup.

Non ho capito invece cosa intendi con step nel gradino in questa frase:
Sto anche cercando di capire quanti step usare nel gradino di test del pid, oggi sto lavorando con 1000, ma se riduco a 100 il risultato a parità di parametri è molto diverso.

Avatar utente
skylord73
Junior
Junior
Messaggi: 172
Iscritto il: lunedì 28 marzo 2011, 15:42
Località: Padova
Contatta:

Re: Driver Mandrino BDC 90VDC 20A 2HP

Messaggio da skylord73 » giovedì 23 marzo 2023, 13:50

Se vedi lo screenshot del mio controller, in alto a destra c'è un indicatore "step to move" con sotto analyze.
Per testare il PID il sistema comanda lo spostamento del motore del numero di step (dove ogni step è pari allo spostamento minimo misurabile dall'encoder 100 step = 1 giro nel mio caso) indicato e poi mi grafica la risposta del sistema (che è il grafico con la curva di risposta) in posizione (y) e nel tempo (x), mentre la linea rossa è il target.

Solitamente negli altri tre assi se li testo con uno spostamento di 100 o di 1000 la risposta non cambia molto, ma nel caso in oggetto ho risposte completamente diverse, ci sono volte in cui è stabile su 1000 step e risuona per 100 con la stessa configurazione, per cui penso sia importante sapere quale condizione si avvicina di più al normale utilizzo per configurarlo correttamente...

In merito all'encoder, la risuluzione come hai detto anche tu, sono convinto anch'io che non centra, però temo sia lento a rispondere o abbia qualche altra sorta di problema, altrimenti non si spiega perchè un motore, paraltro con inerzia bassisima, sia così instabile praticamente in ogni configurazione...
Sono certo che il driver funzioni, in quanto è quello dell'asse X che funzionava perfettamente, che sto utilizzando per testare il mandrino prima di comprarne uno dedicato.

Aggiungo che fino a 1000RPM funziona bene (è maledettamente rumoroso, ma penso sia dovuto al fatto che la confiugurazione non è stabilissima) ma eroga potenza come dovrebbe. Ho fresato 1mm su acciaio con fresa da 20mm senza problemi, quando prima con il vecchio driver già con 0.2mm il mandrino si fermava quando entrava nel pezzo.

Quasi quasi getto il cuore altre l'ostacolo e compro un encoder nuovo e vdeo cosa succede...

Avatar utente
hellfire39
God
God
Messaggi: 3402
Iscritto il: domenica 16 dicembre 2012, 9:04
Località: AN

Re: Driver Mandrino BDC 90VDC 20A 2HP

Messaggio da hellfire39 » giovedì 23 marzo 2023, 13:56

Quello che mi confonde è il fatto che tu parli di mandrino, e quindi mi sarei aspettata un controllo in velocità. Ma sembra che tu stia parlando di un controllo in posizione.

Avatar utente
skylord73
Junior
Junior
Messaggi: 172
Iscritto il: lunedì 28 marzo 2011, 15:42
Località: Padova
Contatta:

Re: Driver Mandrino BDC 90VDC 20A 2HP

Messaggio da skylord73 » giovedì 23 marzo 2023, 14:25

Hai ragione, il problema è che non trovo una scheda che mi controlli in velocità un DC brushed da 2HP e quindi sto usando un SERVO con controllo di posizione, sfruttando il fatto che il controller UCCNC mi permette di controllare anche il mandrino in step dir (come se fosse un asse).

Se conosci qualche scheda pilotabile in 0-10V con controllo di direzione in grado di gestire 90VDC e 20A su un BDC, anche in aperto (la retroazione posso farla anche sul controller), sono tutto orecchi...

Avatar utente
hellfire39
God
God
Messaggi: 3402
Iscritto il: domenica 16 dicembre 2012, 9:04
Località: AN

Re: Driver Mandrino BDC 90VDC 20A 2HP

Messaggio da hellfire39 » giovedì 23 marzo 2023, 15:16

Purtroppo no.

Rispondi

Torna a “Elettronica CNC”