Использование 1,1 Вf для считывания стабильного напряжения батареи и напряжения датчика
После нескольких попыток мне удалось считывать стабильное напряжение батареи, используя внутреннее опорное напряжение 1,1 В. Теперь проблема, с которой я столкнулся, заключается в том, что я не могу считывать стабильное напряжение датчика. Не могли бы вы сообщить мне, как я могу прочитать напряжение моего датчика? ? или мне нужен дополнительный делитель напряжения (мой датчик подключается непосредственно к контактам A0 и GND).
@electro_nooobbbb, 👍-2
Обсуждение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);
}
,
@hcheung
Смотрите также:
- Распиновка аналога Arduino Pro Micro
- Чтение частоты ввода в цифровых выводах
- bh1750 lightsesor не будет работать
- Шумный analogRead
- Безопасное включение делителя напряжения на аккумуляторе 12 В
- Могут ли ESP8266 и HC-SR04 дружить?
- Расширенная настройка АЦП на Due (SAM3X8E) для повышения точности
- Считанное значение не меняется при вращении потенциометра в Arduino?
Глядя на свои прошлые сообщения, вы неоднократно используете неправильный код, а затем спрашиваете, почему он не работает. Может быть, вам следует поискать, как работает АЦП. Значение датчика = 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