Цитата:
Сообщение от Dampflok
о каком analogWrite идёт речь, так как обращение к сервомотору произвожу при помощи servo.write().
Цитата:
|
Это аналогичная servo.write() штука, суть которой - выставить ШИМ/PWM нужной скважности на выходе ардуины.
Цитата:
Сообщение от Dampflok
Ну и рывок будет в любом случае, если от ардуины отключить питание - вынуть USB-кабель.
Тоже примерно 30° как правило.
|
Этот рывок наблюдается, даже если предварительно сделать серве detach() ?
Цитата:
Сообщение от Dampflok
Здесь Вы вероятно имеете в виду записать в прежние/полученные перед отключением электропитания ардуины значения servo.write()/servo.read() в EEPROM?
|
На самом деле я не знаю, как сделать запись в EEPROM в момент выключения питания. Просто записываю каждый перевод сервы по завершении ее движения.
Цитата:
Сообщение от Dampflok
Под "потом подать питание на серву" Вы имеете в виду вручную или тумблером (например) соединить контакт 5+V к серве
или программно через скетч?
|
Можно тумблером, реле и т.д. Думаю главное, чтобы на серве к моменту подачи питания был выставлен именно тот уровень ШИМ, в котором серва находится перед включением (т.е. чтобы текущий угол сервы и угол, задаваемый ШИМ, совпадал).
Пробовал управлять подачей питания на сервы с ардуины, через MOSFET транзистор. Вроде все намана было, если память не изменяет. Нюанс- не использую серву на удержание. Когда надо повернуть серву, сначала идет attach(), после завершения движения - detach(). Еще нюанс - если серв много (несколько десятков), то без такого управления питания сервами наблюдаю перегрузку при включении питания, т.к. сервы при включении дружно дергаются и делают полный оборот на 180 и обратно или только туда (точно уже не помню).
P.s. Кажись надо переносить последние посты про Ардуину в соотв. ветку форума, а то тема про другое