С чем я работаю: я использую свою самодельную плату Arduino (в том смысле, что я использую загрузчик Arduino и редактор кода) при напряжении 3,3 В и питается от литий-ионной батареи, которая заряжается от USB соответствующим микрочипом. зарядное устройство IC.
Чего я пытаюсь достичь: я хочу измерять емкость батареи раз в минуту или около того. У меня подключен ЖК-дисплей, поэтому идея заключается в том, что общая настройка позволяет мне узнать, как работает аккумулятор в данный момент. Лист данных батареи имеет кривую зависимости напряжения от уровня разряда, и поэтому, измеряя напряжение батареи, я могу оценить оставшуюся емкость (очень приблизительно, но для меня достаточно!).
Что я сделал:
(РЕДАКТИРОВАТЬ: Обновлены значения резисторов и добавлен переключатель P-MOSFET на основе предложений @stevenvh и @ Jonny).
Я подключил делитель напряжения от аккумулятора V_plus, причем большая «часть» идет к аналогово-считывающему контакту (т.е. АЦП) на чипе Arduino / Atmega.
Делитель составляет от 33 кОм до 10 кОм, что позволяет измерять максимум 4,1 Вольт литий-ионной батареи от моего микроконтроллера уровня 3,3 В.
Кроме того, используя один из выводов ввода / вывода, подключенных к n-канальному MOSFET, я могу переключать ток через делитель только тогда, когда мне нужно измерение.
Вот примерная схема (обновлена во второй раз на основе предложений @stevenvh и @Nick):
Мой вопрос:
Как мои текущие настройки?
Мои единственные ограничения: (1) Я хотел бы сделать приблизительное измерение емкости батареи на основе показаний напряжения, как описано выше. (2) Я бы хотел не допустить, чтобы делитель напряжения мешал показаниям моей батареи о наличии батареи (в моей первоначальной настройке делитель иногда вызывал неправильное прочтение ИС, даже если батарея отсутствовала).
Ответы:
Похоже, это очень похоже на схему Ника, вероятно, он занимался рисованием, когда писал :-).
Во-первых, почему вы не можете использовать N-FET на высокой стороне: ему нужно напряжение затвора на несколько вольт выше, чем у источника, и 4,2 В - это все, что у вас есть, ничего выше, так что это не сработает.
У меня есть более высокое значение для подтягивания, хотя значение 100 кОм также подойдет. 10 кОм вызовут ненужный дополнительный ток 400 мкА при измерении. Не конец света, но это резистор 1 в обоих случаях, так почему бы не использовать более высокое значение.
Для полевых МОП-транзисторов существует множество деталей, из которых можно выбирать, учитывая, что требования не так строги; Вы можете рассмотреть недорогие, такие как, например, Si2303 для P-канала и BSS138 для N-канала.
источник
@Inga. Это больше комментарий, чем ответ. Но я хотел бы опубликовать изображение, поэтому я публикую его в качестве ответа.
Ваш микроконтроллер (ОК) питается от + 3,3 В. Слив предлагаемого P-MOSFET может достигать + 4,1 В. В настоящее время логический сигнал + 3,3 В не сможет полностью отключить P-MOSFET. Q6 на схеме ниже образует выход с открытым стоком, который допускает + 4,1 В.
C14 снижает импеданс, который увидит ваш A / D.
Вы можете обнаружить, что измерение напряжения аккумулятора не является точным способом определения оставшейся емкости. В портативном оборудовании (мобильные телефоны, ноутбуки) емкость аккумулятора оценивается путем измерения тока на входе и выходе из аккумулятора. Существуют десятки специализированных интегральных схем датчиков уровня заряда аккумулятора ( например , bq27200 ), которые помогают в решении этой задачи.
У переключателя на стороне низкого уровня возникают проблемы, когда напряжение аккумулятора (V bat ) превышает напряжение питания микроконтроллера (V cc ). Когда выключатель на стороне низкого уровня выключен, заземляющий конец делителя напряжения плавает, делитель больше не делится, полное напряжение батареи появляется на выводе АЦП микроконтроллера. Это может повредить ОК. Это также создаст путь утечки, через который разрядится батарея.
Переключатель верхней стороны вызывается, когда V bat > V cc .
1 Для краткости я буду использовать V cc , но это обсуждение относится и к V dd , AV cc , AV dd . Если вы сомневаетесь, посмотрите в таблице, конечно.
источник
Ad.A: Я думаю, что достаточно справедливо использовать простой делитель напряжения для определения напряжения батареи. Хотя вы должны тщательно выбирать сопротивление. Внутренний импеданс ваших входов АЦП составляет 100 кОм, согласно спецификации ATmega328 . См. «Рисунок 23-8. Схема аналогового входа». Если ваш делитель имеет сравнимый импеданс со входом АЦП, входная схема АЦП в основном будет вести себя как другой узел в делителе. Это может дать вам смещения в показаниях АЦП.
Использование делителя с сопротивлением до 10 кОм на шинах было бы достаточно низким, чтобы игнорировать входной импеданс АЦП при использовании только 410 мкА. Если это слишком много для вашего приложения, вы, конечно, можете выбрать большее сопротивление, но имейте в виду, что АЦП есть и подключен к Vcc / 2.
источник