Quiero un diagrama de bloques esquemático y una descripción en lenguaje VHDL de un controlador de velocidad variable de motor, y necesito poder controlarlo en DDS.
Introducción al trabajo:
Este diseño utiliza el microcontrolador AT89C52 como núcleo de todo el control del sistema. El método PI incremental en el algoritmo PID se utiliza para controlar con precisión la velocidad del motor. El módulo de detección de infrarrojos se utiliza para recopilar la velocidad del motor y acondicionar la señal de retroalimentación como base para el control de circuito cerrado del motor. La interfaz hombre-máquina utiliza ZLG7290 para realizar el control de botones y la visualización de la velocidad del motor. 0?2?0?2 Las características principales de este diseño son:
● Circuito de visualización de interfaz I2C ZLG7290. ZLG7290 está equipado con procesamiento antirrebote del teclado para evitar errores al presionar los comandos del teclado. La interfaz I2C proporciona una señal de interrupción del teclado para facilitar la interfaz con el procesador.
● El circuito de ajuste de señal puede convertir la señal de retroalimentación en una onda cuadrada estándar para facilitar el ajuste de la velocidad.
● La mayoría de los programas se implementan mediante programación sin bloqueo. Se utiliza SuperLoop en la función principal para permitir que la función responda y se ejecute rápidamente. Se utilizan varias interrupciones como medios de control para mejorar el sistema. -tiempo de velocidad de respuesta.
● Su circuito agrega un sistema de control de circuito cerrado PID Cuando la carga cambia, el sistema ajustará automáticamente el ciclo de trabajo del terminal PWM para mantener estable la velocidad del motor.
1. Comparación de planes
1. Selección del controlador:
Opción 1: El controlador PID analógico realiza sus funciones a través del hardware (componentes electrónicos, neumáticos, hidráulicos).
Opción 2: Controlador PID digital, trasplantarlo al sistema de control por computadora y utilizar software para realizar las funciones del hardware original. En comparación con el controlador PID analógico, sus ventajas son: Gran flexibilidad y parámetros. Se puede ajustar en línea según los experimentos y la experiencia, y el rendimiento se puede controlar mejor.
Finalmente adoptamos la opción dos, porque la opción dos puede obtener un mejor rendimiento. La desventaja es que es más difícil controlar la precisión cuando el motor está a baja velocidad.
2. Elección de la solución del sensor de velocidad:
Opción 1: codificador rotatorio incremental: la relación entre la sincronización y la fase del disco de código de ángulo se convierte a través de los dos tubos receptores fotosensibles internos para obtener el ángulo del disco de código de ángulo. La cantidad de desplazamiento aumenta y disminuye. La ventaja es que puede generar ondas cuadradas de forma directa y precisa, con gran precisión, pero es caro.
Opción 2: para un sensor de luz general, se coloca un disco de código blanco y negro en el eje del motor para lograr el circuito de medición. Desventajas: su precisión de prueba es muy baja y la forma de onda generada en la unión. La irregularidad del blanco y negro aumenta el error de medición.
Opción 3: módulo especial del medidor de pulso MC-C2513, que utiliza un sensor fotoeléctrico directo de velocidad de luz dual para el muestreo. Este modelo de placa de muestreo de pulso tiene principalmente las siguientes funciones: puede eliminar eficazmente los errores de fluctuación, y es fácil de detectar al recolectar pulsos. El número de pulsos puede estar contado en exceso o en defecto debido a la fluctuación del tocadiscos y al encendido/apagado. Hay una variedad de anchos de pulso de salida para elegir, que pueden determinar automáticamente la dirección de rotación del plato giratorio y emitir señales de pulso directo y señales de pulso inverso, respectivamente. Y el precio es relativamente barato.
3. Selección de microcontrolador:
Opción 1: el microcontrolador de la serie 51, el AT89C52 más utilizado, tiene la ventaja de una estructura interna simple y un precio bajo. La desventaja es que no tiene función de salida PWM y utiliza un temporizador. cooperar con el software.
Opción 2: microcontrolador de la serie AVR Las funciones de temporización y contador del microcontrolador AVR están muy mejoradas y hay 3 puertos de salida PWM. La estructura interna del microcontrolador AVR tiene canales de hardware que pueden generar directamente señales de onda cuadrada.
Finalmente adoptamos la opción uno porque AT89C52 es el dispositivo con el que estamos más familiarizados y se puede controlar y depurar fácilmente.
4. Circuito de visualización de velocidad:
Opción 1: transmisión por bus I2C ZLG7290 La ventaja es que tiene una interfaz serie I2C y proporciona una señal de interrupción del teclado para facilitar la interfaz con el procesador. Se ha agregado un contador combinado y la tecla de un solo clic y la tecla combinada se pueden distinguir leyendo el valor de este registro. Se ha agregado un registro de función para ampliar el número de teclas presionando más de 2 teclas al mismo tiempo.
Opción 2: circuito 8279. La desventaja es que no hay transmisión de bus I2C, se requieren muchos dispositivos periféricos, el control es problemático y la relación precio/rendimiento no es alta.
Finalmente adoptamos la opción uno porque ZLG7290 I2C ocupa menos puertos de E/S y es fácil de controlar.
5. Módulo de regulación de velocidad del variador del motor:
Opción 1: utilice una red de resistencias o un potenciómetro digital para ajustar el voltaje parcial del motor para lograr la regulación de velocidad. Sin embargo, la red de resistencias sólo puede lograr una regulación de velocidad paso a paso y los componentes de resistencia digitales son relativamente caros. El problema más importante es que la resistencia de un motor general es muy pequeña, pero la corriente es muy grande. La división de voltaje no solo reduce la eficiencia, sino que también es difícil de implementar.
Opción 2: Utilice un relé para controlar el encendido o apagado del motor y ajuste la velocidad del motor cambiando el interruptor. La ventaja de esta solución es que el circuito es relativamente simple, pero la desventaja es que el tiempo de respuesta del relé es lento, la estructura mecánica se daña fácilmente y la confiabilidad es pobre.
Opción 3: Utilizar un circuito PWM tipo H compuesto por tubos Darlington. Se utiliza un microcontrolador para controlar el tubo Darlington para que funcione en un estado de conmutación con un ciclo de trabajo ajustable y para ajustar con precisión la velocidad del motor. Este tipo de circuito es muy eficiente porque funciona en el modo de corte de saturación del tubo. El circuito tipo H garantiza que la velocidad y la dirección se puedan controlar fácilmente y tiene una estabilidad extremadamente fuerte. Es una regulación de velocidad PWM ampliamente utilizada. Tecnología y puede soportar una gran capacidad de carga.
Opción 4: Utilice el chip controlador de motor especial L298N para un fácil control.
Finalmente utilizamos la opción 4. Las ventajas de esta elección son menos componentes periféricos, circuito simple y control conveniente.
6 Comparación de ideas de diseño de software:
Opción 1: idea de programación de bloqueo, cuando se necesita un retraso, se usa un bucle for y cuando se requiere un estado de espera, se usa un bucle while , esto provocará una gran pérdida de tiempo de CPU e incluso el sistema no responderá.
Opción 2: Utilizar ideas de programación sin bloqueo. Es decir, se omiten algunas posiciones que deben juzgarse para lograr una respuesta del sistema en tiempo real.
Adoptamos la opción 2, que puede reducir el tiempo de respuesta y mejorar la eficiencia del código.
7 Comparación de algoritmos PID digitales:
Opción 1: Algoritmo posicional. Su cantidad de control de salida corresponde a la salida del sistema, que es la salida completa. Por lo tanto, cada salida está relacionada con el estado anterior y la cantidad de cálculo es grande
Opción 2: algoritmo incremental. Solo genera el incremento de la cantidad de control. En comparación con el algoritmo posicional, tiene sus ventajas: 1. En el algoritmo incremental, el error de cálculo de la cantidad de control es muy pequeño. 2 Puede lograr una conmutación sin impacto. 3 Alta confiabilidad.
Finalmente adoptamos la opción 2 porque el método de cálculo incremental es mucho más pequeño que el método posicional y se usa ampliamente.
2. Diseño y demostración
Después de una cuidadosa discusión y comparación, decidimos el plan final para cada módulo principal del sistema de la siguiente manera:
(1 ) Módulo de regulación de velocidad del motor: utiliza el chip controlador de motor especial L298N
(2) La selección del controlador es: AT89C52.
(3) El sensor que mide la velocidad es: sensor fotoeléctrico de infrarrojos.
(4) El teclado y los módulos de circuito de visualización de velocidad utilizan el circuito ZLG7290 I2C.
1. Diseño de software del sistema
① Este programa utiliza el método de control PI incremental en el método de control PID, que puede hacer que el motor alcance efectivamente un estado estable.
② Implementó la parte de juego 1
③ Al realizar la parte de juego 3, se utilizó un algoritmo difuso, es decir, un momento que cambia linealmente (es decir, un "momento aditivo constante" (similar a un "momento aditivo constante") se utilizó el concepto de "aceleración"))
Acelera un objeto y prueba el tiempo necesario para alcanzar la velocidad objetivo, determinando así el momento de inercia del objeto.
Consultando la tabla, determine el coeficiente de control PID bajo diferentes cargas constantes, logrando así un tiempo de respuesta transitorio más rápido sin provocar que el sistema del motor entre.
④ Este programa está programado en lenguaje C. El programa es simple y fácil de entender. La mayoría de los programas se implementan mediante programación sin bloqueo y se utiliza en la función principal para permitir que la función responda. rápidamente y la ejecución utiliza varias interrupciones como medio de control para mejorar la velocidad de respuesta en tiempo real del sistema; utiliza una jerarquía de archivos distinta, y cada jerarquía está relativamente aislada, lo que favorece la claridad de las ideas durante la programación; y las funciones siempre se utilizan. Todos los datos comienzan con una letra mayúscula y todos los datos comienzan con una letra minúscula.
3. Diseño e implementación de otras funciones:
⑴ El valor teórico y el valor real de la velocidad del motor se pueden mostrar al mismo tiempo para una fácil comparación y precisión de control.
⑵ La dirección de rotación del motor se puede mostrar mediante la dirección de un LED, lo que hace que la indicación sea más clara.
⑶ Al realizar la curva en la parte (1), la velocidad de rotación se puede mostrar en el LED, que puede mostrar la relación entre la velocidad de rotación y el tiempo en detalle.
⑷ Al realizar la parte de rendimiento (3), la velocidad cambia repentinamente de 120 rpm a 400 rpm y el tiempo requerido es obviamente de 5 segundos. Complete los requisitos de la pregunta.
⑸ Lograr que la resolución de velocidad del motor alcance 1 rpm.
⑹ (1) (3) de la parte de juego se puede realizar presionando un botón. Y muestre su número de pregunta a través del LED.
3. Análisis teórico y cálculo (omitido)
4. Diagrama de circuito y documentos de diseño relacionados (omitidos)
5. p>⒈ Equipo de prueba: osciloscopio digital de 20M, frecuencímetro
2. Análisis de los resultados de la prueba:
(1) Mediante la implementación del algoritmo PID, la precisión del control de velocidad del motor casi alcanza el estado ideal. Sin embargo, cuando la velocidad del motor es inferior a 70 rpm, la precisión del control. Disminuye y la precisión del control disminuye. La razón principal por la que no puede cumplir con los requisitos de la pregunta es: debido a que la medición es una medición dinámica, el motor ajusta constantemente la velocidad y el motor tiene una fluctuación obvia.
(2) Bajo carga constante, el tiempo de respuesta en estado estable cuando la velocidad del motor cambia repentinamente de 120 rpm a 400 rpm es obviamente inferior a 0,5 segundos.
(3) El circuito es muy Ahora hemos completado la parte de juego (1) y la rotación hacia adelante y hacia atrás del motor.
(4) Usamos la rotación en sentido horario y antihorario del LED para representar la rotación hacia adelante y hacia atrás del motor al implementar la parte de rendimiento, mostramos el número de pregunta correspondiente en el LED cuando el motor; está sobrecargado, se muestra un error "E" en el LED. Las anteriores son nuestras innovaciones características.
⑸ Después de promediar múltiples mediciones, la precisión de control del motor alcanza ≤1% de la parte funcional.
6. Resumen del diseño
⑴ Originalmente se planeó utilizar el módulo especial del medidor de pulso MC-C2513 para medir la velocidad del motor. Después de las pruebas, se descubrió que cuando la señal es superior. 10 hz, el chip de procesamiento del codificador se filtrará, lo que no es adecuado para uso en circuito. Entonces, encontramos el dispositivo de transmisión y recepción de infrarrojos que fue desmontado e hicimos un sensor nosotros mismos. Después de conectar el motor y el disco codificador, lo implementamos a través del circuito de ajuste de señal.
⑵ A través de este experimento, aprendimos y aplicamos bien la idea de programación sin bloqueo, lo que mejoró enormemente la eficiencia de ejecución del código. También aprendí el algoritmo de control PID para hacer más preciso el control del motor, el módulo de visualización del teclado, la optimización del circuito de accionamiento del motor, etc. Este circuito también se puede mejorar mejor. La pantalla LCD se puede utilizar para controlar el menú de visualización y tener una mejor interfaz hombre-máquina.
⑶ Cuando ajustamos el coeficiente PID, la forma de onda retroalimentada por el sensor cuando el motor está a baja velocidad (≤70 rpm) es extremadamente inestable. Por lo tanto, si el coeficiente PID debe satisfacer tanto la velocidad alta como la velocidad. Baja velocidad, es muy difícil. Por lo tanto, terminamos usando un método paso a paso analógico manual para controlar la velocidad del motor de CC a bajas velocidades.
⑷ La desventaja de este diseño es que es difícil controlar la precisión del motor a baja velocidad. Sin embargo, los requisitos se pueden cumplir si se usan múltiples conjuntos de coeficientes PID, es decir, un conjunto de coeficientes PID se usa a alta velocidad y otro conjunto de coeficientes PID se usa a baja velocidad. También puede utilizar la simulación manual para controlar la velocidad de un motor paso a paso a bajas velocidades como este diseño. Este método de simulación consiste en fijar el ciclo de trabajo PWM y dejar que el motor gire. Cuando el microcontrolador detecta el número preestablecido de pulsos, retrasa el motor y controla la velocidad cambiando la duración del retraso.