- Необходими компоненти:
- Схема на ардуино волтметър:
- Работа на базиран на Arduino променлив волтметър:
- Симулация:
- Обяснение на кода:
В този проект ще направим устройство за измерване на променливотоково напрежение с помощта на Arduino, което ще измерва напрежението на захранването с променлив ток в дома ни. Ще отпечатаме това напрежение на серийния монитор на Arduino IDE, както и ще покажем на мултиметъра.
Изработването на цифров волтметър е много по-лесно от правенето на аналогов, тъй като в случай на аналогов волтметър трябва да познавате добре физическите параметри като въртящ момент, загуби от триене и т.н., докато в случай на цифров волтметър можете просто да използвате LCD или LED матрица или дори вашия лаптоп (както в този случай), за да отпечатате стойностите на напрежението вместо вас. Ето няколко проекта за цифрови волтметри:
- Обикновена цифрова схема на волтметър с печатни платки с помощта на ICL7107
- LM3914 Волтметър верига
- 0-25V цифров волтметър с помощта на AVR микроконтролер
Необходими компоненти:
- Един трансформатор 12-0-12
- 1N4007 диод
- 1uf кондензатор
- Резистори 10k; 4.7k.
- Ценеров диод (5v)
- Arduino UNO
- Свързващи проводници
Схема на ардуино волтметър:
Схемата на този ардуино волтметър е показана по-горе.
Връзки:
- Свържете страната на високо напрежение (220V) на трансформатора към захранващата мрежа и ниско напрежение (12v) към веригата на делителя на напрежението.
- Свържете последователно 10k резистор с 4.7k резистор, но не забравяйте да вземете напрежение като вход през 4.7k резистор.
- Свържете диода, както е показано.
- Свържете кондензатора и ценеровия диод през 4.7k
- Свържете проводник от n-терминал на диод към аналоговия щифт A0 на Arduino.
** Забележка: Свържете заземяващия щифт на Arduino към точката, както е показано на фигурата, или веригата няма да работи.
Нуждаете се от верига на делителя на напрежението?
Тъй като използваме трансформатор 220/12 v, получаваме 12 v от страната на lv. Тъй като това напрежение не е подходящо като вход за Arduino, ние се нуждаем от верига за делител на напрежение, която може да даде подходяща стойност на напрежението като вход към Arduino
Защо е свързан диод и кондензатор?
Тъй като Arduino не приема отрицателни стойности на напрежението като вход, първо трябва да премахнем отрицателния цикъл на стъпка надолу, така че Arduino да приема само положителна стойност на напрежението. Следователно диодът е свързан, за да коригира понижаващото напрежение. Проверете нашата верига с половин вълна и изправител с пълна вълна, за да научите повече за коригирането.
Това изправено напрежение не е гладко, тъй като съдържа големи вълни, които не могат да ни дадат точна аналогова стойност. Следователно кондензаторът е свързан, за да изглади променливия сигнал.
Предназначение на ценеровия диод?
Arduino може да получи повреда, ако към него се подаде напрежение по-голямо от 5v. Следователно 5v ценеров диод е свързан, за да се гарантира безопасността на Arduino, който се разпада в случай, че това напрежение надвиши 5v.
Работа на базиран на Arduino променлив волтметър:
1. Намалява се напрежението от страната на трансформатора в lv, което е подходящо за използване в резистори с нормална мощност.
2. След това получаваме подходяща стойност на напрежението на 4.7k резистор
Максималното напрежение, което може да бъде измерено, се намира чрез симулиране на тази верига върху протея (обяснено в раздела за симулация).
3. Arduino приема това напрежение като вход от пин A0 под формата на аналогови стойности между 0 и 1023. 0 е 0 волта и 1023 е 5v.
4. След това Arduino преобразува тази аналогова стойност в съответното мрежово напрежение по формула. (Обяснено в раздела с кодове).
Симулация:
Точната верига се прави в протеус и след това се симулира. За да се намери максимално напрежение, което тази верига може да измерва, се използва метод на проба.
При създаване на пиково напрежение на алтернатора 440 (311 rms), беше установено, че напрежението на щифт A0 е 5 волта, т.е. Следователно тази схема може да измери максимално 311 rms напрежение.
Извършва се симулация за различни напрежения между 220 rms до 440v.
Обяснение на кода:
Пълният код на ArduinoVoltmeter е даден в края на този проект и е добре обяснен чрез коментарите. Тук обясняваме няколко части от него.
m е входната аналогова стойност, получена на пин A0, т.е., m = pinMode (A0, INPUT); // задаваме щифт a0 като входен щифт
За да присвоите променлива n на тази формула n = (m * . 304177), първо се извършват някакви изчисления, като се използват данните, получени в раздела за симулация:
Както се вижда на симулационна снимка, 5v или 1023 аналогова стойност се получава при щифт A0, когато входното променливо напрежение е 311volts. Следователно:
Така че всяка произволна аналогова стойност съответства на (311/1023) * m, където m се получава аналогова стойност.
Следователно стигаме до тази формула:
n = (311/1023) * m волта или n = (m *.304177)
Сега тази стойност на напрежението се отпечатва на серийния монитор чрез използване на серийни команди, както е обяснено по-долу. И също така е показано на мултицет, както е показано във видеото по-долу.
Стойностите, отпечатани на екрана, са:
Стойност на аналоговия вход, както е посочено в кода:
Serial.print ("аналогов вход"); // това дава име, което е „аналогов вход“ на отпечатаната аналогова стойност Serial.print (m); // това просто отпечатва входната аналогова стойност
Необходимо променливо напрежение, както е посочено в кода:
Serial.print ("променливо напрежение"); // това дава име „променливо напрежение“ на отпечатаната аналогова стойност Serial.print (n); // това просто отпечатва стойността на променливото напрежение