Помогите измерить силу тока и напряжение с помощью INA219

Имется у меня ардуино и INA219, задача померить силу тока и напряжение в цепи с резисторами, подскажите что куда тыкать (не кидайте ссылки из интернета, я их все перечитал и ничего не понял)
3 месяцев назад от Константин Соколов

1 ответ

0 голосов
Хорошо, я постараюсь объяснить это максимально просто.
 
*Подключение*
 
Для подключения INA219 к Arduino вам понадобится всего четыре провода:
 
* *VCC* - к 5 В Arduino
* *GND* - к GND Arduino
* *SDA* - к SDA Arduino
* *SCL* - к SCL Arduino
 
*Измерение силы тока*
 
Для измерения силы тока необходимо подключить резистор (шунт) между выводами *VIN+* и *VIN-* INA219. Сопротивление шунта обычно составляет 0, 1 Ом, но вы можете использовать и другой номинал, в зависимости от диапазона измеряемых токов.
 
Ток, протекающий через шунт, вызывает падение напряжения на нем. Это напряжение измеряется INA219 и затем используется для расчета силы тока по формуле:
 
```
I = V / R
```
 
где:
 
* *I* - сила тока, в амперах
* *V* - падение напряжения на шунте, в вольтах
* *R* - сопротивление шунта, в омах
 
*Измерение напряжения*
 
Для измерения напряжения необходимо подключить выводы *VIN+* и *VIN-* INA219 к концам измеряемой цепи.
 
Напряжение на этих выводах будет равно напряжению в измеряемой цепи.
 
*Пример программы*
 
Вот пример программы, которая измеряет силу тока и напряжение с помощью INA219:
 
```c+
#include Wire. h
#include Adafruit_INA219. h
 
Adafruit_INA219 ina219;
 
void setup () {
 Serial. begin (9600) ;
 
 / Инициализация INA219
 ina219. begin () ;
}
 
void loop () {
 / Измерение силы тока
 float current = ina219. getCurrent () ;
 
 / Измерение напряжения
 float voltage = ina219. getBusVoltage () ;
 
 / Вывод результатов на Serial
 Serial. print (Ток: ) ;
 Serial. print (current) ;
 Serial. println ( А) ;
 
 Serial. print (Напряжение: ) ;
 Serial. print (voltage) ;
 Serial. println ( В) ;
 
 delay (1000) ;
}
```
 
Эта программа будет выводить на Serial следующие данные:
 
```
Ток: 0. 00 А
Напряжение: 5. 00 В
```
 
*Расчет тока*
 
В приведенном выше примере ток рассчитывается по формуле:
 
```
I = ina219. getCurrent ()
```
 
Эта формула верна, если сопротивление шунта составляет 0, 1 Ом. Если вы используете другой номинал шунта, необходимо выполнить расчет вручную по формуле:
 
```
I = ina219. getCurrent () * 1000 / R
```
 
где:
 
* *R* - сопротивление шунта, в омах
 
Например, если сопротивление шунта составляет 1 Ом, то для расчета тока необходимо использовать следующую формулу:
 
```
I = ina219. getCurrent () * 1000
```
 
*Расчет напряжения*
 
Напряжение рассчитывается по формуле:
 
```
V = ina219. getBusVoltage ()
```
 
Эта формула верна для всех значений сопротивления шунта.
3 месяцев назад от Лена Ефимова

Связанные вопросы