2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Устройство может использоваться для измерения потребляемой мощности. Эта схема также может действовать как вольтметр и амперметр для измерения напряжения и тока.
Запасы
Компоненты оборудования
Ардуино Уно
ЖК-дисплей 16 X 2
Операционный усилитель LM 358
7805 Регулятор напряжения
Потенциометр 10 кОм
0,1 мкФ
Резистор 10кОм
Резистор, 20 кОм
Резистор 2.21кОм
Резистор, 0,22 Ом
Тестовая нагрузка
Соединительные провода
Компоненты программного обеспечения:
IDE Arduino
Шаг 1: Работа ваттметра Arduino
Создание собственных счетчиков не только снижает стоимость тестирования, но также дает нам возможность облегчить процесс тестирования.
Работающий:
Со стороны датчика есть две секции, которые надежно измеряют напряжение и ток. Для измерения напряжения используется схема делителя напряжения с использованием резистора 10 кОм и резистора 2,2 кОм.
С помощью этих резисторов можно легко измерить напряжение до 24 В. Эти резисторы также помогают нам выбрать диапазон напряжений от 0 до 5 В, что является нормальным диапазоном, в котором работает Arduino.
Чтобы измерить ток, мы должны изменить текущие значения на обычные значения напряжения. Согласно закону Ома падение напряжения на нагрузке пропорционально току.
Следовательно, относительно нагрузки устанавливается небольшой шунтирующий резистор. Оценив напряжение на этом резисторе, мы можем рассчитать ток. Мы использовали операционный усилитель LM358 в режиме неинвертирующего усилителя, чтобы увеличить значения, передаваемые в Arduino.
Схема делителя напряжения для управления обратной связью включает резистор 20 кОм и резистор 1 кОм. Эти резисторы обеспечивают усиление примерно 21.
Узнайте больше о курсе IoT, который поможет вам создать индивидуальные решения IoT.
Шаг 2. Запустите код
#включают
int Read_Voltage = A1;
int Read_Current = A0;
const int rs = 2, en = 4, d4 = 9, d5 = 10, d6 = 11, d7 = 12;
ЖК-дисплей LiquidCrystal (rs, en, d4, d5, d6, d7);
плавающее напряжение = 0,0;
float Current = 0,0;
float Power = 0,0;
установка void ()
{
lcd.begin (16, 2);
Serial.begin (9600);
lcd.print («Ардуино»);
lcd.setCursor (0, 1);
lcd.print («Ваттметр»);
задержка (2000);
lcd.clear ();
}
пустой цикл ()
{
Напряжение = analogRead (Read_Voltage);
Current = analogRead (Read_Current);
Напряжение = Напряжение * (5,0 / 1023,0) * 6,46;
Текущий = Текущий * (5,0 / 1023,0) * 0,239;
Serial.println (напряжение); Serial.println (Текущий);
Мощность = Напряжение * Ток;
Serial.println (Питание);
lcd.setCursor (0, 0);
lcd.print ("V =");
lcd.print (Напряжение);
lcd.print ("");
lcd.print ("I =");
lcd.print (Текущий);
lcd.setCursor (0, 1);
lcd.print ("P =");
lcd.print (Power);
задержка (1000);
}