Сервомотор дергается
- Войдите на сайт для отправки комментариев
Сб, 11/06/2016 - 19:31
Привет.
Не могу избавиться от дерганий сервомотора, навешенного на pin 6 Arduino Uno.
Очевидно что этот тремор происходит при выводе чего-нибудь в сериальный порт (COM4 в моем случае).
В чем может быть причина?
Спасибо.
Какие-то завороты с неидеальностью синтеза PWM сигнала. Понять и простить, либо использовать внешний, типа TLC5940 или что в этом духе. Гуру пишут что-то адруине на чистом AVR C и повышают тем частоту синтеза, вроде проблема уходит. Но это для любителей покрасноглазить. Если интересно, то достаточно подождать, думаю напишут. Я не напишу т. к. сервы использую редко и мне на эту проблему теперь плевать.
Да, ещё она заткнётся, если сделать detach(), но по-моему, это навсегда. Лично у меня не вышло всё по условию делать: если в setup() назначить и не освобождать серву, то норм. Как только пытаюсь делать всё в loop() - хрен.
Этот самый синтез делает код в библиотеке Servo.h из тактов ардуинного сипию, не так ли? Не кажется, что проблема в нем. Дергается как раз в моменты, когда что-то (текст) выводится оператором Serial.write(). Какая-то банальная помеха по цепи питания. Сейчас проверил это навесив электролит 100 мкф на питание сервы - дерганья уменьшились, но не пропали. Увеличить вкорость обмена по сериальному порту (сейчас 9600), чтоб сделать ее высокой и недосягаемой для сервы?