да, его. Компилятор же сообщает "...hd_main.c:1673:4 error"
Строка 1673 символ в строке 4
Автоматика с веб управлением на основе esp32 и pzem
Volume
Доктор наук
Уфа
522 291
Отв.440 16 Апр. 20, 10:02
gol_avto
Доцент
Москва-Серпухов-Анапа
1.4K 486
Отв.441 20 Апр. 20, 08:01
Коллеги, всех приветствую!
Вскрылась еще одна проблема. Согласно разводке схемы на плате автоматики, зуммер подключен напрямую к GPIO0, а этот вывод отвечает за загрузку программы при старте процессора и непосредственно связан с кнопкой boot. Поэтому при подключенном зуммере имеет место быть проблема старта процессора ESP, проходится жать кнопку рессет несколько раз (бывало 10-15), чтобы заработало.
Вывод - необходимо в скетче переназначить управление зуммером с GPIO0 на любой другой свободный и желательно его подключить через n-p-n транзистор. Зачем нам лишние помехи непосредственно на выводе GPIO ESP. У нас их и так хватает (триак).
=============
Переназначил зуммер на GPIO17, а его подключил между выходом ULN2003AN (pin15) и +5V. Зуммер "отвязан" от ESP и на GPIO17 помех в принципе нет (смотрю осциллографом). Зуммер должен быть активным, пищит при подаче питания.
Вскрылась еще одна проблема. Согласно разводке схемы на плате автоматики, зуммер подключен напрямую к GPIO0, а этот вывод отвечает за загрузку программы при старте процессора и непосредственно связан с кнопкой boot. Поэтому при подключенном зуммере имеет место быть проблема старта процессора ESP, проходится жать кнопку рессет несколько раз (бывало 10-15), чтобы заработало.
Вывод - необходимо в скетче переназначить управление зуммером с GPIO0 на любой другой свободный и желательно его подключить через n-p-n транзистор. Зачем нам лишние помехи непосредственно на выводе GPIO ESP. У нас их и так хватает (триак).
=============
Переназначил зуммер на GPIO17, а его подключил между выходом ULN2003AN (pin15) и +5V. Зуммер "отвязан" от ESP и на GPIO17 помех в принципе нет (смотрю осциллографом). Зуммер должен быть активным, пищит при подаче питания.
nic2015
Магистр
Феодосия
219 56
Отв.442 20 Апр. 20, 11:06
проходится жать кнопку рессет несколько раз (бывало 10-15), чтобы заработало.gol_avto, 20 Апр. 20, 08:01
Переделал по рекомендациям gol_avto, стартует с первого раза, раньше без ресета успешным был один раз из 10.
AlexDol
Кандидат наук
Екатеринбург
325 433
Отв.443 20 Апр. 20, 15:24
Вскрылась еще одна проблема.gol_avto, 20 Апр. 20, 08:01Приятно что gol_avto обратил на это внимание. У моей ESP32 с 30 ногами GPIO0 не был выведен и это правильно.
Но вначале я припаивал к GPIO0 проводник и выводил его на через штырьки на плату. Там ставил транзистор и пару
резисторов. Затем к ULN2003AN и потом к спикеру. Но затем просто переопределил #define GPIO_BEEP 33.
Подробнее на 3 стр. темы.
gol_avto
Доцент
Москва-Серпухов-Анапа
1.4K 486
Отв.444 20 Апр. 20, 15:47, через 24 мин
А также рекомендую установить 2 резистора подтяжки по 10 кОм на шину I2C.
SDA, SCL и на +3,3V. По стандарту они быть обязаны, а на плате не предусмотрены.
SDA, SCL и на +3,3V. По стандарту они быть обязаны, а на плате не предусмотрены.
Volume
Доктор наук
Уфа
522 291
Отв.445 20 Апр. 20, 18:10
А также рекомендую установить 2 резистора подтяжки по 10 кОм на шину I2C.gol_avto, 20 Апр. 20, 15:47если подключать готовые китайские модули, то там резисторы уже есть.
Если модулей больше одного, то приходится лишние резисторы с модулей выпаивать
gol_avto
Доцент
Москва-Серпухов-Анапа
1.4K 486
Отв.446 20 Апр. 20, 18:56, через 47 мин
если подключать готовые китайские модули, то там резисторы уже есть.Volume, 20 Апр. 20, 18:10Согласен, но мы пока к ним и близко не подошли.
ys1797
Доцент
Санкт-Петербург
1K 339
Отв.447 20 Апр. 20, 19:48, через 52 мин
Переразвел немного плату.
Сигнальная земля ушла на нижний слой, кроме ВВ части платы.
I2C разъем поменял назначение пинов! Они теперь в большинстве своем совпадают с китайскими модулями.
Дополнительная площадка I2C соединения для bmp180 модуля типа такого: https://aliexpress.ru/....79eb33edLdQeaC , если нет возможности запаять сам мелкий чип.
GPIO0 оставили в покое и переехали на GPIO17, GPIO12 подключен к ULN.
Для I2C разведены места для резисторов для тех, кому они нужны.
Разведены 2 канала 12 bit ADC (ADC1_6 и ADC1_7) с защитными стабилитронами и переменными резисторами для согласования уровней. Если источник ADC сигнала не превышает 3.3 v, то вместо подстроечных резисторов ставим перемычки.
Для детектора нуля добавлен буфер на SN74LVC1G.
Сигнальная земля ушла на нижний слой, кроме ВВ части платы.
I2C разъем поменял назначение пинов! Они теперь в большинстве своем совпадают с китайскими модулями.
Дополнительная площадка I2C соединения для bmp180 модуля типа такого: https://aliexpress.ru/....79eb33edLdQeaC , если нет возможности запаять сам мелкий чип.
GPIO0 оставили в покое и переехали на GPIO17, GPIO12 подключен к ULN.
Для I2C разведены места для резисторов для тех, кому они нужны.
Разведены 2 канала 12 bit ADC (ADC1_6 и ADC1_7) с защитными стабилитронами и переменными резисторами для согласования уровней. Если источник ADC сигнала не превышает 3.3 v, то вместо подстроечных резисторов ставим перемычки.
Для детектора нуля добавлен буфер на SN74LVC1G.
gol_avto
Доцент
Москва-Серпухов-Анапа
1.4K 486
Отв.448 20 Апр. 20, 21:05
Переразвел немного плату.ys1797, 20 Апр. 20, 19:48Юрий,приветствую!
Посмотрел обновленную плату. Вы зуммер подключили непосредственно к GPIO17. Посмотрите, что на нем творится, когда зуммер пищит. Амплитуда пульсаций более 1V,
Или Вы планируете в будущем задействовать все каналы ULN?
zapnet
Магистр
Кострома
268 102
Отв.449 21 Апр. 20, 09:20
Может быть все-таки сигнал пропустить через буферgol_avto, 20 Апр. 20, 21:05может воткнуть готовую пищалку как на меге ?
gol_avto
Доцент
Москва-Серпухов-Анапа
1.4K 486
Отв.450 21 Апр. 20, 09:42, через 23 мин
может воткнуть готовую пищалку как на меге ?zapnet, 21 Апр. 20, 09:20Можно конечно и так, но по мне можно проще. Я же так и сделал, пропустил сигнал через буфер, используя ULN. В ней n-p-n транзистор дарлингтона с мощной (500мА) нагрузочной способностью.
Вывод GPIO17 уже идет на ULN (pin 2, см. схему и разводку платы) выходом этого сигнала является pin15, к нему я подключил (-) пищалки, а (+) пищалки подключил к +5V.
Для этого пришлось пищалку выпаять и разорвать прежние цепи на плате, массу и дорожку к GPIO0. Переделок на 5 мин. времени.
Volume
Доктор наук
Уфа
522 291
Отв.451 21 Апр. 20, 10:04, через 22 мин
2 канала 12 bit ADC (ADC1_6 и ADC1_7)ys1797, 20 Апр. 20, 19:48ADC у esp32 мягко говоря, специфичный, не такой как у ATMega: от "нуля" и до напряжения питания все линейно.
У esp adc есть мертвые зоны. Цитирую:
The ESP32 ADC pins don’t have a linear behavior. You’ll probably won’t be able to distinguish between 0 and 0.1V, or between 3.2 and 3.3V.перевожу - ESP32 ADC имеет нелинейное поведение.Вы скорее всего не сможете отличить 0 от 0.1В или 3.2 от 3.3В
Оттуда же картинка передаточной характеристики ADC
Цитата из рускоязычного ресурса http://www.bizkit.ru/2019/05/11/13827/:
Из-за характеристики АЦП наиболее точные результаты измерений получаются в более узком диапазоне, чем заявлено в документации. На начальном и конечном участке более или менее линейная характеристика АЦП изгибается и становится более пологой, поэтому измерения очень неточные. В документации указаны рекомендуемые диапазоны измерений:
0dB ослабление(ADC_ATTEN_DB_0) — от 100 до 950mV.
2.5dB ослабление (ADC_ATTEN_DB_2_5) от 100 до 1250mV.
6dB ослабление (ADC_ATTEN_DB_6) от 150 до 1750mV.
11dB ослабление (ADC_ATTEN_DB_11) от 150 до 2450mV.
Добавлено через 2мин.:
да, забыл добавить - esp-шный adc еще и шумный. В доке рекомендуют конденсатор 0,1мкф (!!!) на вход ставить. Понятно что с таким конденсатором измерять можно что-то ну оооочень медленно меняющееся
gol_avto
Доцент
Москва-Серпухов-Анапа
1.4K 486
Отв.452 21 Апр. 20, 11:00, через 57 мин
0dB ослабление(ADC_ATTEN_DB_0) — от 100 до 950mV.Для наших дел наиболее востребованным применение АЦП будет обработка сигнала с датчика диф. давления MPX5010DP. Сейчас проверил диапазон напряжений, которые он выдает в зависимости от давления. Имеем:
0 мм рт. ст = 140 mV
25 мм рт. ст = 300 mV
Питание датчика от 5V
Эти значения как раз попадают в наиболее линейный диапазон ADC ESP.
Что касается быстродействия, давление в кубе ну очень "шумное". Приходится применять как механические фильтры, так и RC цепочки + программный фильтр некоторые используют.
P.S не смотря на применение подстроечных сопротивлений в модифицированной схеме, программная коррекция (с дискретностью 1 мм рт. ст.) для датчика давления должна быть предусмотрена.
Volume
Доктор наук
Уфа
522 291
Отв.453 21 Апр. 20, 11:09, через 9 мин
так и RC цепочкиgol_avto, 21 Апр. 20, 11:00неожиданно ) А так то да, физический аналог RC для давления
valery29
Студент
Yablonovskiy
38 33
Отв.454 21 Апр. 20, 15:45
Доброго времени суток всем. Если кому нужна плата последнего релиза - пишите решим.
zapnet
Магистр
Кострома
268 102
Отв.455 21 Апр. 20, 16:12, через 28 мин
Если кому нужна плата последнего релиза - пишите решимvalery29, 21 Апр. 20, 15:45нужно с хотелками решить а потом платы штамповать.
valery29
Студент
Yablonovskiy
38 33
Отв.456 21 Апр. 20, 20:30
нужно с хотелками решить а потом платы штамповать.zapnet, 21 Апр. 20, 16:12Коллега я же за все хотелки... Просто китайцы делают заказ по 5шт мин. Вот и осталось 4-ре. Все просто.
сообщение удалено
AlexDol
Кандидат наук
Екатеринбург
325 433
Отв.457 01 Мая 20, 18:25
Коллеги, прошел год с момента получения ESP32 и соответственно начала работы с ним.
И пожалуй могу уже делать выводы исходя из своего опыта.
Вывод первый. Проблема со средствами компиляции и последующей записи в память ESP32.
На сайте espressif.com информация по установке и настройке ESP-IDF для ESP32 не полная и в
поиске попадаешь уже на частные случаи и рекомендации. Далее тупик.
Проверено на версии 4.0 Затем редактор VS Code + PlatformIO, он отработал однажды и успешно залил прошивку 0.74 Затем обновил плагин и крах, новую версию ESP32_HD с ГитХаба загрузил но при компиляции получаю ошибку. Впрочем как и с прежней версией ESP32_HD. Затем проверил на промерах из папки с примерами, результат тот же. Переустановка VSCode + PlatformIO не помогло.
Благо что использовал запасную ESP32, А то бы крах. Прочёл в теме рекомендации специалиста по
настройке ESP-IDF 4.1 Но делать вслепую, не понимая что делаешь, мне это не нравится.
Как и залить прошивку с помощью Flash download tool, для меня тоже не выход, поскольку
у моей ESP32 WROOM пины выведены иначе. Мне приходится их править в Config.h.
И что досадно, не сохранил файлы для прошивки для Flash download tool.
Исходя из этого предложение... Давайте использовать только Flash download tool но с вариантами
для ESP32 с 38 пинами и с 30 пинами.
И пожалуй могу уже делать выводы исходя из своего опыта.
Вывод первый. Проблема со средствами компиляции и последующей записи в память ESP32.
На сайте espressif.com информация по установке и настройке ESP-IDF для ESP32 не полная и в
поиске попадаешь уже на частные случаи и рекомендации. Далее тупик.
Проверено на версии 4.0 Затем редактор VS Code + PlatformIO, он отработал однажды и успешно залил прошивку 0.74 Затем обновил плагин и крах, новую версию ESP32_HD с ГитХаба загрузил но при компиляции получаю ошибку. Впрочем как и с прежней версией ESP32_HD. Затем проверил на промерах из папки с примерами, результат тот же. Переустановка VSCode + PlatformIO не помогло.
Благо что использовал запасную ESP32, А то бы крах. Прочёл в теме рекомендации специалиста по
настройке ESP-IDF 4.1 Но делать вслепую, не понимая что делаешь, мне это не нравится.
Как и залить прошивку с помощью Flash download tool, для меня тоже не выход, поскольку
у моей ESP32 WROOM пины выведены иначе. Мне приходится их править в Config.h.
И что досадно, не сохранил файлы для прошивки для Flash download tool.
Исходя из этого предложение... Давайте использовать только Flash download tool но с вариантами
для ESP32 с 38 пинами и с 30 пинами.
gol_avto
Доцент
Москва-Серпухов-Анапа
1.4K 486
Отв.458 01 Мая 20, 19:17, через 53 мин
Проблема со средствами компиляции и последующей записи в память ESP32.AlexDol, 01 Мая 20, 18:25У меня тоже по началу были проблемы с установкой ESP-IDF. Промучился целый день, плюнул. Вернулся через некоторое время и получилось. Да, действительно, ссылки иногда заводили непонятно куда, но помог google и переводчик. Сейчас проблем нет, всё компилируется и шьётся на ура. Проект потихоньку "причесывается", в последнем обновлении реализована функция удерживающего напряжения (ШИМ), после открытия клапана (чтобы обмотка не грелась). Рекомендации пишу автору в личку, правда исправления не так оперативно появляются.
AlexDol Что касается 38 пинового ESP, то могу выслать печатную плату, у меня лишние остались и не мучайся со своим 30 пиновым.
Сборку закончил, ждет своего часа в бою. Клапана на 220V, помех нет, работает стабильно.
===================
AlexDol Давай свой config.h скомпилирую для 30 пин и выложу бинарники
AlexDol
Кандидат наук
Екатеринбург
325 433
Отв.459 01 Мая 20, 21:08
И не мучайся со своим 30 пиновымgol_avto, 01 Мая 20, 19:17Спасибо коллега! Конфиг вышлю. Но то что пришлось вникнуть в средства отладки, это благодаря тому что мне достался
30 пиновый ESP32. Кстати приобрёл по ссылке автора от 25 Дек. на 1 странице темы. Не в упрёк, а напротив благодарен
за то что мне пришлось включить мозги и лишь потом модуль заработал.
===Добавил на следующий день===
Получил от gol_avto файлы для прошивки через Flash_download_tools. Спасибо мастер! Обновлённая версия с ГитХаба. Пока проверено в режиме Регулятор мощности. Сырьё для перегонки будет через неделю. Тогда проверю более основательно.
сообщение удалено