Página 1 de 2

Servo motor - problemas/pic queimado

MensagemEnviado: 22 Mar 2011 19:35
por mauricio_blaster
Olá. Sou novo aqui e procurei no fórum para ver se achava algo que me ajudasse a solucionar meu problema e não encontrei, por isso resolvi criar o tópico.

Bem, vamos lá:

Resolvi implementar uma rotina no pic 16f877a para a geração do PWM em 50 Hz (retirei daqui: http://www.ermicro.com/blog/?p=771). Entendi a lógica de funcionamento e acreditei que ela está correta.

Resolvi escrever o programa para fazer o servo girar para uma posição fixa (45 graus) e ficar parado lá. Após compilar, gerar o hex, gravei no pic sem problemas e então fiz a montagem na protoboard da seguinte maneira:

Usei uma fonte de alimentação em 5v (obviamente) para alimentar o PIC e uma outra fonte (também 5v) para alimentar o servo. Então finalmente conectei o fio de controle do servo no pic.

Finalmente liguei as fontes e ai veio minha surpresa: O motor girou (não consegui verificar se foi para a posição certa) e no mesmo instante olhei na fonte de alimentação do pic e vi os assustadores 0,30 A de corrente.

Desliguei tudo rapidamente, desconectei a parte do servo e liguei só a fonte do pic. O bixo torrou. Comprovei isso no gravador.

Aí vem minha dúvida: o que eu fiz de errado? Pode ter sido o sinal PWM gerado errado? Ou ter usado duas fontes separadas sem interligar os seus terras? Será que queimei o servo?

Preciso de uma luz, estou um pouco desesperado com isso...

Re: Servo motor - problemas/pic queimado

MensagemEnviado: 23 Mar 2011 07:59
por MOR_AL
mauricio_blaster escreveu:Olá. .....
Aí vem minha dúvida: o que eu fiz de errado? Pode ter sido o sinal PWM gerado errado? Ou ter usado duas fontes separadas sem interligar os seus terras? Será que queimei o servo?

Preciso de uma luz, estou um pouco desesperado com isso...


Pode ter sido isso aí.
Também confira as ligações. Principalmente da fonte.
MOR_AL

MensagemEnviado: 23 Mar 2011 18:18
por mauricio_blaster
quero testar isso amanhã. Mas estou com medo de ter queimado o servo ou então queimá-lo... Tive que importar ele e me saiu caro e demorado.

Você acha que ele pode ter queimado?

MensagemEnviado: 23 Mar 2011 18:48
por EvandrPic
mauricio_blaster escreveu:quero testar isso amanhã. Mas estou com medo de ter queimado o servo ou então queimá-lo... Tive que importar ele e me saiu caro e demorado.

Você acha que ele pode ter queimado?


Importou o servo? Onde você mora?
Compra o servo de LNB de parabólica, é o mesmo padrão e deve custar uns R$ 20,00... usa pra teste depois você troca pelo servo "importado".
Perguntei onde você mora por que pode comprar em lojas de aeromodelismo...
Pode pedir pelo correio também.... tem muitas lojas de aeromodelismo que vendem pela net.
Não há nada de especial nesses servos que justifique você importá-los.

Já comprei nessas duas lojas pelo correio.
Servos de aeromodelos
http://www.aeromodelosamb.com.br/loja/i ... e9ad538287
Bigfield no Rio de Janeiro
http://www.bigfield.com.br/produtos/sgp ... upo=Servos


Servo de Parabólica
Imagem
http://www.ricopecas.com.br/audio-e-vid ... -motorsat/

No Mercado livre tem por R$ 16,00
http://produto.mercadolivre.com.br/MLB- ... bolica-_JM

http://www.roboticasimples.com/artigos.php?acao=16

Re: Servo motor - problemas/pic queimado

MensagemEnviado: 23 Mar 2011 22:11
por Djalma Toledo Rodrigues
mauricio_blaster escreveu:Finalmente liguei as fontes e ai veio minha surpresa: O motor girou (não consegui verificar se foi para a posição certa) e no mesmo instante olhei na fonte de alimentação do pic e vi os assustadores 0,30 A de corrente.

Desliguei tudo rapidamente, desconectei a parte do servo e liguei só a fonte do pic. O bixo torrou. Comprovei isso no gravador....

Possívelmente a Fonte do PIC esta invertida.

Verifique

DJ

MensagemEnviado: 23 Mar 2011 22:33
por mauricio_blaster
Não, a fonte do PIC e a do servo NÃO estavam invertidas. Eu já tinha gravado o firmware no PIC e lido no osciloscópio a saída PWM para verificar. Estava tudo ok.

Quanto a importar o servo, foi pq eu não achei o modelo que eu precisava no Brasil (achei alguns parecidos mas o preço era absurdo, então resolvi trazer dos EUA)

Estou pensando em comprar um simples para fazer funcionar mesmo... não estou afim de arriscar os definitivos mais.

Obrigado pelas respostas! Se tiver mais alguém que possa ajudar, estarei lendo aqui

MensagemEnviado: 23 Mar 2011 22:38
por mauricio_blaster
O meu servo é esse:

http://www.bigfield.com.br/produtos/p.a ... B_MG_Servo

Comprando nos EUA, paguei 120 reais em 2 servos, incluindo o frete. Nesse site a mesma compra sairia por baixo 320...

MensagemEnviado: 24 Mar 2011 07:33
por andre_luis
Testa com 2 LEDs no lugar do servo.
Assim saberá se em algum momento as duas derivações do motor estão sendo acionadas simultaneamente.

Tembém conseguirá saber se a lógica do firmware está invertida.
Dependendo do circuito usado no seu driver, pode estar sendo acionado pola lógica 0, ao invéz da lógica 1, e assim ambas derivações irão forçar o motor a conduzir nas 2 direções, quando deveria estar parado.

+++

MensagemEnviado: 24 Mar 2011 08:47
por mauricio_blaster
Andre, não consegui entender o que você quis dizer com "as duas derivações".

Como eu disse, depois de gravado o firmware, eu testei a saída do sinal PWM no osciloscópio, e tudo estava ok.

MensagemEnviado: 24 Mar 2011 13:45
por EvandrPic
Não existe "ambas derivações" no servo-motor.
Existe positivo e negativo, que alimentam o servo-motor, e a entrada do sinal PWM.
Dependendo da largura do pulso o motor irá girar para um lado ou pro outro até que encontre o ponto de parada.
Frequência do PWM: 50 Hz
Largura do pulso variando entre 1 e 2 ms.
Existem umas pequenas variações entre a largura de pulso e o ângulo de posicionamento do Servo-motor dependendo do fabricante. Precisa testar no teu caso ou encontrar o manual do fabricante do teu servo pra ver essa informação com mais precisão.

Imagem

Imagem
http://aquaticus.info/pwm-servo

Funcionamento do Servo-motor
http://www.youtube.com/watch?v=-XSXfqd1N58

Imagem

MensagemEnviado: 24 Mar 2011 17:23
por mauricio_blaster
Ok, obrigado. Eu já sabia de todas essas informações, por isso achei estranho quando o outro amigo falou "derivações".

Inclusive já achei o datasheet do meu modelo com os valores corretos e tudo mais.

Ainda não pude testar o mesmo firmware com os terras juntos, para ver se era isso mesmo que estava errado.

MensagemEnviado: 24 Mar 2011 22:32
por andre_luis
Desculpem pela minha ignorancia no assunto.
Estava fazendo incorretamente uma analogia ao motor de maquina de lavar.


+++

MensagemEnviado: 24 Mar 2011 23:19
por MOR_AL
mauricio_blaster escreveu:Ok, obrigado. Eu já sabia de todas essas informações, por isso achei estranho quando o outro amigo falou "derivações".

Inclusive já achei o datasheet do meu modelo com os valores corretos e tudo mais.

Ainda não pude testar o mesmo firmware com os terras juntos, para ver se era isso mesmo que estava errado.

Testa primeiro o PIC, sem o servo.
Sai o servo e entra o osciloscópio, agora com os dois terras juntos.
Verifique se há os períodos corretos. Caso positivo, conecte o servo. Dificilmente poderia queimá-lo.
Obvio que, devido à sua preocupação, é apenas a minha opinião. Faça-o por sua conta e risco. Talvez seja melhor ligar o servo de antena de TV antes. Aquele de R$ 20,00.
Boa sorte.
MOR_AL

MensagemEnviado: 25 Mar 2011 01:09
por EvandrPic
andre_teprom escreveu:Desculpem pela minha ignorancia no assunto.
Estava fazendo incorretamente uma analogia ao motor de maquina de lavar.


+++

Tudo bem andré...
O princípio de funcionamento é bem simples...
Caso tenha curiosidade, segue uma explicação do wikipedia...

Servomotor é uma máquina, mecânica ou eletromecânica, que apresenta movimento proporcional a um comando, em vez de girar ou se mover livremente sem um controle mais efetivo de posição como a maioria dos motores; servomotores são dispositivos de malha fechada, ou seja: recebem um sinal de controle; verificam a posição atual; atuam no sistema indo para a posição desejada
Em contraste com os motores contínuos que giram indefinidamente, o eixo dos servo motores possui a liberdade de apenas cerca de 180º graus mas são precisos quanto a posição.
Para isso possuem três componentes básicos, ilustrados na imagem.
Sistema atuador - o sistema atuador é constituído por um motor elétrico, embora também possa encontrar servos com motores de corrente alternada, a maioria utiliza motores de corrente contínua. Também está presente um conjunto de engrenagens que forma uma caixa de redução com uma relação bem longa o que ajuda a amplificar o torque.
A tamanho, torque e velocidade do motor, material das engrenagens, liberdade de giro do eixo e consumo são características-chave para especificação de servo motores.
Sensor - o sensor normalmente é um potenciômetro solidário ao eixo do servo. O valor de sua resistência elétrica indica a posição angular em que se encontra o eixo. A qualidade desse vai interferir na precisão, estabilidade e vida útil do servo motor.
Circuito de controle - o circuito de controle é formado por componentes eletrônicos discretos ou circuitos integrados e geralmente é composto por um oscilador e um controlador PID (controle proporcional integrativo e derivativo) que recebe um sinal do sensor (posição do eixo) e o sinal de controle e aciona o motor no sentido necessário para posicionar o eixo na posição desejada.
Servos possuem três fios de interface, dois para alimentação e um para o sinal de controle. O sinal de controle utiliza o protocolo PWM (modulação por largura de pulso) que possui três características básicas: largura mínima, largura máxima e taxa de repetição.

A largura do pulso de controle determinará a posição do eixo:
- largura máxima equivale ao deslocamento do eixo em + 90º da posição central;
- largura mínima equivale ao deslocamento do eixo em -90º;
- demais larguras determinam a posição proporcionalmente. O pulso de controle pode ser visto na ilustração sobre sinais de controle de servo motores.
http://pt.wikipedia.org/wiki/Servomotor
Imagem
Imagem

http://www.asaseletricas.com.br/index.p ... cle&sid=32

MensagemEnviado: 02 Abr 2011 12:38
por mauricio_blaster
Ae galera.

Ontem finalmente fiz um novo teste:

Usei na alimentação a fonte do laboratório com um regulador de tensão 7805, pra garantir. Liguei o motor e o pic na mesma alimentação.

Com esse configuração o motor girava, mas não do modo certo. Comecei a pensar que era problema no sinal PWM gerado, e de fato era. Só que o que estava zuando o sinal era a alimentação. Coloquei um capacitor entre o Vdd e o Vss e tudo ocorreu como deveria.

Abraço e obrigado pela ajuda de todos :D