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

Servos

Started by LoneWolf, 16 de January de 2011, 22:06

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

LoneWolf

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  ;)
Blog: A Visão do Lobo

Nick antigo: kilobyte

Stigma

#16
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:

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

Stigma

Lembrei me de mais uma coisa: com q tensao estas a alimentar o sistema?

LoneWolf

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.
Blog: A Visão do Lobo

Nick antigo: kilobyte

beirao

#19
Quote from: kilobyte on 02 de February de 2011, 00:15
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
"O único lugar onde o sucesso vem antes do trabalho, é no dicionário" - Albert Einstein

LoneWolf

Então se sim, fiz assim:
Quote
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.
Blog: A Visão do Lobo

Nick antigo: kilobyte

Stigma

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.

LoneWolf

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?
Blog: A Visão do Lobo

Nick antigo: kilobyte

Njay


microbyte

Quote from: Stigma on 01 de February 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:

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

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:
for(i=0;i<256;i++)

Stigma

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!

senso

Pode não dar erro a compilar, mas deve dar uns resultados engraçados quanto estiver a correr o código.
Avr fanboy

microbyte

Quote from: Stigma on 02 de February 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!
Faz diferença... ;) Para isso é que cá estamos.

Quote from: senso on 02 de February 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.
Deve dar erro porque o segundo argumento é suposto ser boolean.
Se não der erro, dá ciclo infinito.


Quanto à questão da alimentação:

  • Se já tiveres 5v devidamente regulados -> ligas ao pino +5v
  • Se tiveres para cima de 7v, variáveis -> ligas ao Vin ou ao Jack, são exactamente a mesma coisa. De qualquer um deles, vais ter ao regulador de 5v interno da placa.

Resumidamente, ou regulas tu, ou deixas o arduino regular para os 5v.

senso

Depende das flags que são alteradas quando o avr faz uma soma, mas é capaz de funcionar..
Avr fanboy

LoneWolf

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

Abraços.   
Blog: A Visão do Lobo

Nick antigo: kilobyte