Robot que evita obstáculos v1.0



Cordiales saludos a todos los lectores del blog!!! Hace ya tiempo que tengo arrumbado este pequeño robot, lo realice con el motivo de probar el sensor ultrasonico, debo confesar que no esta terminado al 100% pero así se quedo en su tiempo, falta mejorar el acomodo de las baterías para que se vea mas presentable (tal vez unas tipo AA recargables en lugar de las de celular que tiene), ademas de que la versión del firmware esta realizado de una forma muy básica así que aun falta detallarlo. Espero poder darme un tiempo y dejarlo trabajando al 100%.

Bueno en que consta este robot, pues la estructura esta realizada de material reciclado (es plástico con una capa adherida de aluminio, no recuerdo el nombre), un par de motorreductores y sus debidas llantas (de esas que encuentras en la electrónicas o tiendas de robótica), para el sensado se usa un sensor ultasonico (HC-SR04), en la parte del circuito de control se usa un PIC18F1320 que es el encargado de tomar las lecturas del sensor y activar el puente H que controla los motores.

Hablemos un poco mas del circuito propuesto, tenemos el conector de alimentación (actualmente alimento con dos baterías de celular en seria así que bien cargadas das unos 7V, que sera el voltaje al que se alimenten los motores), pasamos por su interruptor general y se allí a un regulador 7805 para alimentar el resto del circuito, tiene un LED Verde con su debida resistencia que indica la salida de 5V. Tenemos el PIC18F1320 (que la he colocado en SMD ya que era el que tenia a la mano) con su puerto ICSP para la debida programación, 2 LEDs para indicar cuando gire a la izquierda o derecha, botón de reset y conector para el sensor HC-SR04, la parte para controlar los motores he usado un driver para mosfet (el IR4427) y lo estoy utilizando como puente H así que uso 2, uno para cada motor, en sus salidas he colocado los diodos de protección para evitar que el regreso de corriente parásita provocada por los motores, bueno e circuito completo es el siguiente:

Bueno toca el turno para hablar del firmware que hace posible que esto cobre vida.

Iniciamos con el archivo "word_config.h" en donde se encuentran declarado todos los fusibles de nuestro microcontrolador.
En el archivo "mcu.h" están declaradas la funciones utilizadas en "mcu.c" así como también todas las etiquetas que se usan en el resto del firmware, declaración de puertos y nombre de cada uno de ellos:
En el archivo "mcu.c" tenemos todo el código en cada una de sus funciones que en conjunto hacen que nuestro robot se mueva: 
En el archivo "main.c" tenemos nuestra función principal y nuestro bucle desde donde se estara ejecutando las tareas que va a realizar el robot: 
Aquí unas fotos del paso a paso del armado del robot, en la siguiente se ve como quedaron los motores fijados a la base y ademas con sus llantas una vista TOP.


Ahora se ve la parte BOTOM de nuestro robot, un par de cinchos para fijar los motores ayudados de algo de silicón, la llanta loca se ha fijado con unos tornillos y listo.

Aquí una imagen del PCB ya con todos los componentes soldados y listo para ser montado sobre el robot.

Ahora una foto donde se aprecia el PIC en versión SMD, el acabado de las pistas y la soldadura no ha quedado tan chulo pero el circuito cumple con su función.

Ahora si ya va tomando forma, agregando la PCB sobre nuestro robot, solo falta agregarle los conectores a los motores y colocar el sensor ultrasonico.

Como mencione anteriormente uso dos baterías de celular para alimentar tanto a los mores como a todo el circuito, algo se silicón para fijar el sensor y listo a cargarle el firmware al PIC para realizar pruebas.

Otra foto mas de como ha quedado el robot.


Dejo un vídeo del robot en acción para que vean que esta vivo (Prueba 1):


Espero que les guste y que les sea de utilidad lo que aquí les presento, como mencione anteriormente ya veré si mas adelante mejoro el firmware o realizo una segunda versión del robot.



Descargas:
Aquí el enlace directo para DESCARGAR los archivos disponibles, también puedes revisar o descargar la información desde mi repositorio en GitHub, si no sabes como descargarlo puedes checar aquí, bueno por el momento es todo si tienes dudas, comentarios, sugerencias, inquietudes, traumas, etc. dejarlas y tratare de responder lo mas pronto posible.

Donaciones:
Si te gusta el contenido o si los recursos te son de utilidad, comparte el enlace en tus redes sociales o sitios donde creas que puede ser de interés y la otra puedes ayudarme con una donación para seguir realizando publicaciones y mejorar el contenido del sitio. También puedes hacer donaciones en especie, ya sea con componentes, tarjetas de desarrollo o herramientas. Ponte en contacto para platicar, o puedes volverte uno de nuestros sponsors.


Pido una retroalimentación avisando cada que un enlace no sirva o tenga errores al momento de abrirlo, así también si una imagen no se ve o no carga, para corregirlo en el menor tiempo posible.

Publicar un comentario

2 Comentarios

  1. esta excelente... La verdad me gustaria que me dijeras como hacer el mismo codigo pero en un PIC 18F452. Si sabes por fa dime como hacerlo, muchas gracias, espero tu pronta respuesta

    ResponderEliminar
    Respuestas
    1. Saludos Fabian!! Exactamente que deseas, digo no es nada complicado migrar el código que muestro al PIC que mencionas, es mas lo que tienes que hacer es una tanto genérico, podrías por empezar a configurar los bits fuses, las entradas y salidas, lo demás es completamente igual.

      Eliminar