viernes, 12 de octubre de 2012

Arduino para el camino.... (semana 26-30 Sept)

 

Kit viajero y pericias after work...

 Con ese cuento de estar trabajando en proyecto cada 10 días y quitándole tiempo a mi familia, decidí traerme implementos para adelantar después del trabajo..sí trabajo al trabajo, y no es nada fácil, después de una jornada de más de 12 horas...

kit viajero: Arduino uno, protoboard pequeña, kit de cables, batería 9V recargable, chip puente H, LEDs y conectores



Ya que tenía uno de los callejones de este proyecto: la dirección, después de fracasar con el micro servo y haber encargado uno de mayor tamaño en China (quien sabe cuando vendrá) decidí modificar el moto reductor que tenía instalándole un potenciometro de 100K al eje de salida (este trajo uno inicialmente, no se de cuanto, pero no pude trabajar con él ya que desconectaba el arduino)





Así que aprovechando las noches, hice algunas pruebas, simplemente ajuste mi código de prueba con el joystick, el cual consiste en encender 2 LEDs el primero si muevo el stick hacia la derecha y el segundo hacía la izquierda, y le incluí el potenciometro, así que enciende o no de acuerdo al valor del potenciometro simulando el ángulo máximo a girar el eje del motor; revisando esto con la conexión puerto serial de arduino.

1:  int pot1 = A2;//joystick  
2:  int pot2 = A1;// señal reductor  
3:  int forward = 13;//led para prueba avance  
4:  int backward = 9;//led para prueba retroceso  
5:  int dir, sign;  
6:  void setup()  
7:  {  
8:   pinMode(forward, OUTPUT);  
9:   pinMode(backward, OUTPUT);  
10:   Serial.begin(9600);  
11:  }  
12:  void loop()  
13:  {  
14:   int dir = analogRead(pot1);  
15:   int sign = analogRead(pot2);  
16:   sign = map(sign, 0, 1023, 0, 255);  
17:   if (dir > 342 && sign != 100){  
18:    digitalWrite(forward, HIGH);  
19:   }  
20:   else if (dir < 338 && sign != 152){  
21:    digitalWrite(backward, HIGH);  
22:   }  
23:   else{  
24:    digitalWrite(forward, LOW);  
25:    digitalWrite(backward, LOW);  
26:   }  
27:   Serial.println(dir);  
28:   delay(500);  
29:  }     

"Serial

Se utiliza para la comunicación entre la placa Arduino y un ordenador u otros dispositivos. Todas las placas Arduino tienen al menos un puerto serie (también conocido como UART o USART): Serial. Se comunica a través de los pines digitales 0 (RX) y 1 (TX), así como con el ordenador mediante USB. http://arduino.cc/es/Reference/Serial"

 

habiendo funcionado esta parte, procedí a instalar el potenciometro a la carcasa y al eje del moto-reductor  menos mal acá conté con mototool y taladro!




una vez terminado, a realizar pruebas, realice el siguiente montaje:





Resultado


El potenciometro quedaba flojo y al no regular la velocidad de giro del motor, en un arranque brusco, este se atascó al llegar al tope del potenciometro, el cual solo tiene rango de giro de 180º, causando que el chip  SN754410NE pase a mejor vida.

Experiencia:


Aunque el programa que corrí  estaba muy en pañales, si pude verificar que me sería posible controlar el movimiento de este moto reductor y usarlo para la dirección, de acá me surgen 2 cosas por resolver:

  • Encontrar un circuito para manejar los IC puente H, con algún tipo de protección para el chip (diodo u otro elemento)
  • implementar el control por PWM a la entrada "enable" del integrado, y así evitar atascamientos mientras   implemento un buen codigo de control.


P.D. aproveche la falta de materiales para porner la documentación de este documento.






No hay comentarios:

Publicar un comentario