Съдържание:

Измерване на напрежение с помощта на Arduino: 5 стъпки
Измерване на напрежение с помощта на Arduino: 5 стъпки

Видео: Измерване на напрежение с помощта на Arduino: 5 стъпки

Видео: Измерване на напрежение с помощта на Arduino: 5 стъпки
Видео: Measuring 5A-30A AC and DC current using Allegro ACS712 with Robojax Library (code added into video) 2024, Ноември
Anonim
Image
Image
Измерване на напрежение с помощта на Arduino
Измерване на напрежение с помощта на Arduino

Измерването на напрежението е доста лесно с помощта на всеки микроконтролер в сравнение с измерването на тока. Измерването на напрежение става необходимо, ако работите с батерии или искате да направите собствено регулируемо захранване. Въпреки че този метод се прилага за всеки uC, но в този урок ще научим как да измерваме напрежението с помощта на Arduino.

На пазара има сензори за напрежение. Но наистина ли имате нужда от тях? Нека разберем!

Стъпка 1: Основи

Основи
Основи
Основи
Основи
Основи
Основи

Микроконтролерът не може да разбере аналоговото напрежение директно. Ето защо трябва да използваме накратко аналогово -цифров конвертор или ADC. Atmega328, който е мозъкът на Arduino Uno, има 6 канала (маркирани като A0 до A5), 10-битов ADC. Това означава, че той ще преобразува входното напрежение от 0 до 5V в цели числа от 0 до (2^10-1), т.е. равно на 1023, което дава разделителна способност от 4,9 mV на единица. 0 ще съответства на 0V, 1 до 4.9mv, 2 до 9.8mV и така нататък до 1023.

Стъпка 2: Измерване на 0-5V

Измерване 0-5V
Измерване 0-5V
Измерване 0-5V
Измерване 0-5V
Измерване 0-5V
Измерване 0-5V
Измерване 0-5V
Измерване 0-5V

Първо ще видим как да измерваме напрежението с максимално напрежение 5V. Това е много лесно, тъй като не са необходими специални модификации. За да симулираме вариращото напрежение, ще използваме потенциометър, чийто среден щифт е свързан към някой от 6 -те канала. Сега ще напишем кода, за да прочетем стойностите от ADC и да ги преобразуваме обратно в полезни показания на напрежението.

Четене на аналоговия щифт A0

стойност = analogRead (A0);

Сега променливата "стойност" съдържа стойност между 0 до 1023 в зависимост от напрежението.

напрежение = стойност * 5,0/1023;

Получената стойност сега се умножава по разделителната способност (5/1023 = 4,9mV на единица), за да се получи действителното напрежение.

И накрая, покажете измереното напрежение на серийния монитор.

Serial.print ("Voltage =");

Serial.println (напрежение);

Стъпка 3: Измерване на напрежение над 5V

Измерване на напрежение над 5V
Измерване на напрежение над 5V

Но проблемът възниква, когато измерваното напрежение надвишава 5 волта. Това може да бъде решено с помощта на верига с делител на напрежение, която се състои от 2 последователно свързани резистора, както е показано. Единият край на тази последователна връзка е свързан към измерваното напрежение (Vm), а другият край към земята. Напрежение (V1), пропорционално на измереното напрежение, ще се появи на кръстовището на два резистора. След това това кръстовище може да бъде свързано към аналоговия щифт на Arduino. Напрежението може да бъде установено с помощта на тази формула.

V1 = Vm * (R2/(R1+R2))

След това напрежението V1 се измерва от Arduino.

Стъпка 4: Изграждане на делителя на напрежение

Изграждане на делител на напрежение
Изграждане на делител на напрежение
Изграждане на делител на напрежение
Изграждане на делител на напрежение
Изграждане на делител на напрежение
Изграждане на делител на напрежение

Сега, за да изградим този делител на напрежение, първо трябва да разберем стойностите на резисторите. Следвайте тези стъпки, за да изчислите стойността на резисторите.

  1. Определете максималното напрежение, което трябва да бъде измерено.
  2. Определете подходяща и стандартна стойност за R1 в килоомов диапазон.
  3. Използвайки формула, изчислете R2.
  4. Ако стойността на R2 не е (или близка до) стандартна стойност, променете R1 и повторете горните стъпки.
  5. Тъй като Arduino може да издържи максимум 5V, V1 = 5V.

Например, Нека максималното напрежение (Vm), което трябва да бъде измерено, да бъде 12V и R1 = 47 кило-ома. Тогава използвайки формулата R2 се равнява на 33k.

Сега изградете верига на делител на напрежение, като използвате тези резистори.

С тази настройка сега имаме горна и долна граница. За Vm = 12V получаваме V1 = 5V и за Vm = 0V получаваме V1 = 0V. Тоест, за 0 до 12V при Vm, ще има пропорционално напрежение от 0 до 5V при V1, което след това може да бъде подадено в Arduino както преди.

Стъпка 5: Отчитане на напрежението

Четене на напрежението
Четене на напрежението
Четене на напрежението
Четене на напрежението

С лека промяна в кода, сега можем да измерваме от 0 до 12V.

Аналоговата стойност се чете както преди. След това, използвайки същата формула, спомената по -горе, се измерва напрежението между 0 и 12V.

стойност = analogRead (A0);

напрежение = стойност * (5.0/1023) * ((R1 + R2)/R2);

Общо достъпните модули на сензора за напрежение не са нищо друго, освен просто делителна верига на напрежение. Те са оценени за 0 до 25V с 30 килоома и 7,5 килоома резистори.

И така, защо да КУПУВАМЕ, когато можете да си направите сами!

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

Абонирайте се за канала ми в YouTube за още предстоящи проекти и уроци. Благодаря още веднъж!

Препоръчано: