IOT / Esp32 / FreeRTOS / Arduino / stm32
800 subscribers
747 photos
133 videos
29 files
199 links
Копилка материалов по работе с микроконтроллером esp32 / stm32
Download Telegram
Хроники извращений.

Вытащил плату, обкусал лишнее кусачками - теперь могу втыкать в компьютер и перепрошивать. NTC теперь креплю болтиками.

Вместо гистерезиса сделал задержку в несколько сотен циклов при сбрасывании частоты вращения.

Сделал вычисление ацп в виде медианного значения по 50 измерениям, чтобы не влиял шум. Стало чуть лучше, но проблема осталась 😭.

По советам из комментариев воткнул случайную индуктивность по питанию и стало работать хорошо.
👍2
Если бы у нас было ютуб-шоу про проекты на ардуино, то я бы рассказал что с охлаждением решили, и как раз приехала главная понижайка взамен сгоревшей.

Смотрите как здорово!
Всё поставил, всё работает, циферки горят, рекомендую проект к повторению, схема по ссылке в конце ролика, все реферальные ссылки на компоненты в закрепленном комментарии. 🔥🔥🔥

К сожалению это не шоу) а дневник с дилетантскими изысканиями 🤓. Этим девайсом я планирую пользоваться.

Проблема с шумом так и не решилась. Кулер случайным образом включался.

Пробовал еще пару раз решить проблему программно в итоге спалил микруху подключив вентилятор на горячую. Это уже 2я из 3х имевшихся в наличии дигиспарков. Первый спалил переполюсовкой при первом записывании схемы.

Сижу теперь варварскими методами пытаюсь отделить отладку от макетки. ✌️тыдыщ
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Будем считать что я победил.
Результат вполне устраивает.
👍2
Вот вся логика с гистерезисом в 5 градусов при отключении вентилятора.
👍2
Подключаем датчик тока и …
Хлоп! ☁️
Вольтметр-амперметр превращается в вольтметр!

Запасных нет, заказал пару новых на алиекспресс.
😱2
IOT / Esp32 / FreeRTOS / Arduino / stm32
Крупным планом: - Впаянный опорник (TO-92 называется такой корпус как у ds18b20) - удаленный компонент на бумажном скотче - драйвер - квадратная штука рядом с пинцетом Справа ещё подмигивает нам приляпанный большой светодиод на место маленького 0402 (на нем…
Надо бы запрограммировать плату на stm32. Она уже больше месяца лежит на столе и радостно моргает светодиодами.

Я даж немного посидел и пораскидывал там код на разные файлики чтобы было удобнее писать бизнес-логику.

Но блин, каждый раз после ковыряния с CubeIDE (которая основана на еклипсе) хочется руки помыть. Прям неприятно, не нравится, радостно скатываюсь в любую другую прокрастинацию 🤓

Нам нужна маленькая быстрая победа! какой-нибудь небольшой проект на esp32 в которой куча инструментов для программиста внутри ESP-IDF, CPP с библиотеками, фриртос с отличными компонентами от UncleRus.

Запилю пожалуй девайс для счётчиков воды (они у меня импульсные) чтобы не ползать в шкаф за показателями и видеть расход в онлайне.
Отчистил от деталей и припоя плату которую до этого использовал для управления вентилятором блока.

Есть одна проблема, которую часто замечаю у других) и которая также есть и у меня.

Я просто хотел посчитать такты от счётчика и передать их по mqtt в инфлюкс.

Но на микроконтроллере столько ног!

У меня ADS1115 лежит в прошлый раз так и не доиспользованная, гештальт надо закрыть. Это возможность измерять температуру с 16-битной точностью по 4 каналам! Это же так круто! можно узнать насколько горячая вода действительно горячая, а холодная действительно холодная.

А ещё у меня есть клапаны с управлением, которые уже 3 года после ремонта стоят не использованные управляющиеся по 9V. Ими наверно тоже стоит поуправлять, для этого нужны транзисторы, приём входящих комманд по mqtt и кнопки на девайсе для локлаьного управления.
👍2
Сетап такой.

Для начала померяем сопротивление резисторов которые планирую использовать для делителей напряжения. Померяем двумя способами - мультиметром и штукой для определения деталей.

Запомнился мне один рассказ от чуваков которые хотели получить точные резисторы с отклонением от номинала допустим 1%. План был такой: взять упаковку резисторов классом меньше (отклонение 5%) и все их перебрать. Выбрать оттуда те которые удовлетворяют нужному классу.

Думаю вы догадываетесь что они получили в итоге) Все резисторы в коробке были с отклонением от номинала 2-5% потому что эту процедуру выполнили перед ними на заводе отобрав удачные резисторы в другой вид продукта.

Итак у нас получилось следующие цифры:
А3 9,97 10,29
А2 9,87 10,18
А1 9,83 10,15
А0 9,82 10,14
мультиметр / штука

Больше всего в китайских компонентах конечно смущает то что все выводы у них магнитятся, те. выполнены из железа 😱
This media is not supported in your browser
VIEW IN TELEGRAM
Кран управляется так:
Синий на минус.

Закрыть:
- красный
Открыть:
- красный + жёлтый

3 аккумулятора еле-еле ворочают кран. А раньше вроде это можно было делать кроной :/
👍3
Этикетка на кране гласит 9-24V.
Так что норм. Запитаю от напряжения повыше.

Хотя изначально был план использовать крону)
Холодная вода до конца не дожимается. Полез смотреть что с ней не так.
Моторчик с редуктором.
Концевики как на кнопочках мышки.
This media is not supported in your browser
VIEW IN TELEGRAM
Крутит очень мощно. Рукой не остановить
This media is not supported in your browser
VIEW IN TELEGRAM
Готово!
Теперь 3 банки лития легко закрывают оба крана одновременно.

Нужно было немного разработать, а в холодной воде убрать лишнюю шайбу и не так сильно затягивать болты внутри.

Кайфушки прям от того как подскакивает стрелочка с давлением при открытии крана 🤩
🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
На пути к подсчёту импульсов от счётчиков воды я на прошлых выходных:
- сделал кнопочки управления автоматическими кранами
- починил один кран
- сделал esp32 плату с двумя кнопками, ads1115 + 4 термистора, разъем для счетчика.

На этих выходных:
- сделал начальный проект, со своим айдишником и связал его с mqtt шиной
- сделал работу с кнопочками: быстрое нажатие = ОТКЛ, длинное = ВКЛ и передача состояния по mqtt
- разобрался как работать с библиотекой для ads1115, научился правильно считать температуру.

Теперь вот сижу и калибрую NTC термисторы. В весёлой чашечке с квадратиками и звёздочками у меня вода со льдом и датчики.

Держать фокус на конечной цели похоже не мой конёк 🎯
🔥3
Я конечно же понятия не имею как калибровать NTC термисторы.

В формуле вычисления температуры присутствует "коэффициент B" наверно он служит как раз для этих целей.

Выставил его лениво в какие-то значения у которых температура близка к нулю:
V / T / raw
V[0]: 2443.199 mV, T= 0.31°C | 19545
V[1]: 2447.450 mV, T= 0.19°C | 19579
V[2]: 2361.697 mV, T= 0.30°C | 18893
V[3]: 2352.572 mV, T= 0.21°C | 18820


Можно и точнее выставить, но не думаю что это отражает реальность.

Сделал чтобы температура отправлялась в mqtt. Вывел графики в инфлюксе. Почему-то значения меньше единицы инфлюкс обозначает как XXXm. Может так и задумано, а может что-то пошло не по плану.

Сейчас уберу лёд из стаканчика и на графиках посмотрю как водичка постепенно теплеет до комнатной температуры.
👍2
~40 градусов
Вода из чайника.

На диапазоне 0 - 100 разброс получается в пару градусов.

Для моих бытовых наблюдений за водопроводом - вполне достаточно. Точнее разбираться лень.

Скриншётов с сырыми значениями и знания формулы достаточно чтобы свести 4 графика 1в1. Запомним это, для каких-нибудь будущих задач этим можно будет заняться.

ЗЫ: отредактировал сообещение - сначала разброс был в 5 градусов, но потом оно "устоялось" и разброс стал меньше.
🔥2👍1