Problema com servo motor acionado mecanimente e eletricamente

Boa tarde garagistas,

o título do meu tópico pode parecer confuso, mas vou tentar explicar meu problema da forma mais clara possível. Estou utilizando um servo motor, o qual está fixo em uma haste. Quando aciono um botão, o servo motor, acoplado nessa haste, faz com que ela seja movimentada. Porém, essa mesma haste pode ser movimentada com a mão, fazendo com que o eixo do servo motor também movimente.

Meu problema é que, quando eu movimento mecanicamente o servo motor com minha mão, ele não reconhece que seu eixo movimentou. Por exemplo, o servo motor está em "180º", eu mexo a haste com a mão, fazendo com que ele vá para a posição "0º". Só que no monitor serial ele ainda fica exibindo como se estivesse na posição de 180º. Ou seja, sempre que o servo motor é movimentado mecanicamente ele não reconhece que mudou de posição.

Existe algum meio de contornar esse problema?

Exibições: 55

Responder esta

Respostas a este tópico

Boa tarde, 

Sugiro que corrija o português também = mecanicamente

O servo motor comum não tem sensor de posição . 

Mas existem servo-motores com sensor de posição - encoders (bem caros). 

https://www.citisystems.com.br/servo-motor/

http://www.orientalmotor.com/servo-motors/technology/servo-motor-gl...

http://labdegaragem.com/forum/topics/motores-de-passo-x-servo-com-e...

http://www.galilmc.com/news/motion-controllers/servo-motor-controll...

um encoder de mouse (do scroll) ou de uma impressora não resolveria?

O servo é um motor obediente. Vc mandou ir, ele vai. Não pode ser movido com a mão. Ele vai teimar em ir onde foi ordenado ir. 

O que vc precisa, então, não é mais um servo e sim uma haste controlada duplamente: pelo servo e pela mão.

Para adicionar esse controle com a mão vc precisa de sensores na haste que entendam que a pessoa deseja movimentar e altere o angulo do servo.

Se vc forçar o servo ele vai sempre usar sua força máxima para corrigir a posição, até quebrar.

Uma alternativa barata (porca, se mal implementada) seria medir a corrente de consumo do servo. Com a corrente vc sabe se está nessa situação de máxima força para algum lado (não sabe qual) e baseado nessa informação comandar o servo de forma diferente.

Se vc puxar um fio de dentro dele, direto do motor, poderá saber se a corrente é positiva ou negativa, assim saberá para qual lado está sendo forçado.

Exemplo de aplicação disso são os vidros de carro com antiesmagamento. Ele percebe correntes maiores no motor. Se acontecer ele para e reverte por um instante.

RSS

Destaques

Registre-se no
Lab de Garagem
Clicando aqui

Convide um
amigo para fazer
parte

curso gratis de arduino

© 2018   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço