Tag Archives: Питание

Он не хотел выключаться

В продолжение старой темы Выключить выключить Поделились тут со мной одним любопытным багом. В общем, некое батарейное устройство, имеет схему включения и выключения примерно следующего типа:

При нажатии кнопки питание от BATT_PWR идет на ON_PWR контроллер запитывается, очухивается и подает на POW_CTRL высокий уровень, который открывает Q1 + Q2, что вызывает шунтирование кнопки и схема встает на самопитание. Диод D1 отрезает питание от кнопки и вывод SW_OFF через резистор R4 прижимается к земле. А когда мы кнопку жмем снова, там появляется высокий уровень, который через SW_OFF интерпретируется как команда на выключение. Процессор опускает POW_CTRL и вся схема выключается.

Собрали, протестили, все работает зашибись. Сделали первую партию устройств, все зашибись, вторую, нормально… А потом устройства, через одно, перестали выключаться. Жмешь выключить, а оно перезагружается. Очевидно что-то идет не так, раз контроллер запускается снова.
Воткнулись осциллографом в линию питания и линию контроля транзистором и была там следующая картина:

У нормальных устройств все было штатно. Питание пропадает и напряжение падает по экспоненте, по мере разряда емкостей.
А у глючащих на определенном этапе был запуск снова. Без видимых причин. То есть что-то будило контроллер и он запускался и поднимал линию самопитания.

Это у меня тут, в нарисованном от руки графике, видно, что там есть небольшое повышение напряжения. На деле же оно было ничтожным, на уровне шумов на экране осциллографа. Вот, если приблизить:

В общем, предположение было такое, что по мере просадки напряжения происходило обесточивание блоков устройства, что где-то вызывало колебательный процесс, а может гальванический эффект где сработал. В общем, какая то мелкая фигня, зависящая от случайных факторов в параметрах элементной базы, вызывала повышение напряжения на сотые доли вольта, но его хватило, чтобы система Brown-out detector’a сначала заглушила проц, а потом напряжение чуток поднялось и этого хватило для перезапуска системы Power On Reset’a, а дальше проц запустился и снова поднял питание.

Решилось все дополнительной проверкой, а не нажата ли кнопка питания при включении.

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

Read More »

Гальваническое разделение. Часть 1

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

При этом информация, а часто и питание передаются между блоками каким-нибудь не электрическим способом. Например, через свет или электромагнитные волны. А исходный сигнал вначале преобразуется из электрической величины в удобную для передачи, скажем из напряжения в частоту, этот частотный сигнал подается на светодиод, который моргает в глаз фотодиоду, а на обратной стороне происходит обратное преобразование, из частоты в напряжение. Вместо оптопары в некоторых случаях может использоваться трансформатор, т.к. через него свободно протекает переменный ток и можно гальванически развязать сигналы через магнитную индукцию. Так, например, сделано в Ethernet где трансформатор стоит либо прям в разъеме, либо в виде отдельного блока прям рядом с ним.

▌Гальваническое разделение питания
Обычно гальванически разделяют информационную составляющую сигнала связи, а питание каждый блок берет из своего источника. Но иногда надо выделить изолированную часть в одном приборе, а чем ее питать? Тут то на помощь и приходят изолированные преобразователи питания.

По схемотехнике чаще всего это маленький импульсный блок питания, у которого внутри постоянка превращается в переменку, прогоняется через маленький трансформатор и снова выпрямляется. Все это залито в единый блок. Поскольку мне чаще всего на горячей стороне приходится питать какую-нибудь АЦПшку или блок связи, то большая мощность не нужна, а значит сам преобразователь ставится маленький и дешевый. Ну, относительно дешевый :)

Я обычно использую три типа преобразователей в своей практике и держу их в запасе.

MeanWell NSD15-12S5

Это преобразователь 12 в 5 вольт. Но у MeanWell есть и другие номиналы похожего питальника. Ток у него до 3А. Я про него писал уже как то раз отдельную статью, несколько лет назад. Отличная штука. Надежная, дубовая. Работает как часы. Громоздкая только немного.

Aimtec AM1D-Z
Для меньшей мощности применяю блок от Aimtec AM1D-Z. Линейка преобразователей у Аймтека довольно большая, я обычно использую и держу в наличии всегда AM1D-0505SZ. Он принимает на входе 5 вольт и отдает 5 вольт, но уже гальванически отвязанные. И ток около 200мА, чего достаточно, чтобы запитать интерфейсные микросхемы, да микроконтроллер какой. КПД порядка 80%

По ссылке на картинке находится даташитик, точнее перечень вариантов этого преобрзователя. Там страницы две мелким шрифтом :)

Габариты у него совсем небольшие. А цена около 150-200р, не текущий момент.

(далее…)

Read More »

Глюки контроллера. Ответ на загадку

Если вы не знаете о чем речь, то сначала рекомендую прочитать исходную задачу. Поломайте голову, не читайте комментарии, пишите свои. А потом возвращайтесь сюда.

Итак, девайс глючил. Причем глючил очень и очень характерно для срыва стека. Не зря первая половина поста была про поиск программной ошибки. Что такое срыв (он же переполнение) стека? Это когда стековая область памяти разрастается и начинает затирать область переменных. В результате может начаться полное веселье. Запороло переменные состояний автоматов? Получай наркоманскую логику. Запороло строковые данные — получи бред и кракозябры на экране (мой случай). Запороло видеопамять — здравствуй психоделичные картинки. Впрочем, тут и не в стеке может быть дело. Неправильно обращаясь с указателями можно навертеть такой же поебени. Суть одна — у нас каким то образом похерилась оперативная память. Не зря я полез первым делом проверять код. Но ничего не нашел.

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

(далее…)

Read More »

Включить-выключить. Схемы управления питанием

С батарейным питанием все замечательно, кроме того, что оно кончается, а энергию надо тщательно экономить. Хорошо когда устройство состоит из одного микроконтроллера — отправил его в спячку и все. Собственное потребление в спящем режиме у современных МК ничтожное, сравнимое с саморазрядом батареи, так что о заряде можно не беспокоиться. Но вот засада, не одним контроллером живо устройство. Часто могут использоваться разные сторонние периферийные модули которые тоже любят кушать, а еще не желают спать. Прям как дети малые. Приходится всем прописывать успокоительное. О нем и поговорим.

▌Механическая кнопка
Что может быть проще и надежней сухого контакта, разомкнул и спи спокойно, дорогой друг. Вряд ли батарейку раскачает до того, чтобы пробить миллиметровый воздушный зазор. Урания в них для этого не докладывают. Какой нибудь PSW переключатель то что доктор прописал. Нажал-отжал.

Вот только беда, ток он маленький держит. По паспорту 100мА, а если запараллелить группы, то до 500-800мА без особой потери работоспособности, если конечно не клацать каждые пять секунд на реактивную нагрузку (катушки-кондеры). Но девайс может кушать и поболее и что тогда? Приматывать синей изолентой к своему хипстерскому поделию здоровенный тумблер? Нормальный метод, мой дед всю жизнь так делал и прожил до преклонных лет.

▌Кнопка плюс
Но есть способ лучше. Рубильник можно оставить слабеньким, но усилить его полевым транзистором. Например вот так.

Тут переключатель просто берет и поджимает затвор транзистора к земле. И он открывается. А пропускаемый ток у современных транзисторов очень высокий. Так, например, IRLML5203 имея корпус sot23 легко тащит через себя 3А и не потеет. А что-нибудь в DPACK корпусе может и десяток-два ампер рвануть и не вскипеть. Резистор на 100кОм подтягивает затвор к питанию, обеспечивая строго определенный уровень потенциала на нем, что позволяет держать транзистор закрытым и не давать ему открываться от всяких там наводок.

(далее…)

Read More »

Источники энергии. Потенциал и падение напряжения

Еще один пост из серии основы основ. Заметил я, что многие совершенно не въезжают в концепцию падения напряжения, разности потенциалов и типов источников питания. Поэтому запилю ка я ликбез по этой теме. С самого начала. Потом заброшу его в начало рубрики «Начинающим». Пойдет как замена цикла статей канализационной электроники. Т.к. тот цикл писался для «Хакера» и особой подробностью не отличался ввиду ограничений на размер полосы.

Начало начал. Ноль.
Итак, начну с самого начала. Со дна. То есть с земли. Точки нулевого потенциала. Эта точка совершенно произвольная. Просто нам так удобно, что мы приняли ее за ноль. Надо же с чего то начинать. В однополярном питании это, обычно, минус питания. В двуполярном — нечто посредине, впрочем от конструкции зависит.
(далее…)

Read More »

Лабораторный блок питания

Заглянул сегодня в копилочку… ой мамо! Спасибо, народ, огромное, но я ж сопьюсь!!! Куплю ка я себе лучше полезный девайс, да поделюсь с вами соображениями по поводу очередной железки. И мне польза и вам информация.

Выбор пал на лабораторный блок питания. Давно себе хотел, но все как то не до него было…
В чем фишка лабораторного питальника? Во первых можно задавать любое напряжение от нуля до максимума БП с точностью до десятых, а в крутых моделях и до сотых вольт. Но я ценю его не за регулировку напряжения, в самом деле, много ли надо разных напруг? 12, 5 да 3.3 вольта собственно этого хватит в большинстве случаев так что тут можно и обычный комповый задействовать. Меня же больше привлекает возможность регулировки ограничения по току. То есть можно взять и указать, что максимальный ток, который может выдать БП будет не больше 0.3А и задать предельное напряжение, скажем в 10 вольт. Теперь мы можем смело сажать на блок питания, к примеру, мощный светодиод с номинальным током в 0.3А без всяких токоограничительных резисторов и он не сгорит, так как БП сам сбросит напряжение настолько, чтобы через диод прошел ток не более чем заданный. Если даже БП закоротить, то он все равно будет пытаться поддерживать заданные 0.3А в короткозамкнутом проводнике, снижая напругу до минимума.
(далее…)

Read More »

Управление мощной нагрузкой постоянного тока. Часть 3.

Кроме транзисторов и сборок Дарлингтона есть еще один хороший способ рулить мощной постоянной нагрузкой — полевые МОП транзисторы.
Полевой транзистор работает подобно обычному транзистору — слабым сигналом на затворе управляем мощным потоком через канал. Но, в отличии от биполярных транзисторов, тут управление идет не током, а напряжением.

МОП (по буржуйски MOSFET) расшифровывается как Метал-Оксид-Полупроводник из этого сокращения становится понятна структура этого транзистора.

Если на пальцах, то в нем есть полупроводниковый канал который служит как бы одной обкладкой конденсатора и вторая обкладка — металлический электрод, расположенный через тонкий слой оксида кремния, который является диэлектриком. Когда на затвор подают напряжение, то этот конденсатор заряжается, а электрическое поле затвора подтягивает к каналу заряды, в результате чего в канале возникают подвижные заряды, способные образовать электрический ток и сопротивление сток — исток резко падает. Чем выше напряжение, тем больше зарядов и ниже сопротивление, в итоге, сопротивление может снизиться до мизерных значений — сотые доли ома, а если поднимать напряжение дальше, то произойдет пробой слоя оксида и транзистору хана.
(далее…)

Read More »

Паразитное питание

Расскажу о таком непрятном и опасном явлении как паразитное питание. Речь идет о питании устройства не через пару Vcc — GND, а через обычные входы. Особенно это касается разного рода микроконтроллеров.

У многих микросхем, а у контроллеров так поголовно, на входе стоят защитные диоды. Их задача — стравливать броски напряжения в линию питания. Все бы замечательно, только диоды эти уж очень хилые. Точной цифры сейчас не вспомню, но у AVR их предельный ток порядка 500мкА. Представили? В 50 раз меньше чем у какого нибудь светодиода! А что дальше? А дальше капец — дохнет диод и либо тебе повезет и там будет обрыв и МК останется в строю, либо, что чаще, КЗ и этот вывод МК можно считать дохлым.

Паразитное питание возникает обычно когда у нас есть два девайса, питающихся от разных источников и связанных между собой линями связи и землей. Простейший пример: микроконтроллер и программатор.

Результатом этого эффекта может стать «странное поведение» устройства. Так что если все вот только работало, а сейчас выдает финтеля, то ищите первым делом обрыв питания. Но потеряное время это еще пол беды, бывает хуже. Поэтому расскажу сейчас грустную историю про мальчика Билли Хальта, который очень любил деньги был жутко ленив и невнимателен.

В общем было так… (далее…)

Read More »