Вернулся из отпуска, а меня ждёт очередная версия платок, почти полностью распаянная китайцами
На днях буду тестировать.
Почти все пассивные компоненты - 0402, очень крохотные.
Обошлось удовольствие вроде в 8 русских тыщ
Почти все пассивные компоненты - 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
#espressif
https://www.espressif.com/sites/default/files/documentation/eco_and_workarounds_for_bugs_in_esp32_en.pdf
По платке постепенно начинается формироваться очередной список багов:
Forwarded from IOT / Esp32 / FreeRTOS / Arduino / stm32
2) Самый грустный баг из тех которые уже известны - это я неправильно использовал опорные источники напряжения) в итоге их приходится сдувать. Купил новые - буду пробовать использовать.
Ну шож. Я взгрустнул от неправильной аналоговой части платы.
А заказывать новую версию платы за 10к чтобы протестить аналоговую часть - жаба душит.
Пообщался с умными людьми и меня надоумили сделать под эту задачу отдельный модуль!) и на нём всё отладить.
Плюсы:
- сильно уменьшается стоимость итераций (получится 2k+ за итерацию, т.е получаем примерно 3 итерации модуля по цене 1 полной итерации)
- проще отделять программирование/конфигурирование бизнес-логики от программирования/конфигурирования устройства измерения. Ну те настройки mqtt и параметры измерения EC - не должны находиться в одной функции внутри кода, а в данном случае они точно будут разделены by design =)
- Проще делегировать задачи с железом - в том числе (как мы выяснили) "аналоговую часть". Не нужно будет объяснять зачем нужны цветомузыка, кнопочки, енкодер и зарядка для батарейки.
- EC/PH отдельными модулями - проще делегировать задачи и удешевлять и разсинхронизировать итерации с тестированием.
- потом можно будет из этих кусочков собрать франкенштейна на отдельной плате если покажется что это логичнее.
А заказывать новую версию платы за 10к чтобы протестить аналоговую часть - жаба душит.
Пообщался с умными людьми и меня надоумили сделать под эту задачу отдельный модуль!) и на нём всё отладить.
Плюсы:
- сильно уменьшается стоимость итераций (получится 2k+ за итерацию, т.е получаем примерно 3 итерации модуля по цене 1 полной итерации)
- проще отделять программирование/конфигурирование бизнес-логики от программирования/конфигурирования устройства измерения. Ну те настройки mqtt и параметры измерения EC - не должны находиться в одной функции внутри кода, а в данном случае они точно будут разделены by design =)
- Проще делегировать задачи с железом - в том числе (как мы выяснили) "аналоговую часть". Не нужно будет объяснять зачем нужны цветомузыка, кнопочки, енкодер и зарядка для батарейки.
- EC/PH отдельными модулями - проще делегировать задачи и удешевлять и разсинхронизировать итерации с тестированием.
- потом можно будет из этих кусочков собрать франкенштейна на отдельной плате если покажется что это логичнее.
Опишем требования к модулю:
- выполнять только 1 маленькую задачу
- работать по UART или i2c-slave
- конфигурироваться
Какой-же камень под это подойдёт? Любой самый дешёвый и доступный.
Ну конечно-же STM32! 🥸
Отличным решением будет stm32G031 - на больших партиях цена $0.5, он есть на lscs по цене <$1 при заказе от 10 штук.
Камень прикольный, надо погонять =) Купим для этих целей отладочную плату Nucleo и приступим к самому прекрасному процессу - РАСПАКОВКЕ! уиии! новые неведомые железячки, как это прекрасно!.
- выполнять только 1 маленькую задачу
- работать по UART или i2c-slave
- конфигурироваться
Какой-же камень под это подойдёт? Любой самый дешёвый и доступный.
Ну конечно-же STM32! 🥸
Отличным решением будет stm32G031 - на больших партиях цена $0.5, он есть на lscs по цене <$1 при заказе от 10 штук.
Камень прикольный, надо погонять =) Купим для этих целей отладочную плату Nucleo и приступим к самому прекрасному процессу - РАСПАКОВКЕ! уиии! новые неведомые железячки, как это прекрасно!.
С одной стороны платы пациент stm32G031,
С нижней стороны ST-Link на F103CBT6
Взял за 1200 рублей в https://www.terraelectronica.ru/product/3468813
А в на картинке цена на lcsc для истории
С нижней стороны ST-Link на F103CBT6
Взял за 1200 рублей в https://www.terraelectronica.ru/product/3468813
А в на картинке цена на lcsc для истории
Надо потестить "аналоговую часть" схемы на stm32 как отдельный модуль.
Ну собирать на макетке - это не наш метод =) сделаем для этого плату для bluePIll. Для начала откроем CubeMx и зададим важные контакты (i2c, Uart, ADC), ну и все остальные. Потом конечно при разводке всё поперетыкаем, но начало положено.
Получается как-то так.
Ну собирать на макетке - это не наш метод =) сделаем для этого плату для bluePIll. Для начала откроем CubeMx и зададим важные контакты (i2c, Uart, ADC), ну и все остальные. Потом конечно при разводке всё поперетыкаем, но начало положено.
Получается как-то так.