Oficina de Robotica
Oficina de Robótica
Objetivo
O objetivo da oficina de Robótica é preparar equipes de alunos para participar das competições da Olimpíada de Robótica do IFPR.
Esta oficina está voltada para a modalidade Robótica Livre permite que os robôs sejam construídos com materiais e componentes diversos e programados por qualquer sistema de microcontroladores, incluindo o Arduíno.
Conteúdo da oficina sobre robótica com Arduíno
Aula 1
Aula 2
Aula 3
Aula 4
Controle dos Motores
Circuito Integrado L298N
O L298N (datasheet) é um circuito integrado ponte H de maior potência, permite controlar velocidade e direção de até 2 motores DC que precisem de até 3 A de corrente contínua, acionados por voltagem de até 50 volts. Ele também pode ser usado para ativar relés, motores de passo e outros.
O funcionamento do L298N (similar ao L293D) segue a seguinte tabela verdade (exemplo para motor A):
1IN | 2IN | EnA | Motor A |
H | L | PWM1 | Sentido Horário2 |
L | H | PWM1 | Sentido Anti-horário2 |
L | L | X | Pára motor |
H | H | X | Pára motor |
X | X | L | Ponto morto |
Obs:
- 1 Velocidade controlada pelo sinal PWM,
- 2 O sentido de rotação depende também da forma de conexão dos fios nos bornes do motor.
- Controle da corrente sobre a carga
- Alem dos pinos de controle e saída, o circuito integrado L298 apresenta dois pinos de saída chamados Sense A e Sense B, nos quais devem ser conectados resistores para controlar a corrente sobre a carga (respectivamente para o Motor A e Motor B). O valor dos resistores RS1 e RS2 dependem da corrente da carga (Sugestão: RS1 = RS2 = 0.5 Ω). Além disto, deve ser conectada a alimentação dos motores em Vs.
Módulo Ponte H L298N
Este módulo utiliza o circuito integrado L298N, oferecendo plataforma pronta para prototipagem para controlar até dois motores de corrente contínua ou um motor de passo e pode ser comandado por microcontroladores como o Arduíno.
A referência FelipeFlop. Motor DC com Driver Ponte H L298N apresenta uma descrição detalhada deste módulo e a forma de utilização com o Arduíno.
Programa exemplo para teste dos motores com módulo Ponte H L298
//Programa para teste do motor CC com o L293D
//Definicoes pinos Arduino ligados a entrada da Ponte H
int IN1 = 2;
int IN2 = 4;
int IN3 = 7;
int IN4 = 8;
int MA = 5;
int MB = 6;
int velocidade = 200; //Velocidade do motor (0? a 255)
//Testar velocidade mínima para vencer inércia dos motores
void setup()
{
//Define os pinos como saida
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
pinMode(MA, OUTPUT);
pinMode(MB, OUTPUT);
}
void loop()
{
//Configura velocidade dos motores
analogWrite(MA, velocidade);
analogWrite(MB, velocidade);
//Aciona o motores
digitalWrite(IN1, LOW); //A
digitalWrite(IN2, HIGH); //A
digitalWrite(IN3, LOW); //B
digitalWrite(IN4, HIGH); //B
delay(1000);
//Pára motores
digitalWrite(IN1, HIGH);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, HIGH);
delay(1000);
//Aciona o motores no sentido inverso
digitalWrite(IN1, HIGH); //A
digitalWrite(IN2, LOW); //A
digitalWrite(IN3, HIGH); //B
digitalWrite(IN4, LOW); //B
delay(1000);
//Pára motores
digitalWrite(IN1, HIGH);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, HIGH);
delay(1000);
}
Sensor de Linha Infra Vermelho
Teste do sensor Infra Vermelho
//Arduino Sensor Infra Red
int sensor = 0;
int leitura = 0;
void setup()
{
pinMode(sensor, INPUT);
Serial.begin(9600);
}
void loop()
{
leitura1 = analogRead(sensor);
Serial.print("Leitura: ");
Serial.println(leitura);
Serial.println();
delay(1000);
}
Referências
- ↑ FelipeFlop. Motor DC com Driver Ponte H L298N, 2013. https://www.filipeflop.com/blog/motor-dc-arduino-ponte-h-l298n/