Jump to content
PLC Forum


holyhope

Controllo PID su sistema a dinamica "semi" variabile

Recommended Posts

holyhope

Buongiorno

 

Spero che sia la sezione corretta essendo questa dedicata anche al Controllo Industriale.

Ho un "sistema" che movimenta un pistone elettromeccanico. Un po' piu nel dettaglio, senza annoiarvi, ho un Ponte ah H su una scheda elettronica custom che movimente, con un adeguato motoriduttore, un pistone. A monte della catena cinematica c'è un motore brushed comandato in PWM, appunto dal ponte ad H.

Ho un feedback molto preciso ed affidabile della posizione del pistone ma NON della velocità del motoreassume (calcolabile come la derivata dello spostamento è fattibile ma, a causa delle tolleranze non ho un reale feedback giri motre)

Il problema è che il sistema NON è "tempo invariante" ma cambia le condizioni del contorno. Questo sistema deve sollevare ad una certa quota un peso NON DETERMINATO A PRIORI. il sollevamento può essere di 1m e può capitare la casistica nel quale lo si solleva da 0 ad 1m oppure si è metà corsa e lo si vuole alzare di piccoli step di 1,0-1.5cm. 

La precisione del controllo richiesta è di 0.5cm (anche alzabile ad 1cm eventualmente)

Il motore stalla sotto il 30% del Duty Cycle, per cui quando arriva sotto certi livelli di potenza devo tagliare potenza al motore ed attivare una frenatura (sia motore in cto cto ai suoi capi sia alzare un comando ad un freno meccanico). Se non frenassi meccanicamente, con il solo motore in cto cto ai suoi capi, il sistema diventa reversibile ed il peso tornerebbe indietro.

Il problema è che non trovo un modo decente per tare il PID in quanto, riesco sì ad avere ottime precisioni, anche di 0.2cm , ma solo per una determinata casistica di peso.

Se taro il PID con un peso di 5kg, quando ho un peso di 1kg oppure di 7kg ho dei comportamenti errati come ad esempio:

 

- Caso 1Kg: Oscillazioni

- caso 2-3Kg: Sovraelongazione

Caso 7-8Kg: la parte proporzionale taglia (giustamente) e la parte Integrale non è ancora molto carica, conseguentemente si ferma molto sotto il set point da raggiungere, va in frenatura. Se nella condizione di frenatura non fermassi la routine di controllo dopo una decina di secondi ripartirebbe e si alzerebbe ancora un po' (la parte Integrale si è caricata a sufficienza... ma anche in questo caso ssrebbe sbagliato perchè avrei una salita a due step).

Inoltre per questo peso maggiore il motore stalla al 50% e non al 30%... per cui la mia routine, che a priori non sa il peso, quando è al 40% non ha ancora attivato il freno e il pistone torna indietro un po', visto che è reversibile.

 

A questo punto mi vedo abbastanza in difficoltà perchè ho tutte le "sfortune" di questo mondo per un sistema di controllo:

 

- reversibilità della catena cinematica

- motore che stalla al 30% del suo DC% (anche al 50%)

- sovraelongazioni e oscillazioni

- carico variabile

- alta precisione richiesta 

- motore brushed

- nessun feedback di velocità

 

A questo punto non so come procedere al controllo di questo sistema... 

Ho letto tutte le guide sulla taratura del PID presenti in questo forum e altrove e le ritengo molto efficienti ed efficaci, e di fatti si applicano molto bene su questo sistema per un peso costante.. ma nel momento in cui il sistema varia (ossia viene variato il peso, che si traduce in una variazione del carico su cui si controlla) tutto va per la tangente..

 

Ritengo che sia anche molto interessante da un punto di vista didattico far funzionare questo sistema... 

 

Accetto suggerimenti su come poter far andare questo sistema!!! Grazie mille!!

 

ciao

Massi

Edited by holyhope
Link to post
Share on other sites

Livio Orsini

Per prima cosa io comicerei a mettere ordine all'azionamento vero e prorpio, ovvero al gruppo convertitore, motore ed al tasduttore di velocità.

Già perchè la reazione di velocità è fondamentale.

Dovresti dare più dettagli sul tipo di motore: dire che un motore con spazzole è dire quasi niente. Devi fornirei dati di targa del motore e, possibilmente, marca e modello. Come dovresti fornire tutti i dati di quello che tu chiami "ponte ad H"

Ammesso e non concesso che con duty cycle pari al 98% si sia al valore nominale di tensione di armatura, un motore cc che stalla al 30% della tensione di armatura o è molto mal pilotato o non è degno di esser chiamato motore in cc.

Questi comportamenti sono accettabili da motorini giocattolo, di produzione cinese, venditi ad 1€, non sono assolutamente accettabili da motorei professionali.

Un motore in continua ad eccitazione separata, per definizione, deve erogare la coppia nominale a velocità zero. Se poi è un motore a magneti permanenti con il 30% della tensione di armatura, quindi a circa il 30% della velocità nominale è in gradi di erogare anche più di 5 volte la coppia nominale.

 

Quindo comiciamo con mettere ordine al controllo del motore, poi si potrà metter mano al sistema di posizionamento.

Link to post
Share on other sites
holyhope
Il 12/11/2020 alle 16:51 , Livio Orsini ha scritto:

Per prima cosa io comicerei a mettere ordine all'azionamento vero e prorpio, ovvero al gruppo convertitore, motore ed al tasduttore di velocità.

Già perchè la reazione di velocità è fondamentale.

Dovresti dare più dettagli sul tipo di motore: dire che un motore con spazzole è dire quasi niente. Devi fornirei dati di targa del motore e, possibilmente, marca e modello. Come dovresti fornire tutti i dati di quello che tu chiami "ponte ad H"

Ammesso e non concesso che con duty cycle pari al 98% si sia al valore nominale di tensione di armatura, un motore cc che stalla al 30% della tensione di armatura o è molto mal pilotato o non è degno di esser chiamato motore in cc.

Questi comportamenti sono accettabili da motorini giocattolo, di produzione cinese, venditi ad 1€, non sono assolutamente accettabili da motorei professionali.

Un motore in continua ad eccitazione separata, per definizione, deve erogare la coppia nominale a velocità zero. Se poi è un motore a magneti permanenti con il 30% della tensione di armatura, quindi a circa il 30% della velocità nominale è in gradi di erogare anche più di 5 volte la coppia nominale.

 

Quindo comiciamo con mettere ordine al controllo del motore, poi si potrà metter mano al sistema di posizionamento.

 

Ciao grazie per la tua risposta.

Purtroppo non è possibile modificare il sistema. E' stata la prima cosa che ho pensato ed anche proposto io ma non è fattibile. La mia idea è di fatti di lasciar perdere tutto visto che non è possibile cambiarlo; ho provato a chiedere se qualcuno più esperto di me sapesse darmi qualche consiglio sul controllo, visto che è l'unica cosa a cui ho accesso.

Per dare maggiori dettagli non è invece affatto un problema dare quelli che conosco. Motore è un dagu brushed 12v (limite a 18v) da 3500rpm nominali, 0.11Ohm, corrent smagnetizzazione 100Ampere, momento di inerzia 0.002Kgm^2, rapporto coppia corrente 0.025 Nm/A. Questo motore ha un costo di 150€. Lo stallo si ha solamente quando è montato (anche a carico nullo, con il solo "peso" della catena cinematica, anche dovute alle inefficienza), se pilotato messo su banco con il medesimo driver anche a DC del 5% ruota (a coppia e velocità ridicole)

L' azionamento è un azionamento custom realizzato esternamente (non da me) di cui purtroppo non ho accesso. E' resinato e sigillato. Lo comando come un normalissimo ponte ad H standard, non ho avuto particolari problemi o limiti di corrente, per sentito dire so che è stato realizzato non da componenti elementari ma con 2 integrati che fanno da samiponti.

Penso che tale problematica sia abbastanza riproducibile in sistemi anche diverso da questo, ho letto tanti casi simili al mio ma non ho trovato mai una risposta soddisfacente e chiara; infatti temo purtroppo che non sia un problema risolubile.

Spero di averti dato maggior elementi su cui discutere, anche se non sono esaurienti...

Ad ogni modo chiederei qualche info in più magari anche di "teoria" del controllo, approcciando anche più in generale il problema, affrontandolo del tipo " ho un sistema reversibile e che stalla... quali sono i punti principlai da cui partire per migliiorare il controllo, non potendo cambiare il sistema?" ... Potendo cambiare e migliorare il sistema si possono fare tantissime cose e risolvere fin da subito il sistema ma purtroppo non è possibile...

 

Ti ringrazio ancora per la tua rispsota, ciao

Massi

Link to post
Share on other sites
Livio Orsini
1 ora fa, holyhope ha scritto:

Ad ogni modo chiederei qualche info in più magari anche di "teoria" del controllo, approcciando anche più in generale il problema,

 

Potresti vedere nella sezione "Didattica" (link anche nella mia firma), sottosezione "elettrotecnica", tovi un mio tutorial sui controlli; è piuttosto sul pratico, con forumle ridotte al minimo, ed un certo numero di esempi con funzioni scritte in pseudo "C". Se non hai molta dimestichen zza con i controlli ad anello chiuso, questo potrebbe essere un buon inizio.

 

1 ora fa, holyhope ha scritto:

Purtroppo non è possibile modificare il sistema.

 

se il sistema non è configurato correttamente o lo si emenda o si lascia stare.

 

In problema come quello che hai descritto va risolto come ho descritto nel mio primo messaggio.

Si incomincia con liberare il motore dal carico e si mette a punto l'anello di velocità.

E inutile cercare di eseguire un posizionamento se l'anello di velocità non funziona correttamente; i risultati saranno solo tempo perso.

 

1 ora fa, holyhope ha scritto:

rapporto coppia corrente 0.025 Nm/A.

 

Ne sei sicuro? perchè mi sembra un rapporto un po basso, risulterebbero 2.5Nm alla corrente di smagnetizzazione!!

 

Prima di ogni altro controllo, fatti una bella verifica sulla coppia richiesta all'albero motore. Se il dato di coppia è reale potrebbe anche essere che il motore è insuffciente.

 

C'èun altro particolare che mi lascia molto perplesso su quel motore (anche se costa 150€); tu hai scritto:

Quote

con il medesimo driver anche a DC del 5% ruota (a coppia e velocità ridicole)

 

 

Un motore cc a magneti permanenti, di qualità appena decente, deve dare la coppia nominale anche a velocità zerom anzi da velocità zero sino a circa il 10% della velocità in genere possono erogare anche 8 volte e più la coppia nominale, senza nemmeno dare problemi al collettore.

Non puoi pubblicare marca e modello del mootre o, meglio, il link al suo datasheet?

Se si comporta in quel modo o è una costosissima ciofeca, oppure il drive è una grandissima porcheria.

Edited by Livio Orsini
Link to post
Share on other sites
holyhope
21 minuti fa, Livio Orsini ha scritto:

 

Potresti vedere nella sezione "Didattica" (link anche nella mia firma), sottosezione "elettrotecnica", tovi un mio tutorial sui controlli; è piuttosto sul pratico, con forumle ridotte al minimo, ed un certo numero di esempi con funzioni scritte in pseudo "C". Se non hai molta dimestichen zza con i controlli ad anello chiuso, questo potrebbe essere un buon inizio.

 

 

se il sistema non è configurato correttamente o lo si emenda o si lascia stare.

 

In problema come quello che hai descritto va risolto come ho descritto nel mio primo messaggio.

Si incomincia con liberare il motore dal carico e si mette a punto l'anello di velocità.

E inutile cercare di eseguire un posizionamento se l'anello di velocità non funziona correttamente; i risultati saranno solo tempo perso.

 

 

Ne sei sicuro? perchè mi sembra un rapporto un po basso, risulterebbero 2.5Nm alla corrente di smagnetizzazione!!

 

Prima di ogni altro controllo, fatti una bella verifica sulla coppia richiesta all'albero motore. Se il dato di coppia è reale potrebbe anche essere che il motore è insuffciente.

 

C'èun altro particolare che mi lascia molto perplesso su quel motore (anche se costa 150€); tu hai scritto:

 

Un motore cc a magneti permanenti, di qualità appena decente, deve dare la coppia nominale anche a velocità zerom anzi da velocità zero sino a circa il 10% della velocità in genere possono erogare anche 8 volte e più la coppia nominale, senza nemmeno dare problemi al collettore.

Non puoi pubblicare marca e modello del mootre o, meglio, il link al suo datasheet?

Se si comporta in quel modo o è una costosissima ciofeca, oppure il drive è una grandissima porcheria.

 

Ciao Livio, 

 

grazie ancora per la tua risposta. I controlli PID un po' li avevo studiati, poi dalla teoria alla pratica c'è sempre un abisso e lo ho imparato molto sul campo. Appunto per questo ho preferito chiedere consiglio a qualcuno di esperto che magari mi sapesse dare qualche consiglio adeguato.

Non mancherò di certo di guardare le tue guide, ed anzi, appena finito di rispondere vado subito a guardare.

 

L' anello di velocita lo posso chiudere solo con la "stima" della velocità (dalla FEM ecc...) oppure tramite la derivata dello spostamento. Ho già fatto delle prove a banco (motore senza la cinematica) e l' anello di velocità funziona adeguatamente. MEttendo il motore nel sistema l' anello di velocità diventa più complesso da gestire, dovuto anche alle tolleranze, e chiudo solo l' anello di posizione. 

Su questo punto posso provare ad eseguire dei controlli più accurati: Nei prossimi test mi dedicherò a migliorare al massimo il controllo di velocità.

 

Per il rapporto coppia corrente ti confermo quanto detto prima, nei dati di targa c'è scritto questo! 

 

Per la coppia e velocità ridicole al DC5% ora faccio ulteriori prove, giusto il tempo di scollegarlo. e provarlo a vuoto. ti terrò aggiornato. Questa prova la avevo fatta mesi fa e mi ricordavo che fino al 10% di DC riuscivo a bloccarlo stringendo l' albero con la mano. comunque il motore è un Dagu ma è stato avvolto custom per questo prodotto, per cui non è in commercio e non ha un datasheed scaricabile, anzi quello che ho "visto" è un riadattamento di un altro basato sul riavvolgimento che è stato fatto.

 

ciao

Massi

Link to post
Share on other sites
Livio Orsini
20 minuti fa, holyhope ha scritto:

L' anello di velocita lo posso chiudere solo con la "stima" della velocità (dalla FEM ecc...)

 

Meglio di niente usa la reazione d'armatura con compensazione di Rint * Ia; è un controllo rozzo ma piuttosto che niente ...

 

22 minuti fa, holyhope ha scritto:

omunque il motore è un Dagu ma è stato avvolto custom per questo prodotto,

 

Mi sembra .... (censura).

 

Comunque fatti il conto teorico della coppia necessaria, altrimenti rischi di diventar matto per niente.

Link to post
Share on other sites
holyhope

Ciao,

 

in prima battuta avevo usato Omega = ( Va - Ra*Ia)*(1/Komega)

dove:

Omega =  Velocità angolare

Va = Tensione di armatura

Ra = Resistenza di armatura

Ia = Corrente di armatura (ho messo in serie al driver un sensore di corrente... per avere quanto meno una stima di quanto possa essere)

Komega = che = costante di velocità.

 

Unica cosa che non mi tornava molto era la Komega che mi avevano fornito pari a 0.0033 una precedente persona che ci aveva lavorato (ed aveva messo il sensore), per fare un controllo ad anello aperto della velocità, poi aveva rinunciato pure all' anello aperto. Mi era oscuro il modo in cui tale dato era risultato.

 

Tu con :

4 ore fa, Livio Orsini ha scritto:

 usa la reazione d'armatura con compensazione di Rint * Ia;

esattamente quale formula intendevi, quella che ho postato io? avresti in tal caso un suggerimento per verificare se il Komega calcolato dalla precedente perosna possa essere corretto?

 

Ho sbiricato il datasheet scopiazzato ed ho trovato questi dati aggiuntivi:

Temp funzionamento nominale 20°

Tensione alimentazione nominale 12V

Costante di coppia 0.0252 Nm/A

n° poli 2

n° vie 2

numero di giri a corrente Zero = 4552 (Questo dato mi sfugge il significato)

giri a vuoto nv  ---- (in tabella è presente la dicitura ma non c'è il dato)

resistenza indotto R0 = 0.102

Coppia minimo spunto 1.56 Nm (CosPI/Z)

 

in più sulla targa del motore esattamente ho visto anche

 

giri motore 3600

watt 120w

coppia/corrente 0.025 Nm/A

R avvolgimento 0.11 Ohm

Momento Inerzia J 0.002 Kg*m^2

Corrente Smagnetizzazione 100A

 

 

Ciao e grazie mille per il supporto!

Massi

Edited by holyhope
Link to post
Share on other sites
Livio Orsini
15 ore fa, holyhope ha scritto:

il Komega calcolato dalla precedente perosna possa essere corretto?

 

Komega = w / Va ==> 3600 / 12 = 300 rpm/1V, oppure 3.333mV per 1 rpm o anche 3.333V per 1000 rpm. Sembra più una tachimetrica.

 

15 ore fa, holyhope ha scritto:

numero di giri a corrente Zero = 4552

 

Così dice poco, sarebbe necessario avere la curva di massima corrente. Nei miotori a magneti permanenti è permesso assorbire una corrente elevatissima, quindi grande coppia, sino a velocità molto basse, poi la corrente ammessa senza causare smagnetizzazione diminuisce con il progredire della velocità; se ricordo bene la legge è parabolica, (ma non ne sono sicuro), l'ultimo tratto in genere è rettilineo e parallelo all'ascisse.

 

15 ore fa, holyhope ha scritto:

Coppia minimo spunto 1.56 Nm (CosPI/Z)

 

Sembrerebbe la coppia di stallo.

 

Dammi retta, fai la verifica della coppia necessaria a muovere il carico. Io non conosco la cinematica della trsmissione, ma a naso mi sembra un motore sbagliato. Potrò anche sbagliarmi, però bisogna fare i calcoli.

Link to post
Share on other sites
holyhope

Ciao,

 

Ho fatto delle prove. Mi sono servito dello strumento "testo 470" per misurare la rotazione del motore all' albero. Ho utilizzato un motore "di scarto" che avevo e lo ho collegato, con un giunto elastico, solidale all' albero del motore sotto test (il dagu). Lo scopo è mettere in cto cto il + e - del secondo motore per metterlo in frenatura e dare un carico al motore sotto test.

SENZA FRENATURA, col DC al 100%, V alimentazione 12.60V e una corrente rilevata assorbita al ponte 3.2A rilevavo (usando Komega = 300) una velocità di circa 3700 RPM e con lo strumento 3495. Risultato piuttosto soddisfacente. col DC pari al 50% ho rilevato un assorbimento di 1.49A e calcolato 1830 rpm, mentre, rilevati con lo strumento,  1640. Direi che sia soddisfacente.

CON LA FRENATURA invece ho dei risultati molto errari, ho messo in CTO CTO il + e - del motore di frenatura e ho riscontrato col DC 100% un assorbimento di 15.2A (una tensione scesa a 11.15V al DCLink) e calcolati quindi 2840 rpm contro i 2000 riscontrati dallo strumento; per il DC al 50% la tensione è rimasta a circa 12,34V e l' assorbimento riscontrato è stato di circa 4,2A, con una velocità in RPM calcolata di 1670 contro i 980 rilevati con lo strumento. 

Per quanto riguarda le prove col carico sembra che ci sia una grossa differenza fra la misura reale e quella misurata.

 

A te, nella tua esperienza, risulta "normale" un errore di misura così importante quando il motore è sotto carico? Perchè in tal caso temo purtroppo che non si possa usare questa metodologia per chiudere un anello di velocità....

 

grazie ciao

Massi

 

Link to post
Share on other sites
holyhope

Ciao,

 

Volevo segnalare che ho fatto la prova a vuoto, con il seguente risultato:

 

Alimntato il motore con DC100% in modo tramite il driver in modo tale che avesse al driver 12V esatti ho misurato con lo strumento 3570 rpm e assorbimento di 2.05A

 

Alimentato il motore con un alimentatore da banco a 12V diretto, assorbimento 2,20A e 4170 rpm . Le misure sono fatte in questo caso (di V e A) dall' alimentatore stesso che potrebbe non essere perfetto. Per pura didattica a 18v (limite a cui puo andare) arriva a 6700 rpm

 

Massi

 

Link to post
Share on other sites
Livio Orsini
1 ora fa, holyhope ha scritto:

Per pura didattica a 18v (limite a cui puo andare) arriva a 6700 rpm

 

2 ore fa, holyhope ha scritto:

Alimentato il motore con un alimentatore da banco a 12V diretto, assorbimento 2,20A e 4170 rpm

Questo è preoccupante perchè fa ben 1300 rpm in più del dovuto! sembra quasi ci sia un deflussaggio.

Ripeti le misure con un tachimetro affidabile. Magari se riesci ad applicare un magnete all'albero usando un sensore di hall ed un'oscilloscopio puoi fare una misura molto precisa. 3600 rpm sono 60 Hz esatti.

 

Anche le variazioni di velocità tra vuoto e carico sono notevoli; anche se non hai compensato la R*I, 800 rpm circa di perdita di velocità è un'indecenza. Non potrai mai realizzare qualche cosa di buono.

Poi dovresti fare prove a carico con velocità prossime allo zero. Però se non disponi di un regolatore ad anello chiuso sarà molto difficile.

 

 

Per curiosità cosa devi realizzare? Cos'è un esercizio scolastico?

 

 

Link to post
Share on other sites
holyhope

Ciao

 

Grazie innanzitutto per la tua risposta.

Anche a me è sembrato strano il discorso che diretto funziona diverso... Ora mi documento per il deflussaggio.

PEr misurare velocità uso un sistema simile: non ho un magnete ma ho un catarinfrangente e lo strumento testo 470 lo legge con il led

 

Cosa intendi con "compensato R*I " ? Io uso la formula per stimare Omega con anche considerando questri due parametri.

 

Il sistema è un progetto industriale, parzialmente, di ricerca. Devi usare approcci di ricerca con sistemi ridicoli che non si possono modificare. Praticamente è come prender le due cose e tenere solo il peggio di entrambi.

 

ciao

Massi

Link to post
Share on other sites
Livio Orsini
2 ore fa, holyhope ha scritto:

. Ora mi documento per il deflussaggio.

 

Non c'è deflussaggio essendo un motore in cui il campo è fisso ed è determinato dal campo magnetico dei magneti permanenti.

Io ho usato il termine "deflussaggio" ad indicare come se ci fosse una perdita di magnetismo dei magneti, una smagnetizzazione parziale.

 

Perchè c'è troppa differenza di velocità. In un motore cc a campo costante, come lo è un motore a magneti permanenti. sono valide le 2 equazioni di trasferimento:

  • Cm = ki * Ia
  • Velocità angolare = kv * Va

 

2 ore fa, holyhope ha scritto:

Cosa intendi con "compensato R*I " ?

 

La compensazione R*I, si mette quando si cerca di regolare la velocità in anello di tensione di armatura.Il motore ha la costante kV, nel tuo caso dovrebbe essere 300, quindi la velocità corrisponde alla tensione di armatura per la costante kV. Però non essendo un avvolgimento ideale, ma avendo una sua resistenza di armatura, per mantenere la velocità costante al variare della corrente assorbita la funzione di trasferimento sarà:

  • Velocità angolare = (kv * Va) + (Ra * Ia)

Non ho capito come hai misurato la velocità, se l'hai misurata o solo stimata.

Dai dati che mi hai riportato, come ho scritto, ci sono parecchie contraddizioni.

Poi rimane sempre la verifica di fondo: la coppia necessaria all'albero motore, calcolo che tu non hai ancora fatto.

Link to post
Share on other sites
Sandro Calligaro

Scusate se intervengo solo ora, il problema è molto interessante, e concordo con Livio sul fatto che bisogna partire dal basso.

Anche nella mia esperienza, i sistemi di controllo (di qualunque tipo) vanno costruiti senza dare nulla per scontato, o meglio verificando le assunzioni di base prima di aumentare la complessità.

Da quanto ho potuto vedere, la didattica dei corsi di controlli automatici (all'università) a volte snobba la realtà complessa ed incerta con la quale poi ci si trova ad operare, dove si ha a a che fare con i limiti degli attuatori, il rumore di misura, l'incertezza sui parametri....

Per queste ragioni, nell'industria si costruiscono quasi sempre controllori "semplici" ma intuitivi, rispetto a quanto si potrebbe fare. Quasi sempre si finisce per avere degli anelli annidati.
Il caso tipico è proprio quello del controllo di posizione tramite motore elettrico (ad esempio DC a magneti permanenti), dove si ha un anello di corrente (coppia) dentro un anello di velocità, dentro un anello di posizione.

Questa immagine vuole riassumere in poco spazio il senso dello schema di controllo di posizione tipico per un motore DC:

image.thumb.png.0c286f74bb6d3541e71cceb1ea4d1dd1.png

(Mi scuso per l'immagine troppo grande, ma non riesco a renderla più piccola, dopo averla incollata).

 

Usando anelli "concentrici", invece, ci sono vari vantaggi:

- se si fanno le cose bene, la dinamica dei vari anelli è molto semplice (solitamente ogni regolatore vede un "plant" del primo ordine) e disaccoppiata (cioè quel che succede su un anello ha poca influenza sugli altri);

- si tiene conto dei limiti degli attuatori in modo semplice (se si applica l'anti-windup!).

Di solito, c'è un ulteriore "strato" (non è un anello), che aiuta a rendere le prestazioni migliori, evitando "sforzi" inutili e riducendo le oscillazioni, cioè la pianificazione della "traiettoria", cioé la costruzione di un profilo di posizione di riferimento nel tempo, tale che il controllo possa inseguirlo con errore piccolo e poche oscillazioni. Nel tuo caso, potrebbe trattarsi semplicemente di traiettorie con velocità trapezoidale, in ogni caso per operazioni "lunghe" (distanze grandi, in cui il tempo di spostamento è lungo rispetto al tempo di risposta del sistema) conviene evitare di applicare direttamente gradini di posizione.

 

Ho fatto queste premesse perché, secondo me, senza l'approccio giusto non ne esci. Se ho capito bene, tu vorresti saltare a pié pari questo approccio e controllare direttamente la posizione tramite la tensione (duty-cycle), cosa che ti sconsiglio vivamente.

A differenza di altri casi, nel tuo caso hai la difficoltà in più di gestire un'inerzia ed un disturbo di coppia (dovuta al peso) entrambi variabili, che sono probabilmente dominanti nel comportamento meccanico del sistema. Qui potrebbe occorrere qualche accorgimento particolare, come ad esempio un osservatore del disturbo o altri "trucchi", ma prima bisogna essere sicuri di applicare e far funzionare bene le cose normali (la "regola d'arte").

 

 

Ti faccio quindi un paio di domande anch'io, lasciando la priorità alla domanda di Livio sulla coppia necessaria a muovere il sistema.

  1. Che "piattaforma" (microcontrollore, PLC, ...) usi per il controllo?
  2. Hai qualche possibilità di vedere gli andamenti delle variabili del controllo nel tempo (anche solo registrate)?
  3. Il controllore ha accesso ad una misura di corrente di armatura?
  4. Non è che c'è qualche limitazione di corrente nel ponte ad H, della quale non sei a conoscenza (sono quasi certo che ci sia)? Potrebbe essere quella a causare lo stallo?
  5. Hai provato a misurare corrente e tensione (PWM) di armatura, con l'oscilloscopio?
  6. Che tipo di sensore di posizione hai a disposizione nel sistema?

 

 

Oltre a questo, puoi fare abbastanza facilmente delle prove di identificazione dei parametri del motore, con un po' di pazienza e pochi strumenti (due multimetri decenti, oltre al misuratore di posizione e all'alimentatore DC variabile, che mi pare tu abbia già).

Resistenza di armatura: da fare "a 4 fili", cioè con misura contemporanea della tensione di armatura e della corrente di armatura, mentre applichi tensione DC con un alimentatore (alzandola da 0 fino ad arrivare a valori di tensione e corrente ben leggibili dall'amperometro), possibilmente in diverse posizioni del rotore, in modo da verificare che non ci siano grosse variazioni con la posizione del collettore.

Costante di tensione indotta: misura della tensione di armatura a vuoto, facendo girare il motore tramite un altro "motore" (ad esempio un avvitatore) a velocità costante e misurata.

NB: la costante di tensione in [V/(rad/s)] corrisponde alla costante di coppia in [Nm/A] !

 

Con queste prove (mancherebbe quella di induttanza di armatura, ma si può fare più avanti), metti dei punti fermi (le "fondamenta") per il modello della parte elettrica (e della produzione di coppia!), che è oggettivo, cioè non ti stai fidando di un datasheet dubbio o altro.

In pratica, il mio consiglio è di seguire quel che diceva Galileo (e prima di lui San Tommaso), sul metodo sperimentale. 😄

Dopo di questo, le tue misure di corrente diventano anche delle misure di coppia erogata, che a velocità costante diventano anche delle misure di coppia di carico... Inoltre, hai (ovviamente) degli elementi in più per sapere come costruire e tarare i regolatori.

 

Edited by Sandro Calligaro
Link to post
Share on other sites
Livio Orsini

Benvenuto nella discussione Sandro, il tuo contributo è sempre prezioso.

 

Se hai letto tutta la discussione, avrai notato che le misure fatte riportano dati discordanti ed incongruenti.

Inoltre manca il dato fondamentale per tutto il sistema: Il valore di coppia richiesta all'albero motore.

E' un controllo che deve fare necessariamente l'autore della discussione, visto che non riporta nessun dato della catena cinematica. 

Da questa verifica potrebbe risultare che si sta richiedendo all'azionamento qualche cosa che non può dare.

Edited by Livio Orsini
Link to post
Share on other sites
Sandro Calligaro
Il 21/11/2020 alle 10:07 , Sandro Calligaro ha scritto:

Ti faccio quindi un paio di domande anch'io, lasciando la priorità alla domanda di Livio sulla coppia necessaria a muovere il sistema.

Quella questione è sicuramente fondamentale. 🙂
Diciamo che, se il motore dovesse avere qualche problema (ad esempio se fosse smagnetizzato), con qualche misura si avrebbero delle certezze in più anche riguardo alla coppia effettivamente disponibile, da confrontare con quella richiesta.

Link to post
Share on other sites
Livio Orsini
2 minuti fa, Sandro Calligaro ha scritto:

se il motore dovesse avere qualche problema (ad esempio se fosse smagnetizzato),

 

Ne ho il sospetto perchè, se le misure son corrette, sembra che abbia aumentato la costante kVa

Il 19/11/2020 alle 14:48 , holyhope ha scritto:

Alimentato il motore con un alimentatore da banco a 12V diretto, assorbimento 2,20A e 4170 rpm

 

Dovrebbe fare 3600 rpm con 12Vinvece pare ne faccia molti di più

Link to post
Share on other sites
holyhope

Ciao

 

Ringrazio prima di tutto entrambi per le vostre molto gentili risposte.

 

Mi sto impuntando sul fatto che il sistema va completamente rivisto o quanto meno sostituire il motore con, se possibile, uno più performante con encoder integrato oppure quanto meno farci rifare il moore identico con un encoder integrato. Vediamo cosa ne esce anche se ho i miei dubbi si possa fare qualcosa, purtroppo

 

Vi rispondo per gradi

Il 20/11/2020 alle 11:37 , Livio Orsini ha scritto:

 

Non c'è deflussaggio essendo un motore in cui il campo è fisso ed è determinato dal campo magnetico dei magneti permanenti.

Io ho usato il termine "deflussaggio" ad indicare come se ci fosse una perdita di magnetismo dei magneti, una smagnetizzazione parziale.

 

Perchè c'è troppa differenza di velocità. In un motore cc a campo costante, come lo è un motore a magneti permanenti. sono valide le 2 equazioni di trasferimento:

  • Cm = ki * Ia
  • Velocità angolare = kv * Va

 

 

La compensazione R*I, si mette quando si cerca di regolare la velocità in anello di tensione di armatura.Il motore ha la costante kV, nel tuo caso dovrebbe essere 300, quindi la velocità corrisponde alla tensione di armatura per la costante kV. Però non essendo un avvolgimento ideale, ma avendo una sua resistenza di armatura, per mantenere la velocità costante al variare della corrente assorbita la funzione di trasferimento sarà:

  • Velocità angolare = (kv * Va) + (Ra * Ia)

Non ho capito come hai misurato la velocità, se l'hai misurata o solo stimata.

Dai dati che mi hai riportato, come ho scritto, ci sono parecchie contraddizioni.

Poi rimane sempre la verifica di fondo: la coppia necessaria all'albero motore, calcolo che tu non hai ancora fatto.

 

Grazie molto della

tua spiegazione, mi è stata molto utile.

Per la coppia non ho ancora fatto un calcolo, ho dato per presupposto che fosse sufficiente al sistema. A me lo han dato come "perfetto" (e qui... avrei motlo da ridire), sto andnado per gradi e per prima cosa mi son dedicato ad avere un feedback di velcoità corretto.

 

Per misurare la velocità ho due modi:

 Il sistema "testo 470" che è lo strumento che misura gli alberi in rotazione tramite infrarossi (o altro sistema, comunque senza contatto diretto)

 stima attraverso la formula matematica che anche tu mi hai appena riscritto. 

ho fatto questi due modi e ho trovato discrepanze piuuttosto elevate, per questo anche tu, come anche io, hai riscontrato delle contraddizioni.

 

 

Il 21/11/2020 alle 10:07 , Sandro Calligaro ha scritto:

Scusate se intervengo solo ora, il problema è molto interessante, e concordo con Livio sul fatto che bisogna partire dal basso.

Anche nella mia esperienza, i sistemi di controllo (di qualunque tipo) vanno costruiti senza dare nulla per scontato, o meglio verificando le assunzioni di base prima di aumentare la complessità.

Da quanto ho potuto vedere, la didattica dei corsi di controlli automatici (all'università) a volte snobba la realtà complessa ed incerta con la quale poi ci si trova ad operare, dove si ha a a che fare con i limiti degli attuatori, il rumore di misura, l'incertezza sui parametri....

 

 

Ciao grazie per la tua risposta, concordo col partire dal basso e salire di complessita. purtroppo mi son trovato tutto fatto... comunque vediamo che si può fare!!!

 

Il 21/11/2020 alle 10:07 , Sandro Calligaro ha scritto:

Per queste ragioni, nell'industria si costruiscono quasi sempre controllori "semplici" ma intuitivi, rispetto a quanto si potrebbe fare. Quasi sempre si finisce per avere degli anelli annidati.
Il caso tipico è proprio quello del controllo di posizione tramite motore elettrico (ad esempio DC a magneti permanenti), dove si ha un anello di corrente (coppia) dentro un anello di velocità, dentro un anello di posizione.

Questa immagine vuole riassumere in poco spazio il senso dello schema di controllo di posizione tipico per un motore DC:

image.thumb.png.0c286f74bb6d3541e71cceb1ea4d1dd1.png

(Mi scuso per l'immagine troppo grande, ma non riesco a renderla più piccola, dopo averla incollata).

 

Ecco ad esempio io il controllo in Coppia non lo faccio. son partito dall' idea di fare anello di posizione e quello di velocità, non potendo poi fare quello di velocità per i motivi detti sopra son rimasto col fare solo quello di posizione. E' molto interessante eventalmente fare un controllo in coppia. Tenete presente che io ho accesso alla lettura di tensione e corrente che vanno all' azionamento. Per maggiore precisazione io sotto controllo ho il DutyCycle da dare al motore cc per cui io controllo il Duty e posso rileggere all' azionamento quanta tensione media (per cui la tensione equivalente se invece di darla in PWM a DC variabile la avessi data in analogico) e la corrente assorbita. Quindi un eventuale controllo in coppia potrebbe essere fattibile. Queste due varibili le ho semre utilizate come sicurezza aggiuntiva devo prima valutare se sono precise/adffidabili/veloci per essere usate come feedback ma direi proprio di si.

 

Il 21/11/2020 alle 10:07 , Sandro Calligaro ha scritto:

Usando anelli "concentrici", invece, ci sono vari vantaggi:

- se si fanno le cose bene, la dinamica dei vari anelli è molto semplice (solitamente ogni regolatore vede un "plant" del primo ordine) e disaccoppiata (cioè quel che succede su un anello ha poca influenza sugli altri);

ok

 

Il 21/11/2020 alle 10:07 , Sandro Calligaro ha scritto:

- si tiene conto dei limiti degli attuatori in modo semplice (se si applica l'anti-windup!).

l' anti wind up è sempre d'obbligo se la parte integrale non è trascurabile eheh! concordo

 

Il 21/11/2020 alle 10:07 , Sandro Calligaro ha scritto:

Di solito, c'è un ulteriore "strato" (non è un anello), che aiuta a rendere le prestazioni migliori, evitando "sforzi" inutili e riducendo le oscillazioni, cioè la pianificazione della "traiettoria", cioé la costruzione di un profilo di posizione di riferimento nel tempo, tale che il controllo possa inseguirlo con errore piccolo e poche oscillazioni. Nel tuo caso, potrebbe trattarsi semplicemente di traiettorie con velocità trapezoidale, in ogni caso per operazioni "lunghe" (distanze grandi, in cui il tempo di spostamento è lungo rispetto al tempo di risposta del sistema) conviene evitare di applicare direttamente gradini di posizione.

 

intendi di usare in feedforward?

 

Il 21/11/2020 alle 10:07 , Sandro Calligaro ha scritto:

Ho fatto queste premesse perché, secondo me, senza l'approccio giusto non ne esci. Se ho capito bene, tu vorresti saltare a pié pari questo approccio e controllare direttamente la posizione tramite la tensione (duty-cycle), cosa che ti sconsiglio vivamente.

Esatto. Ho scritto qualcosa due righe più sopra per risponderti ad un altro punto. 

C'era l' idea di loop velocità ma poi abbandonata.

Prima di apriere questo thread avevo già abbandonato l' idea di fare un qualcosa di così semplicistico.... Avevo pensanto ad un approccio con controllo LQ ma in questo momento i ricordi di tale controllo mi sono piuttosto remoti e, meno che mai, ho perfettamente modellizzato il sistema per poter far un controllo di quel tipo! eheh.

Ad ogni modo sto cercando di usare un qualcosa di meno semplicistico

 

Il 21/11/2020 alle 10:07 , Sandro Calligaro ha scritto:

A differenza di altri casi, nel tuo caso hai la difficoltà in più di gestire un'inerzia ed un disturbo di coppia (dovuta al peso) entrambi variabili, che sono probabilmente dominanti nel comportamento meccanico del sistema. Qui potrebbe occorrere qualche accorgimento particolare, come ad esempio un osservatore del disturbo o altri "trucchi", ma prima bisogna essere sicuri di applicare e far funzionare bene le cose normali (la "regola d'arte").

 

Esatto, e la cosa peggiore è che sono molto influenti e che spingon spesso il motore ai limiti di funzionamento, per cui sicuramente in zone dove il suo comportamento sarà fortemente non lineare o comunque molto difficile da controllare... E' come se stiamo cercando di trainare una roulotte con un ape car.... E' logico che al limite della sua capacità ha dei comportamenti piuttosto difficili da gestire, se confrontati al caso in cui usassimo un camion per trainarla!

 

Il 21/11/2020 alle 10:07 , Sandro Calligaro ha scritto:

Ti faccio quindi un paio di domande anch'io, lasciando la priorità alla domanda di Livio sulla coppia necessaria a muovere il sistema.

  1. Che "piattaforma" (microcontrollore, PLC, ...) usi per il controllo?
  2. Hai qualche possibilità di vedere gli andamenti delle variabili del controllo nel tempo (anche solo registrate)?
  3. Il controllore ha accesso ad una misura di corrente di armatura?
  4. Non è che c'è qualche limitazione di corrente nel ponte ad H, della quale non sei a conoscenza (sono quasi certo che ci sia)? Potrebbe essere quella a causare lo stallo?
  5. Hai provato a misurare corrente e tensione (PWM) di armatura, con l'oscilloscopio?
  6. Che tipo di sensore di posizione hai a disposizione nel sistema?

 

1, scheda Embedded realizzata custom

2. qualcosa si, magari non in tempo reale ma qualcosa si. devo usare un programmatore serio ma dovrei poterlo usare

3. sì sì. infatti prima tentavo di stimare la velocità con la forumula che anche Livio ha scritto, ora che tu m i hai fatto vedere l' idea di 3 loop annidati in cui il pià interno è di coppia... mi farebbe venire gola l' idea di usarlo

4. NO. ci sono limitazioni di 30A di fusibili e mie interne alla scheda a 20A (derating) e 25A (taglio). MA AVVISO IN MILLE MODI SE SCATTANO e così non avviene. è semplicemente il controllo che non funziona bene perchè arrivato vicino al SP inizia a limitare la potenza al motore e non ci arriva. e poi va in errore. La parte integrale la tengo bassa (che avrebbe aiutato) perchè se la metto alta (ed anche se "brutalmente e bruttamente" la taglio a zero arrivati al SP...) mi inizia ad oscillare quando il carico è minore... cavolo

5. Solo di tensione ed è molto pulito il segnale. Per la corrente non ho un oscilloscopio con pinza amperometrica. 

6. Un sensore custom di cui metto la mano sul fuoco per la precisione. usato altre volte e molto bene convalidato. Su questo vi garantisco che non ci sono dubbi.

 

 

Il 21/11/2020 alle 10:07 , Sandro Calligaro ha scritto:

Oltre a questo, puoi fare abbastanza facilmente delle prove di identificazione dei parametri del motore, con un po' di pazienza e pochi strumenti (due multimetri decenti, oltre al misuratore di posizione e all'alimentatore DC variabile, che mi pare tu abbia già).

Resistenza di armatura: da fare "a 4 fili", cioè con misura contemporanea della tensione di armatura e della corrente di armatura, mentre applichi tensione DC con un alimentatore (alzandola da 0 fino ad arrivare a valori di tensione e corrente ben leggibili dall'amperometro), possibilmente in diverse posizioni del rotore, in modo da verificare che non ci siano grosse variazioni con la posizione del collettore.

Costante di tensione indotta: misura della tensione di armatura a vuoto, facendo girare il motore tramite un altro "motore" (ad esempio un avvitatore) a velocità costante e misurata.

NB: la costante di tensione in [V/(rad/s)] corrisponde alla costante di coppia in [Nm/A] !

 

Si può fare, ho dato per scontato che i datasheet fossero corretti (almeno epr quei pochi dati che ti danno)... PEPrò si può tentare. Il mio sospetto è che ci sia un 5-10% di tolleranza dei valori fra un motore identico e l'altro e che infatti i dati del datasheet siano un po' presi a caso. 

Ci vuole tempo ma è una prova che si può fare. Nel week end ho smantellato il banco test del motore per i motivi detti all' inizio ma posso provare a rimetterlo in piedi nei prossimi giorni e fare questi test.

 

Il 21/11/2020 alle 10:07 , Sandro Calligaro ha scritto:

Con queste prove (mancherebbe quella di induttanza di armatura, ma si può fare più avanti), metti dei punti fermi (le "fondamenta") per il modello della parte elettrica (e della produzione di coppia!), che è oggettivo, cioè non ti stai fidando di un datasheet dubbio o altro.

OK!

Il 21/11/2020 alle 10:07 , Sandro Calligaro ha scritto:

In pratica, il mio consiglio è di seguire quel che diceva Galileo (e prima di lui San Tommaso), sul metodo sperimentale. 😄

eheh!

Il 21/11/2020 alle 10:07 , Sandro Calligaro ha scritto:

Dopo di questo, le tue misure di corrente diventano anche delle misure di coppia erogata, che a velocità costante diventano anche delle misure di coppia di carico... Inoltre, hai (ovviamente) degli elementi in più per sapere come costruire e tarare i regolatori.

 

esatto!

 

 

Il 21/11/2020 alle 11:40 , Livio Orsini ha scritto:

Benvenuto nella discussione Sandro, il tuo contributo è sempre prezioso.

 

Se hai letto tutta la discussione, avrai notato che le misure fatte riportano dati discordanti ed incongruenti.

Inoltre manca il dato fondamentale per tutto il sistema: Il valore di coppia richiesta all'albero motore.

E' un controllo che deve fare necessariamente l'autore della discussione, visto che non riporta nessun dato della catena cinematica. 

Da questa verifica potrebbe risultare che si sta richiedendo all'azionamento qualche cosa che non può dare.

 

Provo a farmi due conti e ti dico bene qualcosa. mi sembra che a valle della cinematica si supporta fino a 70Kg, e circa 40Kg diventa reversibile. fammi fare due conti con la cinematica e ti dico la coppia massima che deve spingere il motore. 

hai ragione comunque!

 

19 ore fa, Sandro Calligaro ha scritto:

Quella questione è sicuramente fondamentale. 🙂
Diciamo che, se il motore dovesse avere qualche problema (ad esempio se fosse smagnetizzato), con qualche misura si avrebbero delle certezze in più anche riguardo alla coppia effettivamente disponibile, da confrontare con quella richiesta.

Esatto!

 

19 ore fa, Livio Orsini ha scritto:

 

Ne ho il sospetto perchè, se le misure son corrette, sembra che abbia aumentato la costante kVa

 

Dovrebbe fare 3600 rpm con 12Vinvece pare ne faccia molti di più

Livio è quello che penso io sai? cioè con la "prova a vuoto" si stima se non erro il Kv ma se dovrebbe fare 3600 rpm a 12v (e quindi essere a 0.033 o 300 dipende se si considera Kv o il suo inverso) ma in realtà ne fa più di 4200 allora supera i 350 il Kv!!!

 

Ciao e grazie ancora ad entrambi,

Massi

Link to post
Share on other sites
holyhope

Ciao

 

due note:

 

Coppia richiesta all' albero del motore 0.35 Nm costante e picco a 0.5Nm

 

Domanda: se mettessi il controllo in coppia non mi tornerebbe una cosa: Se faccio il controllo in coppia vado a variare la velocità per ottenere la coppia corretta... invece io voglio tenere costante la velocità per poi abbassarla in un modo giusto verso la fine.

Essendo inoltre la velocità sempre al massimo col controllo in coppia potrei solo abbassarla... ANZI DICIAMO MEGLIO: Tranne che in prossimità del SP, io metto sempre la potenza massima, che si traduce in velocità massima MA la velocità effettivamente raggiuna non è sotto controllo ed anzi è molto variabile in base al carico.... 

Tranne forse nel momento in cui io sto rallentando perchè sono quasi giunto al SP che inizio ad abbassare la velocità... Ecco in tal caso una stima della coppia che ho in quel momento potrebbe aiutarmi per decidere se rallentare piu bruscamente (nel caso di carico basso) o molto poco (nel caso di carico alto)

 

Ciao e grazie ancora ad entrambi,

Massi

Link to post
Share on other sites
Livio Orsini
6 minuti fa, holyhope ha scritto:

Domanda: se mettessi il controllo in coppia non mi tornerebbe una cosa:

 

hai 2 strade:

  1. Usare un drive serio, a cui dai il riferimento di velocitàed il controllo di velocità e coppia (corrente) se lo smazza il drive (soluzione vivamente consigliata)
  2. Usare un drive che è solo un amplificatore di corrente e farti tutti i controlli dei vari anelli come indicato da Sandro nello schema a blocchi.
9 minuti fa, holyhope ha scritto:

Coppia richiesta all' albero del motore 0.35 Nm costante e picco a 0.5Nm

 

Questi valori li hai calcolati in base alla massa da sollevare ed alla catena cinematica? 0.35 Nm a quale peso da sollevare corrispondono?

Link to post
Share on other sites
holyhope

Ciao

 

purtroppo non credo sia possibile far fare tutto al driver... sarebbe troppo bello

 

Circa 45Kg di peso corrispondono con le varie riduzioni ecc a 0.35Nm

 

Dovendo penso percorrere la strada di far il controllo, per il controllo in coppia cosa mi suggerite?

 

Nel senso io non saprei quale livello dare in ingresso di coppia al regolatore di coppia appunto perchè io controllo la velocità e non ho un valore target di coppia da raggiungere, non so se mi sono spiegato...

Quello per cui mi servirebbe la coppia è sapere se eventualmente ho un peso grande o un peso piccolo e così magari fare 3 o 4 soglie e cambiare i parametri Kp e Ki del loop di posizione (e velocità se riesco a chiudere l' anello)... per questo posso fare qualcosa a livello di codice ma non è lo schema che mi avete suggerito.

Lo scopo è di far raggiungere la posizione nel minor tempo possibile e con una precisione elevata (fin troppo....) per cui effettivamente non è necessaria una coppia costante. 

Non so se ho reso l' idea...

Cioè quello che vorrei io è che lo schema, per come me lo avete scritto, dovrebbe far si che il controllo in coppia sia ininfluente fin che il motore è al massimo (cioè che non provi a rallentarlo) ma che, nel momento in cui sono vicino al sent point di POSIZIONE,  faccia delle opportune regolazioni alle rampe di frenatura in modo tale che faccia rallentare il motore in modo ininfluente quando il carico è basso ma che quando il carico è alto (e che appunto c'è un alto assorbimento di corrente, ossia alta coppia richiesta) vada a dare un aumento di potenza che faccia rallentare meno il motore. non so se mi sono spiegato, chiedo venia....

grazie ciao

 

 

Ciao e grazie ancora ad entrambi,

Massi

Link to post
Share on other sites
Livio Orsini
3 ore fa, holyhope ha scritto:

Dovendo penso percorrere la strada di far il controllo, per il controllo in coppia cosa mi suggerite?

 

Devi dare maggiori ragguagli sul drive del motore. Hai scritto che è un ponte ad "H", ma questo ha poco significato se non spieghi come lo piloti e come è fatto, che traduttori di corrente e tensione ha, etc.

Fare il controllo di coppia su di un motore cc a magneti permanenti è semplice: basta misurare la corrente e moltiplicarla per kC. In genere ci si limita a controllare la corrente. Il riferimento di corrente lo da l'anello di velocità o di tensione di armatura.

In genere, se non si richiede una regolazione di coppia, l'anello di corrente serve solo ad evitare che il motore assorba più corrente del dovuto. Questo dovrebbe essere il tuo caso.

Da quello che hai scritto io ho dedotto che c'è una modulazione di PWM e che ti usi la percentuale di duty cycle come valore di velocità.

Dallamia esperienza in lavori simililaprima cosa da fare è avere un anello di velocità preciso, reattivo e stabile. Però senza reazione di velocità è una vana speranza.

Non hai alcun bisogno di controllare la coppia, se non il limite di corrente, onde evitare danni al motore. Il motore si prende la corrente che gli necessita per erogare la coppia richiesta, punto. Se fosse un controllo di avvolgitura, ad esempio, allora si che dovresti controllare la coppia con un vero e proprio anello chiuso.

Con un motore a magneti permanenti dovresti impostare un controllo del limite di corrente variabile in funzione della velocità, secondo la curva limite di coppia di quel motore.

 

Quando ha un controllo decente di velocità su entrambi i sensi di rotazione, allora puoi pensare al controllo di posizione. Tra l'altro non dici nulla in ordine alla frenatura; visto che si tratta di un sollevamento, l'azionamento lavora su 4 quadranti, se non hai un resistore di frenatura su dc bus, la tensione ai capi del ponte può salire a liovelli pericolosi.

 

Edited by Livio Orsini
Link to post
Share on other sites
holyhope

Ciao

 

purtroppo sull' azionamento non so dirvi molto altro. sui trasduttori di corrente e tensioni sono un circuito fatti ove risiede il uP, non li conosco esattamente ma sono motlo affidabili e su di essi sono abbastanza sicuro. sono stati testati pu di una volta e vanno molto bene.

Per il controllo di coppia mi hai spiegato molto bene e ti ringrazio. Una limitazione di corrente già la faccio (e sfrutto il trasduttore di cui parlo poco sopra).

La frenatura viene fatta mettendo in cto cto i capi del motore vero massa, quando il motore è fermo e si vuole evitarne che, per reversibilità della catena cinematica, il peso scenda. non c'è frenatura quando il motore è in moto, viene semplicemente portato a zero il PWM e appena si raggiunge la velocità di stallo lo si butta automaticamente in frenatura (mettendo appunto in cto cto i morsetti).

La prima cosa da fare è un loop ottimale di velocità. ci lavoro bene a riguardo, poi vi posterò molto volentieri i risultati.

 

grazie 

Massi

Link to post
Share on other sites
Livio Orsini
56 minuti fa, holyhope ha scritto:

mettendo in cto cto i capi

 

Per favore evita acronimi di cui solo tu conosci il significato, anche se intuisco trattarsi di "corto", non sempre si può intuire l'esatto significato. Scrivere 2 lettere in più non una gran fatica, però il messaggio è molto più comprensibile.

 

Fare il corto ai capi del motore non da alcuna garanzia che il motore stia fermo, anzi tenderà ascendere di un poco.

Inoltre se il posizionamento è in salita ci può anche stare, ma se posizioni in discesa, se non ha un sitema di frenatura che ti inverte la coppia è quasi impossibile arrivare in posizione con precisone.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...