Inhoudsopgave:

Hoe IR-decoder te programmeren voor AC-motorbesturing met meerdere snelheden - Ajarnpa
Hoe IR-decoder te programmeren voor AC-motorbesturing met meerdere snelheden - Ajarnpa

Video: Hoe IR-decoder te programmeren voor AC-motorbesturing met meerdere snelheden - Ajarnpa

Video: Hoe IR-decoder te programmeren voor AC-motorbesturing met meerdere snelheden - Ajarnpa
Video: SKR 1.4 - TMC2209 v1.2 2024, November
Anonim
Hoe IR-decoder te programmeren voor AC-motorbesturing met meerdere snelheden
Hoe IR-decoder te programmeren voor AC-motorbesturing met meerdere snelheden

Enkelfasige wisselstroommotoren worden meestal aangetroffen in huishoudelijke artikelen zoals ventilatoren, en hun snelheid kan eenvoudig worden geregeld bij gebruik van een aantal discrete wikkelingen voor ingestelde snelheden. In deze Instructable bouwen we een digitale controller waarmee gebruikers functies zoals motorsnelheid en bedrijfstijd kunnen regelen. Deze Instructable bevat ook een infrarood ontvangercircuit dat het NEC-protocol ondersteunt, waarbij een motor kan worden bestuurd via drukknoppen of een signaal dat wordt ontvangen door een infraroodzender.

Om dit uit te voeren, wordt een GreenPAK™ gebruikt, de SLG46620 dient als een basiscontroller die verantwoordelijk is voor deze verschillende functies: een multiplexcircuit om één snelheid te activeren (van de drie snelheden), afteltimers met 3 perioden en een infrarooddecoder om te ontvangen een extern infrarood signaal, dat een gewenst commando extraheert en uitvoert.

Als we naar de functies van het circuit kijken, zien we verschillende discrete functies die tegelijkertijd worden gebruikt: MUXing, timing en IR-decodering. Fabrikanten gebruiken vaak veel IC's voor het bouwen van het elektronische circuit vanwege het ontbreken van een beschikbare unieke oplossing binnen één IC. Het gebruik van een GreenPAK IC stelt de fabrikanten in staat om een enkele chip te gebruiken voor het opnemen van veel van de gewenste functies en bijgevolg de systeemkosten en het toezicht op de fabricage te verminderen.

Het systeem met al zijn functies is getest om een goede werking te garanderen. Het eindcircuit kan speciale aanpassingen of aanvullende elementen vereisen die zijn afgestemd op de gekozen motor.

Om te controleren of het systeem nominaal werkt, zijn testgevallen voor de ingangen gegenereerd met behulp van de GreenPAK-ontwerpemulator. De emulatie verifieert verschillende testgevallen voor de uitgangen en de functionaliteit van de IR-decoder wordt bevestigd. Het uiteindelijke ontwerp wordt ook getest met een echte motor ter bevestiging.

Hieronder hebben we de stappen beschreven die nodig zijn om te begrijpen hoe de GreenPAK-chip is geprogrammeerd om de IR-decoder te maken voor AC-motorbesturing met meerdere snelheden. Als u echter alleen het resultaat van het programmeren wilt hebben, download dan GreenPAK-software om het reeds voltooide GreenPAK-ontwerpbestand te bekijken. Sluit de GreenPAK Development Kit aan op uw computer en druk op programma om de aangepaste IC te maken voor de IR-decoder voor AC-motorbesturing met meerdere snelheden.

Stap 1: AC-ventilatormotor met 3 snelheden

AC-ventilatormotor met 3 snelheden
AC-ventilatormotor met 3 snelheden
AC-ventilatormotor met 3 snelheden
AC-ventilatormotor met 3 snelheden

Wisselstroommotoren met 3 snelheden zijn enkelfasige motoren die worden aangedreven door wisselstroom. Ze worden vaak gebruikt in een breed scala aan huishoudelijke machines, zoals verschillende soorten ventilatoren (muurventilator, tafelventilator, boxventilator). Vergeleken met een DC-motor is het regelen van de snelheid in een wisselstroommotor relatief ingewikkeld, omdat de frequentie van de geleverde stroom moet veranderen om de motorsnelheid te veranderen. Apparaten zoals ventilatoren en koelmachines vereisen meestal geen fijne granulariteit in snelheid, maar vereisen discrete stappen zoals lage, gemiddelde en hoge snelheden. Voor deze toepassingen hebben AC-ventilatormotoren een aantal ingebouwde spoelen die zijn ontworpen voor verschillende snelheden, waarbij het wisselen van de ene snelheid naar de andere wordt bereikt door de spoel met de gewenste snelheid te bekrachtigen.

De motor die we in dit project gebruiken, is een AC-motor met 3 snelheden die 5 draden heeft: 3 draden voor snelheidsregeling, 2 draden voor voeding en een startcondensator zoals geïllustreerd in de afbeelding 2 hieronder. Sommige fabrikanten gebruiken standaard kleurgecodeerde draden voor functie-identificatie. Het gegevensblad van een motor toont de informatie van de specifieke motor voor draadidentificatie.

Stap 2: Projectanalyse

In deze Instructable is een GreenPAK IC geconfigureerd om een bepaald commando uit te voeren, ontvangen van een bron zoals een IR-zender of een externe knop, om een van de drie commando's aan te geven:

Aan/Uit: het systeem wordt in- of uitgeschakeld bij elke interpretatie van dit commando. De toestand van Aan/Uit wordt omgekeerd bij elke stijgende flank van het Aan/Uit-commando.

Timer: de timer wordt gebruikt voor 30, 60 en 120 minuten. Bij de vierde puls wordt de timer uitgeschakeld en keert de timerperiode terug naar de oorspronkelijke timingstatus.

Snelheid: regelt de snelheid van de motor, waarbij achtereenvolgens de geactiveerde uitgang van de snelheidsselectiedraden van de motor (1, 2, 3) wordt herhaald.

Stap 3: IR-decoder:

IR-decoder
IR-decoder

Een IR-decoderschakeling is gebouwd om signalen van een externe IR-zender te ontvangen en het gewenste commando te activeren. We hebben het NEC-protocol overgenomen vanwege de populariteit onder fabrikanten. NEC-protocol gebruikt "pulsafstand" om elk bit te coderen; elke puls kost 562,5 ons om te worden verzonden met behulp van het signaal van een 38 kHz-frequentiedrager. De verzending van een logisch 1-signaal duurt 2,25 ms, terwijl de verzending van een logisch 0-signaal 1,125 ms duurt. Figuur 3 illustreert de pulstreintransmissie volgens het NEC-protocol. Het bestaat uit 9 ms AGC-burst, dan 4,5 ms ruimte, dan het 8-bits adres en tenslotte het 8-bits commando. Merk op dat het adres en de opdracht twee keer worden verzonden; de tweede keer is 1's complement (alle bits zijn omgekeerd) als pariteit om ervoor te zorgen dat het ontvangen bericht correct is. LSB wordt als eerste in het bericht verzonden.

Stap 4: GreenPAK-ontwerp

GreenPAK-ontwerp
GreenPAK-ontwerp
GreenPAK-ontwerp
GreenPAK-ontwerp

De relevante bits van het ontvangen bericht worden in verschillende fasen geëxtraheerd. Om te beginnen wordt het begin van het bericht gespecificeerd vanaf 9 ms AGC-burst met behulp van CNT2 en 2-bit LUT1. Als dit is gedetecteerd, wordt de ruimte van 4,5 ms gespecificeerd via CNT6 en 2L2. Als de header correct is, wordt de DFF0-uitgang ingesteld op Hoog om ontvangst van het adres mogelijk te maken. De blokken CNT9, 3L0, 3L3 en P DLY0 worden gebruikt om de klokpulsen uit het ontvangen bericht te halen. De bitwaarde wordt genomen bij de stijgende flank van het IR_CLK-signaal, 0,845 ms vanaf de stijgende flank van IR_IN.

Het geïnterpreteerde adres wordt vervolgens vergeleken met een adres dat is opgeslagen in de PGEN met behulp van 2LUT0. 2LUT0 is een XOR-poort en de PGEN slaat het geïnverteerde adres op. Elk bit van de PGEN wordt sequentieel vergeleken met het binnenkomende signaal en het resultaat van elke vergelijking wordt opgeslagen in DFF2 samen met de stijgende flank van IR-CLK.

Als er een fout is gedetecteerd in het adres, wordt de 3-bit LUT5 SR-latch-uitgang gewijzigd in Hoog om te voorkomen dat de rest van het bericht (de opdracht) wordt vergeleken. Als het ontvangen adres overeenkomt met het opgeslagen adres in PGEN, wordt de tweede helft van het bericht (commando en omgekeerd commando) naar SPI gestuurd zodat het gewenste commando kan worden gelezen en uitgevoerd. CNT5 en DFF5 worden gebruikt om het einde van het adres en het begin van de opdracht te specificeren, waarbij 'Tellergegevens' van CNT5 gelijk is aan 18: 16 pulsen voor het adres naast de eerste twee pulsen (9 ms, 4,5 ms).

In het geval dat het volledige adres, inclusief header, correct is ontvangen en opgeslagen in het IC (in PGEN), geeft de 3L3 OR Gate-uitgang het signaal Laag naar SPI's nCSB-pin om te worden geactiveerd. De SPI begint dus het commando te ontvangen.

De SLG46620 IC heeft 4 interne registers van 8 bit lengte en het is dus mogelijk om vier verschillende commando's op te slaan. DCMP1 wordt gebruikt om het ontvangen commando te vergelijken met de interne registers en er is een 2-bit binaire teller ontworpen waarvan de A1A0-uitgangen zijn verbonden met MTRX SEL # 0 en #1 van DCMP1 om het ontvangen commando achtereenvolgens en continu te vergelijken met alle registers.

Een decoder met vergrendeling werd geconstrueerd met behulp van DFF6, DFF7, DFF8 en 2L5, 2L6, 2L7. Het ontwerp werkt als volgt; als A1A0=00 wordt de SPI-uitgang vergeleken met register 3. Als beide waarden gelijk zijn, geeft DCMP1 een Hoog signaal aan zijn EQ-uitgang. Aangezien A1A0=00, activeert dit 2L5 en geeft DFF6 bijgevolg een hoog signaal af om aan te geven dat het signaal aan/uit is ontvangen. Evenzo zijn CNT7 en CNT8 voor de rest van de besturingssignalen geconfigureerd als 'Beide Edge Delay' om een tijdvertraging te genereren en de DCMP1 in staat te stellen de status van zijn uitvoer te wijzigen voordat de waarde van de uitvoer wordt vastgehouden door de DFF's.

De waarde van het aan/uit-commando wordt opgeslagen in register 3, timercommando in register 2 en snelheidscommando in register 1.

Stap 5: Snelheid MUX

Snelheid MUX
Snelheid MUX

Om snelheden te schakelen, werd een 2-bits binaire teller gebouwd waarvan de ingangspuls wordt ontvangen door de externe knop die is aangesloten op Pin4 of van het IR-snelheidssignaal via P10 van de opdrachtcomparator. In de begintoestand Q1Q0 =11, en door een puls op de ingang van de teller van 3-bit LUT6 toe te passen, wordt Q1Q0 achtereenvolgens 10, 01 en dan de 00-toestand. 3-bit LUT7 werd gebruikt om de 00-status over te slaan, aangezien er slechts drie snelheden beschikbaar zijn in de gekozen motor. Het aan/uit-signaal moet Hoog zijn om het regelproces te activeren. Als het aan/uit-signaal laag is, wordt de geactiveerde uitgang uitgeschakeld en wordt de motor uitgeschakeld zoals weergegeven in afbeelding 6.

Stap 6: Timer

Timer
Timer
Timer
Timer

Een timer met 3 perioden (30 min, 60 min, 120 min) is geïmplementeerd. Om de besturingsstructuur te creëren, ontvangt een 2-bits binaire teller pulsen van een externe timerknop die is aangesloten op pin 13 en van het IR-timersignaal. De teller gebruikt Pipe Delay1, waarbij Out0 PD num gelijk is aan 1 en Out1 PD num gelijk is aan 2 door een omgekeerde polariteit te selecteren voor Out1. In de begintoestand Out1, Out0 = 10, is de timer uitgeschakeld. Daarna, door een puls toe te passen op de ingang CK voor Pipe Delay1, verandert de uitgangsstatus achtereenvolgens in 11, 01, 00, waarbij de CNT/DLY wordt omgekeerd naar elke geactiveerde status. CNT0, CNT3, CNT4 zijn geconfigureerd om te werken als 'Rising Edge Delays' waarvan de invoer afkomstig is van de uitvoer van CNT1, die is geconfigureerd om elke 10 seconden een puls te geven.

Om een vertraging van 30 minuten te hebben:

30 x 60 = 1800 seconden ÷ intervallen van 10 seconden = 180 bits

Daarom is Tellergegevens voor CNT4 180, CNT3 is 360 en CNT0 is 720. Zodra de tijdvertraging is verstreken, wordt een hoge puls verzonden via 3L14 naar 3L11 waardoor het systeem wordt uitgeschakeld. De timers worden gereset als het systeem wordt uitgeschakeld door de externe knop die is aangesloten op Pin12 of door het IR_ON/OFF-signaal.

*U kunt een triac- of solid-state relais gebruiken in plaats van een elektromechanisch relais als u een elektronische schakelaar wilt gebruiken.

* Voor de drukknoppen is een hardware debouncer (condensator, weerstand) gebruikt.

Stap 7: Resultaten

Resultaten
Resultaten
Resultaten
Resultaten
Resultaten
Resultaten

Als eerste stap in de evaluatie van het ontwerp werd de GreenPAK Software Simulator gebruikt. Virtuele knoppen zijn gemaakt op de ingangen en de externe LED's tegenover de uitgangen op het ontwikkelbord werden gecontroleerd. De Signal Wizard-tool werd gebruikt om een signaal te genereren dat vergelijkbaar is met NEC Format om te kunnen debuggen.

Er is een signaal gegenereerd met het patroon 0x00FF5FA0, waarbij 0x00FF het adres is dat overeenkomt met het geïnverteerde adres dat is opgeslagen in de PGEN, en 0x5FA0 het commando is dat overeenkomt met het geïnverteerde commando in DCMP-register 3 om de aan/uit-functionaliteit te regelen. Het systeem in de beginstatus is in de UIT-status, maar nadat het signaal is toegepast, merken we dat het systeem AAN wordt gezet. Als een enkele bit in het adres is gewijzigd en het signaal opnieuw is toegepast, merken we dat er niets gebeurt (incompatibel adres).

Afbeelding 11 geeft de kaart weer nadat de Signal Wizard een keer is gestart (met geldige aan/uit-opdracht).

Conclusie

Deze Instructable draait om de configuratie van een GreenPAK IC die is ontworpen om een AC-motor met 3 snelheden te besturen. Het bevat een aantal functies, zoals fietssnelheden, het genereren van een timer met 3 perioden en het bouwen van een IR-decoder die compatibel is met het NEC-protocol. De GreenPAK heeft bewezen effectief te zijn bij het integreren van verschillende functies, allemaal in een goedkope en kleine IC-oplossing.

Aanbevolen: