Официальный сайт компании Arduino по адресу arduino.cc
Робот на UNO
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Пнд, 10/06/2019 - 10:05
Интересный отказ серво. Может кому-то пригодится.
В роботе 8 серво, по 2 на каждую конечность.
В процессе разработки произошел отказ.
Простые команды: СТОЙ, СИДИ выполнял без проблем.
Циклическую команду ИДИ, отказался. Стал зависать сразу после первого движения.
Суть оказалась в том, что один из серво команду выполнял, поворачивался,
а вот в Ардуино не сообщал об окончании поворота.
UNO ожидал окончания поворота всех серво,
прежде чем начать следующий шаг.
Использую библиотеку VarSpeedServo.h
Вот как это выгдядит: servo_down1.write(Baz[b1]+(EEPROM.read(1)-128),S,true);
Последовательно убирал (true), пока не нашел.
Точнее сначала убрал все-заработало, но не корректно есественно (не дожидались окончания цикла),
потом уже поочередно.
Серво MG90S. Уже штук 30 переломал, но такого не всречал.
Поиск осложнялся тем, что все серво команды исправно выполняли и казалось бы к ним нет претензий.
Вы правы полностью, видимо библиотечка сама по запросу myservo.read() шлет результаты промежуточные, как ей представляется верные :). Я их (не проверив) и принял за ответы серво. Спасибо.
Моторчки поломал не враз, где-то за полгода. Клинят, проворачиваются и пр. и др. Конечно насилую их.