• Welcome to LusoRobótica - Robótica em Português.
 

Servos

Started by Fifas, 05 de February de 2009, 23:51

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

papucho

Nem conhecia essa loja! Não fica muito longe da minha casa.

Estou indeciso entre estes:

http://rtr-modelismo.com/product_info.php/products_id/613
http://rtr-modelismo.com/product_info.php/products_id/1587

Que acham?
#include <lusorobotica.com>;
int conhecimento;
while(1){
   ver_forum();
   aprender();
   conhecimento++;
   postar();
}

Fifas

papucho depende da utilização que lhes vais dar :)

entretanto encontrei mais alguns servos de "marca branca" :P

da tower pro, sem ser de carretos metalicos, encontrei os SG-5010 que ja se encontram por 11-12€ em portugal



no ebay, etc devem-se arranjar bem mais baratos....nao tenho nada a dizer desta marca...a mais de meio ano que tenho um MG995 no meu RC e é sempre a bombar :)

na hobbycity (o iCAR já comprou lá) encontrei estes:
Vigor  2.5kg / .19sec  Standard Size Servo - 4.95$


BMS-410STD Standard Servo  4.4kg / .22sec / 42g - 8.60$


HXT 6.9kg / 39.2g / .16sec Twin bearing servo - 5.95$


este ultimo, tenho quase a certeza que é o mesmo que o towerpro sg-5010....o bem da hobbycity...podemos pedir, normais, micro servos, etc etc etc e bem baratos até :)

tou a ponderar na compra dos HXT ou dos Vigor...mas os vigor sao mais lentos e tem menos força :P

norbanvs

Adquiri 3 servos digitiais Hex Tronik HX12K, tenho feito alguns testes com eles ligados a uma placa Axon, na programação tanto utilizei comandos de ciclos como interrupções para os controlar, mas não consigo que o braço possa dar mais de 120º(pelo menos foi isso que me pareceu a olhómetro).
Também notei essa peculiaridade nuns microservos HXT900 controlados por uma Arduino que também aparentavam ter só essa amplitude máxima, embora estes últimos sejam analógicos.

Como posso fazer para que o braço de um servo possa rodar 180º? Ou erá que tenho que adquirir uns da Hitec? :P

TigPT

Antes de mais nada, com o servo desligado (os 3 fios no ar), a roda-lo manualmente sem forçar, consegues fazer só os 120º à mesma!?

norbanvs

Essa foi a 1ª coisa que fiz assim que os saquei do saco. A mão, o braço do servo consegue rodar cerca de 190º (isso foi feito com os dois servos que citei no post anterior). No caso do teste com o Arduino (que é o que a gente usa), dei valores atronómicos (  ;D ) ao pin com PWM onde tinha ligado o servo (analógico), para poder saber quais os valores limite a dar. E ele não passava dos 120º... mais coisa menos coisa...

Alguém já tentou brincar com um servo (pondo-o só a rodar de um lado para o outro)? Ele consegue dar os 180º?

TigPT

Os 190 é o normal, pois eles fazem 180º mais uma margem para não ficar em esforço contra o batente. Assim sendo o problema está no PWM que estás a programar, estás a utilizar o Axon certo?! Que código estás a utilizar?


norbanvs

#51
Como ainda estou a tentar compreender a programação numa Axon, decidi começar por fazer interrupções (ligar e desligar o sinal)
Seguindo o diagrama que se encontra em http://www.societyofrobots.com/actuators_servos.shtml, o programa é basicamente assim:

...
while(1)
    {
     PORT_ON(PORTA,7);// ligar pino A7
     delay_us(1500);// intervalo de 1,5 milisegundos em que o pino A7 fica ligado
     PORT_OFF(PORTA,7);// desliga o pino A7
     delay_us(18500) // intervalo de tempo para completar os 20 milisegundos
     }
...


O programa em sí e MUITO mais longo, apenas coloquei aqui a parte que se encarrega de (em teoria) deslocar o braço do servo para a posição neutral... se bem que cada servo é um servo e é preciso acertar os valores para cada modelo. Até aí tudo bem...

Tentei vários intervalos de tempo, só para ver o que dava e tenho que admitir que os servos HX12K são muito precisos e baratos, o braço vai sempre ao mesmo sítio  ;D

O meu único dilema é que simplesmente não entendo porque o braço não vai para além dos 120º... um facto curioso é que (crianças, não façam isto em casa) com o servo a funcionar, na tal posição dos 120º (também dá quando está nos 0º), eu esforço-o manualmente para além dos 120º e ele insiste em voltar para a posição em que se encontra. Tudo bem, é essa a função de um servo  ;D ;D

Em conclusão, são esses 60º que me faltam e que eu não sei como chegar lá, por isso eu perguntei se mais alguém costumava brincar com os servos só para saber como se comportam... os servos, claro!

TigPT

#52
Ao estares a gerar PWM assim podes criar algum atraso o que faz com que a onda fique diferente do que se pretende.

Deves de fazer o AVR gerar PWM exactos como neste exemplo:
http://laughingsky.com/hobbies/robotics/pages/axon_modules/pwm/index.html

Aqui também tens boa documentação e exemplos para o Axon:
http://www.societyofrobots.com/axon/axon_function_list.shtml

norbanvs

Estive a fazer umas experiências com os servos, mas só os meus dados não chegam... Algum de vocês consegue fazer um servo rodar o braço 180º? Eu explico o porque da minha pergunta. Suspeito que possa ser alguma coisa com com os Hex Tronik que estou a usar...  por isso gostaria de ouvir a vossa experiência pessoal.
Principalmente se conseguem os 180º e com que marca de servo.

Fiquem bem  ;D

TigPT

Todos os servos que já utilizei rodam os 180º, normalmente até rodam 190 +/- pois tem alguma folga dos lados, se bem que se abusarmos depois ficam em esforço a bater no fim.

norbanvs

Isso é interessante! E de que marca são? Testastes isso num Arduino?

TigPT

Arduino e Basic Stamp 2.

Não me recordo das referencias mas digo-te quando chegar a casa.

Reonarudo

#57
A minha experiência diz-me que o problema é que o servo deve estar demasiado sensível ao potenciómetro.
Eu desmontei os meus servos (link/link) "xinocas" e tive a ver a reacção do motor conforme variava o potenciómetro à mão, e realmente foi isso que verifiquei. Por isso pelo menos no meu caso não me parece que tenha solução. Não sei se contigo se passa a mesma coisa. Também por 5€ não estava à espera de muito.
Leonardo Marques

norbanvs

É precisamente este modelo que eu tenho, Hex Tronik HX12K (antigo Tower Pro MG995), um bom servo, digital e barato, só tem esse inconveniente da amplitude de ângulo de 120º. A minha teoria em relação a estes servos é que eles são usados mais para os modelos RC, e pelos poucos conhecimentos que eu tenho sobre esse mundo, os servos não precisam de rodar 180º, claro que isso é só uma teoria minha.
Mas tudo bem, agora que já tomei conhecimento da tua experiência pessoal já posso ficar mais descansado que o problema não é da minha programação.  ;D

Fifas

eu tenho uns mg995 no meu rc e vira demais até :P