Безопасное включение делителя напряжения на аккумуляторе 12 В
Я планирую контролировать напряжение 12-вольтовой батареи с помощью контакта АЦП Arduino, подключенного через делитель напряжения. Поскольку я не хочу, чтобы сама схема разряжала батарею, когда она не используется, я хочу использовать транзистор, чтобы «включить» ее через вывод DIO Arduino, например:
Это безопасная схема?
Если я установлю EN на низкий уровень, чтобы отключить делитель, не приведет ли это к риску подачи 12 В непосредственно на контакт ADC и его перегорания? Я нашел альтернативные конструкции, но они кажутся слишком сложными.
Редактировать: батарея Lipo, которая также питает Arduino через понижающий преобразователь постоянного тока.
@Cerin, 👍3
Обсуждение2 ответа
Я бы использовал несколько очень больших резисторов (например, 1 и 2 МОм) и добавил небольшой конденсатор в центр, чтобы стабилизировать значение во время выборки. Использование 1 и 2 МОм приведет к потере тока 10 мкА, что, вероятно, незначительно в ваших случаях.
Нет, не делай этого. Подумайте о входном сопротивлении АЦП и о том, какое влияние окажут такие большие резисторы..., @Majenko
@Majenko Вот для чего нужен конденсатор. Просто убедитесь, что между измерениями есть некоторое время, чтобы конденсатор оставался заряженным при правильном напряжении. Но тут я могу ошибаться!, @Gerben
О, и я бы не назвал 10 мкА незначительными. Мой последний проект простаивал при общем токе 50 мкА — добавление еще 10 мкА к этому означало бы увеличение потребления тока на 20%., @Majenko
10 мкА потребуется около 2 лет, чтобы разрядить батарейку типа «таблетка» CR2032. Поскольку это аккумулятор на 12 В, я предполагаю, что его емкость превышает 240 мАч. Действительно, 10 мкА не всегда можно пренебречь., @Gerben
Имейте в виду, что АЦП типа, используемого здесь, обычно является не стационарной нагрузкой, а скорее импульсной. Если вы пойдете по этому пути, было бы неплохо оценить показания для различных размеров резисторов и конденсаторов. Я действительно ожидаю, что вы увидите некоторое искажение показаний, но я также ожидаю, что можно будет получить приличные показания со схемой, нагрузка которой ничтожна по сравнению со скоростью саморазряда более крупной свинцово-кислотной батареи, если это действительно так. находится под наблюдением., @Chris Stratton
@Majenko, как такие большие резисторы повлияют на АЦП? Какое максимальное сопротивление следует использовать?, @Cerin
Зависит от частоты дискретизации. Резистор должен быть достаточно мал, чтобы конденсатор «полностью заряжался» между считываниями., @Gerben
Я использую аналогичную систему в продукте, над которым недавно работал, для контроля напряжения батареи, и, конечно же, я не хотел, чтобы она постоянно работала, чтобы разрядить батарею.
Хитрость, однако, заключается в том, чтобы делать прямо противоположное тому, что вы делаете. Вместо того, чтобы изолировать землю (которая оставляет батарею, а затем напрямую подключается к Arduino), вам нужно полностью изолировать батарею от делителя.
Этого можно добиться, используя P-канальный полевой МОП-транзистор, которым затем можно управлять с помощью N-канального полевого МОП-транзистора:
Теоретически, когда на DOUT Arduino либо НИЗКИЙ уровень, либо он не подключен (низкий уровень резистором 10K), N-канальный МОП-транзистор отключается. Это означает, что затвор P-канального MOSFET подтягивается к напряжению батареи другим резистором 10K, поэтому P-канальный MOSFET отключается, что изолирует весь делитель от батареи.
Когда DOUT становится ВЫСОКИМ, он включает N-канальный МОП-транзистор, который затем притягивает затвор P-канального МОП-транзистора к земле, что затем включает его, таким образом подключая делитель к батарее.
Когда канал P выключен, единственная цепь, подключенная к АЦП, — это соединение между входом АЦП и землей через резистор 10 КОм, так что все в порядке и безопасно.
Вы не должны использовать резисторы размером более 10 кОм на входе АЦП, потому что сам АЦП имеет сопротивление (импеданс), которое расположено параллельно нижнему резистору делителя. . Если резисторы делителя слишком велики, это сопротивление повлияет на точность ваших показаний, потому что общее сопротивление нижнего резистора будет немного искажено. Да, это можно компенсировать программно, но пока вы придерживаетесь ограничения в 10 К или около того для резисторов, вам не нужно беспокоиться о таких вещах.
Обратите внимание, что для этого важно использовать P-канальный MOSFET, а не PNP-транзистор. P-канальный МОП-транзистор во включенном состоянии выглядит как очень маленький резистор. Транзистор PNP рассматривается как фиксированное падение напряжения, искажающее ваши результаты. N-канальный MOSFET можно заменить на NPN-транзистор, если хотите, это не имеет большого значения. В наши дни я почти всегда использую МОП-транзисторы вместо биполярных транзисторов, хотя это само собой разумеющееся.
Кроме того, единственный другой способ добиться этого, сохраняя при этом изоляцию АЦП от батареи, — это заменить полевой МОП-транзистор с каналом P небольшим реле (скажем, герконовым реле), но тогда вам все равно придется построить цепь управления реле, которая примерно так же сложна, как и эта.
Интересный анализ. Это хороший момент в отношении MOSFET и BJT, однако я до сих пор не уверен, насколько общий дизайн принципиально отличается от моего подхода. Если бы я переместил свой транзистор в сторону высокого уровня и выключил его, не будет ли АЦП таким же образом отключен от батареи? Кроме того, почему вы не можете подключить DOUT напрямую к затвору P-MOSFET? Будет ли P-MOSFET активироваться только при напряжении 12 В?, @Cerin
Затвор P mosfet должен быть подтянут к потенциалу истока, чтобы выключить его, то есть к 12 В. При подключении к 5В он никогда не выключится. Вы не можете просто переместить свой транзистор, вы должны изменить полярность транзистора (PNP вместо NPN или P-канал вместо N-канала), что также означает правильное управление им с помощью N-канала или NPN., @Majenko
Похоже, вы перепутали сток и источник на P-FET. Я создал вашу схему в tinkercad, и у меня была проблема, пока я не переключил их. Спасибо за схему - сейчас попробую собрать. [Вот Tinkercad](https://www.tinkercad.com/things/6JFlPvcoxPr?sharecode=yeq1GCEKDXeBiFUR8W6AySuqHs_L8iEbSChyUyfSk3o), если вам интересно., @Devin Carpenter
- Чтение частоты ввода в цифровых выводах
- Проблемы с датчиками тока на эффекте Холла ACS758 — калибровка и отсутствие сигнала
- Как крутить светодиоды по показаниям напряжения?
- Использование 1,1 Вf для считывания стабильного напряжения батареи и напряжения датчика
- Чтение постоянного напряжения батареи и использование полученного значения в формуле датчика
- Сигнал времени. Определить наличие импульсов и их длительность
- Как мне измерить аналоговый сигнал на моем Arduino Mega, который имеет как положительное, так и отрицательное напряжение?
- Непоследовательные результаты при чтении входных данных в поисках шаблонов всплесков
Нет, это не приведет к достижению вашей цели. Верхний резистор *может* быть достаточно большим, чтобы защитный диод микроконтроллера Arduino мог справиться с током, поступающим от батареи, однако вы все равно будете разряжать батарею, чего вы пытались избежать. Какова емкость и химический состав вашей батареи? Я ожидаю, что что-то вроде автомобильного аккумулятора может иметь скорость саморазряда, которая скрывает нагрузку вашего делителя напряжения., @Chris Stratton
«Управляемый делитель напряжения» на странице, на которую вы ссылаетесь, кажется мне более разумным. Кроме того, я посмеялся над транзистором NdN, который вы использовали. ;), @Nick Gammon
@ChrisStratton, как он все еще разряжает батарею? Было бы иначе, если бы я переместил транзистор на верхнюю сторону?, @Cerin
Он по-прежнему разряжает батарею, потому что на входе источника питания ATMEGA есть защитный диод, который фиксирует входное напряжение примерно на 0,6 В выше напряжения питания, и оно будет питаться от верхнего резистора в вашей цепи. Потенциально (при меньшем сопротивлении) это может даже привести к питанию ATMEGA от входа, хотя это не соответствует спецификации, поскольку диоды крошечные и легко повреждаются., @Chris Stratton
@ChrisStratton, верно, так что не исправит ли это перемещение транзистора в сторону высокого уровня? При низком уровне EN не будет схемы, соединяющей 12 В со входом АЦП., @Cerin
Нет, потому что на высокой стороне вам понадобится PNP, а при подключении к выводу MCU вы не можете не потянуть его основание на низкий уровень, который включит его. Таким образом, вы используете NPN для включения PNP и, по сути, находитесь на территории уже предложенных многоступенчатых схем., @Chris Stratton