Mostrando postagens com marcador motor. Mostrar todas as postagens
Mostrando postagens com marcador motor. Mostrar todas as postagens

sábado, 25 de agosto de 2012

Projeto Fenix - Seguidor de linhas

19/12/2012
Apesar dos meses sem evolução e parados, neste fim de ano, esse chassi recebeu uma atenção especial e, esta semana, passou pelos primeiros testes usando o Arduino e 4 sensores de linha. Ainda com problemas para virar, este projeto se mostrou muito bom, precisando apenas de ajustes no motor dianteiro (que vira o carrinho), mas com boa velocidade e tração. Segue abaixo os vídeos de testes:

25/08/2012
A equipe Fenix está desenvolvendo um projeto de seguidor de linha para desafios "Labirinto de Linhas" do Torneio Juvenil de Robótica, Seguidor de Linhas do Summer Challenge da Robocore  e para o "Resgate de Alto Risco" da OBR - Olimpíada Brasileira de Robótica. Abaixo segue vídeo do chassi, doação da empresa Citoka Chinelos, em que a equipe transformou a base de um carrinho de controle remoto em um suporte para o Arduíno, protoboard e uma garra de acrílico (projeto vencedor do 5° Grande Desafio - Unicamp 2011).

Ainda falta material para completar o projeto mas podemos ver que ele é veloz e tem precisão de movimentos. Falta os sensores de linha (comprados hoje da empresa Laboratório de Garagem e da empresa Webtronico) que serão instalados nos próximos 15 dias. Serão 2 na lateral (25cm entre eles) e 1 na dianteira. Além disso, estamos trabalhando num projeto de sensor de ultrassom para detecção de objetos usando o esquema abaixo:

Em breve publicaremos a programação e os vídeos do robô com o Arduino instalado.

Obrigado Citoka, pela doação.

segunda-feira, 23 de julho de 2012

Simulino - Simulador de Arduino

23/07/2013
Saiu a nova versão do Simulino - 2.0, com  muito mais funcionalidades e com novo design (rsrsrsrs). Além disso, esta nova versão você pode simular o sensor de ultrassom. Ou seja, agora é possível testar o programa do robô antes de construí-lo. Baixar leva alguns segundos e, ainda não testamos todas as funcionalidades mas damos os parabéns a equipe do Blog. Embarcado:
Link para baixar o simulino 2.0:
 http://blogembarcado.blogspot.com.br/2013/06/simulino-v20-biblioteca-para-proteus.html#comment-form

Link para o projeto de sensor de ultrassom:
http://blogembarcado.blogspot.com.br/2013/06/sensor-ultrassonico-v2.html

07/2012
Procurando um emulador de Arduino na Internet encontrei o Simulino - um simulador que utiliza o Proteus para agir como se fosse um Arduino UNO funcionando. Apanhei um pouco mas consegui testar o primeiro código - um programa para rodar um motor de passo bipolar com l298 (sem diodos de proteção). O bom é que não tem risco de queimar o Arduino.
Links para quem se interessar:
http://labdegaragem.com/profiles/blog/show?id=6223006%3ABlogPost%3A116712&commentId=6223006%3AComment%3A119207&xg_source=activity
http://blogembarcado.blogspot.com.br/2012/02/simulino-simulando-arduino.html

Proteus 7.7 Completo:
http://mecatronicadegaragem.blogspot.com.br/2010/09/proteus-77-pro-completo.html

Vídeo do Primeiro Teste com Simulino:
Código fonte utilizado:

/*Exemplo 1: exemplo simples
 *Motor de passo Copal
 * --------------------
 *
 * Programa para acionar um motor de passo proveniente de
 * um drive de disquete de 5'25
 * De acordo com a documentação encontrada, este motor:
 * "[...] motor
 * made by Copal Electronics, with 1.8 degrees per step and 96 ohms
 * per winding, with center taps brought out to separate leads [...]"
 * [http://www.cs.uiowa.edu/~jones/step/example.html]
 *
 * Trata-se de um motor de passo unipolar com 5 fios:
 *
 * - vermelho: alimentação, 5V pareceu-me bem
 * - laranja e preto: bobina 1
 * - marrom e amarelo: bobina 2
 *
 * (cleft) 2005 DojoDave para o K3
 * http://www.0j0.org | http://arduino.berlios.de
 *
 * @author: David Cuartielles
 * @date: 20 Out 2005
 */

int motorPin1 = 8;
int motorPin2 = 9;
int motorPin3 = 10;
int motorPin4 = 11;
int delayTime = 500;

void setup() {
  pinMode(motorPin1, OUTPUT);
  pinMode(motorPin2, OUTPUT);
  pinMode(motorPin3, OUTPUT);
  pinMode(motorPin4, OUTPUT);
}

void loop() {
  digitalWrite(motorPin1, HIGH);
  digitalWrite(motorPin2, LOW);
  digitalWrite(motorPin3, LOW);
  digitalWrite(motorPin4, LOW);
  delay(delayTime);
  digitalWrite(motorPin1, LOW);
  digitalWrite(motorPin2, HIGH);
  digitalWrite(motorPin3, LOW);
  digitalWrite(motorPin4, LOW);
  delay(delayTime);
  digitalWrite(motorPin1, LOW);
  digitalWrite(motorPin2, LOW);
  digitalWrite(motorPin3, HIGH);
  digitalWrite(motorPin4, LOW);
  delay(delayTime);
  digitalWrite(motorPin1, LOW);
  digitalWrite(motorPin2, LOW);
  digitalWrite(motorPin3, LOW);
  digitalWrite(motorPin4, HIGH);
  delay(delayTime);
}

terça-feira, 17 de julho de 2012

Controle de Motor Usando Ponte H

06/03/2013
Começamos a desenvolver pontes H com TIP 110/115 para uso nos robôs que tem motores de escova. A vantagem desta ponte é a corrente que suporta, chegando a 4A.

Fotos da montagem:



17/07/2012
No projeto do Grupo Orion (Elza Facca) e do grupo Fenix (Frei Dagoberto) estamos pensando em trabalhar com servo motores de parabólica, adaptados para rotação contínua (veja exemplo aqui - http://www.roboticasimples.com/artigos.php?acao=16), usando o arduino 2009 controlando os motores por meio de pontes H.




Na ponte H, estudamos o TIP120, conforme esquema acima e, para o arduino controlar os motores, vamos utilizar o seguinte código fonte:

// Comando de motores usando ponte H
// —————————————————————————  Motores
int motor_esquerdo[] = {2, 3}; //pinos do motor1
int motor_direito[] = {7, 8}; //pinos do motor2
// ————————————————————————— Setup
void setup() {
Serial.begin(9600);
// Seleciona motores
int i;
for(i = 0; i < 2; i++){
pinMode(motor_esquerdo[i], OUTPUT);
pinMode(motor_direito[i], OUTPUT);
}
}
// ————————————————————————— Loop
void loop() {
motor_frente();
delay(1000);
//mudança de sentido
motor_parar();
motor_re();
delay(1000);
//mudança de sentido
motor_parar();
vire_esquerda();
delay(1000);
//mudança de sentido
motor_parar();
vire_direita();
delay(1000);
//mudança de sentido
motor_parar();
motor_parar();
delay(1000);
//mudança de sentido
motor_parar();
}
// ————————————————————————— Drive do motor: coordena as funções de parada, frente, direita e esquerda
void motor_parar(){
digitalWrite(motor_esquerdo[0], LOW);
digitalWrite(motor_esquerdo[1], LOW);
digitalWrite(motor_direito[0], LOW);
digitalWrite(motor_direito[1], LOW);
delay(25);
}
void motor_frente(){
digitalWrite(motor_esquerdo[0], HIGH);
digitalWrite(motor_esquerdo[1], LOW);
digitalWrite(motor_direito[0], HIGH);
digitalWrite(motor_direito[1], LOW);
}
void motor_re(){
digitalWrite(motor_esquerdo[0], LOW);
digitalWrite(motor_esquerdo[1], HIGH);
digitalWrite(motor_direito[0], LOW);
digitalWrite(motor_direito[1], HIGH);
}
void vire_esquerda(){
digitalWrite(motor_esquerdo[0], LOW);
digitalWrite(motor_esquerdo[1], HIGH);
digitalWrite(motor_direito[0], HIGH);
digitalWrite(motor_direito[1], LOW);
}
void vire_direita(){
digitalWrite(motor_esquerdo[0], HIGH);
digitalWrite(motor_esquerdo[1], LOW);
digitalWrite(motor_direito[0], LOW);
digitalWrite(motor_direito[1], HIGH);
}

fonte: Não lembro mais, sorry!!!

Este código fonte foi revisado pela equipe EADUINO - Robson Machado (www.eaduino.com.br), valeu gente pela ajuda.

Em breve, postaremos os vídeos do trabalho em funcionamento.