- Motor cu ventilator de curent alternativ cu 3 trepte
- Analiza proiectului
- Decodor IR
- Proiectare GreenPAK
- Viteză MUX
- Temporizator
- Rezultate
- Concluzie
Motoarele de curent alternativ monofazate se găsesc în mod obișnuit în articole de uz casnic, cum ar fi ventilatoarele, iar viteza lor poate fi controlată cu ușurință atunci când se utilizează mai multe înfășurări discrete pentru viteze setate. În acest articol, construim un controler digital care permite utilizatorilor să controleze funcții precum viteza motorului și timpul de funcționare. Acest articol include, de asemenea, un circuit receptor infraroșu care acceptă protocolul NEC, unde un motor poate fi controlat de la butoane sau de la un semnal primit de un transmițător infraroșu.
Pentru a realiza acest lucru, un IC GreenPAK ™ SLG46620 este utilizat ca un controler de bază responsabil de aceste funcții diverse: un circuit multiplex pentru a activa o viteză (din trei viteze), temporizatoare de 3 numărătoare inversă și un decodor cu infraroșu pentru a primi un semnal infraroșu extern, care extrage și execută comanda dorită.
Dacă ne uităm la funcțiile circuitului, observăm mai multe funcții discrete utilizate simultan: MUXing, sincronizare și decodare IR. Producătorii folosesc adesea mai multe circuite integrate pentru construirea circuitului electronic din cauza lipsei unei soluții unice disponibile într-un singur IC. Utilizarea unui IC GreenPAK permite producătorilor să utilizeze un singur cip pentru a include multe dintre funcțiile dorite și, prin urmare, să reducă costul sistemului și supravegherea producției.
Sistemul cu toate funcțiile sale a fost testat pentru a asigura funcționarea corectă. Circuitul final poate necesita modificări speciale sau elemente suplimentare adaptate motorului ales.
Pentru a verifica dacă sistemul funcționează nominal, au fost generate cazuri de testare pentru intrări cu ajutorul emulatorului de proiectare GreenPAK. Emularea verifică diferite cazuri de test pentru ieșiri și funcționalitatea decodorului IR este confirmată. Designul final este, de asemenea, testat cu un motor propriu-zis pentru confirmare.
Motor cu ventilator de curent alternativ cu 3 trepte
Motoarele de curent alternativ cu 3 trepte sunt motoare monofazate acționate de un curent alternativ. Sunt adesea utilizate într-o mare varietate de mașini de uz casnic, cum ar fi diferite tipuri de ventilatoare (ventilator de perete, ventilator de masă, ventilator de cutie). În comparație cu un motor DC, controlul vitezei într-un motor de curent alternativ este relativ complicat, deoarece frecvența curentului livrat trebuie să se schimbe pentru a schimba viteza motorului. Aparatele, cum ar fi ventilatoarele și mașinile frigorifice, nu necesită de obicei o granularitate fină a vitezei, dar necesită pași discreți, cum ar fi viteza mică, medie și mare. Pentru aceste aplicații, motoarele ventilatorului de curent alternativ au mai multe bobine încorporate proiectate pentru mai multe viteze, în care schimbarea de la o viteză la alta se realizează prin alimentarea bobinei de viteză dorită.
Motorul pe care îl folosim în acest proiect este un motor de curent alternativ cu 3 trepte care are 5 fire: 3 fire pentru controlul vitezei, 2 fire pentru alimentare și un condensator de pornire așa cum este ilustrat în Figura 2 de mai jos. Unii producători folosesc fire standard codate prin culori pentru identificarea funcției. O fișă tehnică a motorului va arăta informațiile specifice motorului pentru identificarea firului.
Analiza proiectului
În acest articol, un IC GreenPAK este configurat pentru a executa o comandă dată, primită de la o sursă, cum ar fi un transmițător IR sau un buton extern, pentru a indica una dintre cele trei comenzi:
On / Off: sistemul este pornit sau oprit cu fiecare interpretare a acestei comenzi. Starea On / Off va fi inversată cu fiecare margine ascendentă a comenzii On / Off.
Temporizator: temporizatorul este acționat timp de 30, 60 și 120 de minute. La al patrulea impuls, temporizatorul este oprit, iar perioada temporizatorului revine la starea inițială de sincronizare.
Viteză: controlează viteza motorului, iterând succesiv ieșirea activată din firele de selectare a vitezei motorului (1,2,3).
Decodor IR
Un circuit decodor IR este construit pentru a primi semnale de la un transmițător IR extern și pentru a activa comanda dorită. Am adoptat protocolul NEC datorită popularității sale în rândul producătorilor. Protocolul NEC folosește „distanța pulsului” pentru a codifica fiecare bit; fiecare impuls necesită 562,5 noi pentru a fi transmis utilizând semnalul unui purtător de frecvență de 38 kHz. Transmiterea unui semnal logic 1 necesită 2,25 ms în timp ce transmiterea unui semnal logic 0 durează 1,125 ms. Figura 3 ilustrează transmisia trenului de impulsuri conform protocolului NEC. Acesta constă din explozie AGC de 9 ms, apoi spațiu de 4,5 ms, apoi adresa de 8 biți și, în final, comanda de 8 biți. Rețineți că adresa și comanda sunt transmise de două ori; a doua oară este complementul lui 1 (toți biții sunt inversați) ca paritate pentru a se asigura că mesajul primit este corect.LSB este transmis mai întâi în mesaj.
Proiectare GreenPAK
Proiectarea IC a fost construită în software-ul GreenPAK Designer gratuit bazat pe GUI. Fișierul complet de proiectare poate fi găsit aici.
Biții relevanți ai mesajului primit sunt extrasați pe mai multe etape. Pentru început, începutul mesajului este specificat de la explozia AGC de 9 ms folosind CNT2 și LUT1 pe 2 biți. Dacă s-a detectat acest lucru, atunci se specifică un spațiu de 4,5 ms prin CNT6 și 2L2. Dacă antetul este corect, ieșirea DFF0 este setată High pentru a permite recepția adresei. Blocurile CNT9, 3L0, 3L3 și P DLY0 sunt utilizate pentru a extrage impulsurile de ceas din mesajul primit. Valoarea bitului este luată la marginea ascendentă a semnalului IR_CLK, la 0,845 ms de marginea ascendentă de la IR_IN.
Adresa interpretată este apoi comparată cu o adresă stocată în PGEN folosind 2LUT0. 2LUT0 este o poartă XOR, iar PGEN stochează adresa inversată. Fiecare bit al PGEN este comparat secvențial cu semnalul primit și rezultatul fiecărei comparații este stocat în DFF2 împreună cu marginea ascendentă a IR-CLK.
În cazul în care a fost detectată vreo eroare la adresă, ieșirea de blocare LUT5 SR pe 3 biți este schimbată la Înalt pentru a preveni compararea restului mesajului (comanda). Dacă adresa primită se potrivește cu adresa stocată în PGEN, a doua jumătate a mesajului (comandă și comandă inversată) este direcționată către SPI, astfel încât comanda dorită să poată fi citită și executată. CNT5 și DFF5 sunt utilizate pentru a specifica sfârșitul adresei și începutul comenzii în care „Datele contorului” din CNT5 sunt egale cu 18:16 impulsuri pentru adresă în plus față de primele două impulsuri (9ms, 4.5ms).
Dacă adresa completă, inclusiv antetul, a fost recepționată și stocată corect în IC (în PGEN), ieșirea 3L3 OR Gate dă semnalul Low la pinul nCSB al SPI pentru a fi activat. În consecință, SPI începe să primească comanda.
SLG46620 IC are 4 registre interne cu o lungime de 8 biți și astfel este posibilă stocarea a patru comenzi diferite. DCMP1 este folosit pentru a compara comanda primită cu registrele interne și este proiectat un contor binar de 2 biți ale cărui ieșiri A1A0 sunt conectate la MTRX SEL # 0 și # 1 din DCMP1 pentru a compara comanda primită la toate registrele succesiv și continuu.
Un decodor cu zăvor a fost construit folosind DFF6, DFF7, DFF8 și 2L5, 2L6, 2L7. Proiectarea funcționează după cum urmează; dacă A1A0 = 00 , ieșirea SPI este comparată cu registrul 3. Dacă ambele valori sunt egale, DCMP1 dă un semnal înalt la ieșirea sa EQ. Din moment ce A1A0 = 00 , acest lucru activează 2L5, iar DFF6 emite în consecință un semnal înalt indicând faptul că semnalul On / Off a fost primit. În mod similar, pentru restul semnalelor de control, CNT7 și CNT8 sunt configurate ca „Ambele întârzieri de margine” pentru a genera o întârziere și pentru a permite DCMP1 să schimbe starea ieșirii sale înainte ca valoarea ieșirii să fie deținută de DFF-uri.
Valoarea comenzii On / Off este stocată în registrul 3, comanda temporizatorului în registrul 2 și comanda de viteză în registrul 1.
Viteză MUX
Pentru a comuta viteza, a fost construit un contor binar de 2 biți al cărui impuls de intrare este primit de butonul extern care este conectat la Pin4 sau de la semnalul de viteză IR prin P10 de la comparatorul de comenzi. În starea inițială Q1Q0 = 11 și prin aplicarea unui impuls pe intrarea contorului de la LUT6 pe 3 biți, Q1Q0 devine succesiv 10, 01 și apoi starea 00. LUT7 pe 3 biți a fost folosit pentru a trece peste stările 00, dat fiind că doar trei viteze sunt disponibile în motorul ales. Semnalul On / Off trebuie să fie ridicat pentru a activa procesul de control. În consecință, dacă semnalul On / Off este scăzut, ieșirea activată este dezactivată și motorul este oprit așa cum se arată în Figura 6.
Temporizator
Este implementat un cronometru cu 3 perioade (30 min, 60 min, 120 min). Pentru a crea structura de control, un contor binar de 2 biți primește impulsuri de la un buton Timer extern conectat la Pin13 și de la semnalul IR Timer. Contorul utilizează Pipe Delay1, unde Out0 PD num este egal cu 1 și Out1 PD num este egal cu 2 selectând o polaritate inversată pentru Out1. În starea inițială Out1, Out0 = 10 , temporizatorul este dezactivat. După aceea, aplicând un impuls pe intrarea CK pentru Pipe Delay1, starea de ieșire se schimbă la 11,01,00 succesiv, inversând CNT / DLY în fiecare stare activată. CNT0, CNT3, CNT4 au fost configurate să funcționeze ca „Rising Edge Delays” a căror intrare provine de la ieșirea CNT1, care este configurată pentru a da un impuls la fiecare 10 secunde.
Pentru a avea o întârziere de 30 de minute:
30 x 60 = 1800 secunde ÷ 10 secunde intervale = 180 biți
Prin urmare, datele de contor pentru CNT4 sunt 180, CNT3 este 360 și CNT0 este 720. Odată ce întârzierea sa terminat, un impuls ridicat este transmis prin 3L14 până la 3L11, ceea ce determină oprirea sistemului. Temporizatoarele sunt resetate dacă sistemul este oprit de butonul extern conectat la Pin12 sau de semnalul IR_ON / OFF.
* Puteți utiliza un releu triac sau solid-state în locul unui releu electromecanic dacă doriți să utilizați un comutator electronic.
* Un buton de descărcare hardware (condensator, rezistor) a fost folosit pentru butoane.
Rezultate
Ca prim pas în evaluarea proiectării, a fost utilizat GreenPAK Software Simulator. Butoanele virtuale au fost create pe intrări și LED-urile externe opuse ieșirilor de pe placa de dezvoltare au fost monitorizate. Instrumentul Expertului semnalului a fost utilizat pentru a genera un semnal similar cu formatul NEC de dragul depanării.
A fost generat un semnal cu modelul 0x00FF5FA0, unde 0x00FF este adresa corespunzătoare adresei inversate stocate în PGEN, iar 0x5FA0 este comanda corespunzătoare comenzii inversate în registrul DCMP 3 pentru a controla funcționalitatea On / Off. Sistemul în starea inițială este în starea OFF, dar după aplicarea semnalului, observăm că sistemul pornește. Dacă un singur bit a fost modificat în adresă și semnalul a fost reaplicat, observăm că nu se întâmplă nimic (adresă incompatibilă).
După ce porniți Expertul semnalului o singură dată (cu comanda validă Pornit / Oprit):
Concluzie
Acest articol se concentrează pe configurația unui IC GreenPAK conceput pentru a controla un motor de curent alternativ cu 3 trepte. Incorporează mai multe funcții, cum ar fi viteze de ciclism, generarea unui temporizator de 3 perioade și construirea unui decodor IR compatibil cu protocolul NEC. GreenPAK a demonstrat eficacitate la integrarea mai multor funcții, toate într-o soluție IC cu cost redus și zonă mică.