[recovery mode] Open-source open-hardware TC/«variwatt» мод для вейпинга на STM32

Так как мой предыдущий мод на ардуине имел много ограничений, а также в плане самообразования — я решил сделать новую версию на STM32F373C8T6. Это мой первый проект на STM32, в нем довольно много недоработок. Надеюсь, кого-нибудь еще заинтересует, и мы сможем сделать его лучше!

Проект на github-е

750136a5cfc84c76af3c1e4743840f1b.JPG


Характеристики получившегося устройства:

39×40x7 двухслойная плата (надо бы сделать 4-слойный вариант, меньшего размера, и с элементами на одной стороне, чтобы можно было обратную сторону использовать для сенсорных площадок, что позволит просто приклеивать плату к обратной стороне лицевой панели)

Использует 2S (две ячейки последовательно) литиевые аккумуляторы, что безопаснее, проще намотка спиралей и легче найти маленькие легкие батареи среди тех, которые предназначены для RC-моделей

Встроенный boost-регулятор для зарядки от USB (с балансным портом, для гарантии неперезарядки одной из ячеек)

Сенсорные кнопки (не нужно делать дырки в корпусе, достаточно наклеить кусочки фольги с обратной стороны и надпись/рифленую поверхность с лицевой)

Дешевые компоненты — всего один чип STM32F373C8T6 (стоит от $3 за штуку) и несколько недорогих MOSFET-ов

100+ ватт мощность (теоретическая — ближе даже к 200, но не испытывал)

128×64 0.96» OLED экран (хорошо видно на свету, всего $4)

Фонарик на двух 70mA белых светодиодах (реально полезная опция в устройстве, которое всегда под рукой)

Софт поддерживает:

Титан, никель (ni200), NiFE30, нержавейку 316L и 304 для спиралей с термоконтролем

Режим ограничения мощности («variwatt»), от 0.5 ватта до максимальной (с коррекцией относительно напряжения батареи)

Режим медленного старта для предотвращения «стрельбы» и пережигания тонких спиралей

Почти все важные параметры изменяются через меню настройки (с сохранением во flash-памяти)

Текущие проблемы/планы:

Сделать поддержку варианта схемы с дросселем спирали (настоящая стабилизация тока спирали и повышенная частота термоконтроля)

Исправить режим сна (не смог разобраться окончательно), пока что жрет 3–4 миллиампера, что разрядит 500 мАч батарею за несколько дней

PID-регулятор вышел у меня какой-то кривой и плохо настроенный (из-за проблем с отладкой по USB не смог нормально подобрать коэффициенты)

Плату надо переделать чуток, поменьше и с обратной стороной только для сенсоров

Поддержку маленьких дисплеев

Оптимизировать размер firmware (уже упирается в лимит 60 килобайт) :(

Разобраться с отладкой по USB (STM-овские библиотеки до ужаса кривые и оно часто глючит)

0587742801b34defa63b4ec1fb3f17d1.png

8f3348f8409b4cde9a18e55da1cc3b4c.JPG

9266e49a93ae4fee9c20e29f8560fc7f.JPG

© Geektimes