Torna indietro   BaroneRosso.it - Forum Modellismo > Elettronica > CNC e Stampanti 3D


Rispondi
 
Strumenti discussione Visualizzazione
Vecchio 14 agosto 10, 15:11   #11 (permalink)  Top
User
 
L'avatar di marcosinatti
 
Data registr.: 11-06-2007
Residenza: Sansepolcro (Ar)
Messaggi: 1.948
Dopo lunga assenza, oggi sono arrivati i componenti per costruire 6 drive così ne metterò 3 al lavoro sulla nuova cnc che stò costruendo e 3 li testa un amico con dei motori più impegnativi di quelli che ho io a disposizione.
Qua ho messo un articolino, per chi vuole saperne di più Dc Servo Drive - Marco Sinatti
A presto, spero, qualche impressione e fimato...
marcosinatti non è collegato   Rispondi citando
Vecchio 16 agosto 10, 20:16   #12 (permalink)  Top
User
 
L'avatar di HappyFly
 
Data registr.: 01-01-2008
Residenza: Perugia
Messaggi: 681
Immagini: 12
Il tuo progetto è interessantissimo ...

Ti seguo con molto interesse per queste caratteristiche con le quali hai impostato il progetto :

- permette il pilotaggio step-dir come un tradizionale drive passo passo
- è utilissimo il pilotaggio in quadratura

Io ho il problema di volere realizzare un pantografo con un lungo asse x di quasi 2,5 metri ed ovviamente avendo gli assi x ed y completamente supportati devo usare per la x due viti e due motori.

Questo con sistemi open-loop si traduce nel rischio di un intraversamento del ponte sull'asse x se uno dei due sottosistemi motore/vite perde qualche passo.

Inoltre il rischio diventa una certezza se si pilotano i due motori con due canali accoppiati di Mach 3 il quale, per esempio allo start, non è in grado di evitare sfasamenti dei due motori stessi.

Una domanda: se io piloto una vite dell'asse x con un open-loop tradizionale con un passo passo, ci metto un encoder in quadratura e passo il tutto al secondo motore/vite dell'asse x posso evitare di fare tutta la macchina closed-loop e non rischiare intraversamenti dell'asse x ?

Ciao e grazie ;-)

Mauro
HappyFly non è collegato   Rispondi citando
Vecchio 17 agosto 10, 20:19   #13 (permalink)  Top
User
 
L'avatar di saviothecnic
 
Data registr.: 06-04-2004
Residenza: Italia Confini Lazio Campania
Messaggi: 3.099
Invia un messaggio via ICQ a saviothecnic Invia un messaggio via MSN a saviothecnic
Citazione:
Originalmente inviato da marcosinatti Visualizza messaggio
Qua ho messo un articolino, per chi vuole saperne di più Dc Servo Drive - Marco Sinatti
A presto, spero, qualche impressione e fimato...
Azz niente da dire invidia per le tue capacità
Domanda dato tutta questa fatica per il controllo di gestione.

Come mai non l' hai pompato con più potenza tipo 100V 25A
Tanto il lavoro più difficile era il controllo di gestione la parte finale credo sia stata la più semplice a quel punto l' avrei pompata in modo da essere concorrenziale con i prodotti commerciali che hanno tutti come limite proprio la ponteza in gioco

Ad esempio io ho preso questo MCDC 506 All Digital DC Servo Drive

Non ho avuto ancora il tempo per giocarci su ma sicuramente un utente come me che vuole andare sul ecvonomico e giocare con i DC aprezerebbe nella scelta un modello piu potente Curiosità su che costo si aggira questo modello che hai realizzato Grazie
saviothecnic non è collegato   Rispondi citando
Vecchio 17 agosto 10, 20:26   #14 (permalink)  Top
User
 
L'avatar di saviothecnic
 
Data registr.: 06-04-2004
Residenza: Italia Confini Lazio Campania
Messaggi: 3.099
Invia un messaggio via ICQ a saviothecnic Invia un messaggio via MSN a saviothecnic
Talking

Citazione:
Originalmente inviato da HappyFly Visualizza messaggio
Io ho il problema di volere realizzare un pantografo con un lungo asse x di quasi 2,5 metri ed ovviamente avendo gli assi x ed y completamente supportati devo usare per la x due viti e due motori.Mauro
Ciao non ho capito perche sei obligato ad usare due motori in X ?
Non ne puoi mettere uno grande e accopiare le due viti meccanicamente ?
Cmq il pilotaggio con motori DC rispetto al passo passo ha molti vantaggi anche io sono curioso di provarlo il vantaggio maggiore e che si hanno accellerazioni inimaginabili con i passo passo oltre alla belezza dle Loop Chiuso con Encoder che nei passo passo hanno solo controller industriali del costo sicuramente non acessibile all' obista come noi

Il lavoro qui presentato è ottimo poi fatto da un italiano e amico del forum.
Il fatto di poter pilotare con step e dir poi lo rende compatibile con tutti i controller ottima cosa
L' unica cosa che mi fa paura come per quello che ho preso io
o anche per i geko e simili e l' incapacita del utente nel regolare
in modo esatto il PID e controllo di retroazione
saviothecnic non è collegato   Rispondi citando
Vecchio 18 agosto 10, 22:34   #15 (permalink)  Top
User
 
L'avatar di marcosinatti
 
Data registr.: 11-06-2007
Residenza: Sansepolcro (Ar)
Messaggi: 1.948
Il pid non è niente di trascendentale, una volta capito il sistema non è poi così difficile tararlo.
Ci sono dei metodi matematici che sfruttano dei modelli e si basano su rilevamento di dati e calcoli, ma io non li conosco e poi a me piaciono le cose pratiche, quindi utilizzo il metodo "sperimetale"!
Provo a descriverlo , in maniera semplice, basandomi su informazioni raccolte durante lo sviluppo del drive e integrate con quelle derivate mie esperienze.
Cerco di non riempire il post di formule anche perchè non lo saprei fare !!!
Le formule che descrivo sono semplificate ma utili a capire il procedimento.
Magari leggendo questo post non avrete le idee chiare, ma passando qualche ora a fare prove pratiche la cosa diventa abbastanza intuitiva.

Il pid lavora eseguendo campionamenti e correzioni ogni tot tempo, che nel mio drive è di 300nS.
Quindi ogni 300nS analizza la situazione corrente e calcola la correzione da apportare.

Le variabili utilizzate sono:

PosizioneComandata = posizione che viene comandata all'azionamento
Posizione = posizione reale del motore
Errore= Errore instantaneo
dt = tempo di campionamento
Kp = Guadagno proporzionale
Ki = Guadagno Integrale
Kd = Guadagno Derivata

Per prima cosa viene calcolato l'errore instantaneo
Errore= PosizioneComandata - Posizione

Una volta calcolato l'errore procede a calcolare le 3 azioni di correzione:

Proporzionale:
P= Errore x Kp
E' la componente che corregge maggiormente l'errore, l'azione è instantanea, possiamo dire che è la prima operazione di "sgrossatura".
Un Kp basso porta una risposta inadeguata, se troppo alto porta il sistema in pendolazione.

Integrale:
I= I + Errore x dt
Lo dice la parola, lavora per integrazione, infatti è una correzione che tiene conto degli errori precedenti.
L'integrale è utile a correggere l'errore a regime, è poco influente su cambiamenti repentini e tende a rendere più "morbido" e "pastoso" il sistema, rallentadolo un pò.
Un valore basso non permette mai di portarsi a errore prossimo allo 0 durante il funzionamento a regime, ad esempio durante uno spostamento a velocità costante.
Un valore troppo alto produce una elongazione del comando, che all'atto pratico è ben visibile se durante la rotazione a velocità costante andiamo a fermare il motore, noteremo che avrà tendenza a oltrepassare la quota desiderata per poi tornare lentamente indietro, questo perchè l'integrale rimane "carico", facendo un confronto poco adatto, si comporta in maniera simile ad un condensatore.

Derivata:
D=Errore - Errore (CampionamentoPrecedente) x dt
La derivata lavora sulle differenze di errore, quindi si fa sentire quando ci sono grosse variazione.
Un valore basso non porta controindicazioni ma tende a rendere il sistema meno pronto, specialmente in presenza di un forte fattore integrale.
Un valore troppo alto può rendere instabile il sistema durante il funzionamento a regime.
In molti sistemi la derivata non viene utilizzata, a mio parere non gusta.

Al termine le correzioni vengono sommate per determinare l'uscita:
Out= P + I + D

Questo è il pid nudo e crudo poi ci possono essere altre funzioni aggiuntive tipo il bias, il feedforward di primo e secondo ordine, la banda morta, le limitazioni per l'anti windup, etc... ma questi sono parametri spesso non settabili dall'utent.e

La taratura del pid si esegue in linea di massima in questo modo, o per lo meno è quello che faccio io:
-Si porta Ki e Kd a 0
-Facendo prove di movimento si alza Kp fino a portare il sistema in pendolazione
-Un volta "pendolante" si abbassa Kp del 20-30%
-Si inizia ad alzare il Ki fino a che non si notano le elongazioni dopo lo stop della rotazione
-Si ritocca un pò Kp rialzandolo ed eventualmente si riabbassa leggermente Ki per eliminare le elongazioni
-Si alza Kd fino a quando il motore girando a regime non tente a "impuntare"
-Si riabbassa Kd di un 30%

Una volta fatto questo primo setting poi si inizia a fare delle prove con movimenti più o meno veloci e impostando rampe più o meno ripide, osservando il comportamento e apportando correzioni ai guadagni tenendo conto di come ogni fattore va ad influire.
Durante questo processo è importante, secondo me, avere uno strumento che visualizza le curve con le azioni e l'errore in modo da capire come la modifica di un valore va ad influire il comportamento del motore.
Ecco perchè ho voluto curare abbastanza anche questa parte di software.
Una volta presa un pò di pratica, se il carico applicato è abbastanza stabile, si riesce a tarare il pid in 10 minuti.

Spero di non aver annoiato nessuno e di non aver confuso le idee ancora di più...

Ultima modifica di marcosinatti : 18 agosto 10 alle ore 22:42
marcosinatti non è collegato   Rispondi citando
Vecchio 19 agosto 10, 00:13   #16 (permalink)  Top
User
 
L'avatar di marcosinatti
 
Data registr.: 11-06-2007
Residenza: Sansepolcro (Ar)
Messaggi: 1.948
Scusate, rileggendo ho visto che non ho messo il fattore K sulle formule di I e D, mentre su P è corretto.
In pratica le formule sono:

Integrale:
I= (I + Errore x dt) x KI

Derivata:
D=(Errore - Errore (CampionamentoPrecedente) x dt) x Kd

In pratica vanno solo moltiplicate per il relativo K.
marcosinatti non è collegato   Rispondi citando
Vecchio 19 agosto 10, 00:41   #17 (permalink)  Top
User
 
L'avatar di daniele 1973
 
Data registr.: 19-02-2006
Residenza: caserta
Messaggi: 2.196
daniele

dopo questa spiegazione una cosa l'ho capita .............sono ignorante in materia..........cmq scherzi a parti complimenti anche se per me sei su un altro pianeta....
daniele 1973 non è collegato   Rispondi citando
Vecchio 19 agosto 10, 19:42   #18 (permalink)  Top
User
 
L'avatar di HappyFly
 
Data registr.: 01-01-2008
Residenza: Perugia
Messaggi: 681
Immagini: 12
Grazie della delucidazione ...

Mi è stata chiarissima, in generale i sistemi a retroazione sono sempre ostili, ma il tuo modo di spiegare mi è piaciuto molto ... anche la parte di tuning, per quanto semplificata, mi piace proprio come è spiegata ...

In maniera molto più semplificata in aeremodellismo si trova questo tipo di problematiche quando si tarano i giroscopi, dove bisogna settare gain e tipo di retroazione ...

Per quanto riguarda la domanda, giustissima, di Savio nel progetto ho in ordine di possibili risoluzioni :

1) cinghia e motore centrale
2) due motori e una cinghia tra loro di "sincronizzazione"
3) se proprio non risolvo mi interessa moltissimo la soluzione encoder sul motore master e motore slave che segue ...

Se Marco alla fine del lavoro vorrà condividere il progetto, magari come giustamente fa Fiser lasciando la realizzazione dell'elettronica open e vendendo il firmware mi prenoto da subito ... tra l'altro sono di Perugia e siamo proprio vicini ...

Un gentilezza per fare dei test mi consigliate dove prendere online ed economicamente un motore ed un encoder ?

Grazie davvero, forza Marco !!!
HappyFly non è collegato   Rispondi citando
Vecchio 20 agosto 10, 01:16   #19 (permalink)  Top
User
 
L'avatar di marcosinatti
 
Data registr.: 11-06-2007
Residenza: Sansepolcro (Ar)
Messaggi: 1.948
Per la soluzione al tuo problema io andrei di sicuro su quella meccanica, un motore al centro e cinghia, eviti cose antipatiche come dover fare l'home quando accendi la macchina andando a cercare un sensore per ogni asse per essere sicuro che il ponte non sia fuori allineamento.
Encoder più motore io li avevo presi su ebay, ma al momento non c'è un gran che.
Per quanto riguarda il futuro dei drive non mi sbilancio fino a quando non ho la certezza al 100% del corretto funzionamento, e potrò averla solo quando li avrò provati su questa MiniMill, poco mini...
Grazie per i complimenti...
marcosinatti non è collegato   Rispondi citando
Vecchio 04 ottobre 10, 01:15   #20 (permalink)  Top
User
 
L'avatar di marcosinatti
 
Data registr.: 11-06-2007
Residenza: Sansepolcro (Ar)
Messaggi: 1.948
Il progetto stà andando avanti anche se lentamente, qui gli ultimi sviluppi del drive, a presto le prove su motori di taglia maggiore Dc Servo Drive - Marco Sinatti
Qui invece gli sviluppi relativi alla scheda di controllo azionamenti 0-10V
Controllo Posizione Servo - Marco Sinatti
Ho messo i links al sito almeno ci sono le foto e i video a portata di mano...
marcosinatti non è collegato   Rispondi citando
Rispondi

Bookmarks




Regole di scrittura
Non puoi creare nuove discussioni
Non puoi rispondere alle discussioni
Non puoi inserire allegati
Non puoi modificare i tuoi messaggi

BB code è Attivato
Le faccine sono Attivato
Il codice [IMG] è Attivato
Il codice HTML è Disattivato
Trackbacks è Disattivato
Pingbacks è Disattivato
Refbacks è Disattivato


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



Tutti gli orari sono GMT +2. Adesso sono le 23:57.


Basato su: vBulletin versione 3.8.11
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
E' vietata la riproduzione, anche solo in parte, di contenuti e grafica. Copyright 1998/2019 - K-Bits P.I. 09395831002