Go Down

Topic: Controllo motori AC. (Read 11 times) previous topic - next topic

apetro

Ciao a tutti,
da diversi giorni sto cercando attivamente informazioni riguardo alla possibilità di controllare tramite l'uscita PWM di Arduino la velocità di motori asincroni monofase 220V. Questa esigenza mi sembra tutt'altro che atipica eppure ho trovato poche soluzioni concrete.

Presi in seria considerazione i problemi di sicurezza relativi alla 220V e la necessità di usare un inverter per mantenere alti valori di coppia dei motori ad induzione, la soluzione più semplice mi pare il controllo tramite PWM da Arduino di un circuito basato su di un TRIAC.

L'utilizzo di un TRIAC invece di un inverter nel caso di piccole potenze e bassa coppia d'avvio non dovrebbe essere un problema.

Conoscete qualche progetto o prodotto già costruito in grado di accettare il segnale PWM di Arduino per variare l'uscita di un TRIAC?

Oppure, scegliendo una soluzione più dispendiosa, conoscete un inverter che accetti il segnale PWM di Arduino per variare la velocità di un motore monofase ad induzione?

Grazie!

Andrea


uwefed

Non hai trovato niente perché non é possibile.
Usando dei Triac o Relé a stato solido un segnale PWM non funziona come su un motore DC con un transitore o MOSFET.
I Triac o SSR puoi acccendere ma non spegnere. Si spengono al passaggio attraverso zero della corrente sinusoidale.
Devi usare la tecnica quá descritta: http://it.wikipedia.org/wiki/Triac .
Per questo devi rilevare il passaggio zero della tensione sinusoidale e accendere il triac con un ritardo.
Ciao Uwe




Freddy65

#2
Dec 18, 2011, 09:29 pm Last Edit: Dec 18, 2011, 09:34 pm by Freddy65 Reason: 1
Tempo fa un amico mi chiese uno schema di un regolatore di velocità per trapani e facendo una ricerca in rete trovai questo http://www.raffotech.it/index.php/elettronica/34-progetti/63-regolatore-velocita-trapani-senza-perdita-di-potenza , si tratta di un vecchio KIT di Nuova Elettronica dove al posto di un Triac usano un SCR in quanto riuscivano a mantenere alta la coppia anche alle basse velocità.

Si dovrebbe solo cercare un modo di interfacciarlo all'arduino per controllare il motore , ad esempio si potrebbe sostituire il potenziometro con uno digitale facilmente gestibile dall'arduino.

Ciao.
Arduino 2009

uwefed

Dimentica l' uso di un potenziometro digitale. Quelli reggono tensioni basse che devono essere dentro nella tensone di aliemntazione del integrato.
Quel schema non va bene perché usa solo una semionda su due. Devi usare un Triac, un SSR o 2 tiristori in antiparalello o un tiristore con un ponte radrizzatore.
Ciao Uwe

MauroTec

Non hai specificato il tipo di motore, AC da solo dice poco. Es il trapano monta motori a spazzole con eccitazione serie, il motorino dell'acqua è ad induzzione a gabbia di scoiattolo ecc.

Di che potenza stiamo parlando, 500 Watt o superiore.

Supponiamo che tu non hai il motore,  ma trovi l'inverter (da costuire o comprato così com'è), per il motore potresti procurarti una Lavatrice Ariston di non più di 5 anni di vita magari guasta da cui prendere il motore, questo perchè sti motori sono certificati per lavorare fuori frequenza, mi pare 80-350HZ. Quindi non tutti i motori AC sono adatti a lavorare fuori frequenza, ed il fatto che giri alla frequenza da te imposta non dice niente per quanto girera prima di incendiarsi.

Se invece tenti la strada del triac, puoi cominciare a studiare le Application Note dei produttori noti. Es TI ha prodotto questo interessante documento, da adattare ovviamente. http://www.google.it/url?sa=t&rct=j&q=slaa043a&source=web&cd=1&ved=0CB8QFjAA&url=http%3A%2F%2Fwww.gaw.ru%2Fpdf%2FTI%2Fapp%2Fmsp430%2Fslaa043a.pdf&ei=9efuTqeuEqbY4QTqmZTyCQ&usg=AFQjCNF7-m7TdVSsHxY50teIdndfVLZC6A&cad=rja

Gli ho dato una lettura super veloce, ed ho visto che c'è anche un esempio per rilevare anche quando la corrente sfasata passa per lo zero spegnendo il triac prematuramente, ricevere questa segnalazione ci permette di inviare un altro impulso al triac per manternelo ON.

Vedi un pò tu quello che trovi in merito, postalo pure qui, perchè quanto prima devo collegare un motore a spazzole eccitazione serie da 600W, che poi è quello montato sulla lavatrici da almeno una ventina di anni. Il lavoro che deve fare il motore è quello tradizionale fare girare il cestello per lavare, cetrifugare ecc.

PS:scusa ma sto scrivendo di corsa.

Ciao.

AvrDudeQui front end per avrdude https://gitorious.org/avrdudequi/pages/Home

apetro

Innanzitutto vi ringrazio per le tante risposte, sono stato lungo nella richiesta, ma... manca sempre qualche informazione!
Il motore di cui vorrei regolare la velocità è o un classico motore monofase ad induzione con condensatore oppure un economico motore monofase a poli schermati. La potenza dovrebbe aggirarsi sui 100 Watt.

Il funzionamento dei TRIAC mi è noto: non voglio pilotare i TRIAC direttamente da Arduino, vorrei un dispositivo già provvisto di rilevamento del passaggio attraverso lo zero da poter pilotare con il segnale PWM di Arduino:

PWM di Arduino --> Circuito di controllo TRIAC optoisolato --> TRIAC


per MauroTec:
Se capisco bene la tua interessante risposta, per piccole potenze mi consigli un circuito con un TRIAC, perché con un inverter rischio di usare frequenze che potrebbero danneggiare il motore, non conoscendone a fondo le caratteristiche.
Non c'è invece alcun rischio di danneggiamento legato alle forme d'onda poco regolari generate tipicamente dal TRIAC per ridurre la potenza?
Leggerò i tuoi link appena ho un attimo!

MauroTec

Quote
Il funzionamento dei TRIAC mi è noto: non voglio pilotare i TRIAC direttamente da Arduino, vorrei un dispositivo già provvisto di rilevamento del passaggio attraverso lo zero da poter pilotare con il segnale PWM di Arduino:

PWM di Arduino --> Circuito di controllo TRIAC optoisolato --> TRIAC


Si sarebbe bello se trovassi una scheda che fa questo lavoro, in effetti non ho mai cercato una scheda pronta di questo tipo.
Se la trovi, sia basata su Triac o inverter posta qui che ci do uno guardata.

Nelle vecchie lavatrici (non vecchissime) per regolare la velocità del motore a spazzole eccitazione serie si usava il TDA1085C, che però richiede dinamo tachimetrica. C'è da vedere se può lavorare senza dinamo, ovviamente la regolazione dipenderà dal carico di lavoro a cui si sottopone il motore, con la dinamo la velocità è indipendente dal carico perchè il circuito lavora ad anello in feedback.
PS:non riesco a spiegarmi, senza termini tecnici.

Ti consiglio un triac, per molti motivi:
L'inverter se lo trovi pronto sul mercato sarà in grado di comandare potenze di almeno 1 KW e costerà uno sproposito.
L'inverter è un circuito molto complesso, anche autocostruirlo richiede componenti non economici, quindi costerà.
I normali motori AC da te descritti vengono progettati per lavorare a tensione di rete con frequenza di  50/60 HZ, e a questa frequenza girano alla loro massima velocità. Quindi l'inverter dovrebbe generare una frequenza più bassa dei 50 di rete, es 20-60 HZ. Anche trovanto un siffatto inverter ce da vedere come si comporta il motore a lavorare fuori frequenza di progetto. Cosa accade non lo so, ma pensare che vada tutto liscio e semplicistico e superficiale.

Il Triac costa 1 euro o poco più, ma anche qui credo che farai fatica a trovare un circuito pronto che comanda il triac
in modo appripriato in base al segnale PWM fornito.

Ciao.


AvrDudeQui front end per avrdude https://gitorious.org/avrdudequi/pages/Home

uwefed

http://it.rs-online.com/web/p/regolatori-a-treno-dimpulsi/0493077/ é un regolatore a treni d'impulsi pilotabile con una tensione CC da 0 a 10V
Ciao Uwe

Testato

#8
Dec 19, 2011, 04:15 pm Last Edit: Dec 19, 2011, 04:19 pm by Testato Reason: 1
dico la mia.

il bello del triac e' che si spegne da solo.
infatti con un condensatore, un diac ed un potenziometro si fa un dimmer
perche' il rilevaento non serve in questo caso ? perche' il condensatore si scarica all'attivazione del triac.
E' un circuito autosincronizzante che non necessita di rilevazione dello zero

cosa proverei quindi ?
innanzitutto sostituire il diac con un ujt, e poi interfacciare opportunamente il pwm di arrduino.
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

BrainBooster


uwefed


dico la mia.

il bello del triac e' che si spegne da solo.
infatti con un condensatore, un diac ed un potenziometro si fa un dimmer
perche' il rilevaento non serve in questo caso ? perche' il condensatore si scarica all'attivazione del triac.
E' un circuito autosincronizzante che non necessita di rilevazione dello zero

cosa proverei quindi ?
innanzitutto sostituire il diac con un ujt, e poi interfacciare opportunamente il pwm di arrduino.

Sai come funziona un diac?
Quel circuito che descrivi ha una bella isteresi di acensione. Devi alzare il potenziometro un bel po per farlo funzionare e lí parte da un valore abbastanza alto.
Mi spieghi come puó funzionare un segnale PWM a 490 Hz per pilotare un Triac che deve comutare 50Hz?

@BrainBooster
un SSR per 230V alternata non é nient altro che un triac con un optocopler e un po di elettronica intorno.

Ciao Uwe

apetro

@uwefed
@BrainBooster
Un SSR con Arduino l'ho già usato con successo... ma non mi regola la velocità del motore, lo accendo e lo spengo. A meno che non mi consigliate di accenderlo e spegnerlo ad intervalli molto ravvicinati. Sarebbe salutare per il motore?
Nel mio caso non ho usato un SSR "inscatolato", ma un PCB autocostruito con un TRIAC ed un optoisolatore che controlla il passaggio per lo zero.

@uwefed
Ho letto la scheda tecnica, ma parla espressamente di carichi resistivi. Non ci collegherei un motore ad induzione.

@MauroTec
Rileggendo i tuoi interventi ho capito meglio la mia ignoranza sui motori in AC!  :~
Dalle tue parole deduco che i comuni motori monofase ad induzione presenti negli elettrodomestici non sono proprio nati per essere pilotati con inverter, ma con semplici circuiti con i TRIAC.
Mi ero un po' cristallizzato sul fatto che la sola "effettiva e sicura" modalità di regolazione della velocità di rotazione dei motori ad induzione fosse la variazione della frequenza.


Testato


Sai come funziona un diac?

Si
Quote

Quel circuito che descrivi ha una bella isteresi di acensione.

Non a caso ho parlato di sostituirlo con un UJT
Quote

Mi spieghi come puó funzionare un segnale PWM a 490 Hz per pilotare un Triac che deve comutare 50Hz?

il pwm non deve direttamente pilotare il triac, ma andare a contribuire alla creazione del segnale di innesco dell'emettitore ujt
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

apetro

Sono riuscito ad acquistare in rete un circuito pilotabile con il segnale PWM di Arduino per il controllo della velocità di rotazione basato su TRIAC.
La forma d'onda che viene generata mi pare molto "sporca" ed infatti il motore (sia ad induzione con condensatore, sia a poli nascosti) si comporta in maniera irregolare e talvolta diventa rumoroso.

Dopo queste prove, stimolato anche dalle vostre risposte, mi sono chiesto se semplicemente accendendo a rapida intermittenza un SSR (con controllo dello zero per minimizzare le interferenze) sia possibile graduare la velocità di un motore monofase in AC. Graduando il tempo di accensione rispetto a quello di spegnimento dovrei ottenere un risultato simile con meno distorsione, essendoci il controllo dello zero.

uwefed

#14
Dec 24, 2011, 09:20 pm Last Edit: Dec 24, 2011, 09:23 pm by uwefed Reason: 1
Nelli elettrodomestici spesso non ci sono motori ad induzione con condensatore o a poli nascosti ma motori con spazzole dove lo statore viene alimentato anche in alternata (costruzione molto simile come un motore corrente continua a spazole).
Ciao Uwe

Go Up