ESP32 ШИМ, Старт, Стоп.

Блоки с разделением на ESP32/ESP8266 а так же совместные
AndrejK
Сержант
Сообщения: 119
Зарегистрирован: 20.02.2020{, 13:16}
Репутация: 14
Откуда: Вильнюс
Имя: Андрей

ESP32 ШИМ, Старт, Стоп.

#1

Сообщение AndrejK » 16.08.2021{, 22:16}

ESP32 PWM 1 kollektornyi motor.flp
После коррекции.
(419.2 КБ) 62 скачивания
На основе ESP32 пробую организовать электропривод откатных ворот. Понадобился ШИМ сигнал для управление оборотами двигателя постоянного тока.
На основе примеров и библиотек с Github, создал пользовательский блок.
Выкладываю блок и пример.
В примере ШИМ подается на ЛЕД пин номер 2. ШИМ на пине увеличивается до скважности (Value_Duty) в 20 процентов - светодиод плавно загорается, потом переходит в максимум (Старт). Счетчик продолжает увеличивать скважность до 100 процентов. Достигнув 100 процентов, условие СТАРТ переходит в 0, Use_Duty в 1, скважность уменьшается - светодиод плавно затухает до скважности 20 процентов и Use_Duty переходит в 0, а Стоп в 1. Далее цикл повторяется.
Программа не находит библиотеку driver/mcpwm.h. Тем не менее IDE прекрасно компилирует.
Вложения
ESP32_PWM_(Code_-_Basic).ubi
После коррекции.
(92.23 КБ) 60 скачиваний
Последний раз редактировалось AndrejK 06.10.2021{, 06:51}, всего редактировалось 1 раз.

AndrejK
Сержант
Сообщения: 119
Зарегистрирован: 20.02.2020{, 13:16}
Репутация: 14
Откуда: Вильнюс
Имя: Андрей

ESP32 ШИМ, Старт, Стоп.

#2

Сообщение AndrejK » 12.09.2021{, 20:46}

Пользовательский блок в работе.


AndrejK
Сержант
Сообщения: 119
Зарегистрирован: 20.02.2020{, 13:16}
Репутация: 14
Откуда: Вильнюс
Имя: Андрей

ESP32 ШИМ, Старт, Стоп.

#3

Сообщение AndrejK » 06.10.2021{, 07:01}

Воплощая в жизнь очередную идею - в случае, если ворота кто-то тронул, передачу булевой с МК ESP32, которая управляет открытием и закрытием откатных ворот, в ESP32-Cam, которая за ними наблюдает, для отправки фото либо видео в Телеграм, столкнулся с проблемой постоянного рестарта МК ворот. Передача булевой ведется посредством esp_now.
Пришлось внести коррекции в свой пользовательский блок. В шапке блок и пример заменил.
Для наглядности исправления, в блоке не убрал, а просто закомментировал две ненужные строки.

neangel
Сержант
Сообщения: 138
Зарегистрирован: 10.01.2019{, 13:13}
Репутация: 1
Откуда: Москва
Имя: Игорь

ESP32 ШИМ, Старт, Стоп.

#4

Сообщение neangel » 06.10.2021{, 11:26}

Здравствуйте AndrejK.
AndrejK писал(а):
06.10.2021{, 07:01}
а просто закомментировал две ненужные строки.
Это хорошо когда умеешь комментировать и закомментировать.
Надо просто знать чем.

Но когда тебе за 60 заставить себя вникать уже не реально.
Вот и приходится собирать Франкинштейна из уже готовых блоков.
В которых не хватает то одного то другого.

А если попросишь доделать блок под свои хотелки то мастеров отфутболить здесь больше, чем дать пас.
Так вот.
Ворот у меня нет и управлять двигателями ШИМом не собираюсь.
И в связи с тем что в штатном варианте у ESP 32 нет пьезопищалки.
Я взял этот блок с форума = viewtopic.php?f=63&t=6297&p=105628&hili ... 9C#p105628

Им можно управлять частотой и скважностью .... по сути это уже ноты и громкость

Но у него другая беда - остановить его не получается никак.
Поэтому я просто торможу мосфет отдельной ногой еспэшки (два сопротивления на управлении транзистором).
Всё работает ... сыграет любую мелодию с любой громкостью (зависит от скажности)
(ах да .... вместо пьезопищалки - микродинамик)
Но 2 сопротивления лишние как у Франкинштейна.

AndrejK писал(а):
06.10.2021{, 07:01}
Воплощая в жизнь очередную идею
Так вот.
Нельзя ли в вашем Уважаемом блоке умеющим тормозить.
Вынести наружу управление частотой .... пояснил зачем - играть мелодии.

Спасибо за внимание.

AndrejK
Сержант
Сообщения: 119
Зарегистрирован: 20.02.2020{, 13:16}
Репутация: 14
Откуда: Вильнюс
Имя: Андрей

ESP32 ШИМ, Старт, Стоп.

#5

Сообщение AndrejK » 06.10.2021{, 15:44}

Попробовал. Вроде получилось, а потом сообразил, что нота идет числом с запятой, а в установке частоты ESP32 uint32_t, т.е. unsigned long: mcpwm_set_frequency(mcpwm_unit_t mcpwm_num, mcpwm_timer_t timer_num, uint32_t frequency). Как то так :smile37:

neangel
Сержант
Сообщения: 138
Зарегистрирован: 10.01.2019{, 13:13}
Репутация: 1
Откуда: Москва
Имя: Игорь

ESP32 ШИМ, Старт, Стоп.

#6

Сообщение neangel » 06.10.2021{, 16:35}

Про ноты я нечаяно загнул, а вы и поверили.

Для меня (медведь отдавил ухо) достаточно и единиц частоты.
Мы не в консерватории.

Пожалуй уточню ещё, как я сделал и для чего.
Нажимаю например на кнопки ... а у них разный тон звукового ответа.

Всё работает очень быстро и можно озвучить даже повороты энкодера.
Крутишь энкодер в одну сторону .... блу-лу-лу-лум.
Крутишь энкодер в другую сторону .... тир-ти-ти-тинь !!!
красота!
Чтобы это понять попробуйте это сделать с пьезоизлучателем на одной частоте и на одной не регулируемой громкости.
Получается.
Красота ещё и в том что скважностью можно выбрать ещё и уровень тишины.
И сами ноты здесь вовсе не при делах.

AndrejK писал(а):
06.10.2021{, 15:44}
Попробовал. Вроде получилось, а потом сообразил
Уважаемый AndrejK мне отсюда видно что плод уже созрел.
Пусть падает.

Спасибо!

AndrejK
Сержант
Сообщения: 119
Зарегистрирован: 20.02.2020{, 13:16}
Репутация: 14
Откуда: Вильнюс
Имя: Андрей

ESP32 ШИМ, Старт, Стоп.

#7

Сообщение AndrejK » 06.10.2021{, 16:51}

Попробуйте. С ЛЕДом вроде получается, а пьезоизлучателя у меня нет.

Предположу, что скважность должна быть меньше 100 процентов, а то на выходе будет просто единица.
Вложения
ESP32_PWM_SONY_(Code_-_Basic).ubi
(111.88 КБ) 47 скачиваний

neangel
Сержант
Сообщения: 138
Зарегистрирован: 10.01.2019{, 13:13}
Репутация: 1
Откуда: Москва
Имя: Игорь

ESP32 ШИМ, Старт, Стоп.

#8

Сообщение neangel » 06.10.2021{, 17:14}

Просит библиотеку driver/mcpwm.h
Не могу найти.

Пока поясню ещё кое что.
Штатный генератор не держит частоту при нагрузке на контроллер.
Поэтому красиво озвучить движения не получается.
А вот каналы с ШИМ более стойкие к нагрузкам на контроллер.
Может и подхрюкнуть но уже на максимальных нагрузках.

Поэтому я и набросился на ваш блок .... вещь!

Впрочем для меня хорош и этот блок - viewtopic.php?f=63&t=6297&p=105628&hili ... 9C#p105628
но у него нет стопа

Надеюсь что с помощью вашего внимания вылечу своего Франкинштейна и уберу у него лишних 2 сопротивления

AndrejK
Сержант
Сообщения: 119
Зарегистрирован: 20.02.2020{, 13:16}
Репутация: 14
Откуда: Вильнюс
Имя: Андрей

ESP32 ШИМ, Старт, Стоп.

#9

Сообщение AndrejK » 06.10.2021{, 17:25}

При компиляции скетча компилятор библиотеку находит. Дополнительно я ничего не устанавливал. вот где он у меня сидит:
C:\Program Files (x86)\FLProg\ideV6\portable\packages\esp32\hardware\esp32\1.0.4\tools\sdk\include\driver\driver\mcpwm.h

neangel
Сержант
Сообщения: 138
Зарегистрирован: 10.01.2019{, 13:13}
Репутация: 1
Откуда: Москва
Имя: Игорь

ESP32 ШИМ, Старт, Стоп.

#10

Сообщение neangel » 06.10.2021{, 17:57}

Вы правы.
Компиляция проходит.
Заработало но всё таки просит библу.
AndrejK писал(а):
06.10.2021{, 17:25}
Дополнительно я ничего не устанавливал. вот где он у меня сидит:
C:\Program Files (x86)\FLProg\ideV6\portable\packages\esp32\hardware\esp32\1.0.4\tools\sdk\include\driver\driver\mcpwm.h
Этот файл есть .... но см. рисунок просит библу.


Собрал по этой схеме. Изображение

Почти сирена .... с чувством с толком и остановкой.

Думаю всё время будет просить библиотеку пока эта папка не будет добавлена и у меня.
Может она не нужна?

AndrejK писал(а):
06.10.2021{, 07:01}
Воплощая в жизнь очередную идею
Из таких мелочей как ваш блок и строится красота.

P.S.
Поставил два триггера на всякий случай (нет описания блока)
Всё работает.
Потом разберусь подробней с верхним выводом.


Вы даже не понимаете что наделали походя.
Этот блок здесь просят уже несколько лет.
Но мастера ШИМа боятся конфликтов и не дают менять частоту на лету.

:smile9:
Вложения
88.png
Последний раз редактировалось neangel 06.10.2021{, 18:28}, всего редактировалось 1 раз.

AndrejK
Сержант
Сообщения: 119
Зарегистрирован: 20.02.2020{, 13:16}
Репутация: 14
Откуда: Вильнюс
Имя: Андрей

ESP32 ШИМ, Старт, Стоп.

#11

Сообщение AndrejK » 06.10.2021{, 18:27}

Ну и славно. Верхний вывод это EN для работы двух следующих. А стоп это инверсия верхнего.
Правильно было бы использовать логику вот так (фото).
Вложения
EN.PNG
EN.PNG (4.45 КБ) 1228 просмотров

neangel
Сержант
Сообщения: 138
Зарегистрирован: 10.01.2019{, 13:13}
Репутация: 1
Откуда: Москва
Имя: Игорь

ESP32 ШИМ, Старт, Стоп.

#12

Сообщение neangel » 06.10.2021{, 18:45}

AndrejK писал(а):
06.10.2021{, 18:27}
Ну и славно.
Согласен.
Согласие есть продукт при полном непротивлении сторон

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

ESP32 ШИМ, Старт, Стоп.

#13

Сообщение Dryundel » 06.10.2021{, 18:51}

neangel
Вот возьмите. Описание позже сделаю.
Buzzer_ESP32_(Code_-_Basic).ubi
(40.96 КБ) 66 скачиваний

neangel
Сержант
Сообщения: 138
Зарегистрирован: 10.01.2019{, 13:13}
Репутация: 1
Откуда: Москва
Имя: Игорь

ESP32 ШИМ, Старт, Стоп.

#14

Сообщение neangel » 06.10.2021{, 19:49}

Здравствуйте Dryundel.
Dryundel писал(а):
06.10.2021{, 18:51}
Вот возьмите. Описание позже сделаю.
То пусто то густо.

Бузер да ещё и с регулировкой скважности (громкости)
Это бомба.

Обязательно сделайте отдельную тему в блоках для ЕСП чтобы люди не проехали мимо.

И дайте эту ссылку на Музыкальный блок …. 03.02.2018 от Сергей Глушенко
https://flprog.ru/downloads/usersblocks ... lnyj-blok/

Где в тему нот числами с точками с запятой (Float)
AndrejK писал(а):
06.10.2021{, 15:44}
Вроде получилось, а потом сообразил, что нота идет числом с запятой
Автор программы ФЛпрог показал как с этим поступить.
здесь = https://flprog.ru/downloads/usersblocks ... lnyj-blok/
99.png

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

ESP32 ШИМ, Старт, Стоп.

#15

Сообщение Dryundel » 06.10.2021{, 22:09}

neangel писал(а):
06.10.2021{, 19:49}
Бузер да ещё и с регулировкой скважности (громкости)
Это бомба.
Это только для ESP32 - это плохая новость.
Хорошая в том, что доступны 16 каналов. Т.е. Вы можете одновременно на разные пины разные ноты выводить. Так что и аккорды доступны. :) .Для этого настройте разные блоки на разные каналы и пины.

neangel
Сержант
Сообщения: 138
Зарегистрирован: 10.01.2019{, 13:13}
Репутация: 1
Откуда: Москва
Имя: Игорь

ESP32 ШИМ, Старт, Стоп.

#16

Сообщение neangel » 06.10.2021{, 23:22}

Добавлю в тему темы - ESP32 ШИМ, Старт, Стоп

Точнее в тему СТОПА над которым отлично отработал AndrejK
И чуток потяну одеяло на себя - интересует только ЗВУК.
См. рисунки ниже ....
AndrejK писал(а):
06.10.2021{, 16:51}
С ЛЕДом вроде получается, а пьезоизлучателя у меня нет.
У меня вместо ЛЕДа 6-канальный осциллограф снимки с которого ниже
Но у вас есть знания в программировании которых нет у меня.
Т.е. сама природа всё компенсирует как в сообщающихся сосудах.

Dryundel писал(а):
06.10.2021{, 22:09}
это плохая новость.
Хорошая в том, что ....и аккорды доступны.
И у меня есть плохая и хорошая новость.
Сам блок у Dryundel работает покруче но у него есть косяк на СТОПЕ с которым вовсе не до аккордов.
Но судя по работе блока от AndrejK это временно.


P.S.
Пардон .... прошу прощения у Dryundel
Этот косяк на стопе я нашёл у себя в схеме.
Сам блок отключается на 1 мс позже чем задержка звука ... лишний таймер.

Но тогда получается два автора и оба красавцы!
И только я один с косяком .....

Про скриншоты ниже .... кручу энкодер (один канал) .. второй канал - работа ШИМ.
Кручу в одну сторону блу-лу-лу-лум .... кручу энкодер в другую - три-ти-ти-тинь!!!
....
111.png
101.png

AndrejK
Сержант
Сообщения: 119
Зарегистрирован: 20.02.2020{, 13:16}
Репутация: 14
Откуда: Вильнюс
Имя: Андрей

ESP32 ШИМ, Старт, Стоп.

#17

Сообщение AndrejK » 07.10.2021{, 06:14}

Знакомый осциллограф. Работаю таким.

Программист - это высоко сказано. Я не программист. Я беру пример с ГИТХАБа, беру из него то, что мне нужно, и вставляю в свой скетч. Если работает, то из того, что перенес в скетч, делаю блок и продолжаю работать в FLProg. Время, естественно отнимает, потому только под свои нужды.

neangel
Сержант
Сообщения: 138
Зарегистрирован: 10.01.2019{, 13:13}
Репутация: 1
Откуда: Москва
Имя: Игорь

ESP32 ШИМ, Старт, Стоп.

#18

Сообщение neangel » 07.10.2021{, 11:06}

На счёт естественности времени.
AndrejK писал(а):
07.10.2021{, 06:14}
Я беру пример с ГИТХАБа, беру из него то, что мне нужно, и вставляю в свой скетч. Если работает, то из того, что перенес в скетч, делаю блок и продолжаю работать в FLProg. Время, естественно отнимает, потому только под свои нужды.
Уже отметил что я весь седой.
И время что у меня осталось хочу потратить чтоб только пожинать плоды.

Для тех у кого времени впереди ещё полно.
Не проходите мимо ...
AndrejK дал хорошую подсказку как надо начинать въезжать в тему.
:smile9:

И сделал он это походя и как бы оправдываясь ... я свой буржуинский!
А не какой то извините программист.
Просто знаю место где и как "своровать" чтоб никто не заметил.

AndrejK
Сержант
Сообщения: 119
Зарегистрирован: 20.02.2020{, 13:16}
Репутация: 14
Откуда: Вильнюс
Имя: Андрей

ESP32 ШИМ, Старт, Стоп.

#19

Сообщение AndrejK » 07.10.2021{, 13:22}

Все в открытом (общественном) доступе https://github.com/espressif/esp-idf/issues/2943

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

ESP32 ШИМ, Старт, Стоп.

#20

Сообщение Dryundel » 07.10.2021{, 13:50}

AndrejK писал(а):
07.10.2021{, 13:22}
Все в открытом (общественном) доступе https://github.com/espressif/esp-idf/issues/2943
AndrejK, похоже Вы дали не ту ссылку. Но по стечению обстоятельств, это практически то, что я искал. :) Спасибо.

Ответить

Вернуться в «Блоки для ESP32/ESP8266»