As писал(а):И всё же, если уж делать "таймер" на микроконтроллере - имеет смысл чуть усложнить алгоритм
Именно так. На самом деле раз уж зашла такая тема я решил заняться блоком питания для своего агрегата. Тем более, что трансформатор уже мотают, чего зря время терять.
Пока получается вот такая схема.
Контроль напряжения сделан на АЦП контроллера. Но тут есть один нюанс. Надо будет подобрать такие токи диодов в оптронах, чтобы попасть в линейную часть характеристики (зависимость ток светодиода/ток коллектора фототранзистора). Если смотреть документацию, для оптронов TCLT1008 это примерно от 0.2 до 8 мА.
Реле S1 и S2 предназначены для подключения отключения нагрузки от бп в случае проблем
реле S3 выключает всю силовую часть от сети ( режим off ) У меня +3Vdig на контроллерах от отдельного источника питания присутствует всегда. Отключается только часть отвечающая за звук.
Использование MOCD217 для развязки имхо в данном случае предпочтительнее, чтобы не перегружать контроллер, так как у него гораздо ниже ток диода, чем у TCLT1008, (максимальный ток на вывод stm32 - 25мА, но на самом деле лучше больше 10 мА не давать) а MOCD217 прекрасно работает как ключ при токе 1мА
Собсно из схемы все понятно, разве что я еще добавил UART, который может быть запрограммирован как OneWire для подключения цифрового датчика температуры DS18B20 и отдельно вывел i2C для управления, чтобы можно было использовать эту схему для включения/выключения всего устройства от ПДУ (в данном случае контроллер программируется как i2c slave и подтягивающие резисторы не впаиваются)
Вот как-то так.
Так как на контроллере еще достаточно много неиспользуемых входов АЦП и линий GPIO, кол-во выходов и точек контроля напряжений можно увеличить
Единственное бутылочное горлышко, которое я тут вижу, это сам контроллер, вернее его объем памяти, составляющий всего 32к. Придется повозиться, если захочется запихнуть туда какой-нибудь сложный функционал. Или надо будет переезжать на STM32F030C8 или F030CC, с соответствующей переделкой схемы, но они к тому же уже сильно дороже.
А.. еще одна штука. Это всего лишь первая итерация, поэтому наверняка всплывут какие-нибудь проблемы при тестировании, так что лучше эту схему не повторять.
Когда все будет работать выложу окончательную.