Sistema de motor de detección de sensor fotoeléctrico controlado por microcontrolador

Señor, ¿el interruptor fotoeléctrico que tiene aquí también se llama par fotoeléctrico (un tubo emisor de infrarrojos y un fototransistor con base interna)? Como se trata de un coche de seguimiento, elegí el rpr220 para poder cargar el diagrama del circuito.

Me gustaría agregar que el principio de un optoacoplador es similar al de un acoplador fotoeléctrico, excepto que en él están integrados un tubo luminoso y un tubo fotosensible. También vale la pena señalar que las especificaciones de. El optoacoplador es sólo para un cierto voltaje. No he oído hablar de ellos. Usar un optoacoplador es más sencillo que un triodo. De hecho, no se recomienda utilizar optoacopladores como controladores. Mi circuito usa l298n para accionar un motor de 12v.

Por cierto, hay un motor seguido de un capacitor en el diagrama del circuito, que se usa principalmente para regular la velocidad del motor. Sin embargo, mi motor tiene poca sensibilidad, por lo que agregar un capacitor actúa como un amortiguador. Este es el método de circuito típico del chip l298. Lo que no tiene.

Recientemente realicé el siguiente informe sobre las conclusiones del coche de seguimiento. . .

En realidad, el uso o no del aislamiento fotoeléctrico depende de la corriente del motor que estás conduciendo. Si la corriente es inferior a 1 A, no se requiere optoacoplamiento. . . El controlador del optoacoplador no parece funcionar y es inestable.

Lo mejor es hacer que el disco de código para medir la velocidad sea lo más denso posible; de ​​lo contrario, se producirán sacudidas durante el funcionamiento real y muchas otras razones, lo que hará que el error en el resultado sea muy grande, porque generalmente los interruptores fotoeléctricos Si tiene un condensador, incluso un pequeño temblor lo podrá sentir.

Seguimiento del automóvil

Productor: Li Jing

Al construir un automóvil, puede profundizar su dominio del control de microcontroladores y aprender el proceso de desarrollo del proyecto al mismo tiempo. tiempo.

El automóvil recorre una ruta determinada y tiene funciones como cronometraje, visualización del tiempo de carrera, cronometraje y medición aproximada de la distancia recorrida.

Primero,? Tareas de diseño:

1. Requisitos de diseño

(1) El vehículo de seguimiento automático comienza en el modo de configuración y el tiempo de funcionamiento se establece presionando el botón. Después de configurar la hora, presione el botón de inicio para arrancar el automóvil y mostrar el tiempo de funcionamiento actual.

(2) El automóvil conduce a lo largo de la ruta designada, distingue automáticamente entre la vía recta y la vía de desvío y gira en el desvío designado para lograr funciones flexibles de avance y giro.

(3) El automóvil se detendrá automáticamente después del tiempo preestablecido y el tubo digital mostrará el tiempo y la distancia caminando después de 3 segundos.

(4) Haga clic derecho para detenerse y finalizar antes, y mostrar el tiempo y la distancia caminando.

2. El principio del seguimiento del automóvil

El seguimiento aquí se refiere al automóvil que camina a lo largo de la línea negra sobre el piso blanco. El método habitual es la detección por infrarrojos.

El método de detección por infrarrojos utiliza las características de los rayos infrarrojos que tienen diferentes propiedades de reflexión en la superficie de objetos de diferentes colores cuando el automóvil está en marcha, los rayos infrarrojos se emiten continuamente al suelo. piso de papel blanco, se produce una reflexión difusa. La luz reflejada es recibida por el tubo receptor instalado en el automóvil; si encuentra una línea negra, la luz infrarroja será absorbida y el tubo receptor del automóvil no puede recibir la luz infrarroja. El microcontrolador determina la posición de la línea negra y la ruta a pie del automóvil en función de si recibe la luz infrarroja reflejada. La distancia de detección de los detectores de infrarrojos es limitada y generalmente no debe exceder los 3 cm.

¿Segundo,? Demostración de la solución:

De acuerdo con los requisitos de diseño, el sistema consta principalmente de un módulo controlador, un módulo de potencia, un módulo de sensor de seguimiento, un motor de CC y su módulo de accionamiento, y un módulo de comparación de voltaje.

Para realizar mejor las funciones de cada módulo, diseñamos varias soluciones y las demostramos respectivamente.

3.1 Diseño de la carrocería

Opción 1: Comprar un coche eléctrico de juguete. El vehículo eléctrico de juguete adquirido tiene el bastidor, las ruedas, el motor y su circuito de accionamiento completamente ensamblados. Sin embargo, en general, los vehículos eléctricos de juguete tienen las siguientes desventajas: En primer lugar, debido a su montaje compacto, la instalación de los distintos sensores necesarios resulta muy incómoda. En segundo lugar, este tipo de vehículos eléctricos suelen tener dirección delantera y tracción trasera, lo que no puede adaptarse al mapa cuadriculado de esta pregunta y no puede mantener fácil y rápidamente las coordenadas giradas 90 grados o incluso 180 grados. En tercer lugar, los motores de los vehículos eléctricos de juguete son en su mayoría motores de CC de juguete, que tienen un par pequeño, una velocidad rápida sin carga, un rendimiento de carga deficiente y dificultad para regular la velocidad. Y estos vehículos eléctricos suelen ser más caros. Entonces abandonamos el plan.

Opción 2: Fabricar tu propio coche eléctrico. Después de repetidas consideraciones y argumentaciones, formulamos un plan en el que las ruedas izquierda y derecha se accionan por separado y las ruedas universales delanteras se dirigen. Es decir, las ruedas izquierda y derecha son impulsadas por dos motores de CC con básicamente la misma velocidad y par, y se instala una rueda universal en la cabeza de la carrocería. Por lo tanto, puede realizar fácilmente un giro de 90 grados con las mismas coordenadas que el coche.

Durante el proceso de instalación nos aseguramos de que los dos motores de accionamiento sean coaxiales. Cuando el automóvil avanza, las ruedas motrices izquierda y derecha y las ruedas universales delanteras forman una estructura de tres puntos. Esta estructura hace que el automóvil se conduzca suavemente y puede evitar la situación en la que las ruedas traseras están demasiado bajas, lo que resulta en una fuerza motriz insuficiente de las ruedas motrices izquierda y derecha. Para evitar que el centro de gravedad del vehículo se desplace, las ruedas universales delanteras desempeñan un papel de apoyo.

En cuanto a la elección del material del marco, elegimos la aleación de aluminio a través de comparación. Los marcos hechos de aleación de aluminio son más resistentes que los de plástico y más livianos y hermosos que los automóviles de hierro.

3.2 Módulo controlador

Opción 1: Utilizar el microcontrolador stc 89c52 de stc Hongjing Company como controlador principal. Stc89c5 es un microcontrolador de 8 bits con bajo consumo de energía, alta confiabilidad, precio ultrabajo y alto rendimiento. El chip contiene 32k de espacio y se puede borrar repetidamente 100.000 veces. Con 32 puertos IO, el microcontrolador de la serie stc se puede programar y depurar en línea, lo cual resulta conveniente para descargar programas y depurar toda la máquina.

Desde el punto de vista de la comodidad, elegimos esta opción.

3.3 Módulo de alimentación

Opción 1: la batería de 12 V suministra energía al motor de CC, y el regulador y reductor de voltaje de 12 V suministra energía al sistema de microcontrolador y otros chips. La batería tiene una fuerte capacidad de conducción de corriente y un rendimiento de salida de voltaje estable. Aunque el tamaño de la batería es demasiado grande, es muy inconveniente usarla en un vehículo eléctrico pequeño, pero debido a que el diseño de nuestra carrocería deja suficiente espacio, el precio de la batería también es relativamente bajo. Entonces elegimos esta opción.

En resumen, elegimos este plan.

3.4 Módulo Estabilizador de Voltaje

Opción 1: Utilice 7805 para reducir directamente la presión y utilice un radiador grande. Aunque la estructura y el principio son simples, la corriente es demasiado grande, lo que hace que el circuito sea inestable y queme fácilmente el bloque estabilizador de voltaje. Abandonamos este plan.

Opción 2: Utilice dos 7805 para regular directamente el voltaje a 5 V. En teoría, debido a que la caída de voltaje es demasiado grande, es fácil quemar el bloque regulador de voltaje, por lo que se usan dos 7805 en paralelo. Sin embargo, hubo un problema de regalo en los dos bloques reguladores de voltaje, que luego se solucionó modificando el circuito. Al final elegimos esta opción.

3.5 Módulo de sensor de seguimiento

Opción 1: El detector fotosensible está compuesto por un fotorresistor. La resistencia del fotorresistor cambia con los cambios en la luz ambiental. Cuando la luz brilla sobre la línea blanca, la luz es fuerte, y cuando la luz brilla sobre la línea negra, la luz es débil. Entonces, cuando el fotorresistor está por encima de la línea blanca y la línea negra, la resistencia cambiará significativamente. Al comparar el valor de cambio de la resistencia, se pueden generar niveles altos y bajos.

Sin embargo, esta solución se ve muy afectada por la luz y no puede funcionar de forma estable. Entonces consideramos otras opciones más estables.

Opción 2: Utilizar tubo fotoeléctrico RPR220. RPR220 es un fotodetector reflectante integrado. Su emisor es un diodo emisor de luz infrarroja de arseniuro de galio y su receptor es un fototransistor plano de silicio de alta sensibilidad.

El RPR220 está empaquetado en DIP4 y tiene las siguientes características:

La lente de plástico puede mejorar la sensibilidad.

El filtro de luz visible incorporado reduce el impacto de la luz parásita.

Tamaño reducido y estructura compacta.

Cuando la luz emitida por el LED se refleja, pasa a través del chip de comparación de voltaje lm339, se compara con el mosfet y genera niveles altos y bajos. La sensibilidad de la unidad del sensor se puede ajustar ajustando el mosfet. El circuito de ajuste del tubo fotoeléctrico es simple y el rendimiento de trabajo es estable.

Así que elegimos la opción dos.

Módulo de Motor 3.6

Este sistema es un vehículo eléctrico inteligente. En el caso de los vehículos eléctricos, es muy importante elegir el motor impulsor de sus ruedas motrices. Debido a que este experimento tiene como objetivo lograr un posicionamiento preciso y una medición precisa de la ruta, consideramos de manera integral dos opciones.

Opción 1: Utilizar motor reductor DC.

Este motor reductor de CC tiene las ventajas de gran par, tamaño pequeño, peso ligero, montaje sencillo y fácil uso. Debido a que la potencia original la proporciona el motor interno de alta velocidad, puede impulsar el conjunto de engranajes de velocidad variable (reducción) y producir un mayor torque.

Debido a que utilizamos software para ajustar la velocidad del motor, el valor real es menor que esto.

Nota: Los valores teóricos se utilizan para los cálculos reales.

Puede cumplir mejor con los requisitos del sistema, por eso elegimos esta solución.

3.7 Módulo de accionamiento del motor

Opción 1: El chip de accionamiento del motor utiliza el chip dedicado L298N. L298N es un chip controlador de puente completo con alto voltaje y alta corriente, correspondiente a alta frecuencia. Un L298N puede controlar dos motores de CC respectivamente y también tiene un terminal de habilitación de control. El uso de este chip como controlador de motor tiene las ventajas de una operación fácil, buena estabilidad y excelente rendimiento.

Opción 2: Para motores de CC, el circuito de accionamiento está compuesto por componentes discretos. Los circuitos de accionamiento de motores compuestos por componentes discretos tienen una estructura simple y un precio bajo, y se utilizan ampliamente en aplicaciones prácticas. Pero el rendimiento de este circuito no es lo suficientemente estable.

Así que elegimos la opción 1.

¿Tercero,? Análisis y cálculo:

1 Diseño del módulo sensor

Así que consideramos utilizar un comparador.

La resistencia ajustable RV1 de la figura puede ajustar el mosfet del comparador, y la caída de voltaje de la batería que alimenta el circuito se ha verificado experimentalmente. Por lo tanto, elegimos este circuito como circuito de detección y acondicionamiento del sensor.

2. Instalación de tubos fotoeléctricos de seguimiento

Considerando los requisitos de diseño, este diseño solo requiere cuatro pares de sensores fotoeléctricos para completar los requisitos de diseño. Estos cuatro pares de sensores fotoeléctricos están dispuestos en. una línea recta. Los dos pares de sensores en el medio se utilizan para corregir la ruta de seguimiento del automóvil y garantizar la rectitud del automóvil. Los sensores en ambos lados se utilizan para detectar cuando el automóvil cruza la línea, lo que le permite girar.

4. Diseño del circuito de accionamiento del motor.

Utilizamos el chip controlador del motor L298N como controlador del motor. El diseño del circuito de accionamiento se muestra en la Figura 7:

Los pines 5, 7, 10 y 12 de L298N están conectados. al microcontrolador. Al programar el microcontrolador, se pueden realizar la regulación de velocidad PWM y las funciones de avance y retroceso de dos motores de CC. El diodo se utiliza aquí para liberar la energía eléctrica autoinducida en la bobina del motor.

El condensador c3 desempeña una función de amortiguación. Después de la prueba, al ajustar la velocidad, el motor de abajo recibe una corriente de pulso alta. Debido a que la sensibilidad del motor de CC no es muy buena, también consideramos usar pulsos de período largo, pero debido a que el escaneo del tubo digital será más lento, el tubo digital vibrará. Teniendo en cuenta consideraciones integrales, elegimos el condensador para que desempeñe un papel de amortiguación.

4. Diseño de distancia de medición

Utilizamos tubos fotoeléctricos para detectar las franjas blancas y negras de la rueda para calcular el ángulo de rotación de la rueda y medir indirectamente la distancia recorrida.

En el funcionamiento real, puede producirse deslizamiento de las ruedas, la superficie de la cinta de papel blanca y negra no es lisa ni desigual, el eje de la rueda no es firme y se sacude interna y externamente. Debido a que el rpr220 tiene un capacitor, reaccionará incluso ante cambios pequeños. La señal emitida por el sensor de prueba real es mucho mayor que la teórica. Cuando la carga de la batería es demasiado baja, este fenómeno será más inexacto e irregular (a veces grande, a veces pequeño). Incluso cuando la batería es suficiente, hay un gran error Más allá de cierta distancia, los resultados no tienen sentido, por lo que limitamos la distancia máxima estimada a unos 6 metros, por lo que este diseño es una distancia de medición aproximada.

¿Cuarto,? Diagrama de circuito general y lista de componentes

Después de repetidas discusiones, finalmente determinamos el siguiente plan:

(1) La carrocería del automóvil está hecha a mano con un marco de aleación de aluminio.

(2) El microcontrolador stc89c52 se utiliza como controlador principal.

(3) La batería de 12 V alimenta el motor de CC, y el voltaje de 12 V se reduce y regula mediante dos 7805 (con grandes disipadores de calor) en paralelo para alimentar el sistema de microcontrolador y otros chips.

(4) Utilice el dispositivo fotoeléctrico RPR220 para rastrear el tubo.

(5) Utilice L298N como chip controlador del motor de CC.

¿Verbo (abreviatura de verbo)? Implementación del software

3.1 Diagrama de flujo del programa principal

El diagrama de flujo del programa principal del software que diseñamos es el que se muestra en la figura:

Sexto,? Prueba:

Siete.? Innovación

Este trabajo mejora el método de conexión del comparador de voltaje lm339 para controlar la resistencia del mosfet. Se utiliza un reóstato unificado en lugar de conectar cuatro reóstatos, lo que facilita el ajuste de sensibilidad. También hay cambios en el circuito del sensor fotoeléctrico. El emisor y el colector están conectados directamente a la fuente de alimentación de 5 V para aumentar la corriente. Los experimentos han demostrado que cuando se enciende el triodo, la corriente no es suficiente para quemarlo.

La CC está conectada en paralelo con el condensador y el condensador c3 actúa como amortiguador. Después de la prueba, al ajustar la velocidad, el motor de abajo recibe una corriente de pulso alta. Debido a que la sensibilidad del motor de CC no es muy buena, también consideramos usar pulsos de período largo, pero debido a que el escaneo del tubo digital será más lento, el tubo digital vibrará. Al mismo tiempo, considere utilizar el escaneo de interrupción del reloj para actualizar el tubo digital, pero eso provocará interrupciones frecuentes (aproximadamente 50 ms), y la actualización del tubo digital llevará mucho tiempo (aproximadamente 24 ms). Teniendo en cuenta consideraciones integrales, elegimos el condensador para que desempeñe un papel de amortiguación.

8.? Sentimientos y experiencias

P0? Si desea usarlo como puerto IO, debe agregar una resistencia pull-up. Incluso si usa una resistencia pull-up, la capacidad de conducción no es muy buena. Este trabajo utiliza * * * tubos digitales catódicos, el diseño del circuito de accionamiento es relativamente complejo y los números no son lo suficientemente brillantes. Es mejor utilizar * * * tubos digitales de ánodo y controladores de triodo, que pueden ser mejores.

Dado que el microcontrolador escanea el tubo digital a alta frecuencia, se requiere que el ciclo del programa principal no sea demasiado largo al diseñar el programa. Esto es esencial para que nuestros automóviles realicen seguimiento, regulación de velocidad, sincronización,. La sincronización y el rango, el giro y otras funciones son muy exigentes. Después de una consideración exhaustiva, decidí que las funciones principales son solo actualizar el tubo digital y detectar la línea negra. El resto de las funciones deben manejarse mediante interrupciones y el tiempo de interrupción requerido no puede ser demasiado largo. Estos han hecho que mi programa tenga 350 líneas hasta ahora.

Originalmente, lo diseñamos para medir la distancia con precisión, pero los errores son inevitables. Debido a limitaciones de hardware y respeto por los hechos, bajamos nuestros estándares. Puede mejorar y ampliar aquí en el futuro.

Durante toda la fase de prueba, consideramos plenamente la continuidad y compatibilidad de las funciones del programa. Debido al límite de velocidad del microcontrolador 89c52 y la necesidad de una frecuencia de actualización en tiempo real del tubo digital, no podemos diseñar un automóvil con una velocidad demasiado alta. Después de repetidas pruebas y una consideración exhaustiva, adoptamos la solución actual.

9.? Conclusión

Basado en la premisa de cumplir con los requisitos de diseño, nuestro vehículo de seguimiento considera plenamente cuestiones como la apariencia y el costo, y logra un buen equilibrio entre rendimiento y precio. Debido a que los requisitos de diseño no son complejos, no agregamos funciones redundantes al circuito.

Debido al limitado nivel del autor, algunas de las opiniones son erróneas. Gracias por tus correcciones y consejos.

Agradecimiento especial a:

Por la orientación de los profesores y profesores de laboratorio, las sugerencias y orientación de personas mayores como Zhang y Huang, Wu Kuang y todos los miembros del equipo, sin usted. , no estaríamos donde estamos hoy.

¿Mayo de 2010?

Li Jing

Fragmento de programa

/************************ *********************

Función de actualización del tubo digital

********** ******* *******************************/

¿Anulado? display (uchar? qw, uchar? bw, uchar? sw, uchar? Gw) // función de visualización

{

P2 = 0x E0;

p 1 = tabledu[qw];

Retraso(6);

P2 = 0xd 0;

p 1 = tabledu[bw];

Retraso(6);

P2 = 0xb 0;

p 1 = tabledu[SW];

Retraso(6);

P2 = 0x 70;

p 1 = tabledu[GW];

Retraso(6);

P2 = 0x0f; /p>

}

/************************************ ******* ********

Función de inicialización de tareas

****************** ********** *******************/

¿Anulado? Init0 () Función de inicialización de la tarea 1

{

EA = 1;

EX0 = 1;

ex 1 = 1;

it 1 = IT0 = 1;

P0 = 0x00

bandera = 1;

Tío Ji = 0; p>

}

¿No es válido? Init()//Función de inicialización de la tarea 2

{

EA = 1;

TH0 =(65536-50000)/256 //Inicialización positiva 1; encimera.

TL0 =(65536-50000) 256

ET0 = 1;

TR0 = 1

ésimo 1 =(65536 -50000)/256; //Inicializa el contador 1 positivo.

TL 1 =(65536-50000) 256

et 1 = 1

tr 1 = 1

TMOD = 0x 11;

dsh =(qw * 10 bw)* 60; //

Tío Ji = 1; //

}

¿No válido? Su Jie()

{

if(bandera2==0)

{

bandera 1 = 1;

bandera 2 = 1;

CNT 1 = 0;

}

ET0 = 0

P0 = 0;

Monitor (ancho, ancho, ancho, ancho);

}