- Необходими компоненти
- Работа на управление на вентилатора с променлив ток с помощта на Arduino
- 1. Детектор за нулево пресичане
- 2. Верига за управление на фазовия ъгъл
- 3. Потенциометър за управление на скоростта на вентилатора
- 4. Устройство за генериране на ШИМ сигнал
- Електрическа схема
- Програмиране на Arduino за контрол на скоростта на вентилатора на променлив ток
ВНИМАНИЕ!! Схемата, обсъдена в този проект, е само за образователни цели. Имайте предвид, че работата с 220V AC мрежово напрежение изисква изключителни предпазни мерки и трябва да се спазват процедурите за безопасност. Не докосвайте нито един от компонентите или проводниците, когато веригата работи.
Лесно е да включите или изключите всеки домашен уред с помощта на превключвател или с помощта на някакъв контролен механизъм, както направихме в много проекти за домашна автоматизация, базирани на Arduino. Но има много приложения, при които трябва да контролираме частично променливотоковото захранване, например да контролираме скоростта на вентилатора или интензивността на лампата. В този случай се използва PWM техниката, така че тук ще научим как да използваме PWM, генериран от Arduino, за да контролираме скоростта на променлив ток с Arduino.
В този проект ще демонстрираме контрол на скоростта на вентилатора Arduino AC с помощта на TRIAC. Тук методът за фазово управление на променливотоковия сигнал се използва за управление на скоростта на променлив ток, използвайки ШИМ сигнали, генерирани от Arduino. В предишния урок ние контролирахме скоростта на вентилатора с постоянен ток, използвайки ШИМ.
Необходими компоненти
- Arduino UNO
- 4N25 (детектор за нулево пресичане)
- 10k потенциометър
- MOC3021 0пто-съединител
- (0-9) V, 500 mA понижаващ трансформатор
- BT136 TRIAC
- 230 VAC аксиален AC вентилатор
- Свързващи проводници
- Резистори
Работа на управление на вентилатора с променлив ток с помощта на Arduino
Работата може да бъде разделена на четири различни части. Те са както следва
1. Детектор за нулево пресичане
2. Верига
за управление на фазовия ъгъл 3. Потенциометър за управление на размера на скоростта на вентилатора
4. Верига за генериране на PWM сигнал
1. Детектор за нулево пресичане
Електрозахранването, което получаваме в нашето домакинство, е 220v AC RMS, 50 HZ. Този AC сигнал има променлив характер и променя периодично полярността си. През първата половина на всеки цикъл той тече в една посока, достигайки пиково напрежение и след това намалява до нула. След това в следващия полупериод той тече в алтернативна посока (отрицателна) до пиково напрежение и след това отново достига нула. За управление на скоростта на вентилатора на променлив ток, пиковото напрежение на двата полуцикъла трябва да бъде нарязано или контролирано. За това трябва да открием нулевата точка, от която трябва да се управлява / нарязва сигналът. Тази точка на кривата на напрежението, където напрежението променя посоката, се нарича пресичане на нулево напрежение.
Схемата, показана по-долу, е веригата на детектора за пресичане на нула, която се използва за получаване на точката на пресичане на нулата. Първо, 220V променливото напрежение се понижава до 9V променлив ток с помощта на понижаващ трансформатор и след това се подава към оптрон 4N25 на неговите пинове 1 и 2. Оптронът 4N25 има вграден светодиод с пин 1 като анод и щифт 2 като катод. Така че, съгласно веригата по-долу, когато променливотоковата вълна се приближи до точката на пресичане на нулата, вграденият светодиод 4N25 ще се изключи и в резултат на това изходният транзистор на 4N25 също ще се изключи и изходният импулсен щифт ще се изключи издърпайте до 5V. По същия начин, когато сигналът се увеличава постепенно до пикаточка, тогава светодиодът се включва и транзисторът също ще се включи със заземяващия щифт, свързан към изходния щифт, което прави този щифт 0V. Използвайки този импулс, точката на пресичане на нулата може да бъде открита с помощта на Arduino.
2. Верига за управление на фазовия ъгъл
След откриване на точката на пресичане на нулата, сега трябва да контролираме размера на времето, за което захранването ще бъде включено и изключено. Този ШИМ сигнал ще определи размера на изходното напрежение към променливотоковия двигател, който от своя страна контролира скоростта му. Тук се използва BT136 TRIAC, който контролира променливото напрежение, тъй като е силов електронен превключвател за управление на сигнал за променливо напрежение.
TRIAC е тритерминален AC превключвател, който може да се задейства от сигнал с ниска енергия на терминала на портата. При SCR той провежда само в една посока, но в случай на TRIAC мощността може да се контролира и в двете посоки. За да научите повече за TRIAC и SCR, следвайте предишните ни статии.
Както е показано на фигурата по-горе, TRIAC се задейства под ъгъл на стрелба от 90 градуса чрез прилагане на малък импулсен сигнал към него. Времето „t1“ е времето на закъснение, което се дава според изискването за затъмняване. Например, в този случай ъгълът на стрелба е 90 процента, следователно изходната мощност също ще бъде намалена наполовина и следователно лампата също ще свети с половин интензитет.
Знаем, че честотата на променливотоковия сигнал тук е 50 Hz. Така периодът от време ще бъде 1 / f, което е 20ms. За половин цикъл това ще бъде 10ms или 10 000 микросекунди. Следователно за управление на мощността на AC лампа, обхватът на “t1” може да варира от 0-10000 микросекунди.
Оптрон:
Optocoupler е известен също като Optoisolator. Използва се за поддържане на изолация между две електрически вериги като DC и AC сигнали. По принцип се състои от светодиод, който излъчва инфрачервена светлина и фотосензора, който го открива. Тук MOC3021 оптрон се използва за управление на AC вентилатора от сигналите на микроконтролера, който е DC сигнал.
Схема за свързване на TRIAC и Optocoupler:
3. Потенциометър за управление на скоростта на вентилатора
Тук се използва потенциометър за промяна на скоростта на AC вентилатора. Знаем, че потенциометърът е 3 терминално устройство, което действа като делител на напрежението и осигурява променливо изходно напрежение. Това променливо аналогово изходно напрежение се дава на терминала за аналогов вход Arduino, за да се зададе стойността на скоростта на вентилатора за променлив ток.
4. Устройство за генериране на ШИМ сигнал
В последната стъпка се дава PWM импулс на TRIAC според изискванията за скорост, което от своя страна променя времето за включване / изключване на AC сигнала и осигурява променлив изход за управление на скоростта на вентилатора. Тук Arduino се използва за генериране на ШИМ импулс, който приема входа от потенциометъра и дава ШИМ изходен сигнал към TRIAC и оптронен кръг, който допълнително задвижва променливотоковия вентилатор с желаната скорост. Научете повече за генерирането на ШИМ с помощта на Arduino тук.
Електрическа схема
Схема за тази базирана на Arduino 230v верига за контрол на скоростта на вентилатора е дадена по-долу:
Забележка: Показах цялата схема на макет само с цел разбиране. Не трябва да използвате 220V променливотоково захранване директно на вашия макет, аз използвах пунктирана дъска за свързване, както можете да видите на изображението по-долу
Програмиране на Arduino за контрол на скоростта на вентилатора на променлив ток
След хардуерната връзка трябва да запишем кода за Arduino, който ще генерира ШИМ сигнал за управление на времето за включване / изключване на AC сигнала, използвайки потенциометър. Преди сме използвали PWM техники в много проекти.
Пълният код на този проект за контрол на скоростта на вентилатора на Arduino AC е даден в края на този проект. Поетапното обяснение на кода е дадено по-долу.
В първата стъпка декларирайте всички необходими променливи, които ще бъдат използвани в целия код. Тук BT136 TRIAC е свързан към щифт 6 на Arduino. И променливата speed_val е декларирана да съхранява стойността на стъпката на скоростта.
int TRIAC = 6; int speed_val = 0;
След това, във функцията за настройка , декларирайте пина на TRIAC като изход, тъй като изходът на ШИМ ще бъде генериран през този пин. След това конфигурирайте прекъсване, за да откриете пресичането на нулата. Тук използвахме функция, наречена attachInterrupt, която ще конфигурира цифровия Pin 3 на Arduino като външно прекъсване и ще извика функцията с име zero_crossing, когато открие прекъсвания в своя pin.
void setup () {pinMode (LAMP, OUTPUT); attachInterrupt (digitalPinToInterrupt (3), zero_crossing, CHANGE); }
Вътре в безкрайния контур прочетете аналоговата стойност от потенциометъра, който е свързан в A0, и я картографирайте в диапазон от стойности (10-49).
За да разберем този диапазон, трябва да направим малко изчисление. По-рано се казва, че всеки полуцикъл е еквивалентен на 10 000 микросекунди. Така че тук затъмняването ще се контролира на 50 стъпки, което е произволна стойност и може да се промени. Тук минималните стъпки се вземат като 10, а не нула, тъй като 0-9 стъпки дават приблизително еднаква изходна мощност, а максималните стъпки се вземат като 49, тъй като не се препоръчва практически да се вземе горната граница (което в този случай е 50).
Тогава времето на всяка стъпка може да бъде изчислено като 10000/50 = 200 микросекунди. Това ще бъде използвано в следващата част на кода.
void loop () {int pot = analogRead (A0); int data1 = map (пот, 0, 1023,10,49); скорост_вал = данни1; }
В последната стъпка конфигурирайте функцията за прекъсване zero_crossing. Тук времето за затъмняване може да бъде изчислено чрез умножаване на отделното време на стъпка с номер. стъпки. След това след това време на закъснение TRIAC може да се задейства с помощта на малък висок импулс от 10 микросекунди, който е достатъчен за включване на TRIAC.
voil zero_crossing () {int chop_time = (200 * speed_val); delayMicroseconds (chop_time); digitalWrite (TRIAC, HIGH); delayMicroseconds (10); digitalWrite (TRIAC, LOW); }
Пълният код, заедно с работещ видеоклип за това управление на вентилатора на променлив ток с помощта на Arduino и PWM, е даден по-долу.