miércoles, 27 de febrero de 2013

POST#1: Seguidor de línea PID con Arreglo de 13 Sensores IR y control remoto por Xbee o Bluetooth Bee

Vehículo final.
Objetivo: 

Diseño y construcción de un vehículo seguidor de línea mediante el uso de un microcontrolador PIC ejecutando algoritmos en leguaje C de control PID (Controlador Proporcional - Integrativo - Derivativo),  que son alimentados por datos recolectados en tiempo de real de 13 puertos o pines analógicos conectados a sensores IR para generar un barrido detallado del contraste de la pista con la línea y variar la señal PWM (Pulso - Duración - Modulación), que controla la velocidad de giro para acelerar o desacelerar los motores accionados por el L298N.



Materiales principales utilizados:
  • 1 x PIC 18LF4610.
  • 13 x Sensor IR TCRT5000L.
  • 1 x L298N.(Muestra gratis obtenida gracias a ST).
  • 1 x Tamiya Twin Motor Gearbox TAM70097.
  • 1 x Tamiya 70111 Large Diameter Wheel Set.
  • 1 x Tamiya 701442 Pieces Ball Caster.
  • 1 x LM2576T-5.0P+ (Step-Down Regulador de Voltaje).
  • 1 x Batería LIPO 7.2v de 2 celdas a 900 mAh.
  • 1 x Lamina de aluminio para la base.
  • 1 x Baquelita blanca para la lógica y potencia.
  • 1 x Baquelita de fibra para los sensores IR.
  • 1 x Blutooth bee (Solo para pruebas de control a distancia).
  • 1 x Xbee (Solo para pruebas de control a distancia).
  • 1 x LCD 16x2 para pruebas y optimizaciones.
Construcción:
Diseño del Circuito. Papel para transferir a la PCB.
PCB perforado y Componentes. Partes y lamina para montar.
PCB sensores IR desde arriba. PCB sensores IR desde abajo.
PCB de Control.

Imágenes del Seguidor de línea finalizado:

Foto lado derecho. Foto lado abajo
Foto lado izquierdo

9 comentarios:

  1. hola que tal queria pedirte ayuda porque yo tengo un seguidor de linea con ocho sensores y quisiera saber como hacerle un pid tambien porque el mio solo esta funcionando con comparaciones...me podrias ayudar un poco o recomendarme algun documento.....muchas gracias de ante mano..

    ResponderEliminar
    Respuestas
    1. Hola amigo, a ver los sensores que son 13 no los veo como señales separadas, sino como una sola señal que retorna el ERROR del PID. Cada sensor por separado al ser leída su señal por el adc del PIC se obtiene unos 10 niveles de detección. Esto no es más que ver el contraste de los colores, según los cuales varia el valor del adc y determinar 10 niveles en mi caso entre los valores de 0 a 5v. Estos 10 niveles es por cada sensor. Como estas trabajando tus sensores de manera todo-o-nada o con un puerto adc?

      Eliminar
  2. Pues la verdad yo conecto mis sensores directo al pic obviamente despues de la polarizacion correspondiente ahi los leo como digital tengo adecuado unas espongitas negras en los sensores para que no les entre luz y asi obtener casi siempre el mismo valor de voltaje a la salida..el rango es de 0 a 5v y pues el pic ya los lee como ttl 1 o 0 logico...lo que yo he visto es que muhos utilizan el control pd calculando el error y multiplicando por kp y tambien calculando la velocidad con la que se alejan de la linea y utilizan un kd.. ahh por cierto yo lo tengo programado en microcode (basic)

    ResponderEliminar
  3. y el codigo que??? si lo pudieran parar se los agradeeria

    ResponderEliminar
    Respuestas
    1. Amigo solo se debe aplicar una correcta lógica al momento de implementar los algoritmos PID y lograras avances, así como también entender que los sensores realmente forman en conjunto la señal de error del PID, en función de lo alejado que este del centro del mismo sensores

      Eliminar
  4. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  5. Estoy 100% seguro que si das el codigo las visitas en tu blog subiran exponencialmente, y mas porque a veces muchas personas que no tienen mucho conocimiento se adentran a hacerlos, ademas al ver un codigo uno se da la idea de como hacerlo e incluso aprender!

    ResponderEliminar
  6. como obtengo el setpoint. En arduino existe una la libreria readline que lo lee directamente y te da la posicion pero en un pic no entendio como hacerlo

    ResponderEliminar
    Respuestas
    1. Hola Jorge, en el arduino las librerías muchas veces facilitan las cosas acá con los PIC no es así debes casi siempre escribir tu algoritmo PID o guiarte de alguno online y debes adaptarlo para la tarea que necesitas realizar de esta manera, en este caso para un seguidor de linea, donde debes tener en cuenta como estas obteniendo los datos de la linea para estos usarlos como referencia en tu PID.

      Eliminar

POST#20: UPS AC-DC 5V a 4 Amp con cargador de batería de ácido plomo sellada

Objetivo:  Debido a los constantes bajones y cortos programados de la energía eléctrica en mi país Venezuela, he determinado hac...