• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

ESPEasy Mega + PCA9685 ШИМ контроллер

kostyaer78

New member
Доброго!
Столкнулся с проблемой, ещё не всё диагностировал и перепробовал, сам на работе, но тема покоя не дает..
В общем имеется ESP-01 с прошивкой ESPEasy MEGA, ШИМ контроллер PCA9685 по i2c шине.
Цель управлять из majordomo по MQTT нагрузками, на данный момент реализовано 5 ШИМ для включения и диммирования светодиодных лент и 4 реле, осталось 7 незадействованных портов.

Всё работает, ленточки диммируются, релюшки щёлкают... но только первые несколько переключений.. далее начинает переключать не те нагрузки или параллельно включать несколько, а то и вообще начинает дергать ноги самой еспешки, а не шим контроллера... получается дернет gpio0 или gpio2 и соответственно связь по i2c с контроллером теряется.
Реализовал так:
В девайсах создал Generic - MQTT Import, там подписал на топики из majordomo. В rules создал правила- при изменении значения такого-то топика отправлять команду шим-контроллеру с значением из топика.
В логах еспешки видно- получил значение из топика- отправил его шим контроллеру... и заодно дернул ногу самой еспешки или отправил значение того же шим но ноге еспешки..
Команды по HTTP отрабатывает без проблем, лишнего ничего не дергает и не путает, но на HTTP команды бывает задумывается и отклик бывает через 30 секунд..
Ещё один глюк есть, после загрузки esp включаются все 16 портов шим-контроллера, надо включить\выключить любой порт шим-контроллера и после этого порты перейдут в ноль.. А так получается подал питание и сразу всё нагрузки скоммутировались... создал правило- после загрузки esp передернуть 0 порт контроллера..
Сейчас в голову пришло может я зря девайс "Generic - MQTT Import" обозвал "pwm" т.к. у самой еспэшки есть такая команда...
Rules:
Код:
on pwm#1 do //запуск при изменении в топике 1
PCAPWM,0,[pwm#1]  //команда ШИМ-контроллеру порт 0 с значением из топика
endon

on pwm#2 do //запуск при изменении в топике 2
PCAPWM,1,[pwm#2] //команда ШИМ-контроллеру порт 1 с значением из топика
endon

и т.д.
Что я не так сделал?
 

nikolz

Well-known member
я бы разделил задачу на две части.
полагаю догадались какие
и отладил их отдельно
потом соединил
 

kostyaer78

New member
я бы разделил задачу на две части.
полагаю догадались какие
и отладил их отдельно
потом соединил
Спасибо, откликнулись.

Тему победил! Как и предполагал из-за названия "pwm", но самое интересное не в названии устройства, а в пути mqtt топика.. было /sw/pwm/1 и т.д..
 
Сверху Снизу