- 3-Gang-AC-Lüftermotor
- Projektanalyse
- IR-Decoder
- GreenPAK Design
- Geschwindigkeit MUX
- Timer
- Ergebnisse
- Fazit
Einphasen-Wechselstrommotoren sind typischerweise in Haushaltsgegenständen wie Lüftern zu finden, und ihre Drehzahl kann leicht gesteuert werden, wenn mehrere diskrete Wicklungen für eingestellte Drehzahlen verwendet werden. In diesem Artikel erstellen wir eine digitale Steuerung, mit der Benutzer Funktionen wie Motordrehzahl und Betriebszeit steuern können. Dieser Artikel enthält auch eine Infrarotempfängerschaltung, die das NEC-Protokoll unterstützt, wobei ein Motor über Drucktasten oder ein von einem Infrarotsender empfangenes Signal gesteuert werden kann.
Zu diesem Zweck wird ein GreenPAK ™ SLG46620-IC als Basissteuerung für diese verschiedenen Funktionen verwendet: eine Multiplexschaltung zum Aktivieren einer Geschwindigkeit (von drei Geschwindigkeiten), 3-Perioden-Countdown-Timer und ein Infrarotdecoder zum Empfangen eines externes Infrarotsignal, das den gewünschten Befehl extrahiert und ausführt.
Wenn wir uns die Funktionen der Schaltung ansehen, stellen wir fest, dass mehrere diskrete Funktionen gleichzeitig verwendet werden: MUXing, Timing und IR-Decodierung. Hersteller verwenden häufig viele ICs zum Aufbau der elektronischen Schaltung, da keine eindeutige Lösung innerhalb eines einzelnen ICs verfügbar ist. Die Verwendung eines GreenPAK-IC ermöglicht es den Herstellern, einen einzelnen Chip zu verwenden, um viele der gewünschten Funktionen einzuschließen, und folglich die Systemkosten und die Überwachung der Herstellung zu reduzieren.
Das System mit all seinen Funktionen wurde getestet, um einen ordnungsgemäßen Betrieb sicherzustellen. Die endgültige Schaltung kann spezielle Modifikationen oder zusätzliche Elemente erfordern, die auf den gewählten Motor zugeschnitten sind.
Um zu überprüfen, ob das System nominal funktioniert, wurden mit Hilfe des GreenPAK-Designer-Emulators Testfälle für die Eingaben generiert. Die Emulation überprüft verschiedene Testfälle für die Ausgänge und die Funktionalität des IR-Decoders wird bestätigt. Das endgültige Design wird zur Bestätigung auch mit einem tatsächlichen Motor getestet.
3-Gang-AC-Lüftermotor
3-Gang-Wechselstrommotoren sind Einphasenmotoren, die mit Wechselstrom betrieben werden. Sie werden häufig in einer Vielzahl von Haushaltsmaschinen verwendet, z. B. in verschiedenen Arten von Ventilatoren (Wandventilator, Tischventilator, Kastenventilator). Im Vergleich zu einem Gleichstrommotor ist die Drehzahlregelung in einem Wechselstrommotor relativ kompliziert, da sich die Frequenz des gelieferten Stroms ändern muss, um die Motordrehzahl zu ändern. Geräte wie Ventilatoren und Kältemaschinen erfordern normalerweise keine feinkörnige Geschwindigkeit, sondern diskrete Schritte wie niedrige, mittlere und hohe Geschwindigkeiten. Für diese Anwendungen verfügen AC-Lüftermotoren über mehrere eingebaute Spulen, die für mehrere Drehzahlen ausgelegt sind, wobei der Wechsel von einer Drehzahl zur anderen durch Erregen der Spule der gewünschten Drehzahl erfolgt.
Der Motor, den wir in diesem Projekt verwenden, ist ein 3-Gang-Wechselstrommotor mit 5 Drähten: 3 Drähten zur Drehzahlregelung, 2 Drähten zur Stromversorgung und einem Startkondensator, wie in Abbildung 2 dargestellt. Einige Hersteller verwenden farbcodierte Standarddrähte zur Funktionsidentifizierung. Das Datenblatt eines Motors zeigt die Informationen des jeweiligen Motors zur Kabelidentifikation.
Projektanalyse
In diesem Artikel wird ein GreenPAK-IC so konfiguriert, dass er einen bestimmten Befehl ausführt, der von einer Quelle wie einem IR-Sender oder einer externen Taste empfangen wird, um einen von drei Befehlen anzuzeigen:
Ein / Aus: Das System wird bei jeder Interpretation dieses Befehls ein- oder ausgeschaltet. Der Ein / Aus-Zustand wird mit jeder ansteigenden Flanke des Ein / Aus-Befehls umgekehrt.
Timer: Der Timer wird 30, 60 und 120 Minuten lang betrieben. Beim vierten Impuls wird der Zeitgeber ausgeschaltet und die Zeitgeberperiode kehrt zum ursprünglichen Zeitsteuerungszustand zurück.
Drehzahl: Steuert die Drehzahl des Motors und wiederholt nacheinander den aktivierten Ausgang der Drehzahlauswahldrähte (1,2,3) des Motors.
IR-Decoder
Eine IR-Decoderschaltung ist aufgebaut, um Signale von einem externen IR-Sender zu empfangen und den gewünschten Befehl zu aktivieren. Wir haben das NEC-Protokoll aufgrund seiner Beliebtheit bei Herstellern übernommen. Das NEC-Protokoll verwendet "Impulsentfernung", um jedes Bit zu codieren. Jeder Impuls benötigt 562,5 us, um mit dem Signal eines 38-kHz-Frequenzträgers übertragen zu werden. Die Übertragung eines logischen 1-Signals dauert 2,25 ms, während die Übertragung eines logischen 0-Signals 1,125 ms dauert. Fig. 3 zeigt die Impulsfolgeübertragung gemäß dem NEC-Protokoll. Es besteht aus 9 ms AGC-Burst, dann 4,5 ms Speicherplatz, dann der 8-Bit-Adresse und schließlich dem 8-Bit-Befehl. Beachten Sie, dass die Adresse und der Befehl zweimal übertragen werden. Das zweite Mal ist das Komplement von 1 (alle Bits sind invertiert) als Parität, um sicherzustellen, dass die empfangene Nachricht korrekt ist.LSB wird zuerst in der Nachricht übertragen.
GreenPAK Design
Das IC-Design wurde in der kostenlosen GreenPAK Designer-Software auf GUI-Basis erstellt. Die vollständige Designdatei finden Sie hier.
Die relevanten Bits der empfangenen Nachricht werden über mehrere Stufen extrahiert. Zu Beginn wird der Beginn der Nachricht aus einem 9-ms-AGC-Burst unter Verwendung von CNT2 und 2-Bit-LUT1 festgelegt. Wenn dies erkannt wurde, wird über CNT6 und 2L2 ein Speicherplatz von 4,5 ms angegeben. Wenn der Header korrekt ist, wird der DFF0-Ausgang auf High gesetzt, um den Empfang der Adresse zu ermöglichen. Die Blöcke CNT9, 3L0, 3L3 und P DLY0 werden verwendet, um die Taktimpulse aus der empfangenen Nachricht zu extrahieren. Der Bitwert wird an der ansteigenden Flanke des IR_CLK-Signals 0,845 ms von der ansteigenden Flanke von IR_IN genommen.
Die interpretierte Adresse wird dann mit einer in PGEN gespeicherten Adresse unter Verwendung von 2LUT0 verglichen. 2LUT0 ist ein XOR-Gatter, und das PGEN speichert die invertierte Adresse. Jedes Bit des PGEN wird nacheinander mit dem eingehenden Signal verglichen, und das Ergebnis jedes Vergleichs wird zusammen mit der ansteigenden Flanke von IR-CLK in DFF2 gespeichert.
Falls ein Fehler in der Adresse festgestellt wurde, wird der 3-Bit-LUT5-SR-Latch-Ausgang auf High geändert, um einen Vergleich des Restes der Nachricht (des Befehls) zu verhindern. Wenn die empfangene Adresse mit der in PGEN gespeicherten Adresse übereinstimmt, wird die zweite Hälfte der Nachricht (Befehl & invertierter Befehl) an SPI geleitet, damit der gewünschte Befehl gelesen und ausgeführt werden kann. CNT5 und DFF5 werden verwendet, um das Ende der Adresse und den Beginn des Befehls anzugeben, wobei 'Zählerdaten' von CNT5 zusätzlich zu den ersten beiden Impulsen (9 ms, 4,5 ms) 18:16 Impulsen für die Adresse entsprechen.
Wenn die vollständige Adresse einschließlich des Headers korrekt empfangen und im IC (in PGEN) gespeichert wurde, gibt der 3L3 OR Gate-Ausgang das Signal Low an den zu aktivierenden nCSB-Pin von SPI. Der SPI beginnt folglich, den Befehl zu empfangen.
Der SLG46620 IC verfügt über 4 interne Register mit einer Länge von 8 Bit und kann somit vier verschiedene Befehle speichern. DCMP1 wird verwendet, um den empfangenen Befehl mit den internen Registern zu vergleichen, und es wird ein 2-Bit-Binärzähler entworfen, dessen A1A0-Ausgänge mit MTRX SEL Nr. 0 und Nr. 1 von DCMP1 verbunden sind, um den empfangenen Befehl nacheinander und kontinuierlich mit allen Registern zu vergleichen.
Ein Decoder mit Latch wurde unter Verwendung von DFF6, DFF7, DFF8 und 2L5, 2L6, 2L7 konstruiert. Das Design funktioniert wie folgt; Wenn A1A0 = 00 , wird der SPI-Ausgang mit Register 3 verglichen. Wenn beide Werte gleich sind, gibt DCMP1 an seinem EQ-Ausgang ein High-Signal. Da A1A0 = 00 ist , aktiviert dies 2L5 und DFF6 gibt folglich ein High-Signal aus, das anzeigt, dass das Signal On / Off empfangen wurde. In ähnlicher Weise sind CNT7 und CNT8 für den Rest der Steuersignale als "Both Edge Delay" konfiguriert, um eine Zeitverzögerung zu erzeugen und dem DCMP1 zu ermöglichen, den Zustand seines Ausgangs zu ändern, bevor der Wert des Ausgangs von den DFFs gehalten wird.
Der Wert des Ein / Aus-Befehls wird in Register 3, der Zeitgeberbefehl in Register 2 und der Geschwindigkeitsbefehl in Register 1 gespeichert.
Geschwindigkeit MUX
Zum Umschalten der Geschwindigkeit wurde ein 2-Bit-Binärzähler aufgebaut, dessen Eingangsimpuls von der externen Taste empfangen wird, die mit Pin4 verbunden ist, oder vom IR-Geschwindigkeitssignal über P10 vom Befehlskomparator. Im Anfangszustand Q1Q0 = 11 und durch Anlegen eines Impulses an den Eingang des Zählers von der 3-Bit-LUT6 wird Q1Q0 nacheinander 10, 01 und dann der Zustand 00. 3-Bit-LUT7 wurde verwendet, um die 00-Zustände zu überspringen, da im ausgewählten Motor nur drei Geschwindigkeiten verfügbar sind. Das Ein / Aus-Signal muss hoch sein, um den Steuerungsprozess zu aktivieren. Wenn das Ein / Aus-Signal niedrig ist, wird folglich der aktivierte Ausgang deaktiviert und der Motor ausgeschaltet, wie in 6 gezeigt.
Timer
Ein 3-Perioden-Timer (30 min, 60 min, 120 min) ist implementiert. Um die Steuerstruktur zu erstellen, empfängt ein 2-Bit-Binärzähler Impulse von einem an Pin13 angeschlossenen externen Timer-Button und vom IR-Timer-Signal. Der Zähler verwendet Pipe Delay1, wobei Out0 PD num gleich 1 und Out1 PD num gleich 2 ist, indem eine invertierte Polarität für Out1 ausgewählt wird. Im Ausgangszustand Out1, Out0 = 10 ist der Timer deaktiviert. Danach ändert sich durch Anlegen eines Impulses an den Eingang CK für die Rohrverzögerung1 der Ausgangszustand nacheinander auf 11,01,00, wodurch die CNT / DLY in jeden aktivierten Zustand invertiert wird. CNT0, CNT3, CNT4 wurden so konfiguriert, dass sie als "Rising Edge Delays" arbeiten, deren Eingang vom Ausgang von CNT1 stammt, der so konfiguriert ist, dass er alle 10 Sekunden einen Impuls gibt.
So haben Sie eine Zeitverzögerung von 30 Minuten:
30 x 60 = 1800 Sekunden ÷ 10-Sekunden-Intervalle = 180 Bit
Daher sind die Zählerdaten für CNT4 180, CNT3 360 und CNT0 720. Nach Ablauf der Zeitverzögerung wird ein hoher Impuls über 3L14 bis 3L11 übertragen, wodurch das System ausgeschaltet wird. Die Timer werden zurückgesetzt, wenn das System über die an Pin12 angeschlossene externe Taste oder über das Signal IR_ON / OFF ausgeschaltet wird.
* Sie können anstelle eines elektromechanischen Relais ein Triac- oder Halbleiterrelais verwenden, wenn Sie einen elektronischen Schalter verwenden möchten.
* Für die Drucktasten wurde ein Hardware-Debouncer (Kondensator, Widerstand) verwendet.
Ergebnisse
Als erster Schritt bei der Bewertung des Designs wurde der GreenPAK Software Simulator verwendet. An den Eingängen wurden virtuelle Tasten erstellt und die externen LEDs gegenüber den Ausgängen auf der Entwicklungsplatine überwacht. Das Signal Wizard-Tool wurde verwendet, um zum Debuggen ein Signal ähnlich dem NEC-Format zu generieren.
Ein Signal mit dem Muster 0x00FF5FA0 wurde erzeugt, wobei 0x00FF die Adresse ist, die der im PGEN gespeicherten invertierten Adresse entspricht, und 0x5FA0 der Befehl ist, der dem invertierten Befehl im DCMP-Register 3 entspricht, um die Ein / Aus-Funktionalität zu steuern. Das System befindet sich im Ausgangszustand im AUS-Zustand, aber nachdem das Signal angelegt wurde, stellen wir fest, dass das System eingeschaltet wird. Wenn ein einzelnes Bit in der Adresse geändert wurde und das Signal erneut angelegt wurde, stellen wir fest, dass nichts passiert (inkompatible Adresse).
Nach einmaligem Starten des Signalassistenten (mit gültigem Ein / Aus-Befehl):
Fazit
Dieser Artikel konzentriert sich auf die Konfiguration eines GreenPAK-IC zur Steuerung eines 3-Gang-Wechselstrommotors. Es enthält verschiedene Funktionen wie z. B. Zyklusgeschwindigkeiten, Generieren eines 3-Perioden-Timers und Aufbau eines mit dem NEC-Protokoll kompatiblen IR-Decoders. Das GreenPAK hat gezeigt, dass es mehrere Funktionen effektiv in eine kostengünstige und kleinflächige IC-Lösung integriert.