- Необходим хардуер:
- Верига на делителя на напрежението:
- Електрическа схема и връзки:
- Обяснение на кодирането:
С просто познаване на веригата Arduino и делител на напрежение, ние можем да превърнем Arduino в цифров волтметър и да измерим входното напрежение, използвайки Arduino и 16x2 LCD дисплей.
Arduino има няколко аналогови входни щифта, които се свързват към аналогово-цифров преобразувател (ADC) вътре в Arduino. Arduino ADC е десетбитов преобразувател, което означава, че изходната стойност ще варира от 0 до 1023. Ще получим тази стойност с помощта на функцията analogRead () . Ако знаете референтното напрежение, можете лесно да изчислите напрежението, присъстващо на аналоговия вход. Можем да използваме верига на делителя на напрежението, за да изчислим входното напрежение. Научете повече за ADC в Arduino тук.
Измереното напрежение се показва на 16x2 течнокристален дисплей (LCD). Също така показахме напрежението в Serial Monitor на Arduino IDE и потвърдихме измереното напрежение с помощта на мултиметър.
Необходим хардуер:
- Arduino uno
- 16x2 LCD (течнокристален дисплей)
- 100 k ом резистор
- 10 k ома резистор
- 10 k ом потенциометър
- макет
- джъмперни проводници
Верига на делителя на напрежението:
Преди да влезете в тази верига на Arduino Voltmeter, нека да обсъдим веригата на делителя на напрежението.
Разделителят на напрежение е резистивна верига и е показан на фигура. В тази резистивна мрежа имаме два резистора. Както е показано на фигурата, R1 и R2, които са с 10k и 100k ома. Средната точка на клона се измерва като аналогов вход към Arduino. Спадът на напрежението в R2 се нарича Vout, това е разделеното напрежение на нашата верига.
Формули:
Използвайки известната стойност (две стойности на резистора R1, R2 и входното напрежение), можем да заместим в уравнението по-долу, за да изчислим изходното напрежение.
Vout = Vin (R2 / R1 + R2)
Това уравнение гласи, че изходното напрежение е право пропорционално на входното напрежение и съотношението R1 и R2.
Чрез прилагане на това уравнение в кода на Arduino може лесно да се изведе входното напрежение. Arduino може да измерва само постояннотоково входно напрежение от + 55v. С други думи, когато измерва 55V, аналоговият щифт на Arduino ще бъде с максималното си напрежение от 5V, така че е безопасно да се измерва в рамките на тази граница. Тук стойностите на резисторите R2 и R1 са зададени на 100000 и 10000, т.е. в съотношение 100: 10.
Електрическа схема и връзки:
Връзката за този цифров волтметър Arduino е проста и е показана на схемата по-долу:
Pin DB4, DB5, DB6, DB7, RS и EN на LCD са директно свързани към Pin D4, D5, D6, D7, D8, D9 на Arduino Uno
Централната точка на два резистора R1 и R2, която прави веригата на делителя на напрежението, е свързана към Arduino Pin A0. Докато другите 2 края са свързани към входния волт (напрежението, което трябва да се измери) и gnd.
Обяснение на кодирането:
Пълният код на Arduino за измерване на постояннотоковото напрежение е даден в частта с кодове по-долу. Кодът е прост и може лесно да се разбере.
Основната част от кода е да преобразува и картографира даденото входно напрежение в показаното изходно напрежение с помощта на даденото по-горе уравнение Vout = Vin (R2 / R1 + R2). Както споменахме по-рано, изходната стойност на Arduino ADC ще варира от 0 до 1023, а максималното изходно напрежение на Arduino е 5v, така че трябва да умножим аналоговия вход при A0 до 5/1024, за да получим реалното напрежение.
void loop () {int analogvalue = analogRead (A0); temp = (analogvalue * 5.0) / 1024.0; // ФОРМУЛА, ИЗПОЛЗВАНА ЗА КОНВЕРТИРАНЕ НА НАПРЕЖЕНИЕТО input_volt = temp / (r2 / (r1 + r2));
Тук сме показали измерената стойност на напрежението на LCD и сериен монитор на Arduino. Така че тук в кода Serial.println се използва за отпечатване на стойностите на сериен монитор, а lcd.print се използва за отпечатване на стойностите на 16x2 LCD.
Serial.print ("v ="); // отпечатва стойността на напрежението в серийния монитор Serial.println (input_volt); lcd.setCursor (0, 1); lcd.print ("Напрежение ="); // отпечатва стойността на напрежението в LCD дисплея lcd.print (input_voltage);
Ето как можем лесно да изчислим постояннотоковото напрежение, използвайки Arduino. Проверете видеото по-долу за демонстрация. Трудно е да се изчисли променливото напрежение с помощта на Arduino, можете да проверите същото тук.