18/07/2014
Novas modificações do Ares em relação a estrutura e funcionalidades.
23/06/2014
Após a classificação para a final da OBR2014 o Ares recebeu melhorias para aumentar a aderência e tração - aumento da largura das rodas.
23/02 - Novas informações sobre os motores:
Working Voltage : 4.8-7.2V
• Working current : 0.1-1.2 A
• Torquebbbbbbbbb : 5kg-cm @ 4.8V ; 6.2kg-cm @6V
• Average speedbb : 55 rpm-6V
• Rotation range : 0- 360
• Working Temperature: (0~55)C degree
• Size : 40.2mx 20.2 x 43.2mm
• Weight : 41g
-Connection Pin Out :-
• Brown - GND
• Red-VCC (4.8-7.2V)
• Orange-Signal
18/02
Projeto desenvolvido pelo aluno Paulo durante a Mostra Paulista de Ciências e Engenharia, com programas de sumô e cabo de guerra lutou contra o Artemis, vencendo alguns rounds.
Dimensões: 21 cm x 18 cm
Motores: 2 servos de rotação contínua SM-S4306R - Voltagem de Operação: 4,8v ~ 6,0v - Modulação: Analógica - Velocidade: 50rpm (4,8v) ~ 60rpm (6,0v) - Torque máximo: 5,0 kg.cm (4,8v) ~ 6,2 kg.cm (6,0v) - Temperatura de Operação: 0°C ~ 50°C - Dimensões: 42mm x 39,5mm x 20,5mm - Peso: 44g - Faixa de Rotação: 360° - Rotação livre - Tamanho cabo: 30 cm
Rodas: Rolete de borracha com núcleo de polietileno
Torque estimado: 12,4 Kg.cm
Torque Real: 4,96 Kg.cm - 50N.cm aproximadamente (6V)
Sensores: Ultrassom HC-SR04 e TCRT5000 de linha
Rampa na parte dianteira
Fotos
24/07/2014 - Novas melhorias de projeto
- Adição de 2 anéis de borracha na roda para aumentar a aderência.
28/06/2014 - Melhorias no projeto
- Instalação de rampas que mudaram o centro de gravidade do robô aplicando sobre as rodas, o que deve melhorar o torque.
- Instalação da bateria protegida pelos motores.
- Colocação do Arduino.
31/01/2013 - Segunda reunião do projeto
O Marcelo nos presentou a estrutura que ele acha ser a mais viável. Em vez de 3 parafusos para estrutura, apenas 2, reduzir a largura do robô ajustando apenas para as rodas ficarem próximas umas das outras.
Em relação ao peso, com o projeto original estava em 1,650 kg, 10% acima do peso planejado. A ideia é cortar todos os parafusos de apoio e reduzir a 2 porcas de suporte no motor. Outra opção é procurar rodas mais leves. Discutimos em relação a aderência das rodas em relação ao piso e concluímos que serão necessários testes de combate para certificar-se da capacidade das rodas.
Outro assunto que discutimos foi em relação ao drive de motor: inicialmente testaremos o projeto com 2 L298n:
Esse driver suporta até 3A por canal. Vamos usar 2 drivers para que cada lado opere com 3A de pico de corrente. Com isso esperamos ter o torque suficiente para as lutas. Pelos testes preliminares que fizemos o motor opera com 1A em condições normais e assim não sobrecarregaremos os drivers.
Decidimos não construir um driver de 8A com os Tip´s 120/127 que temos e partir direto para a ponte H que é nosso objetivo - uma ponte com IRFZ 44N (http://www.irf.com/product-info/datasheets/data/irfz44n.pdf) com as seguintes características:
Seguindo as instruções da placa desenvolvida - http://www.robotizando.com.br/artigo_ponte_h_pg1.php conforme esquema abaixo:
Utilizaremos o método térmico para construir a placa, a responsabilidade de desenvolvimento desta parte ficará ao encargo do Marcelo. O Roselito ficou responsável por soldar os eixos e fixar as rodas. O prof. Alan por comprar os componentes e testar no Simulino a placa verificando sua funcionalidade.
Segundo o projeto estamos usando uma bateria LiPo de 12V/2,2 Ah com taxa de descarga de com taxa de 25C o que pode gerar um pulso de 55A.
10/12/2013 - Início do projeto
Hércules:
... (em latim: Hercules) é o nome em latim dado pelos antigos romanos ao herói da mitologia gregaHéracles, filho de Zeus e da mortal Alcmena. As antigas fontes romanas indicam que o herói grego "importado" veio substituir um antigo pastor mitológico chamado pelos povos da Itália de Recaranus ou Garanus, e que é famoso por sua força. Enquanto o mito de Hércules incorporou muito da iconografia e da própria mitologia do personagem grego, ele também tinha um número de características e lendas que eram marcadamente romanas.
Quando iniciamos a preparação para a OBR de 2013 notamos um problema toda vez que acionávamos os sensores de infravermelho digital junto com o sensor de ultrassom: o robô simplesmente ignorava a leitura de linha e travava o movimento. Para tanto usamos a versão 2.0 do Simulino (santo simulino) e criamos um ambiente de teste, onde os 2 ldr´s da simulação funcionam como sensores IR digitais e o sensor de ultrassom como ele mesmo. Em vez de usarmos os motores, usamos led´s para facilitar a visualização do que está acontecendo, sendo que, o robô deveria reagir conforme fluxograma abaixo:
Para tanto seguimos a seguinte programação:
int emissor=10;
int receptor=9;
long cm1,duracao;
int sensor_d = 6; //conectar ao pino digital
int sensor_e = 7; //conectar ao pino digital
int diff1;
int diff2;
void setup(){
pinMode (emissor, OUTPUT);
pinMode (receptor, INPUT);
pinMode (13, OUTPUT);
pinMode (12, OUTPUT);
Serial.begin (9600);
}
void loop(){
//leitura dos sensores de IR
int linha_d = direita(); //armazena o valor de leitura na viarável linha_d
int linha_e = esquerda();//armazena o valor de leitura na variável linha_e
sonar();
Serial.print (linha_d);
Serial.print (", ");
Serial.print (linha_e);
Serial.print (", ");
Serial.println (cm1);
//se a leitura das linhas corresponder a branco, executa esta função
if (linha_d<800 || linha_e<800){
if (cm1<30){
digitalWrite (13, HIGH); //acende o led no pino 13
digitalWrite (12, LOW); //desliga o led pino 0
}
if (cm1>30){
digitalWrite (13, LOW); //desliga o led no pino 13
digitalWrite (12, HIGH); //liga o led pino 0
}
}
if (linha_d>=800||linha_e>=800){
digitalWrite (13, HIGH); //acende o led no pino 13
digitalWrite (12, LOW); //desliga o led pino 0
delay (10);
digitalWrite (13, LOW); //desliga o led no pino 13
digitalWrite (12, HIGH); //liga o led pino 0
delay (10);
}
}
int sonar(){
digitalWrite (emissor, LOW);
delayMicroseconds (2);
digitalWrite (emissor, HIGH);
delayMicroseconds (2);
digitalWrite (emissor, LOW);
duracao=pulseIn(receptor,HIGH);
cm1=microsecondstocentimeters(duracao);
}
long microsecondstocentimeters(long microseconds){
return microseconds/29/2;
}
int direita(){
pinMode( sensor_d, INPUT );
int leitura_d=digitalRead(sensor_d);
if (leitura_d==HIGH){
diff1=700;
}
else{
diff1=900;
}
return diff1;
}
int esquerda(){
pinMode( sensor_e, INPUT );
int leitura_e=digitalRead(sensor_e);
if (leitura_e==HIGH){
diff2=700;
}
else{
diff2=900;
}
return diff2;
}
Após rodar esta programação, o robô simulou o mesmo erro que observamos nos nossos treinos, onde o robô passa direto pela linha independente de encontrar a linha preta ou não (900 no virtual terminal), acendendo a luz amarela direta.
Para corrigir alteramos os seguintes trechos:
...
void loop(){
//leitura dos sensores de IR
int linha_d = direita(); //armazena o valor de leitura na viarável linha_d
int linha_e = esquerda();//armazena o valor de leitura na variável linha_e
...
Retirando a leitura do sonar e colocando-a de forma a agilizar a leitura dos sensores, fazendo com que a leitura do ultrassom só seja feita se o robô está sobre a linha branca, conforme abaixo:
...
//se a leitura das linhas corresponder a branco, executa esta função
if (linha_d<800 || linha_e<800){
sonar();
...
Além disso, na função sonar mudamos o valor do tempo em HIGH de 2 microssegundos para 10 microssegundos evitando erros de leitura:
...
int sonar(){
digitalWrite (emissor, LOW);
delayMicroseconds (2);
digitalWrite (emissor, HIGH);
delayMicroseconds (10);
digitalWrite (emissor, LOW);
duracao=pulseIn(receptor,HIGH);
cm1=microsecondstocentimeters(duracao);
}
...
O resultado final pode ser visto no vídeo abaixo,com a pequena alteração de colocar um led vermelho para identificar quando está sobre a a linha preta, um led amarelo para representar sobre a linha branca sem nenhum objeto à frente e, o led verde representando sobre a linha branca com objeto a menos de 30 cm:
Ainda assim, você pode notar que os led´s piscam alternadamente, mostrando que há interferência, causada pela leitura dos sensores. Isso pode provocar movimentos involuntários do robô interferindo no planejamento inicial. Para eliminar o problema criamos uma função que interpreta o sinal dos sensores:
...
//função que transforma a leitura dos sensores em uma variável, eliminando erros:
if (linha_d<800||linha_e<800){
estado = 100;
}
if (linha_d>=800||linha_e>=800){
estado = 300;
}
...
Essa função retorna o valor de 100 para branco e 300 para preto, eliminando o defeito anterior. Se baseia no princípio de Máquina de Estados Finitos que pode ser assim definido:
" é um modelo matemático usado para representar programas de computadores ou circuitos lógicos. O conceito é concebido como uma máquina abstrata que deve estar em um de seus finitos estados. A máquina está em apenas um estado por vez, este estado é chamado de estado atual. Um estado armazena informações sobre o passado, isto é, ele reflete as mudanças desde a entrada num estado, no início do sistema, até o momento presente. Uma transição indica uma mudança de estado e é descrita por uma condição que precisa ser realizada para que a transição ocorra. Uma ação é a descrição de uma atividade que deve ser realizada num determinado momento."
1°) Sensores próximos e na linha do eixo de tração
Em cinco testes o robô cumpriu o percurso em três - 60% de aproveitamento
2°) Sensores posicionados pouco á frente da linha de tração e nas extremidades do chassi
Em doze repetições o robô realizou nove vezes o circuito - 75% de aproveitamento
Teste de sensor de Ultrassom
o sensor de ultrassom está funcionando com leitura máxima de 57 cm
Teste de garra
A garra está funcionando , embora não foi testada junto com o robô.
14/06/2014 - Ártemis treinando na arena da OBR2014
23/08/2013 - Resultado do Torneio Juvenil de Robótica
Usando nosso programa base de sumô de robôs, conforme sketch abaixo, o robô Artemis conseguiu uma medalha de prata no sumô, nossa primeira medalha no Ensino Fundamental (parabéns Suzane/Celena/Eduardo):
Arenas de sumô (branca) e cabo de guerra (marrom)
Fotos da equipe com os robôs premiados
As medalhas em detalhe
Programa
int emissor=7;
int receptor=6;
long cm1,duracao;
int sensor_d = 8; //conectar ao pino digital
int sensor_e = 9; //conectar ao pino digital
int diff1;
int diff2;
int estado;
void setup(){
pinMode (emissor, OUTPUT);
pinMode (receptor, INPUT);
pinMode (2, OUTPUT);
pinMode (3, OUTPUT);
pinMode (4, OUTPUT);
pinMode (5, OUTPUT);
pinMode (13, OUTPUT);
pinMode (12, OUTPUT);
Serial.begin (9600);
}
void loop(){
//leitura dos sensores de IR
int linha_d = direita(); //armazena o valor de leitura na viarável linha_d
int linha_e = esquerda();//armazena o valor de leitura na variável linha_e
Serial.print (linha_d);
Serial.print (", ");
Serial.print (linha_e);
Serial.print (", ");
Serial.println (cm1);
//função que transforma a leitura dos sensores em uma variável, eliminando erros:
if (linha_d<800||linha_e<800){
estado = 100;
}
if (linha_d>=800||linha_e>=800){
estado = 300;
}
//se a leitura das linhas corresponder a branco, executa esta função
if (estado==100){
Serial.println ("Sobre a linha branca");
digitalWrite (13, HIGH);
//executa a leitura de ultrassom
sonar();
if (cm1<30){
Serial.println ("Atacar alvo");
//comandos de ataque
digitalWrite (2, HIGH);
digitalWrite (3, LOW);
digitalWrite (4, HIGH);
digitalWrite (5, LOW);
} //fim do if de atacar alvo
if (cm1>30){
Serial.println ("Procurando oponente");
//comandos para localizar o oponente
digitalWrite (2, HIGH);
digitalWrite (3, LOW);
digitalWrite (4, LOW);
digitalWrite (5, HIGH);
delay (500);
digitalWrite (2, HIGH);
digitalWrite (3, LOW);
digitalWrite (4, HIGH);
digitalWrite (5, LOW);
delay (400);
}//fim do if procurando oponente
}//fim do if sobre linha branca
//se estiver sobre linha preta executa esta função
if (estado==300){
Serial.println ("Linha preta retornar");
//comandos quando estiver sobre a linha preta
digitalWrite (2, LOW);
digitalWrite (3, HIGH);
digitalWrite (4, LOW);
digitalWrite (5, HIGH);
digitalWrite (13, LOW);
delay(800);
digitalWrite (2, LOW);
digitalWrite (3, HIGH);
digitalWrite (4, HIGH);
digitalWrite (5, LOW);
delay(500);
}//fim do if linha preta
}//fim do loop
int sonar(){
digitalWrite (emissor, LOW);
delayMicroseconds (2);
digitalWrite (emissor, HIGH);
delayMicroseconds (10);
digitalWrite (emissor, LOW);
duracao=pulseIn(receptor,HIGH);
cm1=microsecondstocentimeters(duracao);
}
long microsecondstocentimeters(long microseconds){
return microseconds/29/2;
}
int direita(){
//Retorna o valor do sensor
pinMode( sensor_d, OUTPUT );
digitalWrite(sensor_d , HIGH );
delayMicroseconds(10);
pinMode( sensor_d, INPUT );
long tempo1 = micros();
//o tempo medido HIGH, que acaba 3 segundos depois e retorna um valor de 0 (branco) a 3000 (preto)
while (digitalRead(sensor_d) == HIGH && micros() - tempo1 < 3000);
int diff1 = micros() - tempo1;
return diff1;
}
int esquerda(){
//Retorna o valor do sensor
pinMode( sensor_e, OUTPUT );
digitalWrite(sensor_e , HIGH );
delayMicroseconds(10);
pinMode( sensor_e, INPUT );
long tempo2 = micros();
//o tempo medido HIGH, que acaba 3 segundos depois e retorna um valor de 0 (branco) a 3000 (preto)
while (digitalRead(sensor_e) == HIGH && micros() - tempo2 < 3000);
int diff2 = micros() - tempo2;
return diff2;
}
Logo depois iniciamos o preparo do ano que vem, aprimorando o programa de sumô nos erros cometidos:
- ausência de proteção na dianteira e traseira do robô o que deixou 2 pontos de ataque. Na primeira luta o robô ficou preso no canto e foi empurrado até cair e na terceira luta fomos derrotados pela rampa preta vindo pela frente, que fez com que o robô recuasse sozinho.
- Trocamos as 8 pilhas de 1,2V/2A (9,6V) que tem baixa capacidade de descarga por uma bateria 7V/2A de Ni-MH, que além de menos poluentes, apresentaram um rendimento melhor.
Vídeo do cabo de guerra: Artemis vs Inacio
O planejamento agora envolve o uso do PWM no Artemis para aumentar o torque, dando mais potência para o robô, tornando-o mais eficiente no combate. Aliás, um ótimo resultado foi no cabo de guerra em equipe, onde o Artemis sozinho carregou 2 legos, segurando-os. Não teve força para arrastá-los mas também não foi arrastado, sendo derrotado porque o parceiro que caiu no fosso.
28/06/2013 - Instalação do suporte de baterias e pilhas
Fotos da instalação do suporte de baterias e pilhas no robô. Estamos quase prontos, falta só providenciar uma sensor de ultrassom...
14/06/2013 - Teste de Combate
O robô Artemis recebu seu programa de combate e foi testado. Este programa é o módulo básico de combate do robô.
No primeiro teste o robô reconhece a linha e foi programado para virar:
Este teste falhou pois o robô saía da área de luta o que, no sumô, causaria a queda para fora da arena.
Para o segundo teste, inserimos um comando para que o robô, quando encontrasse a linha, retornasse e depois virasse, o que resolveu o problema, conforme o vídeo abaixo.
Na primeira tentativa, por conta da pista improvisada ele passou reto mas, com mais um pouco de fita adesiva no local, para evitar ondulações, o robô se comportou como esperado. A mesa suja causou interferência no processo mas não compromoteu o teste.
07/06/2013 Teste de programação
Hoje testamos uma programação básica para o robô usando um simulador feito em protoboard e o TCRT 5000 como sensor IR de linha. A ideia foi usar 2 led´s acendendo representando os motores, ou seja, quando o robô estiver sobre a linha preta deve virar (acende um led) e depois, quando está sobre a linha branca os dois motores devem estar no mesmo sentido (acende os dois led´s ).
De início, no código, não desligamos os 2 pinos que fariam o reverso do motor (primeira parte do vídeo) o que deixava os led´s acesos constantemente, representando que o motor não inverteria o sentido.
/*Progamação de robô de sumô para o torneio juvenil de robotica*/
int sensor;
void setup(){
pinMode(5, OUTPUT);//MOTOR DIREITO PARA FRENTE
pinMode(6, OUTPUT);//MOTOR DIREITO PARA TRAZ
pinMode(8, OUTPUT);//MOTOR ESQUERDO PARA FRENTE
pinMode(7, OUTPUT);//MOTOR ESQUERDO PARA TRAZ
pinMode(A0, INPUT);//SENSOR
}
void loop(){
sensor=analogRead(A0);
if (sensor<500){
digitalWrite(5, HIGH);
digitalWrite(7, HIGH);
delay(500);
}
else{
digitalWrite(5,HIGH);
digitalWrite(8,HIGH);
}
}
Na segunda tentativa usamos o LOW para desligar os pinos digitais que não estavam ativos e o resultado foi melhor.
/*Progamação de robô de sumô para o torneio juvenil de robotica*/
int sensor;
void setup(){
pinMode(5, OUTPUT);//MOTOR DIREITO PARA FRENTE
pinMode(6, OUTPUT);//MOTOR DIREITO PARA TRAZ
pinMode(8, OUTPUT);//MOTOR ESQUERDO PARA FRENTE
pinMode(7, OUTPUT);//MOTOR ESQUERDO PARA TRAZ
pinMode(A0, INPUT);//SENSOR
}
void loop(){
sensor=analogRead(A0);
if (sensor<500){
digitalWrite(6, LOW);
digitalWrite(8, LOW);
digitalWrite(5, HIGH);
digitalWrite(7, HIGH);
delay(500);
}
else{
digitalWrite(6,LOW);
digitalWrite(7, LOW);
digitalWrite(5,HIGH);
digitalWrite(8,HIGH);
}
}
Vídeo dos testes
Para o próximo teste usaremos um delay após o comando dos motores para frente, como forma de otimizar o sistema de ataque do robô.
Este programa será a primeira estratégia de ataque.
03/06/2013
Informações técnicas sobre o Artemis:
Dimensões: 17x26x6,5 cm
Cérebro: Arduino Uno Rev.3
Alimentação: Bateria LiPo 11V/1A ou 6V/2A (motores) e 9V/350mA (Arduino)
Sensores: IR - QR1113 (2) e Ultrassom - HC-SR04
Controle de motores: L293d
Motores: 4 servo-motores Gardner adaptados para rotação contínua
Consumo Previsto: 400 mAh dos motores e 100 mAh do Arduino e sensores
Fotos do Projeto:
Estrutura do projeto
Adicionando o Arduino, protoboard, sensor de ultrassom e l293d
Vídeos dos testes:
Condições: fonte de alimentação 9V/500mA, teste de sumô com localização de objeto e emissão de som (buzzer) mais agudo conforme a distância do objeto. Por uma questão de estratégia ainda não vamos divulgar a programação do Arduino mas, após o Torneio Juvenil de Robótica 2013, divulgaremos a programação.
Vídeos de teste do robô: teste de motores
Vídeo de teste sobre uma superfície
Vídeo de teste de luta: o alvo é um pedaço de fonte ATX de computador
Ajustes necessários:
-Fixação do Arduino
-Fixação da Protoboard
-Instalação das baterias
-Instalação dos sensores de IR
- Ajuste de servo-motores e rodas, corte dos parafusos e melhorias na estrutura
-Instalação dos led´s de alerta
- Nova programação completa
31/05/2013
Sua origem está na estrutura do projeto Orion que teve seu tamanho reduzido para 17x20. Mantém a base de 4 servo-motores com alimentação por pilhas AA 1,2V recarregáveis (6V/2000mAh) e o uso de um Arduino UNO alimentado por baterias de 9V/350mA.
Segundo o Wikipédia (http://pt.wikipedia.org/wiki/%C3%81rtemis):
"Na Grécia, Ártemis ou Artemisa (em grego: Άρτεμις1 ) era uma deusa ligada inicialmente à vida selvagem e à caça. Durante os períodos Arcaico e Clássico, era considerada filha de Zeus e de Leto, irmã gêmea de Apolo ; mais tarde, associou-se também à luz da lua e à magia. Em Roma, Diana tomava o lugar de Ártemis, frequentemente confundida com Selene ou Hécate, também deusas lunares."
31/05/2013
O projeto EFF1520 foi batizado de Apollo:
"Apolo (em grego: Ἀπόλλων, transl.Apóllōn, ou Ἀπέλλων, transl. Apellōn) foi uma das divindades principais da mitologiagreco-romana, um dos deuses olímpicos. Filho de Zeus e Leto, e irmão gêmeo de Ártemis, possuía muitos atributos e funções, e possivelmente depois de Zeus foi o deus mais influente e venerado de todos os da Antiguidade clássica. As origens de seu mitosão obscuras, mas no tempo de Homero já era de grande importância, sendo um dos mais citados na Ilíada. Era descrito como o deus da divina distância, que ameaçava ou protegia deste o alto dos céus, sendo identificado com o sol e a luz da verdade. Fazia os homens conscientes de seus pecados e era o agente de sua purificação; presidia sobre as leis da Religião e sobre as constituições das cidades, era o símbolo da inspiração profética e artística, sendo o patrono do mais famoso oráculo da Antiguidade, o Oráculo de Delfos, e líder das Musas. Era temido pelos outros deuses e somente seu pai e sua mãe podiam contê-lo. Era o deus da morte súbita, das pragas e doenças, mas também o deus da cura e da proteção contra as forças malignas. Além disso era o deus da Beleza, da Perfeição, da Harmonia, do Equilíbrio e da Razão, o iniciador dos jovens no mundo dos adultos, estava ligado à Natureza, às ervas e aos rebanhos, e era protetor dos pastores, marinheiros e arqueiros. Embora tenha tido inúmeros amores, foi infeliz nesse terreno, mas teve vários filhos. Foi representado inúmeras vezes desde a Antiguidade até o presente, geralmente como um homem jovem, nu e imberbe, no auge de seu vigor, às vezes com um manto, um arco e uma aljava de flechas, ou uma lira, e com algum de seus animais simbólicos, como a serpente, o corvo ou o grifo." Fonte:http://pt.wikipedia.org/wiki/Apolo
Já foi para a OBR com este nome, mas o projeto final receberá uma revisão na sua estrutura que se apresentou fraca em relação ao nosso padrão. Depois da queda dois dias antes da OBR (23/05), ainda se mostrou forte suficiente para entrar na arena e marcar nossos primeiros pontos na competição.
Dentro do plano de melhorias sofrerá estas alterações com data limite para 17/06.
08/05/2013
Depois de vários revezes na construção deste projeto, entramos numa fase crítica e o projeto inicial sofreu alterações. Apesar do chassi ainda não estar pronto já estamos trabalhando nas salas. Hoje desenvolvemos o programa para a sala 3 da OBR onde o robô deverá resgatar a vítima. No caso do Ensino Fundamental, basta o robô se aproximar da vítima e emitir um sinal sonoro e luminoso a 5 cm. Começamos programando a base do projeto conforme esquema abaixo:
O teste começou usando o buzzer emitindo um som de alarme e os led´s piscando:
10/04/2013
Usando o esquema de sensor IR e, substituindo o fototransistor e o led emissor por um led de alto brilho (branco) e um LDR, desenvolvemos um sensor de linha que alcança cerca de 15 cm:
Vídeo do teste abaixo:
Além disso, concluímos a parte de elaboração e corrosão da placa de controle de motores conforme fotos abaixo, falta só soldar os componentes:
30/03/2013
Fizemos hoje a placa de circuito - ponte H dupla - para controle de 2 motores usando o TIP (110/115 ou 120/127).
Hoje terminamos a estrutura do robôs falta apenas terminar de instalar os motores. Desenvolvemos a ponte H na protoboard e já testamos em outro projeto (EMF1520) com bom resultado.
06/03/2013
Corte dos eixos com caixa de redução para os chassis.
20/02/2013
Fotos das primeiras peças para montagem do robô: motor e caixa de redução e caixa da fonte ATX desmontada:
13/02/2013
Este projeto será desenvolvido pelo Jhonatan e pelo João Gabriel. Será um robô de 20x20 com sistema de tração independente dos lados (o eixo dianteiro será separado do eixo traseiro) e, com os motores que encontramos em impressoras, que já vem com redução, provavelmente será de esteiras, feitas de borracha de câmara de pneu de carro coladas com cola epoxi e vulcanizadas com ferro de passar roupa (ideia do Jhow). O chassi será feito de alumínio retirado de fontes ATX de computador, furadas as dimensões.
Ao Paulo caberá a responsabilidade de cortar os eixos. Um dos maiores desafios será fixar o motor no chassi e fazer a divisão do eixo dianteiro. Em breve postaremos a foto mas a ideia preliminar segue abaixo:
Em relação ao controle dos motores, utilizaremos uma ponte H construída inicialmente em protoboard, feita com TIP120 (NPN) e TIP122 (PNP), capaz de suportar correntes de até 6A, e tensões das mais varíáveis, provavelmente usaremos baterias de 11,1 V/1Ah, com taxa de descarga de 25C, conforme esquema abaixo:
Este projeto tem como objetivo um robô de resgate de alto risco e lutador de sumô. Quanto a sensores, provavelmente serão usados os TCRT 5000 (só usaremos os QRE1113 senão houver espaço) e um ou 2 sensores de ultrassom HC-SR04, dependendo de quantos tivermos na época.