Modifiquei um mini Servo para permitir rotação contínua. Tudo funciona perfeitamente, excepto o facto de sempre que de alguma forma o motor é (re)alimentado, ele roda um pouco(ligar e desligar o USB, por exemplo). Ele funciona a 5V, por isso está alimentado apenas via USB.
Para o projecto era importante que sempre que conecto, o Servo se mantivesse na mesma posição.
É possível ligar o cabo dos +5v do servo a um dos pinos digitais do Arduino, e sempre que precisar efectuar um digitalWrite ao pino correspondente, se sim, é seguro ligar directo, ou não vai resolver o problema de todo ?
O problema é que sempre que ligo o USB ou o RJ45, ou mesmo quando reinicio o PC, o motor move e a posição do filtro é perdida. Como podem verificar uso um photointerrupter, e como a fotografia não se da muito bem com o LED, em vez de o ligar aos +5v do Arduino, liguei-o directamente a um dos pinos, o qual desligo/ligo consoante vou precisando. O objectivo era fazer o mesmo para o motor, mas se houver outra alternativa sem correr o risco de destruir o motor ou o Arduino, também serve.
Pelo que eu vejo na imagem, ao positivo liga-se apenas o diodo. O transistor e a resistência, liga-se ao pino do sinal. Ora como o sinal do servo se pode ligar directamente ao pino, o problema que se mantém é o positivo. Como pretendo ligar os +5v do Servo directamente a um dos pinos digitais do Arduino, será que o diodo é suficiente ? Podem-me por favor ajudar nas ligações?
Bom, eu ainda acho estranho que o motor se mova ao conectar a fonte de energia, o servo não deveria se mover somente ao enviar comando para o pino sinal? (verificaste o programa?)
Não vejo sentido em mudar(chavear) a alimentação se quem comanda o motor é o sinal, entende?
A imagem que você passou é válida para o uso de um motor dc, o servo já possui um circuito de proteção que dispensaria o uso do diodo. Mas pelo que citei acima não estou certo de que o transistor se aplique ao teu caso... =/
Assim como no motor, no circuito acima, o diodo protege o restante do circuito da energia produzida pela bobina do relê quando o desativamos e o pino se move.
Tenho visto alguns users na net com o mesmo problema, mas ainda não encontrei nenhum com uma solução. Aparentemente é um problema do Servo ao ser alimentado.
Vou rever o código, mas eu só faço attach do motor, em funções, e apenas são chamadas quando envio uma mensagem para o arduino.
A alimentação do servo estaria no lugar do relê, pois se leres os tópicos passados ele quer determinar a alimentação do servo usando a porta digital, ou foi isso o que entendi rs
Minha intenção foi mostrar o uso do transistor como chaveador, não foi o de indicar o uso do relê
Mortis:
A alimentação do servo estaria no lugar do relê, pois se leres os tópicos passados ele quer determinar a alimentação do servo usando a porta digital, ou foi isso o que entendi rs
Exactamente
Mortis:
O servo que tenho não tem esse comportamento...
Isso ainda é mais estranho. Já testei 2 Servos e ambos fazem o mesmo :~
É, eu realmente não sei como ajudar, pois se é o comportamento do Servo, mesmo colocando o transistor o problema persistirá.
Fiz uma breve busca e muitas pessoas, principalmente do meio dos aeromodelos, reclamam deste comportamento e citam um recurso chamado failsafe presente no RX.
Um usuário de PIC colocou um transistor como chaveador (como foi sugerido aqui) e ativa-o mile segundos após enviar o sinal para o servo, mas não sei como o circuito do servo se comportará recebendo energia no pino sinal sem ter energia no vcc.
Você tentou contato com o autor do projeto que você citou?
Espero que apareça alguém com melhor solução, e não consigo pensar em mais nenhuma =S
Mortis:
É, eu realmente não sei como ajudar, pois se é o comportamento do Servo, mesmo colocando o transistor o problema persistirá.
...
Você tentou contato com o autor do projeto que você citou?
Mortis, o facto de tentar, já é uma enorme ajuda, obrigado
Entrei em contacto com ele. Enquanto não me respondia, fiquei na esperança que o problema fosse dos Servos analógicos. Mas o que ele usou foi um analógico, e ele não tem esse problema.
Vou a uma loja de aeromodelismo, pode ser que saibam porque acontece.