LusoRobótica - Robótica em Português

Sistemas específicos => Arduino / AVR => Tópico iniciado por: R.S. em 21 de Fevereiro de 2010, 14:33

Título: Problemas com o arduino
Enviado por: R.S. em 21 de Fevereiro de 2010, 14:33
Boa tarde, programei o meu arduino com o seguinte codigo
:
Código: [Seleccione]
// —————————————————————————  Motors
int motor_left[] = {2, 3};
int motor_right[] = {7, 8};

// ————————————————————————— Setup
void setup() {


// Setup motors
int i;
for(i = 0; i < 2; i++){
pinMode(motor_left[i], OUTPUT);
pinMode(motor_right[i], OUTPUT);
}

}

// ————————————————————————— Loop
void loop() {

drive_forward();
delay(1000);
motor_stop();


drive_backward();
delay(1000);
motor_stop();


turn_left();
delay(1000);
motor_stop();


turn_right();
delay(1000);
motor_stop();


motor_stop();
delay(1000);
motor_stop();

}

// ————————————————————————— Drive

void motor_stop(){
digitalWrite(motor_left[0], LOW);
digitalWrite(motor_left[1], LOW);

digitalWrite(motor_right[0], LOW);
digitalWrite(motor_right[1], LOW);
delay(25);
}

void drive_forward(){
digitalWrite(motor_left[0], HIGH);
digitalWrite(motor_left[1], LOW);

digitalWrite(motor_right[0], HIGH);
digitalWrite(motor_right[1], LOW);
}

void drive_backward(){
digitalWrite(motor_left[0], LOW);
digitalWrite(motor_left[1], HIGH);

digitalWrite(motor_right[0], LOW);
digitalWrite(motor_right[1], HIGH);
}

void turn_left(){
digitalWrite(motor_left[0], LOW);
digitalWrite(motor_left[1], HIGH);

digitalWrite(motor_right[0], HIGH);
digitalWrite(motor_right[1], LOW);
}

void turn_right(){
digitalWrite(motor_left[0], HIGH);
digitalWrite(motor_left[1], LOW);

digitalWrite(motor_right[0], LOW);
digitalWrite(motor_right[1], HIGH);
}

quando o arduino esta ligado ao pc funciona correctamente mas quando tiro do pc e ligo uma bateria ao arduino ele deixa de dar, só aparece uma luz amarela a piscar.
Alguém me pode ajudar?

abraços R.S.

Título: Re: Problemas com o arduino
Enviado por: Njay em 21 de Fevereiro de 2010, 14:37
A bateria tá fraca.

Ou a bateria tem uma tensão demasiado baixa para alimentar o arduino.

Ou a bateria não dá corrente suficiente para as necessidades dos motores.

Ou o arduino tá a fazer reset quando os motores arrancam, e então tens que fazer um circuito de alimentação deste género (no teu caso, a placa de controle e sensores é o Arduino):

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg156.imageshack.us%2Fimg156%2F4373%2Fdistribuiodeenergia.png&hash=2ff8cab05d1d8a4aa32587f154ba876a)

Que bateria é e como a ligaste ao Arduino?
Título: Re: Problemas com o arduino
Enviado por: R.S. em 21 de Fevereiro de 2010, 14:45
é de 3v
Título: Re: Problemas com o arduino
Enviado por: Njay em 21 de Fevereiro de 2010, 15:25
3V? Esquece, isso não serve para o Arduino. Se é para alimentar por aquela ficha preta grandona tem que ser no minimo dos minimos de 6V, idealmente de 6.5V - 7V.
Título: Re: Problemas com o arduino
Enviado por: metRo_ em 21 de Fevereiro de 2010, 15:41
Podes colocar também 5V mas é  no Vin.
Título: Re: Problemas com o arduino
Enviado por: R.S. em 21 de Fevereiro de 2010, 17:33
coloquei 9 v e funciona, mas não é muito?
Título: Re: Problemas com o arduino
Enviado por: Njay em 21 de Fevereiro de 2010, 17:46
Se for na ficha preta grandona não é muito, podes colocar aí 12V na boa, e até mais.
Título: Re: Problemas com o arduino
Enviado por: R.S. em 21 de Fevereiro de 2010, 17:55
ok obrigado, da para alimentar o arduino sem ser por essa ficha e pela porta usb?
Título: Re: Problemas com o arduino
Enviado por: Njay em 21 de Fevereiro de 2010, 20:58
Dá, pelo pino Vin como disse o _metRo, contudo, a tensão colocada aí têm que ser 5V *certinhos*, ou seja têm que vir de um regulador. Quando alimentas o arduino pela ficha preta essa tensão já passa por um regulador da placa que gera os 5V certinhos.
Título: Re: Problemas com o arduino
Enviado por: senso em 22 de Fevereiro de 2010, 00:17
Se bem que se lhe metes muito mais que 9 ou 12v tens de ter atenção á temperatura do regulador(coisinho preto com 3 pernas que tem escrito 7805) porque ele vai aquecer um bocado pois tem de "queimar" a tensão que está a mais para ficar só com os 5v
Título: Re: Problemas com o arduino
Enviado por: microbyte em 22 de Fevereiro de 2010, 00:50
Mas esses reguladores não costumam dar até 35v?
Título: Re: Problemas com o arduino
Enviado por: senso em 22 de Fevereiro de 2010, 20:15
Sim, mas com Vin de 35v, Vout de 5v e Iout de 500ma, o regulador "só" tem de dissipar 500ma * (35-5)=15W, coisa que um encapsulamento TO-220 não aguenta, só com um dissipador e não pode ser dos mais pequeninos que são do tamanho do proprio regulador.