- Kinakailangan ang Mga Bahagi
- Paggawa ng control ng fan ng AC gamit ang Arduino
- 1. Detektor ng Zero-Crossing
- 2. Phase Angle na kumukontrol sa Circuit
- 3. Potentiometer upang makontrol ang Bilis ng Fan
- 4. Yunit ng Pagbuo ng Signal ng PWM
- Diagram ng Circuit
- Programming ang Arduino para sa kontrol ng bilis ng fan ng AC
BABALA !! Ang circuit diagram na tinalakay sa proyektong ito ay para lamang sa mga hangaring pang-edukasyon. Pinayuhan na ang pagtatrabaho sa 220V AC mains boltahe ay nangangailangan ng matinding pag-iingat at mga pamamaraan sa kaligtasan ay dapat sundin. Huwag hawakan ang alinman sa mga bahagi o wires kapag ang circuit ay umaandar.
Madaling i-on o i-off ang anumang kagamitan sa bahay sa pamamagitan ng paggamit ng isang switch o sa pamamagitan ng paggamit ng ilang mekanismo ng kontrol tulad ng ginawa namin sa maraming mga proyekto sa Home Automation na nakabatay sa Arduino. Ngunit maraming mga application kung saan kailangan naming kontrolin ang lakas ng AC nang bahagya, halimbawa, upang makontrol ang bilis ng Fan o ang tindi ng isang Lampara. Sa kasong ito, ginagamit ang diskarteng PWM, kaya dito matututunan natin kung paano gamitin ang Arduino na nakabuo ng PWM upang makontrol ang bilis ng AC fan sa Arduino.
Sa proyektong ito, ipapakita namin ang kontrol ng bilis ng fan ng Arduino AC gamit ang TRIAC. Dito ang paraan ng pagkontrol sa phase ng AC signal ay ginagamit upang makontrol ang bilis ng fan ng AC, gamit ang mga signal ng PWM na nabuo ng Arduino. Sa nakaraang tutorial, kinontrol namin ang bilis ng fan ng DC gamit ang PWM.
Kinakailangan ang Mga Bahagi
- Arduino UNO
- 4N25 (Zero crossing detector)
- 10k Potensyomiter
- MOC3021 0pto-coupler
- (0-9) V, 500 m Stepdown Transformer
- BT136 TRIAC
- 230 VAC Axial AC fan
- Mga kumokonekta na mga wire
- Mga lumalaban
Paggawa ng control ng fan ng AC gamit ang Arduino
Ang pagtatrabaho ay maaaring nahahati sa apat na magkakaibang bahagi. Ang mga ito ay ang mga sumusunod
1. Zero-Crossing Detector
2. Phase Angle Controlling circuit
3. Potensyomiter upang makontrol ang dami ng bilis ng Fan
4. signal ng PWM Generation circuit
1. Detektor ng Zero-Crossing
Ang suplay ng AC na nakukuha namin sa aming sambahayan ay 220v AC RMS, 50 HZ. Ang senyas na ito ng AC ay pumapalit sa likas na katangian at binabago pana-panahon ang polarity nito. Sa unang kalahati ng bawat pag-ikot, dumadaloy ito sa isang direksyon na umaabot sa isang boltahe ng rurok at pagkatapos ay bumababa hanggang sa zero. Pagkatapos sa susunod na kalahating ikot, dumadaloy ito sa kahaliling direksyon (negatibo) sa isang boltahe ng rurok at pagkatapos ay muling dumating sa zero. Para sa pagkontrol ng bilis ng AC Fan, ang rurok na boltahe ng parehong kalahating siklo ay kailangang i-chop o kontrolin. Para sa mga ito, kailangan nating kilalanin ang zero point kung saan ang signal ay makokontrol / Tinadtad. Ang puntong ito sa curve ng boltahe kung saan binabago ng boltahe ang direksyon ay tinatawag na zero boltahe na tawiran.
Ang circuit na ipinakita sa ibaba ay ang zero crossing detector circuit na ginagamit upang makuha ang zero-crossing point. Una, ang boltahe ng 220V AC ay ibinaba sa 9V AC gamit ang isang step-down transpormer at pagkatapos ay pinakain sa isang 4N25 optocoupler sa pin 1 at 2. 4N25 optocoupler ay may isang nakapaloob na LED na may pin 1 bilang anode at pin 2 bilang isang katod. Kaya't ayon sa circuit sa ibaba, kapag ang AC alon ay papalapit sa zero-tawiran point, ang naka-built na LED ng 4N25 ay papatayin at bilang isang resulta, ang output transistor ng 4N25 ay papatayin din at ang output pulse pin ay makakuha ng hanggang sa 5V. Katulad nito, kapag ang signal ay tumaas nang paunti-unti sa rurokpoint, pagkatapos ang LED ay ON ON at ang transistor ay magbubukas din sa ground pin na konektado sa output pin, na ginagawang 0V ang pin na ito. Gamit ang pulso na ito, ang zero-tawiran point ay maaaring napansin gamit ang Arduino.
2. Phase Angle na kumukontrol sa Circuit
Matapos makita ang punto ng zero na tawiran, ngayon kailangan naming kontrolin ang dami ng tiyempo kung saan ang lakas ay ON at OFF. Ang senyas ng PWM na ito ang magpapasya sa dami ng output ng boltahe sa AC motor, na kinokontrol naman ang bilis nito. Dito ginagamit ang isang BT136 TRIAC, na kinokontrol ang boltahe ng AC dahil ito ay isang power electronic switch para sa pagkontrol ng isang AC voltage signal.
Ang TRIAC ay isang tatlong-terminal AC switch na maaaring mapalitaw ng isang mababang signal ng enerhiya sa terminal ng gate nito. Sa mga SCR, nagsasagawa lamang ito sa isang direksyon, ngunit sa kaso ng TRIAC, ang kapangyarihan ay maaaring makontrol sa parehong direksyon. Upang matuto nang higit pa tungkol sa TRIAC at SCR, sundin ang aming nakaraang mga artikulo.
Tulad ng ipinakita sa pigura sa itaas, ang TRIAC ay na-trigger sa isang anggulo ng pagpapaputok ng 90 degree sa pamamagitan ng paglalapat ng isang maliit na signal ng pulso ng gate dito. Ang oras na "t1" ay ang oras ng pagkaantala na ibinibigay ayon sa kinakailangang dimming. Halimbawa nito
Alam namin na ang dalas ng AC signal ay 50 Hz dito. Kaya't ang tagal ng panahon ay magiging 1 / f, na 20ms. Para sa isang kalahating ikot, ito ay magiging 10ms o 10,000 microseconds. Samakatuwid para sa pagkontrol sa lakas ng isang lampara ng AC, ang saklaw ng "t1" ay maaaring iba-iba mula sa 0-10000 microseconds.
Optocoupler:
Ang Optocoupler ay kilala rin bilang Optoisolator. Ginagamit ito upang mapanatili ang paghihiwalay sa pagitan ng dalawang mga de-koryenteng circuit tulad ng DC at AC signal. Karaniwan, binubuo ito ng isang LED na naglalabas ng infrared light at ang photosensor na nakikita ito. Dito ginagamit ang isang MOC3021 optocoupler upang makontrol ang AC Fan mula sa mga signal ng microcontroller na isang senyas ng DC.
Diagram ng koneksyon ng TRIAC at Optocoupler:
3. Potentiometer upang makontrol ang Bilis ng Fan
Dito ginagamit ang isang potensyomiter upang mag-iba ang bilis ng AC Fan. Alam namin na ang potensyomiter ay isang 3 terminal na aparato na gumaganap bilang isang boltahe na divider at nagbibigay ng isang variable na output ng boltahe. Ang variable na analog output voltage na ito ay ibinibigay sa Arduino analog input terminal upang maitakda ang halaga ng bilis ng AC fan.
4. Yunit ng Pagbuo ng Signal ng PWM
Sa huling hakbang, ang isang PWM pulso ay ibinibigay sa TRIAC ayon sa mga kinakailangan sa bilis, na kung saan ay iba-iba ang ON / OFF na oras ng AC signal at nagbibigay ng isang variable na output upang makontrol ang bilis ng Fan. Dito ginagamit ang Arduino upang makabuo ng pulso ng PWM, na kumukuha ng input mula sa potensyomiter at nagbibigay ng output ng signal ng PWM sa TRIAC at optocoupler circuit na higit na nag-mamaneho ng AC fan sa nais na bilis. Matuto nang higit pa tungkol sa henerasyon ng PWM gamit ang Arduino dito.
Diagram ng Circuit
Ang diagram ng circuit para sa batay sa Arduino na ito na 230v fan speed control circuit ay ibinibigay sa ibaba:
Tandaan: Ipinakita ko ang kumpletong circuit sa isang breadboard para lamang sa pag-unawa. Hindi ka dapat gumamit ng 220V AC supply nang direkta sa iyong breadboard, gumamit ako ng isang tuldok na board upang gawin ang mga koneksyon tulad ng nakikita mo sa imahe sa ibaba
Programming ang Arduino para sa kontrol ng bilis ng fan ng AC
Matapos ang koneksyon sa hardware, kailangan naming isulat ang code para sa Arduino, na bubuo ng isang signal ng PWM upang makontrol ang AC signal ON / OFF na oras gamit ang isang potentiometer input. Ginamit namin dati ang mga diskarteng PWM sa maraming mga proyekto.
Ang kumpletong code ng proyekto ng kontrol sa bilis ng fan ng Arduino AC na ito ay ibinibigay sa ilalim ng proyektong ito. Ang hakbang sa paliwanag ng code ay ibinibigay sa ibaba.
Sa unang hakbang, ideklara ang lahat ng kinakailangang mga variable, na gagamitin sa buong code. Dito nakakonekta ang BT136 TRIAC sa pin 6 ng Arduino. At ang variable speed_val ay idineklara upang maiimbak ang halaga ng hakbang sa bilis.
int TRIAC = 6; int speed_val = 0;
Susunod, sa loob ng pag- andar ng pag- setup , ideklara ang TRIAC pin bilang output bilang PWM output ay malilikha sa pamamagitan ng pin na ito. Pagkatapos, i-configure ang isang makagambala upang makita ang zero-tawiran. Gumamit kami dito ng isang pagpapaandar na tinatawag na attachInterrupt, na mako -configure ang digital Pin 3 ng Arduino bilang panlabas na makagambala at tatawagin ang pagpapaandar na pinangalanang zero_crossing kapag nakakita ito ng anumang nakakagambala sa pin nito.
walang bisa ang pag-set up () {pinMode (LAMP, OUTPUT); attachInterrupt (digitalPinToInterrupt (3), zero_crossing, CHANGE); }
Sa loob ng walang katapusang loop , basahin ang halaga ng analog mula sa potentiometer na konektado sa A0 at i-map ito sa isang saklaw ng halaga na (10-49).
Upang malaman ang saklaw na ito kailangan nating gumawa ng isang maliit na pagkalkula. Mas maaga ay sinabi na ang bawat kalahating ikot ay katumbas ng 10,000 microseconds. Kaya narito ang dimming ay makokontrol sa 50 mga hakbang na kung saan ay isang di-makatwirang halaga at maaaring mabago. Dito ang mga minimum na hakbang ay kinuha bilang 10, hindi Zero dahil ang 0-9 na mga hakbang ay nagbibigay ng humigit-kumulang sa parehong output ng kuryente at ang maximum na mga hakbang ay kinuha bilang 49 dahil hindi ito inirerekomenda nang praktikal na kunin ang itaas na limitasyon (na 50 sa kasong ito).
Pagkatapos ang bawat hakbang na oras ay maaaring kalkulahin bilang 10000/50 = 200 microseconds. Gagamitin ito sa susunod na bahagi ng code.
void loop () {int pot = analogRead (A0); int data1 = mapa (palayok, 0, 1023,10,49); speed_val = data1; }
Sa huling hakbang, i-configure ang abala na hinihimok ng pagpapaandar zero_crossing. Dito maaaring kalkulahin ang dimming na oras sa pamamagitan ng pag-multiply ng indibidwal na oras ng hakbang nang hindi. ng mga hakbang. Pagkatapos pagkatapos ng oras ng pagkaantala na ito, maaaring ma-trigger ang TRIAC gamit ang isang maliit na mataas na pulso na 10 microseconds na sapat upang buksan ang isang TRIAC.
void zero_crossing () {int chop_time = (200 * speed_val); delayMicroseconds (chop_time); digitalWrite (TRIAC, MATAAS); delayMicroseconds (10); digitalWrite (TRIAC, LOW); }
Kumpletuhin ang code kasama ang isang gumaganang video para sa AC fan control na ito gamit ang Arduino at PWM ay ibinibigay sa ibaba.