Controllo Motore AC con tachimetrica

Ciao a tutti!

Mi sto interessando del controllo di motori universali in AC e avrei bisogno di alcune spiegazioni. Come prima cosa ho capito che è fondamentale rilevare lo "zero cross" tramite un circuito e un pezzo di codice. A questo proposito ho trovato un circuito che dovrebbe fare al caso mio. Allego il link:

http://www.dextrel.net/diyzerocrosser.htm

Ho sentito che è meglio di questo http://playground.arduino.cc/Main/ACPhaseControl , ma non ne sono certo.

Il secondo problema riguarda l'uscita del PWM: quale optoisolatore consigliate per controllare un triac BTA 16-700 B? Inoltre ho notato che il MOC3052, da quello che ho capito, ha già un circuito di "zero cross detection" al suo interno, quindi perchè averne uno anche in ingresso?

Come ultima cosa, ho trovato questa libreria , che spero funzioni: qualcuno ha esperienze a riguardo?

Grazie in anticipo

Mattia

Se il motore è di tipo ad induzione, l'unico modo valido per variare la velocità è attraverso un inverter che vari la frequenza della tensione.

Il controllo a cui tu fai riferimento è quello a parzializzazione di fase e serve per i motori a spazzole.

Devi usare dei MOC senza circuito di zero cross detection (es. MOC3023), poiché altrimenti non riusciresti a ritardare l'impulso sul gate del TRIAC.

Il circuito zero cross detection "esterno" serve a rilevare il passaggio per lo zero della sinusoide per sincronizzare l'impulso da fornire al gate.

Il motore è di tipo universale 230V AC, uno di quelli comunemente utilizzato nelle lavatrici.
Quindi costruisco il mio circuito di zero cross detection (va bene quello del link?) e poi mando un’uscita al secondo circuito optoaccoppiato (a tal proposito, cosa ne pensate della libreria?), giusto?

La libreria è questa: Arduino ACPWM Library

Non mi risulta che le lavatrici abbiano motori universali. per capirci quelli con spazzole come i motori DC. Ciao Uwe

I motori per lavatrici di vecchia generazione, a quanto so, sono ad induzione (asincroni) con più avvolgimenti per avere più velocità (di solito 3: bassa, centrifugazione velocità normale e centrifugazione alta velocità).

Mediante un condensatore, possono anche invertire il senso di marcia, ma senza un inverter non possono variare in continuo la velocità.

Ti garantisco, invece, che questo motore è di tipo universale a spazzole, specificamente 230V AC e 2 A.

Comunque non soffermiamoci su questo, anche perchè prima di prendere i componenti vorrei capire la differenza tra un optoisolatore con zero cross interno ed uno esterno: nell'atto pratico cosa significa "rilevare il passaggio per lo zero della sinusoide per sincronizzare l'impulso da fornire al gate"?

Capisco cosa significa, ma lo faccio direttamente con un circuito in ingresso al micro, giusto?

La maggior parte dei MOC sono con zero cross detection, per aumentare l'efficienza del TRIAC esterno collegato: il comando che si fornisce al MOC per il gate del TRIAC viene "ritardato" in modo da partire al passaggio dello zero.

Nel controllo a parzializzazione di fase si usa rilevare l'istante di zero crossing in modo da saper quando fornire l'impulso al gate in funzione di un ritardo compreso tra 0 e 10ms.

Adesso è un pò più chiaro.

Volevo inoltre implementare un controllo ad anello chiuso: ho una dinamo tachimetrica che fornisce 8 impulsi ogni rotazione dell'asse e vorrei usarla per fare in modo che la velocità rimanga costante.

Il problema è che non so come implementare questa funzione: devo dare in ingresso una frequenza e usare degli interrupt per calcolare gli RPM oppure è meglio usare un controllo PID? In quest'ultimo caso, non saprei dove collegare il mio segnale (che dovrò ovviamente raddrizzare) e che valori delle costanti impostare...se qualcuno sapesse aiutarmi ne sarei grato.

La dinamo tachimetrica fornisce una una tensione continua proporzionale al numero di giri.

Ma tu parli di impulsi/giro quindi dovrebbe essere un encoder.

In realtà è una tensione AC di circa 40V con una frequenza di 8 impulsi per giro. Penso ovviamente che vada raddrizzata e abbattuta fino ad un massimo di 5V, giusto?

Esatto, può essere sufficiente un resistore da 10k ed uno zener da 5.1V o meno.

Il segnale in uscita sarà una sorta di onda trapezoidale tra 0 e 5V adatta per essere rilevata da un ingresso digitale di Arduino usato con external interrupt per contare i fronti di salita e quindi il numero di impulsi.

Perfetto!

Non pensavo si potessero usare gli interrupt con il taglio di fase, ho scoperto qualcosa di nuovo!

Quindi:
-In ingresso utilizzo il circuito dello schema
-In uscita, invece, pensavo di usare il circuito del tutorial ACPhaseControl, ma utilizzado un triac BTA e uno snubber in parallelo all’uscita

Cosa ne pensi?

Lo snubber è indispensabile o in alternativa un diodo TVS di quelli potenti.

Fai attenzione che occorre modificare lo sketch per il funzionamento a 50Hz.

Certo, alla frequenza avevo già pensato.

Come circuito stavo pensando di usare questo, ricavato dalla scheda elettronica di una lavatrice, per interfacciare la tachimetrica.

https://s9.postimg.org/62inbny3z/tachimetrica_lavatrice+2.png

Potrebbe funzionare? Dovrei poi contare gli interrupt sul FALLING, giusto?

Quello schema mi lascia perplesso...

Lascia perplesso anche me...ma alla fine quali componenti devo acquistare? Il MOC3020 va bene come optoisolatore o è meglio usarne un'altro? La resistenza in serie al gate come la calcolo poi, con la legge di Ohm?

Ho anche un'altra domanda: non posso direttamente saltare tutta la parte dello zero cross detection in ingresso ed utilizzare semplicemente un optoaccoppiatore che ne integra la funzionalità per accendere il TRIAC? Ho visto alcuni video in cui ciò viene fatto e sarei curioso di verificarlo...anche perchè mi risparmierebbe un bel pò di codice. Andrebbe bene, quindi il MOC3043M?

Per far condurre il TRIAC in qualsiasi momento (parzializzazione) ci vuole un MOC di tipo [u]NON[/u] zero crossing ad esempio il MOC3023.

Potresti pilotarlo in PWM per evitare il rilevamento dello zero crossing, ma temo non sarebbe un controllo preciso.

Ok...ma scusa, se in ingresso metto lo zero cross detection, tanto vale usare uno o l'altro, no? Perchè se non mi sbaglio lo zero cross permette di evitare gli spike di corrente, giusto?

Far condurre il TRIAC a partire dal momento dello zero crossing riduce sensibilmente gli spike.

Ma, se vuoi ottenere la parzializzazione di fase, devi poterlo far condurre in qualsiasi momento, quindi sono da scartare MOC zero crossing.