Проблема с сервоприводом
- Войдите на сайт для отправки комментариев
Вс, 10/09/2017 - 16:57
Имеется arduino и подключенные к ней датчики(х2). Также подключен один сервопривод и мотор. Есть проблема: при инициализации сервопривода, мотор работает только на максимальной скорости(если вообще запускается). Питание беру с кроны. Как это исправить?
Для начала выкинуть крону (у неё маленькая ёмкость и ток разряда), для сервоприводов и моторов не очень подходит. Лучше запитать от нескольких пальчиковых батареек или аккумуляторов. Или от повербанка.
До того как стояла крона, питание было от 4 батареек АА. Проблема была такая же. Вы предлагаете поставить 6 таких батареек?
Vegetable, обычно программно-аппаратные разработки отлаживаются в последовательности:
1. Исправляем аппаратные пробламы.
2. Исправляем программные проблемы.
Поэтому совет Jeka_M совершенно справедлив: для начала нужно привести к вменяемому виду схему, и только потом заниматься программными проблемами.
И еще: если Вы рассчитываете на серьезное обсуждение, а не на порцию флуда, приводить принципиальную схему и скетч - обязательно.
PS. Кстати, совет Jeka_M - это все, что можно было сказать на вопрос без схемы и скетча.
Всем здравствуйте. Такая у меня проблема. Собирая управление твердотопливного котла, столкнулся с тем что сервопривод в процессе работы поддергивается, хаотично. опытным путем были исключены проблемы с дуней с питанием подключением сервой и тд. Было установлено что на поддергивание влияет датчики температурв(18b20), сначала грешил на библиотеку Dallas так как при удалении библиотеки и всех ее корней и датчиков из скетча проблема уходит переписал скетч без библиотеки dallas , но с датчиками поддергивания вернулись, при том изменяя задержку времяни на опрос датчика изменяется характер (частота) поддергиваний. ВОПРОС: как это исправить, с чем может быть это связано, это конфликт датчиков создающая помехи на шим ?
Скетч добавлю вечером.
Программу скину позже. А схема такая: от блока питания параллельно подключены Arduino и драйвер двигателей(L298N). От драйвера двигателей(контакта +5V) подключены сервопривод Sg-90 (используются порт 6 платы Arduino) и 2 ИК датчика Sharp (порты 15, 16). Мотор тоже подключен к драйверу двигателей и управляется через три порта(9,8,7). Вот как-то так.
Мотор подключен к out1 и out2
Вот и сам код:
Проблему решил следующим образом
Поз2- это нужное нам положение сервы
если поз1 ==поз2
То серво.detach();
Если нет
То серво attach(6);
Поз1=поз2;
Делай
Серво(поз1);
Проблема ушла дернанье пропало так как все свободное время серва отключена и включается только когда надо повернуться. Но все равно по-прежнему интересны причины дергания если кто знает пишите.
Не подскажите, что делает функция Servo.dеtach();?
http://arduino.ru/Reference/Library/Servo/detach
Спасибо
Проблема решена. Оказывается, при подключении сервопривода, на портах 9 и 10 пеестает работать ШИМ. В этом и была проблема.