Pages: [1] 2   Go Down
Author Topic: Motor Servo num pino digital  (Read 2868 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 12
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


Ora boas,

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 ?

Obrigado
Logged

Offline Offline
God Member
*****
Karma: 12
Posts: 510
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

A porta digital do arduino só é capaz de fornecer 20mA sem forçar o microcontrolador.

Use um transistor NPN como chaveador.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 12
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


Desde já muito obrigado pela resposta  smiley

Assim ?
http://www.instructables.com/files/deriv/FN3/AGFE/H1HMDLS9/FN3AGFEH1HMDLS9.LARGE.jpg
Logged

Portugal
Offline Offline
Edison Member
*
Karma: 37
Posts: 1593
Pretending you know everything then you will learn nothing.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Sim liga como tens na imagem.
Logged

Debian,Mint,Ubuntu
Arduino Mega 2560
Arduino Nano
Arduino Duemilanove
MAC OS Montain Lion
Raspberry PI Model B


Offline Offline
God Member
*****
Karma: 12
Posts: 510
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Desculpe-me, você manteve o fio do sinal com a sua modificação ou removeu a placa de controle do servo e esta usando apenas o motor e estrutura?

Como você tem as ligações?

Aqui tem uma página onde o autor modificou um miniservo e dá alguns detalhes http://ferpinheiro.wordpress.com/2012/01/24/criando-robo-com-arduino-parte-iii-inicio-do-prototipo/

Mas cuidado, pois tanto a USB do PC quando o regulador de tensão do arduino possuem limite de corrente, se você exigir demais poderá queimá-los, eu costumo fazer como neste post http://labdegaragem.com/profiles/blogs/tutorial-arduino-com-servomotor é mais seguro para o arduino =)

A sugestão do transistor vale para muitos casos, eu por exemplo, adiciono sempre que o componente consome mais que 20mA.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 12
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


Eu removi o potenciómetro e substitui-o por duas resistências. Neste momento está ligado tal como diz na página do Arduino:
http://arduino.cc/en/reference/servo

O projecto é basicamente o de mover uma roda de filtros para Astrofotografia (http://www.apaa.co.pt/apaaforum/index.php/topic,4602.msg34291/topicseen.html?PHPSESSID=kd910qoqi1nvgebk2dcsq0vo27#msg34291)

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.

Obrigado
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 12
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


Desculpem-me lá, mas eu sou um bocado nabo nisto, e antes de destruir o projecto, gostava de ter algumas certezas  smiley-confuse

Estive e ver com mais atenção esta imagem, e na resposta dizem-me para ligar como mostra.
http://www.instructables.com/files/deriv/FN3/AGFE/H1HMDLS9/FN3AGFEH1HMDLS9.LARGE.jpg

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?

Muito obrigado


Logged

Offline Offline
God Member
*****
Karma: 12
Posts: 510
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 12
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


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.

Obrigado
Logged

Offline Offline
God Member
*****
Karma: 12
Posts: 510
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

O servo que tenho não tem esse comportamento, mas nesta situação o uso do transistor deve resolver o problema, nada como fazer uns testes smiley-wink
Logged

'round the world...
Offline Offline
Faraday Member
**
Karma: 42
Posts: 3291
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Um servo não se utiliza com relés Mortis...
Logged

Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o.
Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum).
Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.

Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).

Offline Offline
God Member
*****
Karma: 12
Posts: 510
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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ê smiley-razz

Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 12
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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 :-)

O servo que tenho não tem esse comportamento...

Isso ainda é mais estranho. Já testei 2 Servos e ambos fazem o mesmo  smiley-confuse
Logged

Offline Offline
God Member
*****
Karma: 12
Posts: 510
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

É, 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
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 12
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


É, 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  smiley

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.

Obrigado
Logged

Pages: [1] 2   Go Up
Jump to: