Проблема работы сервоприводов при работе rs485
- Войдите на сайт для отправки комментариев
Добрый день . Сделал я себе сценический световой прибор под названием "врощающаяся голово"(далие просто голова) собранн на ргб мощном светодиоде и двух сервоприводов и в качестве контролера ардуинка. Задумка такая: в самой голое на МК встоенные программы эфектов которые переключаются посредствам посылки команд по каналу RS485 от пульта "мастер" тоже собран на ардуинке. Помимо перебора встроенных програм еще есть ручной режим управление(яркость, цвет, угол поворота по вертикали , угол по горезонтали, и тд) сеть rs 485 работает через библу softwarserial, для серв использовал библиотеку servo.
Проблема вот в чем. Когда по сети идет передача данных в этот момент серво двигатели дергаются( такое впечатление что в момент приема комант пропадает сигнал от пина управления сервами) я думаю это связанно с прерыванием в библиотеки софтварсериал.
гугл ни чего не дает по этому поводу. Будто только я решил так использовать ардуинку.
Помогитие решить этот вопрос. Напишите свои мысли и все что знайте об этом. Как избавиться от этого неприятного эффекта. Зарание спасибо!!!
Во-первых, если управляющий сигнал передаётся с обычного DMX512 пульта, то проще принимать специальной библиотекой, например DMXSerial.
Во-вторых, ISR серво и ШИМ затрагивают определённые таймеры, в частности T0. Убедитесь, что сервы не подключены к его выходам (D3, D11).
В-третьих, от любых проблем с ШИМ спасает внешний синтезатор, TLC5940 например.
Во-первых, если управляющий сигнал передаётся с обычного DMX512 пульта, то проще принимать специальной библиотекой, например DMXSerial.
Во-вторых, ISR серво и ШИМ затрагивают определённые таймеры, в частности T0. Убедитесь, что сервы не подключены к его выходам (D3, D11).
В-третьих, от любых проблем с ШИМ спасает внешний синтезатор, TLC5940 например.
Спасибо за ваш ответ. Пульт для головы тоже самодельный на базе ардуино , управляет 4-мя такими головами. связь между ними органезовонна по RS485. В голове и в мастере приемопередатчики на микросхеме MAX485. Протокол обмена данными я разработал сам, не стал прибегать к существующим протаколам. Можете по подробнее синтезатор . Хоть я и почти разработал не детский прибор я еще новичек в программирванье.
Это микросхема, sot28 между ног 0.3 мм, если можете изготовить плату - то в этом корпусе она дешевле, или есть версия в корпусе dip28, выглядит так же как микросхема стандартной uno/duemilanove ардуины. Имеет 16 PWM выходов, управление по SPI, так же встроенная защита по току. Существует библиотека.
https://playground.arduino.cc/Learning/TLC5940
Точнее велосипед, альфа-версия которого увидела свет в 1986 году.
http://playground.arduino.cc/Learning/DMX
Это старая проблема, был вроде тут пост насчет дергания серв при работе с WiFi, так что Вы не первый.
По теме - если у Вас SoftSerial, то это фатально - ничего не сделать, не переписывая другие модули, чтобы они прерывания не запрещали.
Если Вам хватит аппаратных 4 ШИМ и у Вас подходящий контроллер с Timer1, по переходите на них, если не хватит или неподходящий контроллер - то внешний ШИМ контроллер (тот же TLC) может быть спасением.
Точнее велосипед, альфа-версия которого увидела свет в 1986 году.
http://playground.arduino.cc/Learning/DMX
Да, я знаю что такие приборы продаются ценик начинается от 35000т.р У меня нет такой возможности купить.
вот я и сам решил разработать и собрать. Сылка что вы мне оставили говорит о DMX протаколе. Я повторюсь он мне не к чему. ТК все устроества не заводские а собранны мной и протокол обмена я сделал сам по простой причине что понимаю все досканально что в нем происходит. А еслибы скажем вопрос стоял к зоводскому устроеству что то приколхозить то да , бралбы протокол DMX .
А по поводу велосипеда: Вы попробуйте отыскать в интернете хотябы чертежь механической части головы , построение всех узлов. Я не нашёл. Программа, это было не сложно только с сервами проблема возникла но благодаря вам я знаю как исправить ее.(спасибо всем кто откликнулся) Механическая часть головы вот с этим пришлось очень сильно повозиться. Оптика, охлождение, еще хочется внедрить ГОБО эфекты. И на данном этапе еще не закончена разработка механической части, Собранн макет пластиковый опробован, теперь нужно сделать полно размерную модель со всеми ништяками
Это старая проблема, был вроде тут пост насчет дергания серв при работе с WiFi, так что Вы не первый.
По теме - если у Вас SoftSerial, то это фатально - ничего не сделать, не переписывая другие модули, чтобы они прерывания не запрещали.
Если Вам хватит аппаратных 4 ШИМ и у Вас подходящий контроллер с Timer1, по переходите на них, если не хватит или неподходящий контроллер - то внешний ШИМ контроллер (тот же TLC) может быть спасением.
Да вы правы, буду делать на TLC. Спасибо за отзыв
вот фото пульта управлени головами. он уже готов