Wemos aka Lolin D1 Mini - особенность пина A0

Sep 14, 2020 21:24

Захотел измерить напряжение с помощью встроенного в ESP8266 ADC. Скачал схему с официального сайта. Глянул номиналы резисторов R1 и R2 в voltage divider (udp: в версии с USB Type-C ребята из Wemos изменили нумерацию компонентов - теперь это R12 и R13). Набросал код. Подключаю - ADC выдает 3.20000000V, а мультиметр 3.279V. Красивые нули намекают на ( Read more... )

#arduino, esp8266, arduino, #esp8266

Leave a comment

mr_aleks2 January 24 2022, 13:21:32 UTC
Здравствуйте, подскажите пожалуйста как правильно подключить эти два резистора к wemos для измерения напряжения батареи ? Было бы если набросали схему. Спасибо!

Reply

elchupanibrei January 24 2022, 13:37:22 UTC
схема на Lolin D1 Mini есть в открытом доступе. я дал на нее ссылку в статье. вы ее открывали? правда в новой ревизии ребята из Wemos изменили нумерацию компонентов - теперь это R12

Reply

mr_aleks2 January 24 2022, 14:08:52 UTC
Видел схему, я не совсем понимаю.
"Заменил R1 (R12 в новой ревизии с USB Type-C) с 220КОм на 470КОм, подправил код. "
Если я правильно понимаю, вы просто добавили к R1 еще 250кОм резистор ? Если так то, как правильно его добавить ?

Reply

elchupanibrei January 24 2022, 15:31:09 UTC
Алексей, если у вас есть время, я не против помочь вам разобраться. вы мне только скажите да или нет, чтобы я не тратил свое время зря.

и так похоже вы плаваете в азах. давайте начнем с делителя напряжения/voltage divider. подсказка - по ссылке к контакты 1 и 3 подключаем туда где хотим измерить напряжение (на картинке туда уже подключена V1 - пин 1 к + бтарейки и пин 3 к минусу\земле). контакты 2 и 3 подключаем ко входу АЦП (пин 2 к TOUT/ADC и 3 к минусу\земле).

дальше все должно быть понятно из формул. например у вас 9 вольтовая батарейка крона. вам из 9в на входе (контакты 1 и 3) нужно сделать 1в на выходе (контакты 2 и 3), потому что на esp8266 больше 1в подавать нельзя.

Reply

mr_aleks2 January 24 2022, 18:36:52 UTC
Спасибо вам большое за помощь, не знал куда написать, что бы ответили на мои вопросы и помогли разобраться. Да, с физикой у меня есть проблемы. :)
Как подключить я понял, и формулу тоже. Если я к примеру хочу измерять литиевый аккумулятор с 3.7v, то резистор R1 нужно поменять на 270 что бы получить 1v на выходе ? 3.7v*100/(270+100)=1v, т.е. что бы в теории измерять напряжение до 3.7v нужно поменять R1 резистор как минимум на 270kOm (в теории лучше добавить больше, что бы не было сильно заметно погрешности в измерении) ?
У меня сразу пара вопросов. Зачем вы в калькуляторе считали для 1.025v ?
Резистор в 270кОм вы добавили просто для универсальности измерений до 5.7v ?

Reply

elchupanibrei January 24 2022, 19:56:01 UTC
"Если я к примеру хочу измерять литиевый аккумулятор с 3.7v, то резистор R1 нужно поменять на 270 что бы получить 1v на выходе ? 3.7v*100/(270+100)=1v"

абсолютно верно. молодец.

"в теории лучше добавить больше, что бы не было сильно заметно погрешности в измерении"
да лучше R1 чуть-чуть больше, но причина другая. дело в том что в мире нет ничего идеального и батареек в том числе - одна выдает 4.2в, а другая 3.7в. поэтому всегда берут с запасом. например: вам надо измерить напряжение li-ion. у него сразу после заряда напряжение 4.2в, а потом в процессе разряда довольно длительное время остается в районе 3.7в. я бы заменил R1 так, чтоб делитель спокойно приваривал чуть больше 4.2в. думаю 4.5в будет ок, а лучше 5в. итого по формуле 5v*100к/(400k+100k)=1v нам нужен резистор 400к ( ... )

Reply

mr_aleks2 January 25 2022, 06:26:43 UTC
Спасибо вам огромное, что откликнулись! На досуге буду пробовать.

Reply

elchupanibrei January 25 2022, 11:43:10 UTC
не за что. повысить точность АЦП так же можно программными приемами - оверсемплинг и фильтрацией шумов (например самый простой медианный фильтр с окном равным 3-м). удачи.

Reply

mr_aleks2 January 29 2022, 16:49:25 UTC
На практике оказалось все куда сложнее для меня.
Запутался опять. По схеме в старой версии вемоса есть R1 220kOm и R2 100kOm,что бы измерять до 5в нужно добавить 200 кОм R1 , это правильно? Если да, то как их подключить ? R2 100kOm ведь уже не нужно подключить т.к. он на плате впаян, правильно ?
Еще не совсем понятно как правильно вычесть аналоговые показания в вольты.
raw = analogRead(A0);
volt=raw/1023.0;
volt=volt*4.2;
На какое значения нужно умножать ?

Reply

elchupanibrei January 30 2022, 16:59:56 UTC
Нжно не добавить, а заменить 220к на 400к. R2 не трогаем от слова совсем, вы фомулу схему из моего предыдущего ответа видели?

Подробнее тут.

Reply

mr_aleks2 February 2 2022, 10:16:15 UTC
Видел и читал не раз.
Если нужно именно заменить, то придется искать и выпаивать на плате те 220кOm и ставить вместо него 400кOm, я вас правильно понял?
Я читал еще вот эту статью.

Reply

elchupanibrei February 2 2022, 13:22:44 UTC
"Если нужно именно заменить, то придется искать и выпаивать на плате те 220кOm и ставить вместо него 400кOm, я вас правильно понял?"

так точно.

Reply

easyjohn February 2 2022, 22:48:38 UTC
Просто сделайте еще один внешний делитель.
Я ставил дополнительно простой voltage sensor shield:

... )

Reply


Leave a comment

Up