Схема вольтметра постоянного тока на базе Arduino - Детали конструкции и тестирование

Попробуйте наш инструмент устранения неполадок





В этом посте мы собираемся построить вольтметр постоянного тока с использованием Arduino, показания которого отображаются на ЖК-дисплее 16x2.



Предлагаемая конструкция вольтметра может считывать показания до 30 В с допуском +/- 0,5 В. Мы собираемся увидеть, как работает эта установка, и исследуем другие возможности, которые мы можем реализовать, кроме измерения напряжения.



Этот проект довольно прост, даже новички могут выполнить его с легкостью, но при создании прототипа схемы необходимо проявлять осторожность, поскольку мы собираемся подавать внешнее напряжение, любое неправильное подключение к Arduino может привести к фатальному повреждению вашей платы.

Пусть предупреждение будет стороной, давайте посмотрим, как оно работает.



Здесь мы используем процесс аналого-цифрового преобразования. Напряжение от любого источника является аналоговой функцией, показания, отображаемые на ЖК-дисплее 16x2, являются цифровой функцией.

Задача состоит в преобразовании этих аналоговых функций в цифровые. К счастью, у Arduino есть функция чтения аналоговых функций и преобразования их в дискретную функцию.

Микроконтроллер Arduino оснащен 10-битным аналого-цифровым преобразователем (АЦП). Это означает, что Arduino может считывать 2 ^ 10 = 1024 дискретных уровня напряжения.

Другими словами, напряжение, приложенное к аналоговому штифт Arduino дискретизируется 1024 дискретных уровней напряжения относительно опорного напряжения выбранное значение получает отображается на дисплее. Это принцип, лежащий в основе этого вольтметра или почти любого цифрового вольтметра.

Однако приложенное внешнее напряжение не измеряется напрямую Arduino. Напряжение понижается с помощью делителей напряжения, и в программе выполняется некоторая математика, чтобы получить фактическое значение напряжения.

Как это устроено

Схема состоит из двух резисторов, одного ЖК-дисплея и Arduino, который является мозгом цифрового вольтметра. Два резистора действуют как делитель напряжения, узел делителя подключен к аналоговому выводу № A0 Arduino, который считывает входное напряжение. Между Arduino и внешним источником напряжения устанавливается заземление.

Минимальное напряжение, которое может измерять этот вольтметр, составляет 0,1 В, этот порог установлен в программе, так что он показывает 0,00 вольт после отключения источника напряжения и не отображает показания из-за статического заряда вокруг измерительного зонда.

Авторский прототип:

Результаты испытаний вольтметра постоянного тока на базе Arduino

Не меняйте полярность при измерении напряжения, это не повредит цепи, но не считывает напряжение и не отображает 0,00 В, пока вы не исправите полярность. Отрегулируйте контрастность ЖК-дисплея до оптимального уровня, вращая потенциометр.

Убедитесь, что вы не применяете какой-либо источник напряжения, которое может превышать 30 В и может повредить вашу плату Arduino. Технически вы можете увеличить максимальное измерительное напряжение этой схемы, изменив значения резисторов и модифицируя программу, но для проиллюстрированной схемы 30В является пределом.

Для точного считывания выбирайте фиксированные резисторы с минимальным значением допуска, резисторы играют важную роль в калибровке показаний напряжения.

Принципиальная электрическая схема:

Схема вольтметра постоянного тока на базе Arduino

Другая возможность этого вольтметра заключается в том, что мы можем модифицировать программу для автоматизации некоторых задач.

Например, обнаружение полного напряжения аккумулятора и отключение аккумулятора от зарядного устройства или отключение аккумулятора, если напряжение опускается ниже заданного уровня и т. Д., Эти задачи могут быть выполнены даже без ЖК-дисплея. Однако это тема другой статьи.

Программа:

//--------Program developed by R.Girish---------//
#include
LiquidCrystal lcd(12,11,5,4,3,2)
int analogInput = 0
float vout = 0.0
float vin = 0.0
float R1 = 100000
float R2 = 10000
int value = 0
void setup()
{
pinMode(analogInput, INPUT)
lcd.begin(16, 2)
lcd.print('DC VOLTMETER')
Serial.begin(9600)
}
void loop()
{
value = analogRead(analogInput)
vout = (value * 5.0) / 1024
vin = vout / (R2/(R1+R2))
if (vin<0.10) {
vin=0.0
}
lcd.setCursor(0, 1)
lcd.print('INPUT V= ')
lcd.print(vin)
delay(500)
}
//--------Program developed by R.Girish---------//

Пожалуйста, проверьте показания с помощью хорошего вольтметра / мультиметра.




Предыдущая статья: Схема блокировки зажигания автомобиля с Bluetooth - Защита автомобиля без ключа Далее: Магнитная цепь охранной сигнализации двери для оповещения, если дверь была открыта