INHOUDSOPGAWE:

Hoe om 'n IR-dekodeerder vir meervoudige wisselmotorbeheer te programmeer: 7 stappe
Hoe om 'n IR-dekodeerder vir meervoudige wisselmotorbeheer te programmeer: 7 stappe

Video: Hoe om 'n IR-dekodeerder vir meervoudige wisselmotorbeheer te programmeer: 7 stappe

Video: Hoe om 'n IR-dekodeerder vir meervoudige wisselmotorbeheer te programmeer: 7 stappe
Video: Hoe maak je een MT8870 DTMF telefoon audio-decoder? 2024, November
Anonim
Hoe om 'n IR-dekodeerder te programmeer vir meervoudige wisselmotorbeheer
Hoe om 'n IR-dekodeerder te programmeer vir meervoudige wisselmotorbeheer

Enkelfasige wisselstroommotors word gewoonlik in huishoudelike items soos waaiers aangetref, en hul snelheid kan maklik beheer word wanneer 'n aantal diskrete wikkelinge vir vasgestelde snelhede gebruik word. In hierdie instruksies bou ons 'n digitale kontroleerder waarmee gebruikers funksies soos motorsnelheid en werktyd kan beheer. Hierdie instruksie bevat ook 'n infrarooi ontvanger -kring wat die NEC -protokol ondersteun, waar 'n motor met drukknoppies of 'n sein wat deur 'n infrarooi sender ontvang word, beheer kan word.

Om dit uit te voer, word 'n GreenPAK ™ gebruik, SLG46620 dien as 'n basiese beheerder wat verantwoordelik is vir hierdie uiteenlopende funksies: 'n multiplex-kring om een spoed (uit drie snelhede) te aktiveer, afteltydtellers van drie periodes en 'n infrarooi dekodeerder om te ontvang 'n eksterne infrarooi sein wat die gewenste opdrag onttrek en uitvoer.

As ons na funksies van die stroombaan kyk, let ons op verskillende funksies wat gelyktydig gebruik word: MUXing, tydsberekening en IR -dekodering. Vervaardigers gebruik dikwels baie IC's vir die bou van die elektroniese stroombaan as gevolg van die gebrek aan 'n beskikbare unieke oplossing binne 'n enkele IC. Die gebruik van 'n GreenPAK IC stel die vervaardigers in staat om 'n enkele chip te gebruik om baie van die gewenste funksies op te neem en gevolglik die stelselkoste en toesig oor die vervaardiging te verminder.

Die stelsel met al sy funksies is getoets om 'n behoorlike werking te verseker. Die finale kring kan spesiale aanpassings of bykomende elemente benodig wat op die gekose motor pas.

Met die hulp van die GreenPAK -ontwerper -emulator om te kontroleer of die stelsel normaal werk. Die emulasie verifieer verskillende toetsgevalle vir die uitsette, en die funksionaliteit van die IR -dekodeerder word bevestig. Die finale ontwerp word ook getoets met 'n werklike motor ter bevestiging.

Hieronder het ons die nodige stappe beskryf, om te verstaan hoe die GreenPAK-chip geprogrammeer is om die IR-dekodeerder vir meervoudige AC-motorbeheer te skep. As u egter net die resultaat van die programmering wil kry, laai GreenPAK -sagteware af om die reeds voltooide GreenPAK -ontwerplêer te sien. Koppel die GreenPAK Development Kitto aan u rekenaar en klik op die program om die pasgemaakte IC vir die IR-dekodeerder vir multi-speed AC motorbeheer te skep.

Stap 1: 3-speed AC fan motor

3-speed AC fan motor
3-speed AC fan motor
3-speed AC fan motor
3-speed AC fan motor

3-spoed wisselmotors is enkelfasige motors wat deur 'n wisselstroom aangedryf word. Hulle word gereeld gebruik in 'n wye verskeidenheid huishoudelike masjiene, soos verskillende soorte waaiers (muurwaaier, tafelwaaier, waaier). In vergelyking met 'n GS -motor, is die beheer van spoed in 'n wisselstroommotor relatief ingewikkeld, aangesien die frekwensie van die gelewer stroom moet verander om die motorsnelheid te verander. Toestelle soos waaiers en koelmasjiene benodig gewoonlik nie 'n fyn korrelasie in spoed nie, maar vereis diskrete stappe soos lae, medium en hoë snelhede. Vir hierdie toepassings het AC-waaiermotors 'n aantal ingeboude spoele wat ontwerp is vir verskeie snelhede, waar die verandering van een spoed na 'n ander bereik word deur die spoel van die gewenste snelheid aan te wakker.

Die motor wat ons in hierdie projek gebruik, is 'n driegang-wisselstroommotor met 5 drade: 3 drade vir spoedbeheer, 2 drade vir krag en 'n aanvangskondensator soos geïllustreer in die figuur 2 hieronder. Sommige vervaardigers gebruik standaard gekleurde drade vir funksie -identifikasie. 'N Motor se datablad sal die spesifieke motor se inligting vir draadidentifikasie toon.

Stap 2: Projekanalise

In hierdie instruksies is 'n GreenPAK IC gekonfigureer om 'n gegewe opdrag uit te voer, ontvang van 'n bron soos 'n IR -sender of 'n eksterne knoppie, om een van drie opdragte aan te dui:

Aan/af: die stelsel word aangeskakel of afgeskakel met elke interpretasie van hierdie opdrag. Die toestand van Aan/Uit word omgekeer met elke stygende rand van die aan/af -opdrag.

Timer: die timer word 30, 60 en 120 minute lank gebruik. By die vierde pols word die tydskakelaar afgeskakel en die tydsduur keer terug na die oorspronklike tydsberekening.

Snelheid: Beheer die snelheid van die motor en herhaal die geaktiveerde uitset agtereenvolgens van die motor se spoedkeuse-drade (1, 2, 3).

Stap 3: IR -dekodeerder

IR dekodeerder
IR dekodeerder

'N IR -dekodeerkring is gebou om seine van 'n eksterne IR -sender te ontvang en om die gewenste opdrag te aktiveer. Ons het die NEC -protokol aanvaar vanweë die gewildheid onder vervaardigers. NEC -protokol gebruik 'polsafstand' om elke bietjie te kodeer; elke pols neem 562,5 ons om deur die sein van 'n 38 kHz frekwensie draer oorgedra te word. Die oordrag van 'n logiese 1 -sein vereis 2,25 ms, terwyl die oordrag van 'n logiese 0 -sein 1,125 ms neem. Figuur 3 illustreer die polstertransmissie volgens die NEC -protokol. Dit bestaan uit 9 ms AGC burst, dan 4,5 ms spasie, dan die 8-bis adres, en uiteindelik die 8-bis opdrag. Let daarop dat die adres en die opdrag twee keer oorgedra word; die tweede keer is 1 se komplement (al die stukkies is omgekeer) as pariteit om te verseker dat die ontvangde boodskap korrek is. LSB word eerste in die boodskap oorgedra.

Stap 4: GreenPAK -ontwerp

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

Die relevante stukkies van die ontvangde boodskap word oor verskeie fases onttrek. Om mee te begin, word die begin van die boodskap gespesifiseer vanaf 9 ms AGC-burst met CNT2 en 2-bis LUT1. As dit opgespoor is, word 4,5ms ruimte dan deur CNT6 en 2L2 gespesifiseer. As die opskrif korrek is, is die DFF0 -uitset Hoog gestel om ontvangs van die adres moontlik te maak. Die blokke CNT9, 3L0, 3L3 en P DLY0 word gebruik om die klokpulse uit die ontvangde boodskap te onttrek. Die bitwaarde word geneem op die stygende rand van IR_CLK -sein, 0,845ms vanaf die stygende rand van IR_IN.

Die geïnterpreteerde adres word dan vergelyk met 'n adres wat binne die PGEN gestoor is met behulp van 2LUT0. 2LUT0 is 'n XOR -hek, en die PGEN stoor die omgekeerde adres. Elke bietjie van die PGEN word opeenvolgend vergelyk met die inkomende sein, en die resultate van elke vergelyking word in DFF2 gestoor saam met die stygende rand van IR-CLK.

As daar 'n fout in die adres opgemerk word, word die 3-bis LUT5 SR-grendeluitset na Hoog verander om die res van die boodskap (die opdrag) te vergelyk. As die ontvangde adres ooreenstem met die gestoorde adres in PGEN, word die tweede helfte van die boodskap (command & inverted command) na SPI gerig sodat die gewenste opdrag gelees en uitgevoer kan word. CNT5 en DFF5 word gebruik om die einde van die adres en die begin van die opdrag te spesifiseer waar 'Teldata' van CNT5 gelyk is aan 18: 16 pulse vir die adres, benewens die eerste twee pulse (9ms, 4.5ms).

In die geval dat die volledige adres, insluitend kop, korrek ontvang en in die IC gestoor is (in PGEN), gee die 3L3 OF Gate -uitset die sein Laag aan die SPC se nCSB -pen om geaktiveer te word. Die SPI begin gevolglik die opdrag ontvang.

Die SLG46620 IC het 4 interne registers van 8-bits lengte en dit is dus moontlik om vier verskillende opdragte te stoor. DCMP1 word gebruik om die opdrag wat ontvang is met die interne registers te vergelyk, en 'n 2-bis binêre teller word ontwerp, waarvan die A1A0-uitsette gekoppel is aan MTRX SEL # 0 en # 1 van DCMP1 om die opdrag wat ontvang is opeenvolgend en deurlopend met al die registers te vergelyk.

'N Dekoder met grendel is gemaak met behulp van DFF6, DFF7, DFF8 en 2L5, 2L6, 2L7. Die ontwerp werk soos volg; as A1A0 = 00 word die SPI -uitset vergelyk met register 3. As beide waardes gelyk is, gee DCMP1 'n hoë sein by sy EQ -uitset. Aangesien A1A0 = 00 geaktiveer word, aktiveer dit 2L5, en DFF6 gee gevolglik 'n hoë sein uit wat aandui dat die sein aan/af ontvang is. Net so word CNT7 en CNT8 vir die res van die beheerseine gekonfigureer as 'Both Edge Delay' om 'n tydvertraging te genereer en die DCMP1 in staat te stel om die toestand van sy uitset te verander voordat die waarde van die uitset deur die DFF's gehou word.

Die waarde van die aan/af -opdrag word gestoor in register 3, timeropdrag in register 2 en spoedopdrag in register 1.

Stap 5: Spoed MUX

Spoed MUX
Spoed MUX

Om die snelheid te verander, is 'n 2-bis binêre teller gebou, waarvan die invoerpuls ontvang word deur die eksterne knoppie wat aan Pin4 gekoppel is, of vanaf die IR-spoedsein deur P10 van die opdragvergelyker. In die aanvanklike toestand Q1Q0 = 11, en deur 'n puls op die ingang van die teller van 3bit LUT6 toe te pas, word Q1Q0 agtereenvolgens 10, 01, en dan die toestand 00. 3-bis LUT7 is gebruik om die 00-toestand oor te slaan, aangesien slegs drie snelhede in die gekose motor beskikbaar is. Die aan/af -sein moet hoog wees om die beheerproses te aktiveer. As die aan/af -sein dus laag is, word die geaktiveerde uitset gedeaktiveer en word die motor afgeskakel, soos getoon in figuur 6.

Stap 6: Timer

Timer
Timer
Timer
Timer

'N Timer van drie periodes (30 min, 60 min, 120 min) word geïmplementeer. Om die beheerstruktuur te skep, ontvang 'n 2-bis binêre teller pulse van 'n eksterne timerknoppie wat gekoppel is aan Pin13 en van die IR Timer-sein. Die toonbank gebruik Pypvertraging1, waar Out0 PD num gelyk is aan 1 en Out1 PD num gelyk is aan 2 deur 'n omgekeerde polariteit vir Out1 te kies. In die aanvanklike toestand Out1, Out0 = 10, is die tydopnemer gedeaktiveer. Daarna, deur 'n puls op die ingang CK vir Pypvertraging1 toe te pas, verander die uitsettoestand na 11, 01, 00 agtereenvolgens, en draai die CNT/DLY om na elke geaktiveerde toestand. CNT0, CNT3, CNT4 is gekonfigureer om te werk as 'Rising Edge Delays', waarvan die insette afkomstig is van die uitset van CNT1, wat ingestel is om elke 10 sekondes 'n puls te gee.

Om 'n tydsvertraging van 30 minute te hê:

30 x 60 = 1800 sekondes ÷ 10 sekondes intervalle = 180 bisse

Daarom is die teendata vir CNT4 180, CNT3 360 en CNT0 720. Sodra die tydvertraging klaar is, word 'n hoë pols deur 3L14 na 3L11 oorgedra, wat veroorsaak dat die stelsel afskakel. Die tydtellers word herstel as die stelsel afgeskakel word deur die eksterne knoppie wat aan Pin12 gekoppel is of deur die IR_ON/OFF -sein.

*U kan 'n triac- of solid state -relais gebruik in plaas van elektromeganiese relais as u 'n elektroniese skakelaar wil gebruik.

* 'N Hardeware -ontkoppelaar (kondensator, weerstand) is gebruik vir die drukknoppies.

Stap 7: Resultate

Resultate
Resultate
Resultate
Resultate
Resultate
Resultate

As die eerste stap in die evaluering van die ontwerp, is die GreenPAK Software Simulator gebruik. Virtuele knoppies is op die insette gemaak en die eksterne LED's teenoor die uitsette op die ontwikkelingsbord is gemonitor. Die seinwizard -instrument is gebruik om 'n sein soortgelyk aan die NEC -formaat te genereer ter ontfouting.

'N Sein met die patroon 0x00FF5FA0 is gegenereer, waar 0x00FF die adres is wat ooreenstem met die omgekeerde adres wat in die PGEN gestoor is, en 0x5FA0 is die opdrag wat ooreenstem met die omgekeerde opdrag in DCMP -register 3 om die aan/af -funksie te beheer. Die stelsel in die aanvanklike toestand is in die UIT -toestand, maar nadat die sein aangewend is, let ons op die stelsel word aangeskakel. As 'n enkele bietjie in die adres verander is en die sein weer toegedien is, let ons op niks gebeur nie (onversoenbare adres).

Figuur 11 bied die bord aan nadat die seinassistent vir 'n keer begin is (met 'n geldige aan/af -opdrag).

Afsluiting

Hierdie instruksies fokus op die konfigurasie van 'n GreenPAK IC wat ontwerp is om 'n 3-spoed wisselmotor te bestuur. Dit bevat 'n aantal funksies, soos fietsrysnelhede, die opwekking van 'n timer vir drie periodes en die bou van 'n IR-dekodeerder wat versoenbaar is met die NEC-protokol. Die GreenPAK het doeltreffendheid getoon om verskeie funksies te integreer, alles in 'n goedkoop en klein gebied IC oplossing.

Aanbeveel: