С одной стороны платы пациент 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), ну и все остальные. Потом конечно при разводке всё поперетыкаем, но начало положено.
Получается как-то так.
Вернёмся пока к нашим баранам на esp32 и аналоговой части. Впаял источник опорного как положено (хотя скорее "как мне кажется правильно"). Сижу меряю напряжение на выходе, получаю вот такой график.
хм. можно ли это считать успехом? 🤔
Или напряжение можно получить точнее? По крайней мере радует что заказанный модуль с stm32 разведён скорее всего правильно.
хм. можно ли это считать успехом? 🤔
Или напряжение можно получить точнее? По крайней мере радует что заказанный модуль с stm32 разведён скорее всего правильно.
Первое что можно сделать с этими измерениями - это oversampling.
По сути мы делаем измерения много раз, а потом делим на количество измерений.
Для него есть очень элегантный кусочек кода, который выполняет этот функционал без использования деления.
Хз зачем мне это, просто для души 🌟
Идея такая: если мы сделаем количество измерений кратно степени двойки, то можно вместо деления использовать битовый сдвиг. Код в приложенной картинке (обоже, как же бесят люди которые выкладывают код картинками 😂)
По сути мы делаем измерения много раз, а потом делим на количество измерений.
Для него есть очень элегантный кусочек кода, который выполняет этот функционал без использования деления.
Хз зачем мне это, просто для души 🌟
Идея такая: если мы сделаем количество измерений кратно степени двойки, то можно вместо деления использовать битовый сдвиг. Код в приложенной картинке (обоже, как же бесят люди которые выкладывают код картинками 😂)
IOT / Esp32 / FreeRTOS / Arduino / stm32
Вернёмся пока к нашим баранам на esp32 и аналоговой части. Впаял источник опорного как положено (хотя скорее "как мне кажется правильно"). Сижу меряю напряжение на выходе, получаю вот такой график. хм. можно ли это считать успехом? 🤔 Или напряжение можно…
Итоговый график тех-же самых измерений с оверсемплингом в 256 измерений.
Всё это затевается ради одной простой цели: получить одинаковое напряжение питания на делителях напряжения у NTC-термистора и EC-щупа при разном питании платы.
Сама плата питается от кренок на 3.3V, но оказывается что эти 3.3 слишком разные в зависимости от модуля. =) Настолько разные что не подходит для задачи.
Для того чтобы потестить как это будет работать - первым делом начнём передавать эту информацию в mqtt шину. Добавляем библиотечку в проект, компилим, и ...
Хьюстон, у нас проблемы!
27kb не влезает 🙈
У меня 4Mb флешка, а не влезает в 1Mb о.О. Ну что-же придётся лезть и разбираться как настроить партишены.
Сама плата питается от кренок на 3.3V, но оказывается что эти 3.3 слишком разные в зависимости от модуля. =) Настолько разные что не подходит для задачи.
Для того чтобы потестить как это будет работать - первым делом начнём передавать эту информацию в mqtt шину. Добавляем библиотечку в проект, компилим, и ...
Хьюстон, у нас проблемы!
27kb не влезает 🙈
У меня 4Mb флешка, а не влезает в 1Mb о.О. Ну что-же придётся лезть и разбираться как настроить партишены.
А ларчик просто открывался 🥳
Оказывается при работе через официальный плагин (а не через platformio) - всё можно настроить через гуй.
Это сильно проще чем тыкаться в консольный menuconfig:
- жмякаем настройки
- ищем настройку партишенов
- выбираем "свой csv"
- создаём файлик и указываем там нужные размеры
Оказывается при работе через официальный плагин (а не через platformio) - всё можно настроить через гуй.
Это сильно проще чем тыкаться в консольный menuconfig:
- жмякаем настройки
- ищем настройку партишенов
- выбираем "свой csv"
- создаём файлик и указываем там нужные размеры
Чтобы проще заниматься отладкой - припаяем к плате дисплей. Для этих целей у платки выведен специальный разъём.
Для дисплея на плате tm1637 есть хорошая библиотечка
https://github.com/petrows/esp-32-tm1637
На этом-же выведенном разьеме можно и i2c дисплей завести, но видимо в следующий раз) пока хватит и такого.
Для дисплея на плате tm1637 есть хорошая библиотечка
https://github.com/petrows/esp-32-tm1637
На этом-же выведенном разьеме можно и i2c дисплей завести, но видимо в следующий раз) пока хватит и такого.