Inhaltsverzeichnis:

IR-Decoder für die Steuerung von AC-Motoren mit mehreren Geschwindigkeiten programmieren - Gunook
IR-Decoder für die Steuerung von AC-Motoren mit mehreren Geschwindigkeiten programmieren - Gunook

Video: IR-Decoder für die Steuerung von AC-Motoren mit mehreren Geschwindigkeiten programmieren - Gunook

Video: IR-Decoder für die Steuerung von AC-Motoren mit mehreren Geschwindigkeiten programmieren - Gunook
Video: Wie erstelle ich einen bürstenlosen Motorcontroller, Mosfet, IRFz 44n 2024, November
Anonim
So programmieren Sie den IR-Decoder für die Steuerung von AC-Motoren mit mehreren Geschwindigkeiten
So programmieren Sie den IR-Decoder für die Steuerung von AC-Motoren mit mehreren Geschwindigkeiten

Einphasen-Wechselstrommotoren finden sich typischerweise in Haushaltsgegenständen wie Ventilatoren, und ihre Drehzahl kann leicht gesteuert werden, wenn eine Reihe von diskreten Wicklungen für eingestellte Drehzahlen verwendet wird. In diesem Instructable bauen wir einen digitalen Controller, mit dem Benutzer Funktionen wie Motordrehzahl und Betriebszeit steuern können. Dieses Instructable enthält auch eine Infrarot-Empfängerschaltung, die das NEC-Protokoll unterstützt, wo ein Motor von Druckknöpfen oder von einem von einem Infrarotsender empfangenen Signal gesteuert werden kann.

Dazu wird ein GreenPAK™ verwendet, SLG46620 dient als Basiscontroller für diese vielfältigen Funktionen: eine Multiplexschaltung zum Aktivieren einer Geschwindigkeit (von drei Geschwindigkeiten), 3-Perioden-Countdown-Timer und ein Infrarot-Decoder zum Empfangen ein externes Infrarotsignal, das einen gewünschten Befehl extrahiert und ausführt.

Wenn wir die Funktionen der Schaltung betrachten, bemerken wir mehrere gleichzeitig verwendete diskrete Funktionen: MUXing, Timing und IR-Decodierung. Hersteller verwenden oft viele ICs zum Aufbauen der elektronischen Schaltung, da eine verfügbare einzigartige Lösung innerhalb eines einzelnen ICs fehlt. Die Verwendung eines GreenPAK-IC ermöglicht es den Herstellern, einen einzigen Chip zu verwenden, um viele der gewünschten Funktionen einzuschließen und folglich die Systemkosten und die Fertigungsaufsicht zu reduzieren.

Das System mit all seinen Funktionen wurde getestet, um einen ordnungsgemäßen Betrieb zu gewährleisten. Der Endstromkreis kann spezielle Modifikationen oder zusätzliche Elemente erfordern, die auf den gewählten Motor zugeschnitten sind.

Um zu überprüfen, ob das System nominell funktioniert, wurden mit Hilfe des GreenPAK-Designer-Emulators Testfälle für die Eingaben generiert. Die Emulation verifiziert 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.

Im Folgenden haben wir die erforderlichen Schritte beschrieben, um zu verstehen, wie der GreenPAK-Chip programmiert wurde, um den IR-Decoder für die Steuerung von AC-Motoren mit mehreren Geschwindigkeiten zu erstellen. Wenn Sie jedoch nur das Ergebnis der Programmierung erhalten möchten, laden Sie die GreenPAK-Software herunter, um die bereits fertige GreenPAK-Designdatei anzuzeigen. Schließen Sie das GreenPAK-Entwicklungskit an Ihren Computer an und klicken Sie auf das Programm, um den benutzerdefinierten IC für den IR-Decoder für die Steuerung von Wechselstrommotoren mit mehreren Geschwindigkeiten zu erstellen.

Schritt 1: 3-Stufen-AC-Lüftermotor

3-Stufen-AC-Lüftermotor
3-Stufen-AC-Lüftermotor
3-Stufen-AC-Lüftermotor
3-Stufen-AC-Lüftermotor

Drehstrommotoren mit 3 Drehzahlen sind Einphasenmotoren, die mit Wechselstrom betrieben werden. Sie werden oft in einer Vielzahl von Haushaltsgeräten verwendet, wie z. B. in verschiedenen Arten von Ventilatoren (Wandventilator, Tischventilator, Boxventilator). Im Vergleich zu einem Gleichstrommotor ist die Drehzahlregelung bei einem Wechselstrommotor relativ kompliziert, da sich die Frequenz des gelieferten Stroms ändern muss, um die Motordrehzahl zu ändern. Geräte wie Ventilatoren und Kühlmaschinen erfordern normalerweise keine feine Granularität der Geschwindigkeit, sondern erfordern diskrete Stufen wie niedrige, mittlere und hohe Geschwindigkeiten. Für diese Anwendungen haben AC-Lüftermotoren eine Reihe von eingebauten Spulen, die für mehrere Geschwindigkeiten ausgelegt sind, wobei der Wechsel von einer Geschwindigkeit zur anderen durch Erregen der Spule der gewünschten Geschwindigkeit erfolgt.

Der Motor, den wir in diesem Projekt verwenden, ist ein 3-Gang-Wechselstrommotor mit 5 Drähten: 3 Drähte für die Geschwindigkeitssteuerung, 2 Drähte für die Stromversorgung und einen Startkondensator, wie in Abbildung 2 unten dargestellt. Einige Hersteller verwenden farbcodierte Standardkabel zur Funktionsidentifikation. Das Datenblatt eines Motors zeigt die Informationen des jeweiligen Motors zur Kabelidentifikation an.

Schritt 2: Projektanalyse

In diesem Instructable ist 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 Zustand von Ein/Aus wird mit jeder steigenden Flanke des Ein/Aus-Befehls umgekehrt.

Timer: Der Timer wird für 30, 60 und 120 Minuten betrieben. Beim vierten Impuls wird der Zeitgeber ausgeschaltet und die Zeitgeberperiode kehrt in den ursprünglichen Zeitsteuerungszustand zurück.

Geschwindigkeit: Steuert die Geschwindigkeit des Motors und iteriert sukzessive den aktivierten Ausgang von den Geschwindigkeitsauswahldrähten des Motors (1, 2, 3).

Schritt 3: IR-Decoder

IR-Decoder
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 den Herstellern übernommen. Das NEC-Protokoll verwendet "Impulsdistanz", um jedes Bit zu codieren; jeder Impuls dauert 562,5 us, um mit dem Signal eines 38 kHz-Frequenzträgers übertragen zu werden. Die Übertragung eines logischen 1-Signals benötigt 2,25 ms, während die Übertragung eines logischen 0-Signals 1,125 ms dauert. Abbildung 3 veranschaulicht die Impulsfolgeübertragung gemäß dem NEC-Protokoll. Es besteht aus 9 ms AGC-Burst, dann 4,5 ms Leerraum, 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 1er-Komplement (alle Bits sind invertiert) als Parität, um sicherzustellen, dass die empfangene Nachricht korrekt ist. In der Nachricht wird zuerst LSB übertragen.

Schritt 4: GreenPAK-Design

GreenPAK-Design
GreenPAK-Design
GreenPAK-Design
GreenPAK-Design

Die relevanten Bits der empfangenen Nachricht werden über mehrere Stufen extrahiert. Zu Beginn wird der Anfang der Nachricht von einem 9 ms AGC-Burst unter Verwendung von CNT2 und 2-Bit-LUT1 spezifiziert. Wenn dies erkannt wurde, wird dann über CNT6 und 2L2 4,5 ms Platz angegeben. Wenn der Header korrekt ist, wird der Ausgang DFF0 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 steigenden Flanke des IR_CLK-Signals genommen, 0,845 ms nach der steigenden Flanke von IR_IN.

Die interpretierte Adresse wird dann unter Verwendung von 2LUT0 mit einer im PGEN gespeicherten Adresse verglichen. 2LUT0 ist ein XOR-Gatter, und der PGEN speichert die invertierte Adresse. Jedes Bit des PGEN wird sequentiell mit dem eingehenden Signal verglichen, und das Ergebnis jedes Vergleichs wird zusammen mit der steigenden Flanke von IR-CLK in DFF2 gespeichert.

Falls ein Fehler in der Adresse erkannt wurde, wird der 3-Bit-LUT5-SR-Latch-Ausgang auf High geändert, um einen Vergleich des Rests 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 gleich 18 sind: 16 Impulse für die Adresse zusätzlich zu den ersten beiden Impulsen (9ms, 4,5ms).

Für den Fall, dass die vollständige Adresse inklusive Header korrekt empfangen und im IC (in PGEN) gespeichert wurde, gibt der 3L3-OR-Gate-Ausgang das Signal Low an den zu aktivierenden nCSB-Pin des SPI. Der SPI beginnt folglich, den Befehl zu empfangen.

Der SLG46620 IC verfügt über 4 interne Register von 8 Bit Länge und ermöglicht somit die Speicherung von vier verschiedenen Befehlen. 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 # 0 und # 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; bei A1A0=00 wird der SPI-Ausgang mit Register 3 verglichen. Sind beide Werte gleich, liefert DCMP1 ein High-Signal an seinem EQ-Ausgang. Da A1A0 = 00, aktiviert dies 2L5, und DFF6 gibt folglich ein High-Signal aus, das anzeigt, dass das Signal Ein/Aus empfangen wurde. In ähnlicher Weise sind CNT7 und CNT8 für die restlichen Steuersignale als 'Both Edge Delay' konfiguriert, um eine Zeitverzögerung zu erzeugen und es 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 Timer-Befehl in Register 2 und der Geschwindigkeitsbefehl in Register 1 gespeichert.

Schritt 5: Geschwindigkeits-MUX

Geschwindigkeits-MUX
Geschwindigkeits-MUX

Um Geschwindigkeiten zu schalten, wurde ein 2-Bit-Binärzähler gebaut, dessen Eingangsimpuls von der externen Taste, die an Pin4 angeschlossen ist, oder vom IR-Geschwindigkeitssignal über P10 vom Befehlskomparator empfangen wird. 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 00-Zustand. 3-Bit-LUT7 wurde verwendet, um den 00-Zustand zu überspringen, da im ausgewählten Motor nur drei Geschwindigkeiten verfügbar sind. Das Ein/Aus-Signal muss High sein, um den Regelprozess zu aktivieren. Folglich wird, wenn das Ein/Aus-Signal Low ist, der aktivierte Ausgang deaktiviert und der Motor wird ausgeschaltet, wie in Abbildung 6 gezeigt.

Schritt 6: Timer

Timer
Timer
Timer
Timer

Ein 3-Perioden-Timer (30 min, 60 min, 120 min) ist implementiert. Um die Steuerungsstruktur zu erstellen, empfängt ein 2-Bit-Binärzähler Impulse von einem externen Timer-Taster, der an Pin13 angeschlossen ist, 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 gewählt wird. Im Ausgangszustand Out1, Out0 = 10 ist der Timer deaktiviert. Danach ändert sich durch Anlegen eines Impulses am Eingang CK für Pipe Delay1 der Ausgangszustand nacheinander auf 11, 01, 00, wodurch CNT/DLY in jeden aktivierten Zustand invertiert wird. CNT0, CNT3, CNT4 wurden für den Betrieb als 'Anstiegsflankenverzögerung' konfiguriert, deren Eingang vom Ausgang von CNT1 stammt, der so konfiguriert ist, dass er alle 10 Sekunden einen Impuls ausgibt.

Um eine Zeitverzögerung von 30 Minuten zu haben:

30 x 60 = 1800 Sekunden ÷ 10 Sekunden Intervalle = 180 Bits

Daher sind die Zählerdaten für CNT4 180, CNT3 360 und CNT0 720. Sobald die Zeitverzögerung beendet ist, wird ein High-Impuls über 3L14 an 3L11 gesendet, wodurch das System ausgeschaltet wird. Die Timer werden zurückgesetzt, wenn das System durch den an Pin12 angeschlossenen externen Taster oder durch das IR_ON/OFF-Signal ausgeschaltet wird.

*Sie können anstelle des elektromechanischen Relais ein Triac- oder Halbleiterrelais verwenden, wenn Sie einen elektronischen Schalter verwenden möchten.

* Für die Drucktaster wurde ein Hardware-Entpreller (Kondensator, Widerstand) verwendet.

Schritt 7: Ergebnisse

Ergebnisse
Ergebnisse
Ergebnisse
Ergebnisse
Ergebnisse
Ergebnisse

Als erster Schritt bei der Bewertung des Designs wurde der GreenPAK Software Simulator verwendet. An den Eingängen wurden virtuelle Schaltflächen erstellt und die externen LEDs gegenüber den Ausgängen auf dem Entwicklungsboard überwacht. Das Signal Wizard-Tool wurde verwendet, um zum Debuggen ein Signal ähnlich dem NEC-Format zu generieren.

Es wurde ein Signal mit dem Muster 0x00FF5FA0 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 Anfangszustand im AUS-Zustand, aber nachdem das Signal angelegt wurde, stellen wir fest, dass sich das System EINschaltet. Wenn ein einzelnes Bit in der Adresse geändert wurde und das Signal erneut angelegt wurde, bemerken wir, dass nichts passiert (inkompatible Adresse).

Abbildung 11 zeigt das Board nach einmaligem Starten des Signal Wizard (mit gültigem Ein/Aus-Befehl).

Abschluss

Dieses Instructable konzentriert sich auf die Konfiguration eines GreenPAK IC, der zur Steuerung eines 3-Gang-Wechselstrommotors entwickelt wurde. Es enthält eine Reihe von Funktionen wie Zyklusgeschwindigkeiten, die Generierung eines 3-Perioden-Timers und den Aufbau eines IR-Decoders, der mit dem NEC-Protokoll kompatibel ist. Das GreenPAK hat sich bei der Integration mehrerer Funktionen als effektiv erwiesen, alles in einer kostengünstigen und kleinflächigen IC-Lösung.

Empfohlen: