Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Контроль внешнего питания
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Павел_Б
Здравствуйте Уважаемые форумчане.
Вопрос не столько по AVR, сколько по схемотехнике.
Внешнее питание устройства варьирется от 9 до 18 вольт.
Микроконтроллер ATMEGA8, питание через стабилизатор 3,6 вольт.
Нужно сделать контроль внешнего питания.
На ножку через сопротивление величиной 47 кОм завёл внешнее питание.
Подтяжку pull-op не делаю.
При подаче внешнего питания на ножке, которая контролирует внешнее питание 4,04 вольта.
Вопрос - это нормально для МК или следует увеличить сопротивление, или так вообще не делается.
Спасибо.
kovigor
Цитата(Павел_Б @ Jul 15 2011, 18:03) *
Вопрос - это нормально для МК или следует увеличить сопротивление, или так вообще не делается.


Это норма. Вы тянете этим резистором питание вашего МК "вверх" через защитный диод внутри МК. Так нельзя. Обязательно нужно не одно сопротивление, а делитель напряжения + желательно два диода Шоттки (защитных, см. схему порта IO в документации на ваш МК и сделайте так же, в смысле включения диодов). Тогда все будет в порядке ...
yakub_EZ
Это не нормально, сейчас вы подпитываете контроллер через верхний диод. Чтобы получить информацию о питаемом напряжении нужен резистивный делитель. Сделайте ему нижнее плечо, скажем килоом 10. Это резистор между землей и IO. Тогда с помощью АЦП, компаратора или просто отслеживая логическое состояние как входа можно будет измерить напряжение или отследить его нижний порог
Павел_Б
Цитата(kovigor @ Jul 15 2011, 18:24) *
Это норма. Вы тянете этим резистором питание вашего МК "вверх" через защитный диод внутри МК. Так нельзя. Обязательно нужно не одно сопротивление, а делитель напряжения + желательно два диода Шоттки (защитных, см. схему порта IO в документации на ваш МК и сделайте так же, в смысле включения диодов). Тогда все будет в порядке ...

Я понимаю что через этот резистор тяну питание МК вверх через защитный диод на ножке.
Но если всётаки оставить так как есть, ну скажем увеличить резистор до 100 кОм. Что может произойти?
Токи впринципе не большие.
При макисмальном входном напряжении в 18 В, учитывая питание МК (18-3,6)/100000 = 144 микроампера. Это плохо?
Обвязку нагромождать некуда уже sad.gif
kovigor
Цитата(Павел_Б @ Jul 15 2011, 18:35) *
Это плохо?
Обвязку нагромождать некуда уже sad.gif


Почти наверняка ничего не произойдет. Просто это некорректно и так делать нельзя. Поставьте резистор в нижнее плечо + два диода, они не займут много места.
Павел_Б
Цитата(kovigor @ Jul 15 2011, 18:43) *
Почти наверняка ничего не произойдет. Просто это некорректно и так делать нельзя. Поставьте резистор в нижнее плечо + два диода, они не займут много места.

Да, спасибо за рекомендации!
Наверное под делитель место найду... а вот по диоды наверное нет sad.gif
Microwatt
диоды и не обязательно. Но ДЕЛИТЕЛЬ на резисторах нужен.
ILYAUL
Цитата(Microwatt @ Jul 15 2011, 20:09) *
диоды и не обязательно. Но ДЕЛИТЕЛЬ на резисторах нужен.

Или поднимите питания проца 4.5 - 5 V
Павел_Б
Цитата(ILYAUL @ Jul 15 2011, 19:20) *
Или поднимите питания проца 4.5 - 5 V

sm.gif
если поднять напряжение, то соответственно напряжение на ножке также увеличится примерно до напряжение питания + 0,6 вольта
zhevak
Защитные диоды на питание и на общий вывод уже имеются в Вашем микроконтроллере, смотрите документацию.

Другое дело, что:

1. Эти диоды довольно-таки слабенькие. Точно не помню, но на вскидку по моему 1-2 мА. Но если токи через диоды не будут превышать оговоренных величин, то это нормально. В своих разработках я так делаю.

2. Устанавливая только один внешний резистор Вы не сможете померить величину вхожного напряжения. Вы будете только знать то, что оно больше Vcc или Vref -- я не знаю, то Вы используете для опоры АЦП. Таким образом, ценность Информации о напряжении будет не велика.

По сути Ваша методика оценки напряжения становится релейной -- есть напряжение / нет напряжения. Если такой расклад Вас устраивает, то может оставить один резистор. Надеяться на то, что входное напряжение упадет с 9-18 В сразу до нуля -- несколько наивно. Напряжение может падать резко до значения 3-5 В (схема активна и потребляет много тока), и потом очень медленно опускаться до нуля (падение напряжения на стабилизаторе + минимально возможное напряжение на МК, при котором он еще продолжает работать, и ниже, при котором МК уже не работает. А значит почти не потребляет ток). Я клоню к тому, что в Вашем случае произойдет следущее -- входное напряжение с точки зрения МК всегда есть, или, другими словами, МК перестанет работать раньше (из-за снижения своего Vcc), чем он заметит пропадание входного напряжения.

Таким образом, Вам необходимол иметь делитель, состоящий из двух внешних резисторов.

Уточните, как (ил чем) Вы собираетесь оценивать входное питающее напряжение:
- оцифровывать с помощью АЦП
- будете заводить его на компаратор
- или Вам достаточно точности входных каскадов, интерпретирующих напряжение на ножке МК как логический ноль/логическая единица.
Только тогда Вам можно дальше что-либо дельное посоветовать.
ILYAUL
Цитата(Павел_Б @ Jul 15 2011, 20:28) *
sm.gif
если поднять напряжение, то соответственно напряжение на ножке также увеличится примерно до напряжение питания + 0,6 вольта

Но Вы же написали
Наверное под делитель место найду...
Павел_Б
Цитата(zhevak @ Jul 15 2011, 19:30) *
Защитные диоды на питание и на общий вывод уже имеются в Вашем микроконтроллере, смотрите документацию.
...

Во первых у меня схема резервирования по питанию.
И мне достаточно знать факт наличия/отсутствия входного напряжение на первом входе. Больше мне ничего не нужно sm.gif
Я тоже где-то читал что можно одним резистором обойтись, главное защитный диодне сжечь. Который действительно весьма слаб.
Что бы после снятия внешнего питания на входе 1 напряжение упало до нуля достаточно быстро - поставил 47 кОм паралельно источнику питания.
Опытным путём установил что при питании МК 3,6 вольт. МК начинает "видеть" логическую 1 при входном напряжении от 1,7 вольта.
Ниже 1,5 вольта считает логическим нулём. Исходя из этого уже рассчитал делитель.
sm.gif
kovigor
Цитата(Павел_Б @ Jul 15 2011, 20:14) *
Опытным путём установил что при питании МК 3,6 вольт. МК начинает "видеть" логическую 1 при входном напряжении от 1,7 вольта.
Ниже 1,5 вольта считает логическим нулём. Исходя из этого уже рассчитал делитель.


И это тоже некорректно. Такие опыты попросту не нужны и даже вредны. В конце даташита есть табличка, в которой расписано, какие уровни МК считает нулевыми, а какие - единичными. Именно на нее и нужно ориентироваться ...
ILYAUL
Цитата(Павел_Б @ Jul 15 2011, 21:14) *
Во первых у меня схема резервирования по питанию.
И мне достаточно знать факт наличия/отсутствия входного напряжение на первом входе. Больше мне ничего не нужно sm.gif

Ну и включите внутренний резистор по первому входу, зачем Вам внешний.
Только всё равно не понятно , как Вы собираетесь проверять резервное питание, если основное уже отключится , а резервное "накрылось" , да даже пускай работает , как Вы собираетесь определять от какого питания работает Ваше устройство?
Как происходит переключение с основного на резервное и что резервное из себя представляет?
Павел_Б
Цитата(ILYAUL @ Jul 15 2011, 22:51) *
Ну и включите внутренний резистор по первому входу, зачем Вам внешний.
Только всё равно не понятно , как Вы собираетесь проверять резервное питание, если основное уже отключится , а резервное "накрылось" , да даже пускай работает , как Вы собираетесь определять от какого питания работает Ваше устройство?
Как происходит переключение с основного на резервное и что резервное из себя представляет?

Про резистор непонял. Всмысле подтяжку Pull-up сделать? И что она даст?
Развязка на диодах.
2 входа для подачи напряжения. Каждый вход имеет свой диод. Катоды диодов вместе и на основную схему.
Предполагается что резервное питание присутствует всегда. Ясно понятно, что если оно отсутствует и при пропаже основного питания микроконтроллер вырубится и ничего определять на входе основного источника питания уже не будет!
Microwatt
Да, последнее на что-то похоже.
Павел_Б
Цитата(kovigor @ Jul 15 2011, 20:41) *
И это тоже некорректно. Такие опыты попросту не нужны и даже вредны. В конце даташита есть табличка, в которой расписано, какие уровни МК считает нулевыми, а какие - единичными. Именно на нее и нужно ориентироваться ...

ДА, спасибо, посмотрел.
Логический ноль в моём случае до 0,3Vcc
А единица от 0,6Vcc
sm.gif
Посчитаемс....
Напряжение питания 3,6 вольта.
Тогда логический ноль менее 1,08 Вольта
Логическая единица - от 2,16 Вольта
Ха-ха-ха
А у меня получалось что ниже 1,5 В - лог. 0
и выше 1,7 В - лог. 1
Вот это "разбег" smile3046.gif
zhevak
Цитата(kovigor @ Jul 15 2011, 23:41) *
И это тоже некорректно. Такие опыты попросту не нужны и даже вредны. В конце даташита есть табличка, в которой расписано, какие уровни МК считает нулевыми, а какие - единичными. Именно на нее и нужно ориентироваться ...

Подчеркнутое утверждение немного напрягает.
Я не говорю, что даташиты читаь не надо. Надо! Обязательно надо. Но отрицать практический опыт -- это как-то не совсем правильно. Откуда еще можно получить практический опыт, как не из этого? А потом, в даташитах могут и не писать каие-нибудь экзотические параметры.

К стати сказать, я не считаю зазорным, а, наоборт, считаю даже очень полезным снять входную характеристику. Посмотреть своими приборчиками (тестер, осциллограф) напряжения, при которых происходит переключение из "1" в "0" и из "0" в "1". Посмотреть ширину петли гистерезиса, оценить как она изменяется при изменении Vcc. (Может она вообще не меняется!)

В общем, там много чего есть интересного с практической точки зрения, есть что "пощупать руками". Так что я никак не могу согласится с Вашим доводом. Извините.

Возможно, я не правилно понял, но тогда уточняйте свою мысль.
Андрей190
Поставьте транзистор с резисторами встроенными, к примеру PDTC144E.
эмиттер на землю, на базу напряжение питания, коллектор на МК.
включить внутреннюю подтяжку.
выйдет дороже чем резисторы, но надежней.
Maik-vs
Да нормальное решение. В аппноте Atmel "zero-cross detector" через 3мегаома подаёт на вход 310 вольт, и ничего. Какие проблемы? Некуда утечь току 0,1мА с шины питания? Это постараться надо... Максимальный ток защитного диода 1мА, и автору можно ставить хоть 20 килоом хоть 500 (только тогда поближе к ноге контроллера) sm.gif

Насчёт практического опыта vs даташит. Снять параметры можно, но надо понимать, что это параметры вот этого конкретного контроллера, при этой температуре. В даташитах атмела очень много графиков, буквально про всё. Лучше ориентироваться на них.
ILYAUL
Цитата(Павел_Б @ Jul 16 2011, 07:12) *
Всмысле подтяжку Pull-up сделать?

Совершенно верно
Цитата(Павел_Б @ Jul 16 2011, 07:12) *
И что она даст?

У Вас вход при наличии любого из Ваших питаний вход1 (как Вы его называете) будет читаться как 1, а при их отсутствии 0, точнее вообще не будет работать ,а как Вы написали
Цитата(Павел_Б)
Больше мне ничего не нужно biggrin.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.