INA219 с регистратором можности L298N
Я работаю на мощности регистратор с INA219 и L298N в дело в том, что напряжение и ток отображаются на серийный монитор не то же самое на мой мультиметр. Arduino подключается к ПК для просмотра результата на последовательном
#include <Wire.h>
#include <Adafruit_INA219.h>
Adafruit_INA219 ina219;
//Adafruit_INA219 ina219_A;
//Adafruit_INA219 ina219_B(0x41);
void setup(void)
{
Serial.begin(115200);
while (!Serial) {
// will pause Zero, Leonardo, etc until serial console opens
delay(1);
}
uint32_t currentFrequency;
Serial.println("Hello!");
if (! ina219.begin()) {
Serial.println("Failed to find INA219 chip");
while (1) { delay(10); }
}
ina219.setCalibration_32V_1A();
Serial.println("Measuring voltage and current with INA219 ...");
}
void data(void)
{
float shuntvoltage = 0;
float busvoltage = 0;
float current_mA = 0;
float loadvoltage = 0;
float power_mW = 0;
delay(2000);
shuntvoltage = ina219.getShuntVoltage_mV();
busvoltage = ina219.getBusVoltage_V();
current_mA = ina219.getCurrent_mA();
power_mW = ina219.getPower_mW();
loadvoltage = busvoltage + (shuntvoltage / 1000);
Serial.print("Bus Voltage: "); Serial.print(busvoltage); Serial.println(" V");
Serial.print("Shunt Voltage: "); Serial.print(shuntvoltage); Serial.println(" mV");
Serial.print("Load Voltage: "); Serial.print(loadvoltage); Serial.println(" V");
Serial.print("Current: "); Serial.print(current_mA); Serial.println(" mA");
Serial.print("Power: "); Serial.print(power_mW); Serial.println(" mW");
Serial.println("");
delay(2000);
}
void loop() {
analogWrite(9, 245); //ENA pin
digitalWrite(8, HIGH);
digitalWrite(7, LOW);
data();
delay(5000);
analogWrite(9, 200); //ENA pin
digitalWrite(8, HIGH);
digitalWrite(7, LOW);
data();
delay(5000);
analogWrite(9, 150); //ENA pin
digitalWrite(8, HIGH);
digitalWrite(7, LOW);
data();
delay(5000);
analogWrite(9, 0); //ENA pin
digitalWrite(8, LOW);
digitalWrite(7, LOW);
data();
delay(5000);
}
@Rhu Pagal, 👍0
Обсуждение1 ответ
INA219 показывает вам мгновенный ток и напряжение в данный момент времени, в то время как ваш DMM показывает среднее значение за определенный период.
L298N выдает ШИМ-сигнал, который быстро включается и выключается.
Ты видишь, к чему это ведет?
Ваше обнаружение Arduino будет выдавать вам либо полную мощность, либо полную мощность (или где-то посередине из-за эффекта фильтра нижних частот двигателя), в значительной степени случайным образом, в то время как DMM даст вам среднее значение по ряду выборок.
Вам нужно будет быстро выполнить выборку сигнала PWM в течение определенного периода времени и рассчитать среднее значение, чтобы получить представление о том, какими могут быть ток и напряжение.
Спасибо, сэр, но вы думаете, что с подключением что-то не так, или я просто где-нибудь добавлю код для DMM?, @Rhu Pagal
Вам нужно добавить код, чтобы создать среднее значение по времени значений., @Majenko
Если я что-то не пропустил, я не видел, где правильно инициализированы управляющие контакты (7,8,9). В setup () должно быть несколько операторов " pinMode ()". Я что-то упускаю?, @user3765883
- Как получить общее среднее полученных данных
- Подключение ACS 712 30A к солнечной панели с помощью Arduino
- Как подключить 2 сервопривода MG996R towerpro
- Разъем Arduino UNO
- Включение Arduino и узла MCU
- Контролировать ток 48 вольт и 30 ампер с помощью ШИМ-сигнала - какие компоненты необходимы для этого
- Могу ли я запустить 3 датчика движения с регулятором напряжения?
- Как установить связь между веб-камерой и Arduino UNO и получать прямую трансляцию на мобильном телефоне с помощью ESP8266?
`не то же самое на моем мультиметре" Какую разницу вы видите?, @timemage