- Motore del ventilatore CA a 3 velocità
- Analisi del progetto
- Decodificatore IR
- GreenPAK Design
- Velocità MUX
- Timer
- Risultati
- Conclusione
I motori a corrente alternata monofase si trovano tipicamente in articoli per la casa come i ventilatori e la loro velocità può essere facilmente controllata quando si utilizzano diversi avvolgimenti discreti per le velocità impostate. In questo articolo, creiamo un controller digitale che consente agli utenti di controllare funzioni come la velocità del motore e il tempo di funzionamento. Questo articolo include anche un circuito ricevitore a infrarossi che supporta il protocollo NEC, in cui un motore può essere controllato da pulsanti o un segnale ricevuto da un trasmettitore a infrarossi.
A tal fine, viene utilizzato un IC GreenPAK ™ SLG46620 come controller di base incaricato di queste diverse funzioni: un circuito multiplex per attivare una velocità (su tre velocità), timer per il conto alla rovescia a 3 periodi e un decodificatore a infrarossi per ricevere una segnale a infrarossi esterno, che estrae ed esegue il comando desiderato.
Se guardiamo alle funzioni del circuito, notiamo diverse funzioni discrete impiegate simultaneamente: MUX, temporizzazione e decodifica IR. I produttori spesso utilizzano molti circuiti integrati per costruire il circuito elettronico a causa della mancanza di una soluzione unica disponibile all'interno di un singolo circuito integrato. L'uso di un circuito integrato GreenPAK consente ai produttori di utilizzare un singolo chip per includere molte delle funzioni desiderate e di conseguenza ridurre il costo del sistema e la supervisione della produzione.
Il sistema con tutte le sue funzioni è stato testato per garantirne il corretto funzionamento. Il circuito finale può richiedere modifiche speciali o elementi aggiuntivi su misura per il motore scelto.
Per verificare che il sistema funzioni in modo nominale, sono stati generati casi di test per gli input con l'aiuto dell'emulatore del designer GreenPAK. L'emulazione verifica diversi casi di test per le uscite e viene confermata la funzionalità del decoder IR. Il progetto finale viene anche testato con un motore reale per conferma.
Motore del ventilatore CA a 3 velocità
I motori CA a 3 velocità sono motori monofase azionati da una corrente alternata. Sono spesso utilizzati in un'ampia varietà di macchine domestiche come vari tipi di ventilatori (ventilatore a muro, ventilatore da tavolo, ventilatore a scatola). Rispetto a un motore CC, il controllo della velocità in un motore a corrente alternata è relativamente complicato poiché la frequenza della corrente erogata deve cambiare per modificare la velocità del motore. Apparecchi come ventilatori e macchine di refrigerazione di solito non richiedono granularità fine in velocità, ma richiedono passaggi discreti come velocità bassa, media e alta. Per queste applicazioni, i motori dei ventilatori CA hanno diverse bobine incorporate progettate per diverse velocità in cui il passaggio da una velocità all'altra si ottiene eccitando la bobina della velocità desiderata.
Il motore che utilizziamo in questo progetto è un motore CA a 3 velocità con 5 fili: 3 fili per il controllo della velocità, 2 fili per l'alimentazione e un condensatore di avviamento come illustrato nella Figura 2 di seguito. Alcuni produttori utilizzano fili standard con codice colore per l'identificazione delle funzioni. La scheda tecnica di un motore mostrerà le informazioni del motore specifico per l'identificazione del filo.
Analisi del progetto
In questo articolo, un IC GreenPAK è configurato per eseguire un determinato comando, ricevuto da una sorgente come un trasmettitore IR o un pulsante esterno, per indicare uno dei tre comandi:
On / Off: il sistema viene acceso o spento ad ogni interpretazione di questo comando. Lo stato di On / Off verrà invertito con ogni fronte di salita del comando On / Off.
Timer: il timer funziona per 30, 60 e 120 minuti. Al quarto impulso, il timer viene disattivato e il periodo del timer torna allo stato di temporizzazione originale.
Velocità: controlla la velocità del motore, ripetendo successivamente l'uscita attivata dai fili di selezione della velocità del motore (1,2,3).
Decodificatore IR
Un circuito decodificatore IR è costruito per ricevere segnali da un trasmettitore IR esterno e per attivare il comando desiderato. Abbiamo adottato il protocollo NEC per la sua popolarità tra i produttori. Il protocollo NEC utilizza la "distanza di impulso" per codificare ogni bit; ogni impulso impiega 562,5 us per essere trasmesso utilizzando il segnale di una portante di frequenza di 38 kHz. La trasmissione di un segnale logico 1 richiede 2,25 ms mentre la trasmissione di un segnale logico 0 richiede 1,125 ms. La Figura 3 illustra la trasmissione del treno di impulsi secondo il protocollo NEC. Consiste in un burst AGC di 9 ms, quindi uno spazio di 4,5 ms, quindi l'indirizzo a 8 bit e infine il comando a 8 bit. Notare che l'indirizzo e il comando vengono trasmessi due volte; la seconda volta è il complemento di 1 (tutti i bit sono invertiti) come parità per garantire che il messaggio ricevuto sia corretto.LSB viene trasmesso per primo nel messaggio.
GreenPAK Design
Il design dell'IC è stato realizzato con il software GreenPAK Designer basato su GUI gratuito. Il file di progettazione completo può essere trovato qui.
I bit rilevanti del messaggio ricevuto vengono estratti in più fasi. Per iniziare, l'inizio del messaggio viene specificato da un burst AGC di 9 ms utilizzando CNT2 e LUT1 a 2 bit. Se questo è stato rilevato, lo spazio di 4,5 ms viene specificato tramite CNT6 e 2L2. Se l'intestazione è corretta, l'uscita DFF0 è impostata su Alto per consentire la ricezione dell'indirizzo. I blocchi CNT9, 3L0, 3L3 e P DLY0 vengono utilizzati per estrarre gli impulsi di clock dal messaggio ricevuto. Il valore del bit viene preso sul fronte di salita del segnale IR_CLK, a 0,845 ms dal fronte di salita da IR_IN.
L'indirizzo interpretato viene quindi confrontato con un indirizzo memorizzato in PGEN utilizzando 2LUT0. 2LUT0 è una porta XOR e PGEN memorizza l'indirizzo invertito. Ogni bit del PGEN viene confrontato sequenzialmente con il segnale in ingresso e il risultato di ogni confronto viene memorizzato in DFF2 insieme al fronte di salita di IR-CLK.
Nel caso in cui sia stato rilevato un errore nell'indirizzo, l'uscita latch LUT5 SR a 3 bit viene modificata in Alto per impedire il confronto del resto del messaggio (il comando). Se l'indirizzo ricevuto corrisponde all'indirizzo memorizzato in PGEN, la seconda metà del messaggio (comando e comando invertito) viene diretta a SPI in modo che il comando desiderato possa essere letto ed eseguito. CNT5 e DFF5 sono usati per specificare la fine dell'indirizzo e l'inizio del comando dove 'Dati contatore' di CNT5 è uguale a 18:16 impulsi per l'indirizzo in aggiunta ai primi due impulsi (9ms, 4.5ms).
Se l'indirizzo completo, compreso l'header, è stato correttamente ricevuto e memorizzato nell'IC (in PGEN), l'uscita 3L3 OR Gate fornisce il segnale Low al pin nCSB di SPI da attivare. Di conseguenza, l'SPI inizia a ricevere il comando.
L'IC SLG46620 ha 4 registri interni di 8 bit di lunghezza ed è quindi possibile memorizzare quattro diversi comandi. DCMP1 viene utilizzato per confrontare il comando ricevuto con i registri interni e viene progettato un contatore binario a 2 bit le cui uscite A1A0 sono collegate a MTRX SEL # 0 e # 1 di DCMP1 per confrontare il comando ricevuto con tutti i registri in modo successivo e continuo.
Un decoder con latch è stato costruito utilizzando DFF6, DFF7, DFF8 e 2L5, 2L6, 2L7. Il progetto funziona come segue; se A1A0 = 00 , l'uscita SPI viene confrontata con il registro 3. Se entrambi i valori sono uguali, DCMP1 fornisce un segnale High alla sua uscita EQ. Poiché A1A0 = 00 , questo attiva 2L5 e di conseguenza DFF6 emette un segnale High che indica che il segnale On / Off è stato ricevuto. Allo stesso modo, per il resto dei segnali di controllo, CNT7 e CNT8 sono configurati come "Both Edge Delay" per generare un ritardo e consentire al DCMP1 di cambiare lo stato della sua uscita prima che il valore dell'uscita sia mantenuto dai DFF.
Il valore del comando On / Off è memorizzato nel registro 3, il comando del timer nel registro 2 e il comando di velocità nel registro 1.
Velocità MUX
Per cambiare velocità è stato realizzato un contatore binario a 2 bit il cui impulso in ingresso è ricevuto dal pulsante esterno che è collegato al Pin4 o dal segnale di velocità IR tramite P10 dal comparatore di comando. Nello stato iniziale Q1Q0 = 11 , e applicando un impulso sull'ingresso del contatore da LUT6 a 3 bit, Q1Q0 diventa successivamente 10, 01 e quindi lo stato 00. LUT7 a 3 bit è stato utilizzato per saltare gli stati 00, dato che nel motore scelto sono disponibili solo tre velocità. Il segnale On / Off deve essere alto per attivare il processo di controllo. Di conseguenza, se il segnale On / Off è Basso, l'uscita attivata viene disabilitata e il motore viene spento come mostrato in Figura 6.
Timer
Viene implementato un timer a 3 periodi (30 min, 60 min, 120 min). Per creare la struttura di controllo, un contatore binario a 2 bit riceve impulsi da un pulsante timer esterno collegato al Pin13 e dal segnale timer IR. Il contatore utilizza Pipe Delay1, dove Out0 PD num è uguale a 1 e Out1 PD num è uguale a 2 selezionando una polarità invertita per Out1. Nello stato iniziale Out1, Out0 = 10 , il Timer è disabilitato. Successivamente, applicando un impulso sull'ingresso CK per Pipe Delay1, lo stato dell'uscita cambia in successione a 11,01,00, invertendo il CNT / DLY ad ogni stato attivato. CNT0, CNT3, CNT4 sono stati configurati per funzionare come "Ritardi sul fronte di salita" il cui ingresso proviene dall'uscita di CNT1, che è configurato per dare un impulso ogni 10 secondi.
Per avere un ritardo di 30 minuti:
30 x 60 = 1800 secondi ÷ intervalli di 10 secondi = 180 bit
Pertanto, i dati del contatore per CNT4 sono 180, CNT3 è 360 e CNT0 è 720. Una volta terminato il ritardo, viene trasmesso un impulso alto attraverso 3L14 a 3L11 provocando lo spegnimento del sistema. I timer vengono resettati se il sistema viene spento dal pulsante esterno collegato al Pin12 o dal segnale IR_ON / OFF.
* È possibile utilizzare un triac o un relè a stato solido invece di un relè elettromeccanico se si desidera utilizzare un interruttore elettronico.
* Per i pulsanti è stato utilizzato un antirimbalzo hardware (condensatore, resistenza).
Risultati
Come primo passo nella valutazione del progetto, è stato utilizzato il simulatore software GreenPAK. Sono stati creati pulsanti virtuali sugli ingressi e sono stati monitorati i LED esterni opposti alle uscite sulla scheda di sviluppo. Lo strumento Signal Wizard è stato utilizzato per generare un segnale simile al formato NEC per motivi di debug.
È stato generato un segnale con il pattern 0x00FF5FA0, dove 0x00FF è l'indirizzo corrispondente all'indirizzo invertito memorizzato nel PGEN e 0x5FA0 è il comando corrispondente al comando invertito nel registro DCMP 3 per controllare la funzionalità On / Off. Il sistema nello stato iniziale è nello stato OFF, ma dopo l'applicazione del segnale, notiamo che il sistema si accende. Se un singolo bit è stato modificato nell'indirizzo e il segnale è stato riapplicato, notiamo che non accade nulla (indirizzo incompatibile).
Dopo aver avviato il Signal Wizard per una volta (con un comando On / Off valido):
Conclusione
Questo articolo si concentra sulla configurazione di un circuito integrato GreenPAK progettato per controllare un motore CA a 3 velocità. Incorpora diverse funzioni come la velocità di ciclo, la generazione di un timer a 3 periodi e la costruzione di un decodificatore IR compatibile con il protocollo NEC. Il GreenPAK ha dimostrato l'efficacia nell'integrare diverse funzioni, tutte in una soluzione IC a basso costo e per piccole aree.