Regolazione con retroazione di motore in DC

La regolazione di un motore in Corrente Continua (o DC - Direct Current) utilizzando la tecnica del Pulse Width Modulation (PWM), presenta alcuni inconvenienti trattati su questo stesso sito http://www.ari-parma.it/news/controllo-velocit%C3%A0-motore-dc. Per risolverli si propone una semplice retroazione che adegua il duty cycle del PWM in funzione della velocità.

Il motore può essere considerato, nel contempo, una dinamo la cui tensione è proporzionale alla velocità del motore stesso. E' la forza controelettromotrice (FCEM).
Conoscendo la FCEM, si ottiene una misura della velocità. Il problema è misurarla, perché questa ipotetica dinamo è interna al motore. Esistono alcuni metodi. Nella regolazione in PWM, basta misurare la tensione sul motore quando ci si trova nello stato di OFF e il motore non viene alimentato.

In questo progetto si è deciso di misurare la FCEM appena prima di portare in ON il PWM. Si è esclusa la possibilità di fare la misura appena dopo lo stato di OFF, questo perché immediatamente successivo all'OFF ci si ritrova con un picco di tensione dovuta ricircolo sul diodo in parallelo al motore. La durata di questo picco varia in funzione dell'energia immagazzinata sull'induttanza.

Per lo sviluppo è stato utilizzato un economico kit di Cypress che monta un processore PSOC presentato su questo sito.

Si è voluto utilizzare i blocchi UDB (Univesal Digital Block) disponibili sul PSOC, anche se, viste le basse velocità, non era strettamente necessario.

Lo schema funzionale e logico del progetto è riportato in figura. Segue la foto del circuito.

Regolatore PWM   Il prototipo regolatore PWM

Il blocco PWM non pilota direttamente il carico, ma è utilizzato per fornire il segnale di Start of Conversion al convertitore analogico digitale. Il segnale di End of Conversion, attiva lo stato di ON. Non è il meglio, ma è fatto così :-)

Il programma, in C, si limita a leggere i pulsanti di UP e Down, usati per regolare la velocità e a gestire le velocità. La tensione letta dal convertitore AD viene usata e convertita in un valore che è confrontabile con la velocità desiderata. La tensione non è misurata sul motore, ma al drain del Mosfet che lo alimenta, quindi occorre invertire il segnale e confrontarlo con la tensione di alimentazione per ottenere la tensione sul motore.
L'ingresso del convertitore AD presenta una impedenza relativamente bassa, quindi si è deciso di utilizzare un operazionale, anche questo un blocco UDB, per non caricare il partitore, necessario per ridurre la tensione misurata ad un valore adeguato. Il diodo zener è per protezione.

La tensione misurata, opportunamente manipolata, è usata per il confronto con la velocità impostata. La regolazione è sostanzialmente proporzionale e resa volutamente lenta da un ritardo.

Il tutto sembra funzionare come desiderato e questo video (un po' traballante) ne è la dimostrazione.

L'implementazione fa uso di un display 2 righe 20 caratteri per rappresentare i valori di velocità e correzione di velocità itili per il debug. Non è necessario al funzionamento del circuito.

Commenti.

L'intento di questo progetto era di realizzare un controreazione senza sensori esterni e di provare alcune funzionalità del PSOC, i blocchi UDB, in particolare.

Certamente alcune scelte non sono ottimali. La funzione del PWM, viste le moderate esigenze, potevano essere realizzate anche via software con un processore più modesto. Alcune funzioni potevano essere gestite via interrupt, una modalità più consona per sistema embedded.

Il programma è poco ottimizzato. Risolve alcuni stati critici, che si presentano a velocità massima e a motore fermo, dovuti alla implementazione della misura della FCEM.
Per la misura della tensione sul motore sarebbe stato opportuno usare un ingresso differenziale (configurabile via UDB). I pulsanti necessitano di una procedura antirimbalzo (pure disponibile con UDB).

Come anticipato uno degli scopi era provare il PSOC e si è trascurata la cura del progetto. Nonostante questo, spero che queste note siano utili a chi legge. Il progetto completo è disponibile per chi ne fa richiesta.

Categoria: 

Tags: 

Mi piace: 

0
No votes yet

Commenti

Ottimo progetto che sfrutta

Ottimo progetto che sfrutta le nuove tecnologie.

Bravo Fabrizio.

73 de iw2fnd Lucio.

Mi piace: 

0
No votes yet

Pagine