Использование 1,1 Вf для считывания стабильного напряжения батареи и напряжения датчика

После нескольких попыток мне удалось считывать стабильное напряжение батареи, используя внутреннее опорное напряжение 1,1 В. Теперь проблема, с которой я столкнулся, заключается в том, что я не могу считывать стабильное напряжение датчика. Не могли бы вы сообщить мне, как я могу прочитать напряжение моего датчика? ? или мне нужен дополнительный делитель напряжения (мой датчик подключается непосредственно к контактам A0 и GND).

, 👍-2

Обсуждение

Глядя на свои прошлые сообщения, вы неоднократно используете неправильный код, а затем спрашиваете, почему он не работает. Может быть, вам следует поискать, как работает АЦП. Значение датчика = AnalogRead(A0) представляет собой значение в диапазоне от 0 до 1023. Чтобы преобразовать его в напряжение, используйте формулу «напряжение = (значение датчика/Vref) * 1023», где Vref — это опорное напряжение, которое вы используете . используя, в данном случае это 1.1v. Кроме того, вы не можете получить правильное sensorValue, если ваш ввод в A0 ВЫШЕ, чем Vref, вы получите неправильное значение!, @hcheung

@hcheung хорошо, понял. сейчас изменю и обновлю. прежде чем я это сделаю, пожалуйста, ответьте на мой вопрос: 1) если я использую vref как 1,1 В, нужно ли мне измерять напряжение моей батареи, повлияет ли это каким-либо образом на код? потому что моя система требует только измерения датчика, вот и все. Я перехожу по этой ссылке (http://electronoobs.com/eng_arduino_tut156.php), в которой говорится, что нам нужно измерить напряжение батареи, после чего мы можем использовать его с кодом датчика. я сообщу вам о результатах, пожалуйста, оставайтесь на связи, @electro_nooobbbb

Если вы хотите измерить и откалибровать Vref, разница составляет +/- 10% в соответствии с таблицей (я уже упоминал об этом в моем предпочитаемом ответе, пожалуйста, прочитайте их). так что это означает, что Vref может быть в диапазоне 0,99 - 1,21 В., @hcheung

@hcheung Привет, пожалуйста, проверьте код выше, он отображает константу 0,00 В. Я подключил солнечную батарею к делителю напряжения, который снижает напряжение до 0,85 В., @electro_nooobbbb

На приведенной выше схеме LDR используется вместо солнечной панели из-за недоступности компонента в программном обеспечении., @electro_nooobbbb

internalReference должно быть '1.1' или напряжение, которое вы фактически измерили с помощью вольтметра на Vref. Каково сопротивление LDR?, @hcheung

Давайте [продолжим это обсуждение в чате](https://chat.stackexchange.com/rooms/143240/discussion-between-hcheung-and-electro-nooobbbb)., @hcheung


1 ответ


1

Чтобы измерить напряжение на A0 с внутренним опорным напряжением 1,1 В, используйте следующую формулу: напряжение с плавающей запятой = 1,1 * аналоговый красный (A0) / 1023;. Ваш код можно упростить как

float Vref = 1.1;

void setup(){
  Serial.begin(9600);
}

void loop() {
  analogReference (INTERNAL);
  float voltage = Vref * analogRead(A0) / 1023;
  Serial.print (“voltage at A0:”);
  Serial.println(voltage);
  Serial.print (“Solar panel voltage:”);
  Serial.println(voltage * 5.7);
  delay(1000);
}
,