IOT / Esp32 / FreeRTOS / Arduino / stm32
800 subscribers
747 photos
133 videos
29 files
199 links
Копилка материалов по работе с микроконтроллером esp32 / stm32
Download Telegram
Вернулся из отпуска, а меня ждёт очередная версия платок, почти полностью распаянная китайцами
На днях буду тестировать.

Почти все пассивные компоненты - 0402, очень крохотные.

Обошлось удовольствие вроде в 8 русских тыщ
This media is not supported in your browser
VIEW IN TELEGRAM
Ну что-ж, начало положено. Цветомузыка работает.
Данные с датчика ds18b20 также считываются. А это обозначает что работает питание датчика через джек.

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

До этого втыкание датчика на горячую коротило питание и уводило устройство в перезагрузку.
Теперь же схема питание на датчик подается через мосфет в тот момент когда штекер всунут до конца. Для определения этого события у гнезда есть специальный контакт.
Разбираясь дальше с NTC-термистором внезапно натолкнулся на интересный документ по ошибкам в esp32 и способам их обхода. Конечно его сразу стоит сохранить для истории.
#espressif

https://www.espressif.com/sites/default/files/documentation/eco_and_workarounds_for_bugs_in_esp32_en.pdf
По платке постепенно начинается формироваться очередной список багов:
1) при заказе BOM не правильно указал конденсаторы на питании, и в итоге там малююююсенькие такие хренюшки, которыех наверняка недосаточно
2) Самый грустный баг из тех которые уже известны - это я неправильно использовал опорные источники напряжения) в итоге их приходится сдувать. Купил новые - буду пробовать использовать.
Ну шож. Я взгрустнул от неправильной аналоговой части платы.
А заказывать новую версию платы за 10к чтобы протестить аналоговую часть - жаба душит.

Пообщался с умными людьми и меня надоумили сделать под эту задачу отдельный модуль!) и на нём всё отладить.

Плюсы:
- сильно уменьшается стоимость итераций (получится 2k+ за итерацию, т.е получаем примерно 3 итерации модуля по цене 1 полной итерации)
- проще отделять программирование/конфигурирование бизнес-логики от программирования/конфигурирования устройства измерения. Ну те настройки mqtt и параметры измерения EC - не должны находиться в одной функции внутри кода, а в данном случае они точно будут разделены by design =)
- Проще делегировать задачи с железом - в том числе (как мы выяснили) "аналоговую часть". Не нужно будет объяснять зачем нужны цветомузыка, кнопочки, енкодер и зарядка для батарейки.
- EC/PH отдельными модулями - проще делегировать задачи и удешевлять и разсинхронизировать итерации с тестированием.
- потом можно будет из этих кусочков собрать франкенштейна на отдельной плате если покажется что это логичнее.
Опишем требования к модулю:
- выполнять только 1 маленькую задачу
- работать по UART или i2c-slave
- конфигурироваться

Какой-же камень под это подойдёт? Любой самый дешёвый и доступный.
Ну конечно-же STM32! 🥸

Отличным решением будет stm32G031 - на больших партиях цена $0.5, он есть на lscs по цене <$1 при заказе от 10 штук.

Камень прикольный, надо погонять =) Купим для этих целей отладочную плату Nucleo и приступим к самому прекрасному процессу - РАСПАКОВКЕ! уиии! новые неведомые железячки, как это прекрасно!.
С одной стороны платы пациент stm32G031,
С нижней стороны ST-Link на F103CBT6

Взял за 1200 рублей в https://www.terraelectronica.ru/product/3468813

А в на картинке цена на lcsc для истории
Надо потестить "аналоговую часть" схемы на stm32 как отдельный модуль.

Ну собирать на макетке - это не наш метод =) сделаем для этого плату для bluePIll. Для начала откроем CubeMx и зададим важные контакты (i2c, Uart, ADC), ну и все остальные. Потом конечно при разводке всё поперетыкаем, но начало положено.

Получается как-то так.
Разводить плату прям приятно) как будто собираешь пазл или решаешь ребус.

Нужно обязательно расположить всё так чтобы ничего не пересекалось, было с красивыми отступами и изгибами, чувствовалась гармония 😎

Хотя справа можно было поровнее расположить)
Получилась и тоге такая красота!
Заказ обошёлся в $40+