LusoRobótica - Robótica em Português

Robótica => Iniciantes => Tópico iniciado por: LoneWolf em 16 de Janeiro de 2011, 22:06

Título: Servos
Enviado por: LoneWolf em 16 de Janeiro de 2011, 22:06
Ola e Boas Noites a todos,

eu tenho estado a fazer um chassis para o meu 1º robo mas esta a ficar um pouco grande e pesado e penso que seja demais para o 1º robo ou talvez um pouco ambicioso, como já dizia o meu avo "....um Homem sem ambição, não vai a lado nenhum..." ou  algo assim, mas mesmo assim penso que pode ser demais para agora, então resolvi que o melhor mesmo seria começar por fazer algo parecido com smalluino, com servos e aos poucos ir fazendo upgrades ao mesmo, e assim ate me vai ajudar para fazer testes e experiências para aplicar no outro robo que ainda esta a ser feito.

     Então a minha duvida é que servos usar?
De preferência baratos e bons  ;D em principio ainda não sei bem se vou usar 2 servos como o Smalluino ( 2 Rodas ) ou então usar 4 servos ( 4 rodas ). Sei que preciso de servos de rotação continua para isso mas se aconselharem servos de 180 depois também se alteram para continuo. Já estive a ver os da loja LR mas espero pelos vossos conselhos  ;D

   Esses servos mais tarde iram para outros projectos algo tipo um braço ou algo assim por isso penso que tenham de ser razoáveis.

Abraços e óptima continuação

Aguardo os vossos conselhos e desde já o meu obrigado.       
Título: Re: Servos
Enviado por: LoneWolf em 27 de Janeiro de 2011, 17:38
Boas,

Servos adquiridos e modificados, pelo menos 2 alterados para rotação continua.

Abraços.
Título: Re: Servos
Enviado por: beirao em 27 de Janeiro de 2011, 17:56

Compraste que servos?

e mete aí umas fotos da base do robot :)
Título: Re: Servos
Enviado por: tiagogala em 27 de Janeiro de 2011, 17:57
Acho que o único problema de os modificares para rotação contínua é que se depois quiseres fazer outros projectos (como o braço robótico) não tens controlo sobre o ângulo a que os servos viram e dificulta-te muito em termos de calibração. Por outro lado, servos modificados para rotação contínua saem mais baratos do que comprar um motor DC minimamente decente (embora sejam muito mais lentos).
Título: Re: Servos
Enviado por: Stigma em 27 de Janeiro de 2011, 18:12
Acho que o único problema de os modificares para rotação contínua é que se depois quiseres fazer outros projectos (como o braço robótico) não tens controlo sobre o ângulo a que os servos viram e dificulta-te muito em termos de calibração. Por outro lado, servos modificados para rotação contínua saem mais baratos do que comprar um motor DC minimamente decente (embora sejam muito mais lentos).

Mais lentos mas facilitam em mt a sua utilizaçao. Ao contrario dos motores DC, que a maior parte das vezes se tem ate que alimentar com tensoes diferentes, e ainda instalar pontes para proteçao do sistema.
Título: Re: Servos
Enviado por: ricardo-reis em 27 de Janeiro de 2011, 18:26
eu uso os que estão na loja (ou estavam, não sei, mas é a sparkfun que os fornece) e são porreiros..

pros: têm o troque standard dos servos, dá pra lhes pôr algum peso em cima que não se queixam


contras: são servos, não são rápidos.
              demora-se um bom bocado a calibrar as velocidades pra pôr o robot a andar a direito


em relação a servos de rotação contínua (de origem) ou servos modificados, prefiro os que já assim são de origem, porque evita a modificação e já vêm minimamente calibrados, pr'além de que têm também um potenciómetro pra afinar o ponto de viragem.

Título: Re: Servos
Enviado por: LoneWolf em 27 de Janeiro de 2011, 18:36
Boas,

-beirao,
        os servos que comprei foi os que o Njay vende, Top Line Servo RS2 - Servo Standard a base ainda não a fiz mas mais um pouco e já vou cortar o acrílico mas em pricipio devo de ir fazer algo um pouco maior que o Smalluino talvez o dobro do tamanho ( em comprimento ) para depois usar quatro rodas, mas primeiro ainda faço um Smalluino para ver como funciona e calibrar os servos e me ambientar com o código.

-tiagogala,
       pois foi a pensar no braço robótico que só modifiquei 2 servos dos que comprei, serem lentos penso que seja o melhor, pelo menos agora porque um robo rápido também deve de ser mais difícil de controlar

-Stigma,
       concordo com o que diz.

Abraços e óptima continuação  ;)
Título: Re: Servos
Enviado por: LoneWolf em 31 de Janeiro de 2011, 11:30
Boas,

 Já tenho uma amostra de chassis feito assim a pressão que depois irei melhorar a medida que for necessário, essas "lagartas" são provisórias assim como os eixos, então aqui fica uma foto:

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg20.imageshack.us%2Fimg20%2F227%2Fchassisprot.jpg&hash=8560607587bf4c5a1a14a2a7296174de6381aa53)

...Agora apresento o projecto aqui neste post ou é melhor abrir um só para isso?

Abraços e óptima continuação  ;)
Título: Re: Servos
Enviado por: metRo_ em 31 de Janeiro de 2011, 12:02
Está a ficar com bom aspecto :)

Abre um post só para isso.
Título: Re: Servos
Enviado por: Stigma em 31 de Janeiro de 2011, 15:13
Esta a ficar mt porreiro.
Mas ha uma coisa que me deixou intrigado: os elasticos sao mt fortes? é que se forem, talvez estejam e exercer demasiada pressao sobre os servos. Nao sei...
Título: Re: Servos
Enviado por: LoneWolf em 31 de Janeiro de 2011, 23:46
Boas,

Obrigado, aos dois e sim os elásticos exercem um pouco de força mas também era provisório mas mesmo assim não funcionam pois se rodar o servo a mão meia dúzia de vezes os elásticos saltam fora como eu já previa, ando aqui a ver o que posso arranjar para substituir agora só para testes, depois já faço um post só para o bicho, queria ver se o metia a andar 1º....

Abraços e óptima continuação  ;) 
Título: Re: Servos
Enviado por: LoneWolf em 01 de Fevereiro de 2011, 19:20
Boas,

Tenho umas duvidas se poderem ajudar agradecia, então é assim, eu tenho estado a calibrar os servos mas ele nunca fica "parado" alias ele esta parado mas esta sempre a zumbir e com isso ele aquece o que pode ser?

...outra coisa qual o melhor valor para ele ficar parado é o 127? eu se meter o potenciómetro a meio ele fica "parado" entre 150 e os 167 mas se rodar o potenciómetro mais 25% ele já fica "parado" entre os 127 e os 140, agora regulo isto para os 127 ou é deixar o potenciómetro a meio e depois é usar um dos valores que der? qual é a maneira indicada para isto?

Abraços

 
Título: Re: Servos
Enviado por: ricardo-reis em 01 de Fevereiro de 2011, 19:56
o ideal era conseguires regular o pot pra o servo parar aos 127 certos.. mas como ele pára com alguma margem do valor pró qual o regulas, é um bocado indiferente.. o que notas mais é o incremento de velocidade poder ser diferente para os dois lados, dependendo do valor para o qual regulaste o potenciómetro..

127 é o meio dos 255 valores possíveis..

o zumbir (não anda) e aquecer é normal que aconteça quando lhe defines um valor de rotação muito baixo e o servo não consiga por isso andar pra nenhum dos lados (por causa do peso e da pouca rotação).. convém que evites esse 'estado'..
Título: Re: Servos
Enviado por: LoneWolf em 01 de Fevereiro de 2011, 20:45
Boas e obrigado pela resposta,

Já experimentei os valores todos em que ele esta parado e ele esta sempre a zumbir, eu não sei como o ruído se manifesta nos servos mas será isto ruído? ou da alimentação?

Isto esta assim um condensador 16v 100uf antes la ligação som o servo o vcc do servo esta ligado nos 5v do arduino e no GND e esta ligado por USB.
antes de postar já tinha pesquisado e não encontro nada a falar de algo do género.

Abraços e óptima continuação  ;)
Título: Re: Servos
Enviado por: amando96 em 01 de Fevereiro de 2011, 20:48
Já experimentei os valores todos em que ele esta parado e ele esta sempre a zumbir

os elasticos sao mt fortes? é que se forem, talvez estejam e exercer demasiada pressao sobre os servos. Nao sei...

É porvável que seja isto...
Título: Re: Servos
Enviado por: LoneWolf em 01 de Fevereiro de 2011, 20:54
Mas os servos neste momento estão desmontados da base e experimentei outros servos que ainda não tinha modificado e fazem o mesmo não sei o que possa ver.

Abraços e obrigado  ;)
Título: Re: Servos
Enviado por: Stigma em 01 de Fevereiro de 2011, 22:14
Isso tmb me acontecia. Agora o pq ja nao sei, pq era intermitente. As vezes zumbia, outras vezes nao. Mas acredito que tenha a ver com o valor que estas a colocar no servo. Experimenta fazer isto e ver se tens mais laguma posiçao em q o motor esteja parado:

Código: [Seleccione]
for(i=0;i++;i<256)
{
   saida_motor = i;
}

Talvez ja o tenhas feito, nao sei.

Outra coisa que podes tentar é usar as bibliotecas que existem do arduino para servo motors.
http://www.arduino.cc/en/Reference/Servo (http://www.arduino.cc/en/Reference/Servo)
Título: Re: Servos
Enviado por: Stigma em 01 de Fevereiro de 2011, 22:17
Lembrei me de mais uma coisa: com q tensao estas a alimentar o sistema?
Título: Re: Servos
Enviado por: LoneWolf em 02 de Fevereiro de 2011, 00:15
Boas noites,

estou a alimentar o arduino por USB e estou a ligar o servo nos 5v do arduino. Eu e o "codigo" ainda não nos estamos a dar muito bem ;D ;D ;D  mas esse que escreveu ai é para ver em que valores o servo esta parado? e desculpe a minha ignorância.

Abraços.
Título: Re: Servos
Enviado por: beirao em 02 de Fevereiro de 2011, 00:18
mas esse que escreveu ai é para ver em que valores o servo esta parado? e desculpe a minha ignorância.

Sim. com o ciclo "for" ele vai aumentando a saida.. e ve se nalgum valor os servos nao fazem o tal zumbido..

Convem é meteres um delay
Título: Re: Servos
Enviado por: LoneWolf em 02 de Fevereiro de 2011, 00:31
Então se sim, fiz assim:
Citar
int motorD = 10;

void setup(){
  Serial.begin(9600);
}

void loop(){
  for (int i=100;i<=150; i++){   
    analogWrite(motorD, i);   
    Serial.print("A testar valor: ");
    Serial.println(i);
    delay(2000);     
  }
}
foi retirado do post do Smalluino e so o mudei para ser so para 1 servo e é dai que vem os valores que dei a pouco agora o servo para entre os valores 124 e 147 nesses valores o eixo do motor não mexe mas esta a zumbir como se tivesse tensão a passar por ele mas que não chega para o fazer mover.

Abraços e obrigado.
Título: Re: Servos
Enviado por: Stigma em 02 de Fevereiro de 2011, 00:55
Correste o ciclo "for" para os 255 valores?
E ja agora, experimenta alimentar o sistema com 9V, qd este nao estiver ligado ao pc por USB.
Título: Re: Servos
Enviado por: LoneWolf em 02 de Fevereiro de 2011, 01:03
Boas,

corri sim de 0 a 255 e só parava nesses valores, e quanto a alimentação estava a tratar disso, em alimentar o arduino com pilhas recarregareis, 4x1,2 ou 8x1,2 não sei qual o suporte que tenho ali. Já agora alimento directamente o Jack ou pelo Vin?
 
Título: Re: Servos
Enviado por: Njay em 02 de Fevereiro de 2011, 01:20
Kilo, tens a resposta (dos servos) aqui:
http://lusorobotica.com/index.php?topic=1633.0 (http://lusorobotica.com/index.php?topic=1633.0)
Título: Re: Servos
Enviado por: microbyte em 02 de Fevereiro de 2011, 01:46
Isso tmb me acontecia. Agora o pq ja nao sei, pq era intermitente. As vezes zumbia, outras vezes nao. Mas acredito que tenha a ver com o valor que estas a colocar no servo. Experimenta fazer isto e ver se tens mais laguma posiçao em q o motor esteja parado:

Código: [Seleccione]
for(i=0;i++;i<256)
{
   saida_motor = i;
}

Talvez ja o tenhas feito, nao sei.

Outra coisa que podes tentar é usar as bibliotecas que existem do arduino para servo motors.
http://www.arduino.cc/en/Reference/Servo (http://www.arduino.cc/en/Reference/Servo)

Só uma coisa, sei que já não se está a falar disto, mas era importante corrigir este código...

A ordem dos argumentos do for é importante:
Código: [Seleccione]
for(i=0;i<256;i++)
Título: Re: Servos
Enviado por: Stigma em 02 de Fevereiro de 2011, 02:54
Achava que nao fazia diferença, mas ainda bem que me corrigiste.

Qt a alimentaçao, acho q tnt da no jack, como no vin. Mas confirma no site d arduino!
Título: Re: Servos
Enviado por: senso em 02 de Fevereiro de 2011, 03:02
Pode não dar erro a compilar, mas deve dar uns resultados engraçados quanto estiver a correr o código.
Título: Re: Servos
Enviado por: microbyte em 02 de Fevereiro de 2011, 13:31
Achava que nao fazia diferença, mas ainda bem que me corrigiste.

Qt a alimentaçao, acho q tnt da no jack, como no vin. Mas confirma no site d arduino!
Faz diferença... ;) Para isso é que cá estamos.

Pode não dar erro a compilar, mas deve dar uns resultados engraçados quanto estiver a correr o código.
Deve dar erro porque o segundo argumento é suposto ser boolean.
Se não der erro, dá ciclo infinito.


Quanto à questão da alimentação:

Resumidamente, ou regulas tu, ou deixas o arduino regular para os 5v.
Título: Re: Servos
Enviado por: senso em 02 de Fevereiro de 2011, 15:17
Depende das flags que são alteradas quando o avr faz uma soma, mas é capaz de funcionar..
Título: Re: Servos
Enviado por: LoneWolf em 03 de Fevereiro de 2011, 01:18
Boas,

Obrigado pelo link Njay, mas infelizmente como códigos e eu ainda não nos damos bem esta difícil perceber os comandos do código a ver se encontro mais info sobre isso, agora o bicho já tem nome e post próprio para se debater sobre o assunto e pode se continuar la aqui fca o link http://lusorobotica.com/index.php?topic=3255.msg35584;topicseen#new (http://lusorobotica.com/index.php?topic=3255.msg35584;topicseen#new)

Abraços.   
Título: Re: Servos
Enviado por: Njay em 03 de Fevereiro de 2011, 02:26
É muito fácil usar kilo, está tudo no post. Basta copiar o 1º bloco de código (que começa com "// Continuous rotation servo class.") para o inicio do teu programa e depois usar como o exemplo no inicio do post. Se tiveres dúvidas diz.

Para resolver o problema do zumbido basta desactivar o servo quando é para ele estar parado. Aconselho a usar a biblioteca Megaservo.h, porque a função analogWrite() da plataforma Arduino não respeita as specs do sinal de controlo de servos o que faz com que alguns não fucionem bem (mais detalhes aqui neste post (http://lusorobotica.com/index.php?topic=1218.msg12331#msg12331)).