Как измерить напряжение питания Arduino?

Есть много ссылок с описанием делителей на измерение напряжения на пине (за счет сравнения с напряжением питания, и за счет опорного напряжения 1,1 В).
Но мне не попалось ни одной статьи, где было бы описана процедура измерения напряжения питания Arduino. Это возможно реализовать?

//---------------------------------------------------------
float Vop= (float)(1.1*16368)/Vbg() ;
//---------------------------------------------------------
int Vbg() {  
ADMUX = (1<<REFS0)|(0<<REFS1)|(1<<MUX3)|(1<<MUX2)|(1<<MUX1)|(0<<MUX0);
long buffersamp=0;
for (int n=0x0; n<=0xff; n++ ) {
ADCSRA |= (1<<ADSC)|(1<<ADEN);  //Starts a new conversion иногда надо заменить на это ADCSRA = 0xc7; 
while (bit_is_set(ADCSRA,ADSC));
buffersamp += ADC; }
buffersamp >>=4; //16368 full scale 14bit
ADCSRA &= ~(1 << ADEN);  // отключаем АЦП
return buffersamp;
 }

Не моё. Это от @dimax
Ни чего не надо физически подключать к пинам контроллера. Измеряет напряжение с точностью до сотых вольта.

1 лайк

Для измерения напряжения питания не нужны никакие делители. И пинов никаких занимать не нужно.

Вот Вам аппнота от производителя микроконтроллера, где написано как это делается. Когда изучите, скажите, я добавлю кое-что из личного опыта, чего там нет.

2 лайка

Да, нет. Тут не хватает очень важного шага о котором @dimax не мог не сказать, Вы наверное, забыли.

В таком виде точность будет ±10%, т.к. в реальности (по даташиту) опорное 1.1В на поверку может оказаться в интервале 1.0 - 1.2.

Если ±10% достаточно, то можно и так, а если нет, то надо уточнить реальное опорное напряжение для своего экземпляра (в аппноте это прописано). И ещё, если уж нужна точность, я бы измерял в режиме “подавления шумов”.

Возможно и забыл что то, поправте. Я этим пользуюсь измеряя напряжение батарейки датчиков собранных на 328р. Точность с прибором до сотки всегда совпадает.

Это говорит только о том, что вы и не пытались искать.

4 лайка

У компании Dahua отличная память!

Главное, что её … много, в общем.

дада! в переводе на рускей это “очень много”, и это хорошо!