- Naudoti komponentai:
- Nulio kirtimo aptikimo technika
- „TRIAC“ veikia
- Optronas
- Grandinės schema:
- „Arduino“ programavimas kintamosios srovės šviesos reguliatoriui:
- „Arduino“ lempos reguliatoriaus grandinės darbas
Mūsų namų ūkyje dauguma prietaisų yra maitinami iš kintamosios srovės maitinimo šaltinių, tokių kaip žibintai, televizoriai, ventiliatoriai ir tt Bet ką daryti, jei mums reikia valdyti tų prietaisų galią, pavyzdžiui, norint pritemdyti kintamosios srovės lempą arba reguliuoti ventiliatoriaus greitį. Tokiu atveju, norėdami valdyti kintamosios srovės maitinimo įtampos fazę, turime naudoti fazių valdymo techniką ir tokius statinius jungiklius kaip TRIAC.
Taigi šioje pamokoje sužinosime apie kintamosios srovės lempos reguliatorių, naudodami „Arduino“ ir „TRIAC“. Čia TRIAC naudojamas kintamosios srovės lemputei perjungti, nes tai yra galios elektroninis greito perjungimo įtaisas, kuris geriausiai tinka šioms programoms. Sekite visą straipsnį, kuriame rasite išsamią techninės įrangos informaciją ir šio projekto programavimą. Taip pat patikrinkite mūsų ankstesnes šviesos pritemdymo pamokas:
- IR nuotolinio valdymo TRIAC „Dimmer“ grandinė
- „Arduino“ pagrindu veikiantis LED reguliatorius naudojant PWM
- 1 vatų LED reguliatorius
- Maitinkite šviesos diodų reguliatorių naudodami mikrovaldiklį „ATmega32“
Naudoti komponentai:
- „Arduino UNO-1“
- „MCT2E“ optronas -1
- MOC3021 optronas -1
- BT136 TRIAC-1
- (12-0) V, 500mA transformatorius-1
- 1K, 10K, 330ohm rezistoriai
- 10K potenciometras
- AC laikiklis su lempa
- Kintamosios srovės laidai
- Džemperiai
Prieš eidami toliau, sužinosime apie nulio kirtimą, TRIAC ir optroną.
Nulio kirtimo aptikimo technika
Norėdami kontroliuoti kintamą įtampą, pirmiausia turime nustatyti kintamosios srovės signalo nulio kirtimą. Indijoje kintamosios srovės signalo dažnis yra 50 Hz ir kadangi jis kintantis. Taigi kiekvieną kartą, kai signalas ateina į nulinį tašką, turime aptikti tą tašką ir po to suaktyvinti TRIAC pagal energijos poreikį. Žemiau parodyta kintamosios srovės signalo perėjimo taškas:
„TRIAC“ veikia
TRIAC yra trijų gnybtų kintamosios srovės jungiklis, kurį gali įjungti mažos energijos signalas jo vartų gnybte. SCR jis veikia tik viena kryptimi, tačiau TRIAC atveju galia gali būti valdoma abiem kryptimis. Kintamosios srovės lempų pritemdymui mes naudojame BT136 TRIAC.
Kaip parodyta aukščiau esančiame paveikslėlyje, TRIAC suveikia 90 laipsnių šaudymo kampu, taikant jam mažą vartų impulsinį signalą. Laikas „t1“ yra uždelsimo laikas, kurį turime pateikti pagal mūsų pritemdymo reikalavimus. Pavyzdžiui, šiuo atveju, kai šaudymo kampas yra 90 procentų, galia taip pat bus sumažinta perpus, taigi lempa taip pat šviečia puse intensyvumo.
Mes žinome, kad kintamosios srovės signalo dažnis yra 50 Hz. Taigi laikotarpis bus 1 / f, kuris bus 20ms., Taigi pusę ciklo tai bus 10ms arba 10 000 mikrosekundžių. Taigi norint reguliuoti kintamosios srovės lempos galią, „t1“ diapazonas gali būti įvairus nuo 0 iki 10000 mikrosekundžių. Sužinokite daugiau apie „Triac“ ir jo darbą čia.
Optronas
Optronas taip pat žinomas kaip Optoisolato r. Jis naudojamas išlaikyti izoliaciją tarp dviejų elektros grandinių, tokių kaip nuolatinės ir kintamosios srovės signalai. Iš esmės jis susideda iš šviesos diodo, skleidžiančio infraraudonąją spinduliuotę, ir jį aptinkančio fotojutiklio. Čia mes naudojame MOC3021 optroną, kad galėtume valdyti kintamosios srovės lempą iš mikrovaldiklio signalų, kuris yra nuolatinės srovės signalas. Anksčiau TRIAC reguliatoriaus grandinėje naudojome tą patį optroną MOC3021. Taip pat sužinokite daugiau apie „Optocouplers“ ir jo tipus, spustelėdami nuorodą.
Grandinės schema:
Kintamosios srovės šviesos reguliatoriaus schema pateikta žemiau:
ATRIAC ir optrono jungties schema:
Aš prilydžiau TRIAC ir „Optocoupler MOC3021“ grandinę ant plokštės. Po litavimo jis atrodys taip:
Aš taip pat lituojau optroną MCT2E ant plokštės, kad galėčiau prijungti jį prie transformatoriaus kintamosios srovės tiekimui:
Visa „ Arduino Lamp Dimmer“ grandinė atrodys taip:
„Arduino“ programavimas kintamosios srovės šviesos reguliatoriui:
Sėkmingai baigus aparatūros sąranką, atėjo laikas programuoti „Arduino“. Visa programa su demo vaizdo skiriamas pabaigoje. Čia mes paaiškinome kodą palaipsniui, kad geriau suprastume.
Pirmiausia deklaruokite visus visuotinius kintamuosius, kurie bus naudojami visame kode. Čia TRIAC yra prijungtas prie „Arduino“ 4 kaiščio. Tada deklaruojama, kad dim_val saugo pritemdymo žingsnio, kurį naudosime programoje, vertę.
int LAMP = 4; int dim_val = 0;
Tada vidinėje sąrankos funkcijoje deklaruokite LAMP kaištį kaip išvestį ir tada sukonfigūruokite pertraukimą, kad aptiktumėte nulio kirtimą. Čia mes panaudojome funkciją, vadinamą „ attachInterrupt“, kuri sukonfigūruos „Arduino“ skaitmeninį 2 smeigtuką kaip išorinį pertraukimą ir iškvies funkciją, pavadintą zero_cross, kai aptiks bet kokius pertraukimus savo smeigtuke.
negaliojanti sąranka () {pinMode (LAMP, OUTPUT); „attachInterrupt“ („digitalPinToInterrupt“ (2), nulis_kryžius, PAKEISTI); }
Begalinėje kilpoje nuskaitykite analoginę vertę iš potenciometro, kuris yra prijungtas prie A0. Tada suskirstykite jį į vertės diapazoną (10–49). Norėdami tai sužinoti, turime atlikti nedidelį skaičiavimą. Anksčiau sakiau, kad kiekvienas pusės ciklas prilygsta 10 000 mikrosekundžių. Taigi, leiskite mums kontroliuoti pritemdymą 50 žingsnių (tai yra atsitiktinė reikšmė. Taip pat galite jį pakeisti). Minimalų žingsnį žengiau kaip „10“, o ne „Zero“, nes 0–9 žingsniai suteikia maždaug tokią pačią galią ir praktiškai nerekomenduojama žengti maksimalaus žingsnio skaičiaus. Taigi, aš žengiau maksimalų 49 žingsnį.
Tada kiekvieno žingsnio laiką galima apskaičiuoti kaip 10000/50 = 200 mikrosekundžių. Tai bus naudojama kitoje kodo dalyje.
void loop () {int duomenys = analogRead (A0); int duomenys1 = žemėlapis (duomenys, 0, 1023,10,49); dim_val = duomenys1; }
Paskutiniame etape sukonfigūruokite pertraukimo valdomą funkciją zero_cross. Čia pritemdymo laiką galima apskaičiuoti padauginus atskirą žingsnio laiką iš Nr. žingsnių. Tada praėjus šiam uždelsimo laikui, TRIAC gali būti įjungtas naudojant nedidelį didelį 10 mikrosekundžių impulsą, kurio pakanka įjungti TRIAC.
void zero_cross () {int pritemdymo_ laikas = (200 * dim_val); delsaMikrosekundės (pritemdymo_ laikas); „digitalWrite“ (LAMP, HIGH); vėlavimasMikrosekundės (10); „digitalWrite“ (LAMP, LOW); }
„Arduino“ lempos reguliatoriaus grandinės darbas
Žemiau pateikiamos trys kintamosios srovės lemputės pritemdymo etapai, naudojant „Arduino“ ir „TRIAC“.
1. Mažas pritemdymas
2. Vidutinio pritemdymo žingsnis
3. Didžiausias pritemdymo žingsnis:
Taip galima lengvai sukurti kintamosios srovės šviesos reguliatoriaus grandinę naudojant TRIAC ir optroną. Darbo Vaizdo ir minėto sprendimo Arduino Šviesos Dimmer kodas yra pateikiamas toliau
/>