IOT / Esp32 / FreeRTOS / Arduino / stm32
799 subscribers
747 photos
133 videos
29 files
199 links
Копилка материалов по работе с микроконтроллером esp32 / stm32
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Самое странное на данный момент - это ресет🤪

- если я резко нажму - он нормально загружается (мигает по очереди зелёный и синий)

- если я долго подержку кнопку ресет - процессор не загружается

- есть ещё какое-то средние положения при которых горит только зелёный диод и не мигает.

Среднее положение поймать сложнее всего, хотя на видео вот смотрите 2 раза повторилось.

Радует что после быстрого нажатия всё работает.
Не радует что ST-link прижимает ресет надолго и мы получаем зависший процессор :(
Следующее - это конценсатор который не смог.

Делители напряжения NTC и TDS питаются от источника опрного напряжения 2.5V, и этот источник опорного оказывается шумит.
Для сглаживания есть конденсатор, который выбран не правильно при формировании BOM. Но даже если бы в BOM попал правильный конденсатор - не факт что он бы справился с этим шумом.

Напаял туда пару кондеев - благо площадки здоровые, позволяют - и шум стал меньше, но всё равно значительный. Ещё конденсаторов накидать, или нужно искать другие методы сглаживания?

Мне кажется в предыдущей версии платы такого шума небыло - завтра гляну. Видимо нужно будет изучать матчасть, чтобы лучше понять как решать такие проблемы.
Ещё проблемы с питанием были - что-то неправильно сделано в батарейном питании. Но это лечится с помощью откусывания лишней кренки и после этого всё ок.
В предыдущей версии платы на stm103c8t6 питание с источника опорного напряжения не шумит.
А на новой плате это выглядит так.
Основные параметры вроде как такие-же:
- стабилизатор тот-же https://lcsc.com/product-detail/Voltage-References_Changjiang-Electronics-Tech-CJ-CJ431_C3113.html
- резистор на котором падает напряжение те-же 100 ом
- кондеев стало не меньше, хотя 22uF вроде небыло в момент заказа и я их заменял на что мог
[Шалость не уадалсь]

Я сдаюсь) идея с питанием делителей напряжения от источника опорного напряжения 2.5V мне очень нравится.
Если питать от понижайки - то там от схемы к схеме это напряжение прыгает на 40-50mV.
А при работе с опорным это напряжение сильно стабильнее.

Но не получается победить шум :( Тут видимо нужна помошь кого-то опытного.

В итоге выхернул опорник, запитал от линии 3.3V и норм.
Шумы пропали.
Пока искал баги в последней плате, понял как быстрее решать вопросы с осенней версией EC-модуля.

Выкинул источники опорного, кинул перемычку на 3.3V, откабировал побыстрому. Получилось идеально! с первого раза =)
🔥1
Девайс заступил на боевое дежурство.

С выключенным дисплеем, потому что при включении начинает очень сильно расходиться положительное и отрицательное измерения падения напряжений.
А вот графики.
EC пока считается без температурной компенсации - этот потсчёт сдеаем чуть позже когда накоплю данные.

Значение 3+ слишком большое - долил в систему воды, и EC стало падать =)
👍1
Сохраню для истории как EC зависит от температуры
А вот так график выглядит после компенсации по температуре.

Выглядит шумно. В первую очередь потому что NTC очень шумный - с этим ещё предстоит разобраться.

С другой стороны шум находится в диапазоне 3290-3320 - это меньше 1% значения - более чем достаточно для бытовых нужд.

По колебаниям электропроводности раствора можно достаточно неплохо определять колебания температуры =)
👍3
Немного неожиданные результаты первых часов работы после переноса термокомпенсации на устройство:

1) Термокомпенсация сразу на устройстве работает отлично.

2) Перестала шуметь температура. Хотя температурная таска не поменялась.

3) Есть у меня некий "показатель здоровья" который измеряет разницу между двумя измерениями:
ec-positive = падение напряжения на щупе при прямой подаче напряжения
ec-negative = 3300 - падение напряжения на щупе при обратной подаче напряжения.

Эти два показателя не равны из-за того что напряжения питания не совсем 3300 mV, а может отличается на 15-60mV в зависимости от особенности линейного стабилизатора именно на этом устройстве. При этом среднее арифметическое значение между ними всегда показывает норму.

После изменения кода оба значения сдвинулись. Раньше сдвиг был около 30mV (Δ≈60), а теперь подпрыгнул до 250mV. Среднее арифметическое при этом осталось прежним.

Почему такое происходит - пока не понятно. Примерно такой-же эффект я получал если пробовал измерять много раз NTC
А ещё получал похожий сдвиг измерений когда добавлял на устройство 7-сегментный индикатор. Проблема видимо программная а не аппаратная, что вселяет надежду в ближайшее время дисплей на устройство всётаки вернуть =)
Колебания EC за сутки составили:
(3360-3220) / 3220 = 4.3%

Есть небольшая перекомпенсация по температуре. Коэффициент термокомпенсации сейчас равен 70, а работает это по следующей формуле:
k = ecConfig.getEcKoefT();
ec = ec + k * (25.0 - temperature);

А ещё у меня есть непротестирванный функционал работы с конфигурацией по mqtt, который самое время проверить.
Код внутри mqtt-колбека:
  if (type.compare("config") == 0) {
if (name.compare("ecKoefT") == 0) {
ecConfig.setEcKoefT(val);
}
}
Те мне нужно отправить 69 в топик
$devices/***/config/ecKoefT и должно произойти чудо =) Проверимс...
Отправил, но пока не понимаю повлияло на что-нибудь или нет.

Стоит реализовать обратную связь и запись этих значений в энергонезависимую память.

На картинке полная структура mqtt-топиков в которые девайс отправляет данные в режиме отладки.
Датчик EC лежит в белом коробе с растениями. Не в баке, а там где все растут.

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

Вот такая она... загадочная .. электропроводимость раствора)
«Короб с растениями, там где все растут»
Друзья, всем привет, пришла посылка из Китая, буду использовать в своих проектах (с)

Щупы для EC метра с разной долинной провода. Один вообще 2х метровый - я с помощью его планирую дотянуться с подоконника до бака.
This media is not supported in your browser
VIEW IN TELEGRAM
Смотри что могу!)

Пока не было возможности и понятности как заказывать платки на jlcpsb - занимался всякой обвязкой.
👍3