- Tarvittavat komponentit
- AC-tuulettimen ohjauksen käyttö Arduinolla
- 1. Nollan ylitysilmaisin
- 2. Vaihekulmaa ohjaava piiri
- 3. Potentiometri tuulettimen nopeuden säätämiseksi
- 4. PWM-signaalin generointiyksikkö
- Piirikaavio
- Arduinon ohjelmointi vaihtovirtapuhaltimen nopeuden ohjausta varten
VAROITUS!! Tässä projektissa esitetty piirikaavio on tarkoitettu vain koulutustarkoituksiin. Huomaa, että 220 V: n verkkojännitteellä työskentely vaatii äärimmäistä varovaisuutta ja noudatettava turvallisuusohjeita. Älä koske mihinkään komponenttiin tai johtoon, kun piiri on toiminnassa.
Minkä tahansa kodinkoneen on helppo kytkeä päälle tai pois päältä kytkimellä tai käyttämällä jotain ohjausmekanismia, kuten teimme monissa Arduino-pohjaisissa koti-automaatioprojekteissa. Mutta on monia sovelluksia, joissa meidän on ohjattava vaihtovirtaa osittain, esimerkiksi tuulettimen nopeuden tai lampun voimakkuuden säätämiseksi. Tässä tapauksessa käytetään PWM-tekniikkaa, joten tässä opitaan, kuinka Arduinon luomaa PWM: ää käytetään vaihtovirtapuhaltimen nopeuden säätämiseen Arduinolla.
Tässä projektissa esitellään Arduino AC -tuulettimen nopeuden säätö TRIAC: n avulla. Tässä AC-signaalin vaiheenohjausmenetelmää käytetään vaihtovirtapuhaltimen nopeuden säätämiseen käyttämällä Arduinon tuottamia PWM-signaaleja. Edellisessä opetusohjelmassa hallitsimme DC-tuulettimen nopeutta PWM: n avulla.
Tarvittavat komponentit
- Arduino UNO
- 4N25 (nolla ylitysilmaisin)
- 10k potentiometri
- MOC3021 0pto-liitin
- (0-9) V, 500 mA: n porrastettu muuntaja
- BT136 TRIAC
- 230 VAC Aksiaalinen AC-tuuletin
- Johtojen liittäminen
- Vastukset
AC-tuulettimen ohjauksen käyttö Arduinolla
Työt voidaan jakaa neljään eri osaan. Ne ovat seuraavat
1. Nollan ylitysilmaisin
2. Vaihekulman säätöpiiri
3. Potentiometri tuulettimen nopeuden säätämiseen
4. PWM-signaalin generointipiiri
1. Nollan ylitysilmaisin
Kotitalouksissamme oleva vaihtovirta on 220 V AC RMS, 50 HZ. Tämä vaihtosignaali on luonteeltaan vuorotteleva ja muuttaa sen napaisuutta säännöllisesti. Jokaisen jakson ensimmäisellä puoliskolla se virtaa yhteen suuntaan saavuttaen huippujännitteen ja laskee sitten nollaan. Sitten seuraavalla puoliskolla se virtaa vaihtosuunnassa (negatiivinen) huippujännitteeseen ja tulee sitten jälleen nollaan. AC-tuulettimen nopeuden säätämiseksi molempien puolijaksojen huippujännite on katkaistava tai ohjattava. Tätä varten meidän on tunnistettava nollapiste, josta signaalia ohjataan / katkaistaan. Tätä jännitekäyrän kohtaa, jossa jännite muuttaa suuntaa, kutsutaan nollajännitteen ylitykseksi.
Alla esitetty piiri on nollan ylityksen ilmaisinpiiri, jota käytetään nollan ylityspisteen saamiseksi. Ensinnäkin 220 V: n vaihtojännite lasketaan 9 V: n vaihtovirtaan alaskäynnistysmuuntajalla ja syötetään sitten 4N25-optoerottimeen napoissa 1 ja 2. 4N25-optoerottimessa on sisäänrakennettu LED, jossa on nasta 1 anodina ja nasta 2 katodi. Joten alla olevan piirin mukaisesti, kun vaihtovirta-aalto menee lähemmäksi nollapistettä, 4N25: n sisäänrakennettu LED sammuu ja seurauksena myös 4N25: n lähtötransistori sammuu ja lähtöpulssitappi vedä jopa 5 V: iin. Vastaavasti, kun signaali kasvaa asteittain huippuunkohta, sitten LED syttyy ja transistori sammuu myös maadoitustapin ollessa kytkettynä lähtötappiin, mikä tekee tästä nastasta 0V. Tämän pulssin avulla nollan ylityskohta voidaan havaita Arduinolla.
2. Vaihekulmaa ohjaava piiri
Nollapisteen havaitsemisen jälkeen meidän on nyt kontrolloitava ajoituksen määrää, jolle virta on päällä ja pois päältä. Tämä PWM-signaali päättää vaihtovirtamoottorin ulostulojännitteen määrän, joka puolestaan ohjaa sen nopeutta. Tässä käytetään BT136 TRIAC: ta, joka ohjaa vaihtojännitettä, koska se on tehoelektroninen kytkin vaihtojännitesignaalin ohjaamiseksi.
TRIAC on kolmen päätelaitteen vaihtokytkin, joka voidaan laukaista pienenergiasignaalilla porttipäätteessään. SCR: ssä se johtaa vain yhteen suuntaan, mutta TRIAC: n tapauksessa tehoa voidaan ohjata molempiin suuntiin. Saat lisätietoja TRIAC: sta ja SCR: stä noudattamalla edellisiä artikkeleitamme.
Kuten yllä olevassa kuvassa on esitetty, TRIAC laukaistaan 90 asteen polttokulmassa kohdistamalla siihen pieni hilapulssisignaali. Aika “t1” on viiveaika, joka annetaan himmennysvaatimuksen mukaisesti. Esimerkiksi tässä tapauksessa ampumakulma on 90 prosenttia, joten myös teho puolittuu ja siten lamppu hehkuu myös puolet voimakkuudesta.
Tiedämme, että vaihtosignaalin taajuus on tässä 50 Hz. Joten ajanjakso on 1 / f, joka on 20 ms. Puolen jakson ajan tämä on 10 ms tai 10000 mikrosekuntia. AC-lampun tehon säätämiseksi alue “t1” voi vaihdella välillä 0-10000 mikrosekuntia.
Optoerotin:
Optoeristin tunnetaan myös nimellä Optoisolator. Sitä käytetään kahden sähköpiirin, kuten DC- ja AC-signaalien, eristämisen ylläpitämiseen. Pohjimmiltaan se koostuu infrapunavaloa lähettävästä LEDistä ja sen tunnistavasta valosensorista. Tässä MOC3021-optoeristintä käytetään vaihtovirtapuhaltimen ohjaamiseen mikrokontrollerisignaaleista, joka on DC-signaali.
TRIAC- ja Optocoupler-liitäntäkaavio:
3. Potentiometri tuulettimen nopeuden säätämiseksi
Tässä potentiometriä käytetään vaihtamaan tuulettimen nopeutta. Tiedämme, että potentiometri on 3-päätelaite, joka toimii jännitteenjakajana ja tarjoaa vaihtelevan jännitelähdön. Tämä vaihteleva analoginen lähtöjännite annetaan Arduino-analogiatuloliittimessä vaihtovirtapuhaltimen nopeusarvon asettamiseksi.
4. PWM-signaalin generointiyksikkö
Viimeisessä vaiheessa TRIAC: lle annetaan PWM-pulssi nopeusvaatimusten mukaisesti, mikä puolestaan muuttaa AC-signaalin ON / OFF-ajoitusta ja tarjoaa vaihtelevan ulostulon puhaltimen nopeuden ohjaamiseksi. Arduinoa käytetään tässä tuottamaan PWM-pulssi, joka ottaa tulon potentiometristä ja antaa PWM-signaalin lähdön TRIAC- ja optoerotinpiirille, joka edelleen ohjaa vaihtovirtapuhallinta halutulla nopeudella. Lisätietoja PWM-sukupolvesta Arduinoa käyttämällä täällä.
Piirikaavio
Tämän Arduino-pohjaisen 230 V: n tuulettimen nopeuden säätöpiirin kytkentäkaavio on annettu alla:
Huomaa: Olen osoittanut koko piirin leipälaudalla vain ymmärtämisen vuoksi. Älä käytä 220 V: n vaihtovirtalähdettä suoraan leipälautallasi, olen käyttänyt pisteviivaa liitäntöjen tekemiseen, kuten alla olevasta kuvasta näet
Arduinon ohjelmointi vaihtovirtapuhaltimen nopeuden ohjausta varten
Laitteistoyhteyden jälkeen meidän on kirjoitettava koodi Arduinolle, joka tuottaa PWM-signaalin AC-signaalin PÄÄLLE / POIS-ajastuksen ohjaamiseksi potentiometrin tulolla. Aikaisemmin käytimme PWM-tekniikoita monissa projekteissa.
Tämän Arduino AC -tuulettimen nopeuden säätöprojektin täydellinen koodi on tämän projektin alaosassa. Koodin vaiheittainen selitys on annettu alla.
Ilmoita ensimmäisessä vaiheessa kaikki vaaditut muuttujat, joita aiotaan käyttää koko koodissa. Tässä BT136 TRIAC on kytketty Arduinon nastaan 6. Ja muuttujan speed_val ilmoitetaan tallentavan nopeusaskeleen arvon.
int TRIAC = 6; int nopeusarvo = 0;
Seuraavaksi sisällä setup toiminto, julistaa TRIAC PIN ulostulon PWM-lähtö syntyy kautta tappi. Määritä sitten keskeytys nollan ylityksen havaitsemiseksi. Tässä olemme käyttäneet funktiota nimeltä attachInterrupt, joka määrittää Arduinon digitaalisen nastan 3 ulkoiseksi keskeytykseksi ja kutsuu funktiota nimeltä zero_crossing, kun se havaitsee keskeytyksiä nastassaan.
void setup () {pinMode (LAMP, OUTPUT); attachInterrupt (digitalPinToInterrupt (3), nollaristeys, CHANGE); }
Lue äärettömän silmukan sisällä analogiarvo potentiometristä, joka on kytketty kohtaan A0, ja kartoita se arvoalueelle (10-49).
Tämän alueen selvittämiseksi meidän on tehtävä pieni laskelma. Aikaisemmin sanotaan, että jokainen puolisykli vastaa 10000 mikrosekuntia. Joten tässä himmennystä ohjataan 50 askelella, mikä on mielivaltainen arvo ja jota voidaan muuttaa. Tällöin vähimmäisvaiheet ovat 10, ei nolla, koska 0–9 askelta antavat suunnilleen saman tehon ja maksimivaiheet 49, koska ylärajaa (tässä tapauksessa 50) ei käytännössä suositella.
Tällöin jokainen vaihe-aika voidaan laskea 10000/50 = 200 mikrosekuntia. Tätä käytetään koodin seuraavassa osassa.
void loop () {int pot = analogRead (A0); int data1 = kartta (potti, 0, 1023,10,49); nopeus_arvo = data1; }
Määritä viimeisessä vaiheessa keskeytysohjattu toiminto zero_crossing. Tässä himmennysaika voidaan laskea kertomalla yksittäinen askelaika ei. vaiheista. Tämän viiveen jälkeen TRIAC voidaan laukaista käyttämällä pientä 10 mikrosekunnin suurta pulssia, joka on riittävä TRIAC: n kytkemiseksi päälle.
void zero_crossing () {int chop_time = (200 * nopeus_val); delayMicroseconds (chop_time); digitalWrite (TRIAC, HIGH); viive mikrosekuntia (10); digitalWrite (TRIAC, LOW); }
Täydellinen koodi ja toimiva video tälle AC-tuulettimen ohjaukselle Arduinoa ja PWM: ää käyttäen on annettu alla.