Paso 2: ¿Qué queremos obtener? ¿Y cómo?
Este sistema de navegación de estima se ve afectada por error cumulativo; la precisión de la medición debe ser alta para asegurar un círculo pequeño error después de un largo camino. Así que, después de algunos buenos resultados con codificadores caseros, decidí usar algo mejor: un par de 12V-200 rpm motorreductores, conectado a un par de 300 codificador de cuenta por revolución (cpr), ambos disponibles en muchas tiendas de robótica de la Internet.
Principios básicos
Para capturar todos los impulsos generados por el 300 codificador de cpr en 3000 rpm de motor en 4 x descifrar método (120 kHz), necesitamos un hardware dedicado para cada codificador (QEI = interfaz de codificador de cuadratura). Después de practicar con un doble PIC18F2431, determiné que la actualización correcta es un dsPIC. En principio eran dos dsPIC30F4012 controladores de motor para controlar la posición de las ruedas y la velocidad, realizar odometría y proporcionar datos de los dos motores a un dsPIC30F3013. Este propósito general DSC es suficientemente poderoso como para obtener datos, hacer algunos trigonometría para calcular las coordenadas de posición y almacenar datos relacionados con el camino recorrido para obtener un mapa del campo, a una tasa muy alta.
Cuando casi terminaron con el Consejo y los programas, Microchip trajo hacia fuera una nueva y potente SPDIP 28 pines en la serie de dsPIC33F para el controlador del motor (MC) y versiones (GP) general. Son significativamente más rápidos que el dsPIC30F, tienen mucho más memoria de programa y RAM (útiles para el mapeo de campo), requieren de menos potencia (bueno para un robot de pilas), y sus capacidades DMA simplifican muchas operaciones de E/S.
Lo más importante, estos son los primeros controladores de motor Microchip con dos QEIs en el mismo chip. Vamos a empezar un nuevo puerto otra vez! El Diagrama de bloque lógico es similar a la de la tabla anterior , pero el hardware y el software están mucho más simples desde que puedo usar una DSC sólo en lugar de tres . No hay necesidad de una comunicación de alta velocidad entre el supervisor y controladores de motor para el intercambio de parámetros de navegación. Cada proceso es sencillo de sincronizar porque es en el mismo chip. La capacidad de seleccionar pin periféricos de la serie de dsPIC33F más simplifica el PCB, lo que permite una conexión interna de periféricos y una mayor flexibilidad.
Esto nos lleva a la "dsPIC basado en tablero de Control de navegación" o dsNavCon para el cortocircuito. Este tablero está diseñado como parte de un sistema más complejo. En un robot explorador completo, otros tableros controlará sonido, luz, sensores de gas, así como topes y Telémetros ultrasónicos para encontrar metas y evitar obstáculos.
Como un tablero independiente, dsNavCon puede utilizarse también para un simple robot "seguidor de línea", algo más complejo como un robot para una odometría y concurso de cómputo muerto o una llamada "puede poder robot" (para poder recoger las competiciones). Todavía hay un montón de memoria de programa gratuito para agregar código para tales tareas. Con menor o ningún cambio en el software, también puede ser usada independiente para un vehículo control remoto, utilizando el módem bidireccional RF con algún tipo de control remoto inteligente. Este control remoto puede enviar complejo comandos como "mover FWD m 1," "gire a la izquierda 15°," "run FWD a 50 cm/s," "ir a X, Y coordenadas," o algo similar.
La Junta Directiva y el robot, están diseñados para ser hecho por cualquier persona en casa sin equipo y herramientas profesionales.