Programación de rango
original/article/87/82/2009/20091219139294 .html
Diseño e implementación de un sistema de alerta anticolisión de marcha atrás basado en microcontrolador
0 Cita
p>El sistema de advertencia para evitar colisiones de marcha atrás del automóvil, comúnmente conocido como radar de marcha atrás, es un dispositivo auxiliar para el estacionamiento de automóviles. El radar de marcha atrás utiliza el principio de alcance ultrasónico para detectar la distancia entre la parte trasera del automóvil y los obstáculos al dar marcha atrás. Cuando la distancia entre la parte trasera del automóvil y el obstáculo alcanza el rango de detección, el radar de marcha atrás muestra dinámicamente la distancia en tiempo real a través del tubo digital. Cuando la distancia entre la parte trasera del automóvil y el obstáculo alcanza el valor de advertencia de seguridad establecido, el radar de marcha atrás hará sonar una alarma para advertir al conductor y ayudarlo a dar marcha atrás de manera segura. La mayoría de los automóviles de gama media y alta que se fabrican hoy en día están equipados con radares de marcha atrás, pero para ahorrar costes, otros vehículos, como los coches económicos y los autobuses, no están equipados con radares de marcha atrás. Los productos con demanda del mercado impulsarán inevitablemente el desarrollo y el diseño de productos. Hay muchos tipos de circuitos de radar de marcha atrás. Este artículo presenta un sistema de radar de marcha atrás basado en el control de un microordenador de un solo chip. Este sistema utiliza un microordenador de un solo chip de uso general como circuito de control para facilitar la expansión de las funciones del sistema. El circuito del sistema se compone principalmente de dispositivos integrados, con pocos componentes periféricos, circuito simple, fácil depuración y bajo costo, lo que favorece la producción comercial.
1 Composición del sistema y principio de funcionamiento
El sistema de alarma anticolisión de marcha atrás consta de cuatro sensores ultrasónicos cerrados (impermeables) y sus circuitos de transmisión ultrasónica y recepción de eco y circuitos de amplificación de señal ultrasónica. Circuito de control de microcomputadora de un solo chip, circuito de visualización de tubo digital LED y circuito de alarma con sonido de zumbador. El diagrama de bloques del sistema se muestra en la Figura 1.
Cuando el automóvil está dando marcha atrás, el dispositivo de cambio de marcha atrás enciende automáticamente la alimentación del sistema y el sistema se restablece al estado de funcionamiento después del encendido. El microcontrolador está programado para generar una serie de voltajes de pulso rectangulares de 40 kHz, que se agregan a los circuitos de transmisión ultrasónica y recepción de eco a través de interruptores analógicos de cuatro selecciones. El sensor ultrasónico se amplifica y se activa para emitir ondas ultrasónicas, y el microcontrolador comienza a cronometrar al mismo tiempo. La onda ultrasónica emitida forma una onda reflejada después de chocar con un obstáculo, y parte de la onda reflejada regresa al sensor ultrasónico y se convierte en una señal eléctrica débil mediante conversión acústica/eléctrica. La señal eléctrica débil se amplifica y se le da forma para producir un voltaje de salto negativo y se envía una solicitud de interrupción al microcontrolador. Después de que el microcontrolador recibe la señal de solicitud de interrupción, responde inmediatamente a la interrupción, ejecuta el programa de servicio de interrupción externo, detiene el tiempo, obtiene el tiempo t para que la onda ultrasónica sea enviada y devuelta y calcula la distancia s entre el punto de emisión. y el obstáculo, es decir, s = (c t)/2. c es la velocidad de propagación de las ondas ultrasónicas en el aire, que es de aproximadamente 346 m/s a una temperatura ambiente de 25°C. Si la onda ultrasónica emitida no encuentra obstáculos dentro del rango de alcance, hasta que el microcontrolador genere una interrupción del temporizador, ejecute el programa de servicio de interrupción del temporizador, seleccione la siguiente ruta y presione la ruta trasera izquierda, la ruta media trasera izquierda, la ruta media trasera derecha, y La secuencia del camino trasero derecho transmite y recibe continuamente ondas ultrasónicas y realiza cálculos y procesamiento. Una vez completado el procesamiento de detección de cuatro vías, el tubo digital LED muestra el valor de distancia mínima medido en la selección de cuatro vías. Cuando la distancia mínima es menor que la distancia de alarma preestablecida, el microcontrolador enciende el zumbador y éste hace sonar una alarma. Si la detección de cuatro vías no hace eco, interrumpe la aplicación, "-". Se mostrará "-", indicando que no hay obstáculos dentro de la distancia segura, y luego continuará la siguiente ronda de procesamiento de detección de bucle.
2 Diseño del circuito de hardware del sistema
2.1 Circuito de transmisión ultrasónica y recepción de eco
La función principal del circuito de transmisión ultrasónica y recepción de eco es mejorar la eficiencia de conducción del sensor ultrasónico La amplitud del voltaje del pulso realiza efectivamente la conversión eléctrica/acústica, aumenta la distancia de emisión de las ondas ultrasónicas y convierte las ondas ultrasónicas devueltas en señales eléctricas débiles a través del sensor ultrasónico integrado con el transceptor. El circuito de transmisión ultrasónica y recepción de eco se muestra en la Figura 2 (se dibuja un circuito y los otros tres circuitos son iguales).
El EFR40RS es un sensor ultrasónico cerrado (impermeable) con un transceptor integrado. Su frecuencia central F0 = (40,0 1,0) kHz, ancho de banda de -3 dB 1 kHz. El requisito de voltaje de conducción pico a pico es de 60 ~ 150 V. CD4052 es un interruptor analógico bidireccional de cuatro selecciones.
Los puertos P3.4 y P3.5 del microcontrolador emiten señales estroboscópicas, y el puerto P3.3 del microcontrolador emite una serie de voltajes de pulso de 40 kHz, que se agregan a la base del transistor del interruptor estroboscópico Q1 a través del canal X. de CD4052, y luego suba a través del transformador de pulso t 1 Presiónelo a aproximadamente 100 VP-P para accionar el sensor ultrasónico EFR40RS. La amplitud del voltaje del pulso durante el proceso de transmisión afecta directamente la distancia de alcance, por lo que se debe utilizar un transformador de pulso dedicado a ondas ultrasónicas. Las ondas ultrasónicas reflejadas se convierten en una serie de señales eléctricas pulsadas de milivoltios mediante el sensor ultrasónico original adjunto con transceptor integrado. Dado que la amplitud de la señal de eco es pequeña, los diodos VD3 y VD4 se apagan y la señal no formará un cortocircuito a través del devanado secundario del transformador T1. Los diodos VD1 y VD2 también están apagados, por lo que la señal de eco se envía al circuito de amplificación y conformación de la señal ultrasónica a través de R1 y C1 y el canal Y del CD4052. R1, VD1 y VD2 forman un circuito limitador bidireccional para evitar que señales grandes bloqueen o incluso dañen la amplificación ultrasónica y el circuito de conformación durante la transmisión.
2.2 Circuito de amplificación de señal eléctrica ultrasónica
El circuito de amplificación de señal eléctrica ultrasónica está compuesto por el circuito integrado CX20106A. CX20106A es un circuito integrado receptor de señal de control remoto por infrarrojos producido por Sony Corporation de Japón. Al configurar la frecuencia central f0 del circuito del filtro de paso de banda interno a 40 kHz a través de una resistencia externa, se puede recibir la señal ultrasónica amplificada y se puede moldear y emitir el voltaje del pulso negativo.
El circuito de aplicación se muestra en la Figura 3. El pin 1 es el extremo de entrada de la señal ultrasónica y la red en serie RC está conectada entre el pin 2 y tierra, que forma parte de la red de retroalimentación negativa del circuito preamplificador interno. El valor de la resistencia R5 determina la ganancia del circuito preamplificador. Cuando la resistencia de R5 disminuye, la retroalimentación negativa se debilita y el factor de amplificación aumenta; por el contrario, el factor de amplificación disminuye; El condensador de detección C3 está conectado entre el pin 3 y tierra. Cambiando apropiadamente el tamaño del condensador C3, se puede cambiar la sensibilidad y la capacidad antiinterferencia del circuito de amplificación y conformación de la señal ultrasónica. C3 tiene una gran capacitancia, baja sensibilidad y una fuerte capacidad antiinterferente; C3 tiene una pequeña capacidad, alta sensibilidad y una débil capacidad antiinterferente, lo que puede causar fácilmente un mal funcionamiento. Conecte una resistencia entre el pin 5 y el suministro para establecer la frecuencia central f0 del circuito del filtro de paso de banda interno.
Cuando R6 = 200kω, f0=40 kHz. Conecte un condensador integrador con un valor estándar de 330 pF entre el pin 6 y tierra. Si el valor de capacitancia es demasiado grande, la distancia de detección se acortará. El pin 7 es la salida de colector abierto del circuito y R7 es la resistencia pull-up para este pin. Cuando el circuito integrado CX20106A no tiene entrada de señal, el pin 7 emite un nivel alto. Cuando la señal ultrasónica de entrada se amplifica y se le da forma, el pin 7 genera un voltaje de pulso negativo.
2.3 Circuito de control del microcontrolador y circuito de visualización y alarma
El circuito se muestra en la Figura 4. Dado que no hay muchos puertos de entrada/salida del microcontrolador utilizados en el sistema, sin considerar la expansión de funciones, desde la perspectiva de funciones suficientes y bajo costo, el microcontrolador AT89C2051 se utiliza como dispositivo central del circuito de control. AT89C2051 MCU * * * tiene 20 pines, incluidos 15 puertos de E/S (P3.6 no tiene pines). Dos temporizadores/contadores de 16 bits son pequeños y económicos. Se utiliza un oscilador de cristal de alta precisión de 12 MHz para obtener una frecuencia de reloj estable y reducir los errores de medición. El puerto P3.3 del microcontrolador emite periódicamente una serie de pulsos rectangulares de 40 kHz, que se agregan periódicamente a los circuitos de transmisión ultrasónica y recepción de eco de cuatro canales a través del interruptor analógico CD4052 de dos canales cuatro de cuatro. Los puertos P3.4 y P3.5 del microcontrolador emiten la señal estroboscópica del interruptor analógico CD4052. El puerto P3.2 de la MCU es el terminal de entrada de la señal de solicitud de interrupción externa 0. El tubo digital LED de tres dígitos adopta una pantalla de escaneo dinámico. El punto decimal de U4 siempre está activado, la unidad de U4 es m, la unidad de U5 es dm y la unidad de U6 es cm. Se utiliza un zumbador activo como dispositivo de alarma, que tiene un bajo costo y facilita la programación del software de la pantalla de escaneo dinámico.
3 Diseño del software del sistema
El software del sistema adopta un diseño modular para facilitar la expansión y el trasplante. Programación en lenguaje ensamblador.
Hay un programa principal, un programa de servicio de interrupción T0, un programa de servicio de interrupción externa 0 y una subrutina de generación de ondas ultrasónicas.
3.1 Programa principal
El sistema tiene cuatro canales de alcance, que funcionan en tiempo compartido, en el orden de trasero izquierdo, trasero izquierdo, trasero izquierdo, trasero derecho, medio. Rango de ciclo trasero y trasero derecho. El tiempo que tarda cada canal en esperar la interrupción externa después de transmitir ondas ultrasónicas debe ser mayor que el tiempo de ida y vuelta de las ondas ultrasónicas dentro de la distancia máxima de detección efectiva. Por lo tanto, el tiempo del intervalo de ciclo más corto se puede estimar en función de la distancia de detección efectiva máxima. Debido a que la energía de propagación de las ondas ultrasónicas en el aire continuará atenuándose, existe una distancia de detección efectiva máxima para el alcance ultrasónico. Esta distancia máxima de detección efectiva está relacionada con muchos factores:
El rendimiento del sensor ultrasónico, la amplitud (potencia) del voltaje del pulso que impulsa el sensor ultrasónico, el tamaño y la forma del obstáculo, la onda Las características de absorción del obstáculo, el ángulo entre la onda reflejada y la onda incidente, la sensibilidad del circuito de amplificación y conformación ultrasónica y otros factores están relacionados. Establezca la distancia máxima de detección efectiva en 8 m (es difícil implementar un sensor ultrasónico cerrado con un transceptor integrado. De hecho, no es necesario detectar obstáculos distantes. Simplemente deje un margen en el diseño. Debido al número limitado de dígitos de la pantalla, la distancia máxima de detección también debe ser limitada), luego el tiempo de intervalo de operación del bucle TM = 2s/c = 2× 8/346a46ms, más el retraso para evitar recibir réplicas del sensor ultrasónico y el tiempo de ejecución del programa, dejando suficiente margen, Establezca Tm△56 ms.
El diagrama de flujo principal del programa se muestra en la Figura 5. El primero es inicializar el sistema. Los puertos p1.0 y P3.3 se establecen en 0; la pila está configurada y el bit de control maestro de habilitación de interrupción EA permite interrupciones (EA = 1 se permite la interrupción externa 0 (EX0 = 1), utilizando la activación por flanco (IT0); = 1); configure el temporizador T0 para permitir la interrupción (ET0 = 1), el tiempo es de aproximadamente 56 ms en el modo de trabajo de 16 bits, configure el temporizador T1 en tiempo/conteo, cuente el valor inicial 0000H y luego inicie la sincronización T0. Establezca el valor inicial de los datos de visualización en el código BCD de tres dígitos 999 (cm) y el código de segmento de fuente correspondiente mostrará "-". Una vez completado el procesamiento de detección de cuatro canales, el valor mínimo de los cuatro conjuntos de datos se envía al búfer de visualización y se muestra en el tubo digital LED. Al mismo tiempo, compare este valor con el valor establecido de 100 cm. Si el valor mínimo de los cuatro conjuntos de datos es inferior a 100 cm, el puerto P3.7 se establece en 0, el transistor Q2 se enciende, el zumbador activo se enciende y suena una alarma.
Dado que el microcontrolador utiliza un oscilador de cristal de 12 MHz y el ciclo de la máquina 1 es de 1 μs, cada recuento del contador es de 1 μs y el modo de funcionamiento del temporizador T1 está configurado en 16 bits. modo temporizador/contador Su temporización máxima es 65,536 ms. Dado que el temporizador T0 genera una interrupción cada 56 ms, la temporización de T65438 tarda aproximadamente 56 ms × 4 = 224 ms. Muy corto, la velocidad de marcha atrás es lenta y puede mostrarse dinámicamente en tiempo real.
3.2 Programa de servicio de interrupción T0
El flujo del programa de servicio de interrupción T0 se muestra en la Figura 6. Cada 56 ms, los siguientes circuitos de transmisión ultrasónica y recepción de eco se activan en el orden de atrás izquierdo → centro trasero izquierdo → centro trasero derecho → trasero derecho, y se llama a la subrutina de generación ultrasónica para enviar 16 voltajes de pulso ultrasónico de 40 kHz. El temporizador T1 comienza a cronometrar y el temporizador T0 comienza a cronometrar 56 ms, por lo que cada canal funciona durante 56 ms.
Para evitar aplicaciones de interrupción causadas por la recepción de la onda directa de réplica del sensor ultrasónico, interrupción externa 0 Se permite interrumpir después de un retraso de 2,8 ms y esperar a recibir la señal ultrasónica devuelta. Por lo tanto, la distancia mínima de detección (área ciega) Smin = CT/2 = 346× 0,002 8/2 △ 0,48m. Después de detectar cuatro rutas, la mínima de las cuatro rutas se envía al búfer de visualización.
En la detección de cuatro canales, si las ondas ultrasónicas emitidas por algunos caminos dentro del rango de detección efectivo no encuentran obstáculos o ecos, o la interrupción externa 0 no genera una señal de solicitud de interrupción, o ingresa a la zona ciega de detección, la solicitud de interrupción generada por La interrupción externa 0 no será aceptada, el temporizador T1 cuenta hasta el temporizador t 0 y genera una interrupción. En el programa de servicio de interrupción t 0, los cuatro conjuntos de datos configuran el código BCD de tres dígitos 999 (el valor máximo de los tres). El número decimal del dígito es 999 cm). Si los cuatro conjuntos de datos en el búfer de visualización son 999, el código de segmento de fuente correspondiente mostrará "--". Cuando comienza la marcha atrás, la pantalla digital LED mostrará "-". -" significa que no hay obstáculos dentro de la distancia segura; si suena la alarma y se muestra "-". -", significa que ha entrado en la zona ciega de detección.
3.3 Programa de servicio de interrupción externa 0
El proceso de interrupción externa del programa de servicio se muestra en la Figura 7. Una vez que el microcontrolador recibe la señal ultrasónica devuelta (es decir, el pin INT0 salta del nivel alto al nivel bajo), ingresa inmediatamente a la rutina de servicio de interrupción externa 0. Primero detenga el temporizador T1 y desactive la interrupción externa 0. Luego calcula el número n en el temporizador T1 según la fórmula S = CT/2 = (346 xn×10-6)/2 = 173 xn÷10000, que es el tiempo n (unidad: μs) utilizado para el viaje de ida y vuelta de la onda ultrasónica. Luego espere a que el temporizador T0 interrumpa 56 ms y continúe con el siguiente proceso de detección.
3.4 Subrutina de generación de ondas ultrasónicas
La subrutina de generación de ondas ultrasónicas envía 16 voltajes de pulso rectangulares de 25 μs a través del puerto P3.3 (es decir, en 1 ciclo, la frecuencia es de 40 kHz, alto El nivel alto dura 13 μs y el nivel bajo dura 12 μs). El número de ráfagas es de 10 a 20. Si hay muy pocos pulsos, la intensidad de la emisión será baja y la distancia de detección será corta; si hay demasiados pulsos, la duración de la transmisión será larga. Cuando la distancia al obstáculo es cercana, el eco generado por el primer pulso transmitido llegará al extremo receptor, afectando los resultados de medición y aumentando el área ciega de medición.
4. Análisis de la aplicación del implemento
La viabilidad del sistema ha sido estudiada y diseñada en condiciones de laboratorio, y en aplicaciones prácticas se deben considerar cuestiones de precisión de medición y estabilidad de trabajo. Por lo tanto, este sistema puede tomar varias medidas para mejorar la precisión de la medición y la estabilidad de trabajo.
(1) La velocidad de propagación de las ondas ultrasónicas está relacionada con la temperatura. Para satisfacer las necesidades de medición de distancia bajo diferentes temperaturas ambiente y mejorar la precisión de la medición, se puede agregar al circuito de hardware un enlace para detectar la temperatura ambiente fuera del vehículo. El microcontrolador calcula y determina la velocidad de propagación de las ondas ultrasónicas en función del valor de temperatura medido, es decir, c = 331,4 0,6lt es la temperatura ambiente. Alternativamente, sin aumentar los costos de hardware, al analizar datos experimentales, podemos descubrir las características y patrones de desviaciones entre los valores medidos y los valores reales, y corregir los datos medidos mediante programación de software.
(2) En el diseño del software, el programa de filtrado de promedio aritmético en el filtrado digital se utiliza para realizar múltiples mediciones continuas en cada punto de medición, y el valor promedio se toma como los datos de medición del punto de medición para mejorar la confiabilidad del muestreo de datos. Para minimizar la zona ciega de detección, el tiempo de retardo establecido se puede determinar en función del tiempo de vibración restante del sensor ultrasónico realmente utilizado, y el tiempo de retardo mínimo se puede determinar durante la depuración real.
(3) El radar de marcha atrás está instalado en el automóvil y el entorno de trabajo del radar de marcha atrás es muy duro. Cuando el automóvil da marcha atrás, el encendido de alto voltaje produce una fuerte radiación electromagnética, que afectará el funcionamiento normal del circuito. Por lo tanto, se deben considerar medidas antiinterferencias tanto en hardware como en software para mejorar la confiabilidad del sistema. Si el circuito está blindado con una carcasa metálica, utilice un cable blindado para conectar el sensor ultrasónico; si se cumple la distancia de medición, la capacidad del condensador de detección C3 en el circuito de amplificación y conformación de la señal ultrasónica se puede ajustar adecuadamente. Se puede agregar un circuito de vigilancia al hardware y redundancia de instrucciones, trampas de software o vigilancia de software al diseño del software para evitar que el programa se "desvíe" o entre en un bucle infinito. Para los conductores, la principal preocupación al dar marcha atrás es si hay obstáculos detrás del coche y a qué distancia están los obstáculos del coche. Debido a la inercia del coche al frenar, el conductor siempre debe frenar con antelación al dar marcha atrás y encontrarse con un obstáculo. Teniendo en cuenta la rentabilidad, no es necesario que la precisión de medición del radar de marcha atrás sea muy alta. Sin embargo, considerando la seguridad de dar marcha atrás, el valor mostrado medido en este momento no es tan pequeño sino grande.
5 Conclusión
Este sistema aprovecha al máximo los recursos internos del microcontrolador y utiliza programación de software para generar pulsos ultrasónicos rectangulares en lugar del circuito de generación ultrasónico del hardware, lo que ahorra costos de hardware. Se utilizan dispositivos integrados para lograr la recepción, amplificación y conformación ultrasónica, lo que evita el problema de autoexcitación de los circuitos de amplificación de alta ganancia compuestos por amplificadores operacionales integrados de múltiples etapas. Los experimentos muestran que el diseño es factible. Sin aumentar el costo del hardware, al mejorar el diseño del software, se puede mejorar la precisión de la medición y la confiabilidad del funcionamiento del sistema para cumplir con los requisitos de uso. Al considerar la expansión de funciones, puede usar el microcontrolador AT89S52 con vigilancia para agregar puertos de expansión. Sobre la base del alcance ultrasónico, si puede agregar la función de alarma antirrobo, la función de detección de voltaje de la batería del vehículo, etc. Si agrega una microcámara y una pequeña pantalla LCD, se convierte en un radar visual de marcha atrás que puede observar directamente la parte trasera del automóvil. Este sistema es práctico y rentable.