Arduino-стабилизатор на мрежово напрежение със сервомотор
Част I

    Очевидно темата "стабилизатор на мрежово напрежение" е интересна и полезна за мене след като напрежението в моята селска къща плува буквално от 150V до 280V. За съжаление няма никаква закономерност във флуктуациите: ту нагоре, ту надолу или само нагоре и обратно. Поради това към всеки електроуред съм свързал по един стабилизатор на променливо напрежение. Но на този свят няма нищо вечно и в един момент те се повреждат. Естествено, няма резервни части за вноса от Китай и някак си трябва да се справя сам. Когато това се случи за първи път, направих ремонт, но когато се повтори реших, че е по-добре да си разработя мои резервни платки за управление на стабилизаторите, които да сменям бързо при евентуална повреда. Е, така се родиха и идеите за тези проекти, които виждате публикувани на страниците на  www.kn34pc.com.

    Развойната платка Arduino и нейната програмна среда IDE могат да се използват освен за експерименти, така и за производствени цели. В моите експерименти, които осъществявам на бредборд, обикновено участва платката Arduino UNO R3. След като се осигуря, че проекта е работещ, разработвам печатна платка с точно определени размери и геометрия, която трябва да поместя на точно определено място и обем в някаква кутия от фабрична конструкция. Повярвайте ми, никак не е лесно. Тогава минимизирам конструкцията и естествено ползвам мини платките на Arduino: Arduino Nano V3 или Arduino Micro. В този конкретен проект съм вложил Arduino Micro.

    Експериментите ми започнаха с тези две принципни схеми, едната симулираща цифров волтметър, а другата за управление на постояннотоков мотор:

  

    Естествено, че принципните схеми без програмния код няма да сработят. Показвам ги за да имате представа за идеята и хардуерното свързване върху бредборд или печатна платка. После следваше самото свързване на модулите върху бредборд за да тествам програмния код. Ето така започна този експеримент:

    След като "завъртях" мотора с потенциометър на аналоговия вход, следваше да свържа дисплей с паралелен вход LCD 16x2 и модула за управление на мотори L9110:\

arh_stabilizer_servo_lcd_timer_map.zip [zip,ino,jpg,pcb][173kb]

    Ето експерименталния бредборд отблизо. Както забелязвате, тук се "мъдри" едно зелено светодиодче, за което ще стане дума по-нататък. В случая то имитира таймер за отложен старт с 8 секунди, чиято задача ще бъде да включи реле на изхода на стабилизатора, така че да се подаде напрежение едва когато вилката на латера се установи в спокойно състояние.

    До тук беше лесната част от конструкцията - свързването на модулите. Но трябваше схемата да се захрани и изпробва в тестов режим. За целта заредих Arduino с програмния код, приложен в архива към тази статия. Още тук ми се иска да обърна внимание, че съм програмирал два цифрови волтметъра - единия за измерване на входното напрежение на мрежата (променящо се), който извежда показанието си на първи ред на LCD дисплея, и вторият волтметър за измерване на изходното стабилизирано напрежение, който извежда показанието си на втори ред на LCD дисплея:

    След като се убедих в работоспособността на програмния код, изчертах печатна платка с точно определени размери, така че да пасне във кутията на фабричния стабилизатор:

    Тази платка е така конструирана, че върху нея могат да се изпълнят три проекта. Именно затова са предвидени доста куплунги. В момента ви представям първия от тях - управление на стабилизатор с два цифрови волтметъра с паралелен по вход LCD 16x2. Другият, който платката позволява да се реализира е с LCD дисплей 16х2 с I2C шина. С това се освобождават 6 цифрови пинове, с което могат да се реализират две системи за защита от ниско напрежение (под 150 волта) и от пренапрежение (над 260 волта). Защитите също могат да се конструират по два начина - със сензори към два аналогови входове или два цифрови пина. Затова съм предвидил свързването на резистори по 10к към аналоговите входове А2 и А3 които подават потенциал +5V от захранването. Съответно към цифровите пинове D11 и D12 са предвидени светодиодни индикатори на защитите. Но толкова накратко за тях. В приложения програмен код тези допълнителни възможности засега липсват.

    В настоящия програмен код аналоговите входове А0 и А1 детектират (Внимание! През трансформатори) входното и изходните напрежения на стабилизатора. За да предпазя входовете от случайни пренапрежения към всеки от тях в паралел съм свързал ценеров диод с Uz = 4,7V. Респективно напреженията се подават чрез резистивни делители, в чиято точка към аналоговите входове са поставени резистори със стойност 1к за по-плавен избор и настройка на входното и изходното напрежения на стабилизатора. Както е известно всеки аналогов вход на Arduino преобразува подаденото напрежение чрез АЦП с 1024 стъпки. Логично е, че всяка стъпка ще има стойност 4.88mV. Следователно на стъпка 450 ще отговаря напрежение 2.196V. Ако забелязвате, с подходяща трансформация от 100 пъти това напрежение е почти равно на мрежовото напрежение (219.6 волта) приблизително 220V. Именно това беше идеята и това съотношение е залегнало в програмния код. Както и в други мои статии на тема "стабилизатор на мрежово напрежение", така и тук съм предвидил хистрезис от +/- 5..7 волта в който прозорец вилката на латера няма да се движи. Този прозорец определя точността на регулиране на мрежовото напрежение. В програмния код на Arduino е логично, че хистерезиса се образува около споменатата по-горе стъпка 450 в която извършвам измерването, например 450 (+/-10) стъпки, или от 440 до 460. Точно този прозорец е програмиран в кода чрез threshold1 = 440 и threshold2 = 460.

    Време е да покажа готовата печатна платка:

    Постарах се при изработването на графични оригинал да обознача повечето елементи с бял печат върху страна елементи на печатната плтака. Така всеки може да придобие представа за тяхното значение и местоположение, както и свързването им с останалите елементи и блокове.

    Може би трябва да отбележа, че драйверът за мотор, който използвам в окончателния вид на тази конструкция е на Motorola MC33152, тъй като китайския образец L9110 с който правих експериментите не издържа на тока на по-мощния мотор на редуктора, както и че максимално допустимото му работно напрежение е само до 11V. След като наредих и запоих елементите върху палатката, с вече заредения програмен код в Arduino, следваше да свържа захранването и да изпробвам работоспособността на платката на стабилизатора преди да я монтирам в него:

    Още тук, на теста, регулирах тримерите така че на техния среден извод да постигна показания на измереното напрежение с цифров мултимер 2.2 волта. И се връщам на зеления светодиод, който индицира включено реле за отложен старт, чиято задача е да включи изхода на стабилизатора едва след като вилката на латера е застанала в установено положение.

    А ето на следващата снимка платката вече монтирана във фабричния стабилизатор и включено състояние:

    От следващата снимка ще придобиете представа за монтажа. Както забелязвате, използвал съм достатъчно дълги дистанционни втулки, така че да монтирам платката с Arduino над основната платка на стабилизатора, с което улесних прехвърлянето на част от вътрешното опроводяване от старата към новата конструкция. За първоначални практически експеримент все още дисплея не ми беше необходим. Платката заработва веднага щом се подаде захранване и се свърже електромотора. А да, да не забравя тази забележка - възможно е мотора да тръгне и да не спре - това означава че трябва да обърнем неговите захранващи проводници обратно.

    До тук всичко премина доста добре. Оказа се че най-трудната задачка беше свързването на паралелния LCD дисплей с платката. Трябваше сам да си изработя лентов кабел. Проблемът изникна с кримпването на кабелчетата за куплунгите на лентовия кабел. Не бях го правил досега в моите конструкции и се измъчих и изнервих. Но след като смачках и счупих десетина извода с кримпващите клещи, най-после придобих достатъчно опит и след около половин час внимателно боравене с клещите успях да си изработя лентови кабели. С тях свързах паралелния дисплей LCD 16x2:

    И така, вече имах пълния комплект. Сега следваше практическия реален тест. За целта свързах стабилизатора с латер, с чиято ос можех да променям подаваното променливо напрежение. Е, резултатът беше повече от задоволителен:

Валери Терзиев
16 февруари 2018 година