22 ago 2012

"Un coche modificado de control remoto que mueve autónomamente entre los carriles y evita las colisiones delanteras."


Estructura Lógica

Nuestro alto nivel de diseño de hardware consta de siete bloques como se muestra en el diagrama de bloques.


Todos los cálculos y el procesamiento son manejados por el microcontrolador ATMega644. El microcontrolador recibe entradas de dos periféricos de baja resolución de imagen CMOS sensor (cámara), y el sensor de infrarrojos a distancia.Entrada de imagen en la forma de una matriz de 128x123 píxeles se procesa en la MCU utilizando el comparador analógico interno, convirtiendo pixeles que estaban representados originalmente por bytes de datos en pixeles ahora representados sólo por los bits. Dado que nuestro coche RC sólo tiene que detectar la imagen de una línea de carretera en contraste con el resto de su entorno, esta representación binaria de píxeles es suficiente para este propósito y ahorra enormes cantidades de tiempo de cálculo. El umbral de tensión para el comparador analógico tuvo que ser ajustado a un valor apropiado para un color carretera recta dada que elegimos ser negro. Procesamiento de esta entrada de la imagen de la cámara se realiza mediante la MCU para generar señales que indican si el coche gire hacia la izquierda o hacia la derecha o seguir recto. Estas señales de mando eventualmente controlar el servo motor en el coche de RC que le permite girar a la izquierda o la derecha, pero debe pasar primero a través de un circuito puente H-con tensiones polares se pueden crear para accionar el motor servo en ambas direcciones (desde la MCU no puede generar voltajes negativos). La MCU recibe también una entrada analógica del sensor de distancia que se procesa con el ADC MCU interna en un valor de 8-bit. Este valor digital puede ser asignada a una distancia real, pero no se hace con el software ya que sería innecesario y sólo añadiría más tiempo de cálculo para un sistema sensible ya tiempo. El valor de 8-bit digital a distancia se utiliza en un algoritmo de control simple que determina el ciclo de trabajo de la PWM que sale de Timer2. El PWM controla el funcionamiento del motor de automóviles DC, suministrando el motor con un voltaje más alto cuando su ciclo de trabajo es mayor. El PWM es enviada a un circuito de control de motor que se implementa utilizando el mismo diseño que el circuito de control de Lab 4 que utiliza un optoaislador para separar los circuitos de MCU de la circuitería de motor. El optoaislador es necesario para que una corriente excesiva se basa en el motor no dañar el hardware de MCU. Decidimos tener sólo el vehículo se desplace hacia adelante, por lo tanto, un circuito como un H-Bridge no era necesaria para el funcionamiento del motor de corriente continua y sólo tuvo que ser conducido en una dirección. Para alimentar todo nuestro hardware, varias fuentes de energía tuvo que ser utilizado. El tablero de la blanco para el MCU requiere una batería de 9 V para su correcto funcionamiento. En combinación con el regulador de 5V en el tablero esto proporcionó una Vcc 5V constante a la MCU. La cámara se alimenta mediante el suministro de 5V de la MCU y puesto que requiere una cantidad mínima de corriente, esta configuración no plantea ningún problema para el sistema. El sensor de distancia se alimenta desde una fuente de batería diferente que consiste en un paquete de baterías de tres pilas AA de 1,5 V en serie en cada uno. Los motivos tanto de este paquete de baterías 4.5V MCU y la ataron juntos para que la tensión de salida analógica del sensor de distancia tenía una referencia de tierra. El resto de la circuitería está debidamente aislado de la MCU y se alimenta de la batería coches configuración que utiliza cinco pilas AA de 1,5 V nominal de cada uno para un suministro total de 7.5V. Esto sirvió para ser demasiado para el circuito de Puente-H, que requiere menos de una tensión. Para remediarlo, se colocaron diodos en serie entre el terminal positivo y el pin H-Bridge Vcc a caer la tensión en lugar de utilizar una fuente de batería adicional.


Diseño de Hardware


Debido al bajo costo y la complejidad relativamente baja de nuestro diseño, este proyecto puede ser fácilmente reconstruido por los interesados ​​en juguetear un poco con un coche de RC. Las secciones siguientes describen el hardware que se utiliza en detalle y se explica cómo se configuran.

Detalles del hardware

Coche de control remoto:
El coche RC utilizada en nuestro proyecto era el coche más barato RC que encontramos en nuestro Radioshack local. Es un coche de cuatro ruedas con tracción trasera y dirección de las ruedas delanteras. Desde una hoja de datos para el hardware no se adjunta con cada aplicación, teníamos que probar manualmente las conexiones de coches y encontrar la manera de operar adecuadamente sus funciones motoras nosotros mismos. Dada la naturaleza de nuestro proyecto, la funcionalidad de RF del coche fue desechada y la placa del receptor en el coche fue retirado. Sólo seis alambres tuvo que someterse a prueba para determinar su función - dos cables para la batería del coche, dos cables para el motor rueda trasera de la DC, y dos cables para el motor servo de rueda delantera.
La tensión en la batería del coche se pasa alrededor de 7.5V, que se esperaba ya que el coche requiere de cinco pilas AA nominal de un valor nominal de 1,5 V cada una. Para probar los cables del motor servo, aplicamos diferentes voltajes a través de ella de partida bajo e incrementando la tensión hasta que una respuesta girar por el motor se logró. El servo motor gira en una dirección con un voltaje positivo a través de ella, y se convierte en la otra dirección con un voltaje negativo a través de ella, pero no tiene la capacidad de convertir a diferentes ángulos. El servo motor comienza a responder a alrededor de un umbral de 3,8 V pero alcanza el ángulo de giro máximo a un ritmo mucho más lento. Al aplicar un voltaje mayor a través del motor provoca que el motor alcance el ángulo de giro de fraguado más rápido.
Las mediciones se realizaron para determinar el efecto de la variación de voltajes a través del motor de corriente continua.Uso de las piezas del circuito del tacómetro que construimos en Lab 4 de esta clase, hemos sido capaces de obtener una medida relativamente precisa de la RPM de la rueda coches para una tensión continua dada a través del motor. Los datos recogidos nos muestra que la tensión umbral para el motor de corriente continua para el movimiento de alimentación real de las ruedas es de alrededor de 1,3 V y que la relación voltaje-a-RPM es lineal.
Distancia del sensor:
El Sharp sensor IR (GP2Y0A21YK) que hemos utilizado es una pieza muy útil, barato y fácil de usar de hardware que puede medir distancias en un rango de 10 a 80 centímetros. El sensor sólo tiene tres conexiones que necesitan ser interconectado con la fuente de alimentación, tierra de la alimentación, y su salida distancia. Teniendo en cuenta una tensión de alimentación de manera óptima entre 4,5 a 5,5 voltios, el sensor emite su medición de la distancia como una tensión analógica entre 0 V y 3.1V .


limentación del Sensor Distancia:
Después de varios intentos diferentes y métodos de alimentación del sensor de distancia, se decidió por fin el uso de tres pilas AA de 1,5 V en serie en cada uno para un total de 4,5 V para alimentarlo. Como hemos constatado que el sensor de distancia acciona una gran cantidad de corriente (típicamente 30 mA), apagándola de la MCU plantea problemas para el funcionamiento fiable MCU. Además, se encontró que la conexión del sensor de distancia a través de las líneas de alimentación del MCU introducido una gran cantidad de ruido a la operación de cámaras, ya que también es alimentado por las líneas de energía MCUs. Así que terminamos usando otra fuente de energía en las tres pilas AA. Sin embargo, la salida del sensor de distancia necesita una base común para que la MCU para interpretar correctamente los datos. Los motivos tanto de la MCU y la batería 4.5V estaban conectados por lo tanto, para que el sensor a distancia puede ser correctamente interpretado. Este tipo de conexión desfavorable en teoría podría causar un comportamiento aleatorio e inesperado, pero ya que nuestro sistema funcionó durante la prueba, nos decidimos a ir junto con él por falta de tiempo.
ADC Configuración del hardware:
La salida analógica del sensor de distancia se alimenta directamente a la ADC que es interno a través de la MCU PORTA1.Puesto que la funcionalidad de detección de distancia tiene una prioridad mucho más baja que la funcionalidad de detección de imagen, nuestra configuración del hardware ADC y los cálculos utilizando el valor digital resultante se optimizaron para utilizar la menor cantidad de tiempo de cálculo posible. El sistema de circuitos ADC de aproximaciones sucesivas requiere una frecuencia de reloj de entrada entre 50-200kHz una resolución máxima. En nuestro caso, una tasa de frecuencia de reloj más alta podría haber sido utilizado ya que sólo hacen uso de la resolución de 8-bits. Pero por medida de seguridad, se utilizó un prescaler de reloj de 128 en nuestra base de reloj de 20 MHz para un reloj resultante 156.25kHz ADC. Dado que una normal de conversión ADC es de 13 ciclos de reloj del ADC, esto significaba que el tiempo medio de conversión ADC es cerca de 83,2 microsegundos. Para la tensión de referencia ADC, se optó por utilizar el 2.56V interna generada por el MCU. Este valor se eligió debido a la conveniencia y porque sobre la base de la curva de tensión de salida vs distancia del sensor, un valor 2.56V corresponde a una distancia de alrededor de 9 cm que está en el borde del límite de funcionamiento del sensor y está a una distancia suficientemente pequeña para que el coche debe saber para dejar de todos modos. La ADC es capaz de proporcionar un resultado de 10-bit. Sin embargo, nuestro sistema no requiere ese grado de precisión y se utilizan sólo los 8 bits más altos para que el de los dos registros que conservan el resultado ADC, sólo el registro agudo tenían que leer lo que ahorra algo de tiempo de cálculo. Para ello, el comando para el ADC izquierda para ajustar su resultado tuvo que ser ajustado en el software. El resultado de la conversión ADC que se lee desde el registro de resultado secundaria, ADCH, sigue esta fórmula:
ADCH = (V_in * 255) / V_ref
Cuando Vin es la entrada procedente del sensor de distancia y Vref es el valor interna 2.56V. El rango de valores de ADCH son por lo tanto entre 0 y 255. Pusimos a prueba para ver si es o no un Vin mayor que 2.56V sería un problema, pero se encontró que las tensiones superiores a Vref como resultado un valor de 255 ADCH que no representa ningún problema para nuestro sistema.
Puesto que el tiempo de cálculo tanto tuvo que ser conservado para el software de detección de imagen, el muestreo del ADC no fue disparado periódicamente y tuvo que ser iniciada manualmente en el software. Más detalles sobre el software distancia de detección se discute en una sección diferente.

Motor Circuito de control

Nuestro circuito que controla el funcionamiento del motor DC automóviles utiliza el mismo diseño que el circuito de control de motor que se utilizó en Lab 4 para esta clase. Hemos creado un PWM utilizando Timer2 salida A de PORTD7. El ciclo de trabajo de la PWM eventualmente determina el voltaje que se aplica a través del motor de corriente continua. El PWM es enviada a través de un optoaislador 4N35 con el fin de aislar las líneas de alimentación de la MCU motor de corriente continua y evitar el daño del hardware MCU de corriente excesiva dibuja por el motor. Un condensador y un diodo 1N4001 están conectados en paralelo con el motor de corriente continua para mejorar la resistencia al ruido y picos inductivos de conmutación en el motor, respectivamente. El circuito aislador es alimentado por la batería del vehículo que sirve como Vcc y GND, como se muestra en el esquema

1 comentario:

  1. Generally the flex belt is a belt you strap on around your
    waist and 3 specifically placed pads are what assist contract
    your abs.

    Also visit my web blog - https://jr.scptuj.si/user/view.php?id=32832&course=1

    ResponderEliminar

Entrada destacada

Control de aparatos electricos con mando a distancia

  DESCRIPCION GENERAL DEL PROYECTO Con un mando a distancia de una televisión de marca Sony, un receptor infrarrojo de esa misma televisi...