Pilotare motore DC a velocità variabile,quale di questi modi?

Mar 25, 2013 10 Replies

Salve a tutti devo pilotare un motore DC 24V accelerandolo piano piano,in modo da rilevare misurare quando interviene un blocco elettrico azionato da una massa centrifuga.Devo avere 2 sensi di marcia.



Ho già fatto un prototipo,ma non sono convinto di pilotare il motore nel migliore dei modi. Utilizzo il classico L298,più per semplicità che per scelta precisa,e onestamente non saprei che altro scegliere tra gli IC + moderni in grado di variare dead time ecc. La freq di PWM è 20KHz,generata da microcontrolloree bufferata da un 74HCT



Ho la possibilità di pilotarlo nei 2 modi qui schematizzati

formatting link



Nel modo indicato in alto ho un push pull PWM,per invertire la direzione inverto lo stato ON OFF tra i 2 BJT di dx,e il PWM "invertirà " il suo duty cycle a parità di velocità Nel modo in basso invece il PWM mi apre e chiude solo uno dei 2 BJT che nell'altro modo lavoravano in push pull,l'altro resta sempre in OFF



Volendo posso inserire un condensatore tra GND e lato motore PWM,in questo modo,a parte un pò di ripple il motore appare praticamente alimentato in DC.



Mi pare che nel primo modo il motore abbia + coppia e consumi a vuoto un pò di più a parità di duty cycle.



Qual'è dei 2 modi il modo migliore?Oppure c'è di meglio?



Grazie


...

Ciao, non ho capito se parli in generale o riferito al L298. Con l'L298 non sei praticamente "obbligato" al primo metodo? Poi come mai usi una induttanza esterna, quella del motore non ti è sufficiente?

In generale il primo metodo puo' essere + efficiente, ma anche no :) dipende...

Credo che la scelta del metodo dipenda anche da che driver vuoi usare, se usi componenti discreti e che componenti scegli, che gate driver, se mosfet e se Nmos per tutti e 4 o P-N per ogni ponte. Che periferiche ha il micro che si occupa del pilotaggio (se si occupa gia dei tempi morti ecc), puoi frenare cortocircuitando il motore o invertendo la polarità (e recuperando energia)...

Esempi di alternative: puoi pilotare con il PWM T1 per un verso e T3 per l'altro, tenendo fissi T2 e T4, questo semplifica i driver in alcuni casi. Puoi pilotare entrambi i mezzi ponti contemporaneamente avendo tensione nulla sul motore per un duty 50-50, e tensione nei due versi sbilanciando il pilotaggio, aumentando il duty su un ramo e riducendolo sull'altro, per fare questo credo ti serva un micro che sia in grado di generare due PWM simmetrici rispetto al centro, (mi pare lo chiamano phase corrected pwm) ecc... insomma ci sono tanti modi :)

Ciao!

Muvideo altrove Fabio Eboli nella vita reale...

"Fabio_78" ha scritto nel messaggio news:kipd99$c9t$ snipped-for-privacy@speranza.aioe.org...

ciao e grazie

parlo in generale,ma con L298 si può fare anche il 2ndo metodo,mando il PWM su enable e con ingresso input fisso a 1 o a 0 decido se attivare il BJT high side o low side

La casa raccomanda un induttanza ,inoltre con l'induttanza posso volendo mettere il condensatore a un capo del motore,in modo da farlo lavorare tra due tensioni continue. Se l'induttanza dovesse però saturare mi ritroverei l'uscita PWM dritta sul condensatore,che agirebbe da cortocircuito

grazie ancora le le idee

Ma se mandi il PWM su enable, non mi pare che funzioni come hai disegnato sotto. Il PWM andrà su due transistor "incrociati", quello alto sul ramo con IN a 1 e quello basso sul ramo con IN a 0. Il carico (L+mot.) ricircolerà sull'alimentazione invece che su se stesso, significa che avrai un ripple + alto, ma il motore dovrebbe anche frenare + energicamente. Naturalmente immagino che tu stia usando un solo lato dell'L298, e quindi abbia un solo enable per tutto il ponte. Se invece usi il lato sinistro dell'L298 per metà ponte e il lato destro per l'altra metà allora avrai 2 enable indipendenti e puoi fare come dici.

Per elaborare su questa parte, pilotare tutto il mezzo ponte, invece che solo uno dei due switch, da un lato aumenta l'assorbimento per il semplice fatto che devi pilotare uno switch in +, stando attento ad evitare che conducano entrambi assieme, ma ti riduce la caduta di tensione sul diodo di ricircolo che verrà cortocircuitato dallo switch. Quale dei due effetti prevale dipende dal pilotaggio, dal tipo di switch, dai diodi di ricircolo e dalla corrente che passa.

Ciao!

Muvideo altrove Fabio Eboli nella vita reale... fabioebChiocciolAquipo.it

"Fabio_78" ha scritto nel messaggio news:kipos3$dps$ snipped-for-privacy@speranza.aioe.org...

si infatti,uso 2 ponti,e ognuno ha il suo enable. Il giochino del PWM su enable lo faccio su uno dei ponti ,ma ne uso solo un ramo es (facendo rif. al datasheet) PWM su ENA pin 6 e livello 0 su pin 1 per cui il BJT in basso a sx commuterà.Quello che succede su Out2 non mi interessa,non la uso

Uso invece Out3 o Out4 portate alte,e col relativo ENA pin 11 sempre abilitato

grazie intanto

A prescindere dal modo di pilotaggio, se devi regolare la velocita' in modo abbastanza preciso, ricordati che devi prevedere un sistema di retroazione. Tradizionalmente si usa una dinamo tachimetrica collegata all'asse del motore, ma si possono usare sistemi piu' economici, tipo una serie di barre bianche e nere sull'asse da leggere con un fototransistor, o sistemi magnetici con un sensore Hall, ecc.

ci ho provato,ma non è agevole perchè l'encoder dà solo 3 passi per ogni giro dell'albero motore,e non sono nemmeno tanto equidistanti ,ci sono difeerenze di oltre il 20%.

Per questo motivo faccio fatica a misurare la velocita col capture di un micro controllore e ancora di più a fare una retrozione efficace alle basse velocità.

Ieri sera avevo tempo e ho montato sull'albero la rotellina di un mouse,non so come ho fatto ma sembra montata da una macchina,ruota senza ondulazioni. Che culo direi quasi

Il fotorivelatore dà però una specie di sinusoide squadrata da 74HC14.Sembra perfetto,adesso ho quindi 36 impulsi a giro invece di 3. Vedo se riesco a farci qualcosa

.

...

on

i.

...

Tempo fa ho realizzato il progetto di servo-DC di cui il link:

formatting link

l'ho adattato alle mie esigenze e funziona benone. Ho utilizzato un LMD18200 come driver, ATTiny2313 come uC ed un MAX232 come driver RS232. Il PCB è singola faccia con 4 jumper, morsetti a vite, dimensioni

100x70 mm. La tensione di alimentazione l'ho concepita per 12V ma credo possa essere spinta ben oltre, semmai con piccoli accorgimenti (dissipatore sul 7805). Unico grattacapo: il tuning del PID. Il software è scritto bene ma la descrizione dei parametri è tirata un po' all'osso ed ho fatto fatica a trovare i valori minimi funzionali. Se sei interessato posso mandarti il disegno del PCB (GERBER o altro, io uso Altium DXP). Unica raccomandazione: se usi l'encoder, montalo direttamente sull'asse del motore.

Piccio.

"Dimonio Caron" ha scritto

Oppure si sfrutta la reazione sulla corrente di armatura. Basta misurare la corrente (e forse il circuito c'è già per ragioni di protezione) ed utilizzare il valore in feedback positivo sul calcolo del PWM. In pratica, per tenere costante la velocità si aumenta il valore del Duty Cycle all'aumentare della corrente. Di quanto? dipende proprio dalla resistenza di armatura del motore: si ricava dal data-sheet del motore, oppure si misura con una prova, impulsiva, di assorbimento a rotore bloccato, oppure si stima e poi si varia fino ad ottenere una buona stabilità di velocità.

...

...

Tempo fa ho realizzato il progetto di servo-DC di cui il link:

formatting link

l'ho adattato alle mie esigenze e funziona benone. Ho utilizzato un LMD18200 come driver, ATTiny2313 come uC ed un MAX232 come driver RS232. Il PCB è singola faccia con 4 jumper, morsetti a vite, dimensioni

100x70 mm. La tensione di alimentazione l'ho concepita per 12V ma credo possa essere spinta ben oltre, semmai con piccoli accorgimenti (dissipatore sul 7805).

è davvero interessante e ho molto da imparare da questo progetto,solo che ho già visto in altra occasione che il LMD18200 a parità di condizioni e di area di dissipazione su PCB scalda molto di più dell'L298. Non so se fosse stato usato male il motore è

formatting link
che alla massima coppia assorbe 1.7A Inoltre il progetto c'è già funzionava ,il committente tutto contento poi una volta fatto e inscatolato ha chiesto se si potesse fare qualche variante per avere più coppia

"g.f." ha scritto nel messaggio news:kj27mq$8us$ snipped-for-privacy@tdi.cu.mi.it...

grazie anche per questa dritta

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required