Diseño de rotación hacia adelante y hacia atrás basado en control STM32 de aceleración y desaceleración de motores DC (programa + simulación + informe + explicación)

# Este diseño se basa en el control STM32 del diseño de aceleración y desaceleración del motor de CC hacia adelante y hacia atrás (programa + simulación + informe + explicación)
Simulación: proteus8.9
Compilador de programas: keil 5
Lenguaje de programación: lenguaje C
No. C0011

Vídeo explicativo:

Función descriptiva:

Este diseño consta de STM32F103, circuito de accionamiento del motor L298N y circuito de botón.
1. El motor se puede controlar presionando los botones, rotación hacia adelante, rotación hacia atrás, aceleración, desaceleración y parada.
2. Hay 4 marchas y puede avanzar, retroceder, acelerar, desacelerar y detenerse en secuencia.
3. La posición del engranaje se puede personalizar.
Viene con artículos relacionados, uno está escrito en base al objeto real (básicamente consistente con la función de simulación) y el otro está escrito en base a la simulación.

Informe de apertura

Diseño de simulación Proteus basado en STM32 para controlar la aceleración, desaceleración y rotación hacia adelante y hacia atrás del motor de CC

1. Antecedentes y objetivos de la asignatura

En la tarea principal de este curso, diseñaremos un sistema de control de motor de CC basado en el microcontrolador STM32. El sistema será diseñado y verificado a través del software de simulación Proteus para lograr el control de avance, retroceso, aceleración, desaceleración y parada del motor. El sistema de control será operado a través de botones y tiene funciones de control de 4 niveles.

Nuestro objetivo es verificar la viabilidad y eficacia del sistema de control STM32 a través del diseño de simulación Proteus y profundizar la comprensión y aplicación de microcontroladores, circuitos de accionamiento de motores y circuitos de botones.

2. Métodos de investigación

Utilizaremos un método que combina análisis teórico y verificación de simulación, primero diseñaremos el circuito a través del software Proteus y luego implementaremos las funciones requeridas a través del control de programación. Los pasos específicos son los siguientes:

Diseñe el circuito en Proteus: incluyendo el microcontrolador STM32F103, el circuito de accionamiento del motor L298N y el circuito de botones.
Escriba un programa: utilice lenguaje C para escribir un programa y controlar el avance, retroceso, aceleración, desaceleración y parada del motor a través del puerto GPIO del microcontrolador.
Prueba de simulación: ejecute el programa en Proteus y pruebe la función de control del motor mediante operaciones clave.
3. Resultados esperados

Esperamos que a través de los métodos de investigación anteriores, podamos lograr los siguientes resultados esperados:

El control de avance, retroceso, aceleración, desaceleración y parada del motor se puede realizar mediante botones.
Tiene una función de control de 4 velocidades, que puede realizar el ciclo de control de rotación hacia adelante, rotación hacia atrás, aceleración, desaceleración y parada a través de la secuencia de teclas.
Verificar la viabilidad y efectividad del sistema de control STM32 mediante simulación Proteus.
4. Disposición experimental

Estimamos que tomará un mes completar las tareas principales de este curso. Las primeras dos semanas se utilizarán principalmente para el diseño y programación de circuitos, la tercera semana para pruebas de simulación y la cuarta semana para análisis de resultados y redacción de informes.

5. Materiales y métodos experimentales.

Los materiales experimentales incluyen:

Microcontrolador STM32F103
L298N circuito de accionamiento del motor
circuito clave
software de simulación Proteus
Los métodos experimentales incluyen:

Diseñar circuito,
escribir programa,
simular prueba
6. Pasos experimentales y registro de datos.

Los pasos experimentales son los siguientes:

Diseñar el circuito en Proteus.
Utilice el lenguaje C para escribir programas.
Ejecute el programa en Proteus.
Pruebe la función de control del motor mediante operaciones clave.
Registre los datos experimentales.
Analizar los resultados experimentales.
Redacción de informes.
Los registros de datos incluyen:

Registro de operación clave: registra el tiempo, la secuencia y el resultado de la operación clave.
Registro del estado del motor: registre los cambios de estado del motor, incluida la rotación hacia adelante, la rotación hacia atrás, la aceleración, la desaceleración y la parada.
Registro de resultados de simulación de Proteus: registra los resultados de la prueba de simulación, incluido el estado del motor y los cambios en las señales de control.
7. Conclusión experimental y discusión.

Después del experimento, analizaremos y discutiremos los datos y resultados experimentales para sacar conclusiones experimentales. Las posibles conclusiones incluyen:

Realice con éxito el control de avance, retroceso, aceleración, desaceleración y parada del motor.
Realizó con éxito la función de control de 4 velocidades.
La viabilidad y eficacia del sistema de control STM32 se verificaron mediante simulación Proteus.
La discusión experimental incluirá un análisis de los problemas y dificultades encontrados durante el experimento, así como direcciones y sugerencias para futuras mejoras.

Diagrama de simulación (archivo fuente proporcionado):

Nueva simulación 1

Nueva inversión de simulación

Nueva simulación de transferencia real.

3.1 Análisis funcional del sistema y diseño de arquitectura
3.1.1 Análisis funcional del sistema
Este diseño consta de un circuito de placa central del microcontrolador STM32F103R6 + un circuito de accionamiento del motor L298N + un circuito de botón + un circuito de fuente de alimentación.
1. El motor se puede controlar presionando los botones, que incluyen rotación hacia adelante, rotación hacia atrás, aceleración, desaceleración y parada. Hay 8 marchas.
2. Presione las teclas en secuencia para girar hacia adelante, retroceder, acelerar, desacelerar y detener.
3.1.2 Estructura general del sistema

3.2 Diseño del circuito del módulo
3.2.1 Diseño del circuito central del microcontrolador STM32
El procesador de la serie STM32 es un microcontrolador de 32 bits basado en la arquitectura ARM 7 producida por STMicroelectronics que admite simulación y seguimiento en tiempo real. Se eligió este chip de control porque el diseño de este sistema no persigue el menor costo o el menor consumo de energía, pero bajo la premisa de realizar las funciones de diseño, puede proporcionar interfaces y funciones más ricas para facilitar el diseño del sistema experimental requerido por cada proyecto experimental. .Circuito de expansión periférica. Este chip de control es relativamente fácil de comenzar después de completar el curso de microcontrolador, se usa ampliamente en dispositivos médicos y tiene un buen valor de aprendizaje e investigación experimental.
1. Las principales ventajas de STM32:
(1) Uso de la arquitectura más reciente y avanzada del núcleo Cortex-M3 de ARM
(2) Excelente rendimiento en tiempo real
(3) Excelente control del consumo de energía
(4) Periféricos sobresalientes e innovadores
(5) Grado máximo de integración
(6) Fácil de desarrollar, lo que permite que los productos ingresen al mercado rápidamente
2. STM32: la mejor opción de plataforma
STM32 es la mejor opción para usar la misma plataforma para el desarrollo de múltiples proyectos:
(1) Desde aplicaciones que requieren solo una pequeña cantidad de memoria y pines hasta aplicaciones que requieren más memoria y pines
(2) Desde aplicaciones que exigen rendimiento hasta aplicaciones alimentadas por batería
(3) Desde aplicaciones simples y económicas hasta aplicaciones de alta gama
(4) La gama completa de pines a La compatibilidad con pines, periféricos y software le ofrece una flexibilidad total. Puede actualizar su aplicación a una especificación que requiera más espacio de almacenamiento o optimizarla para usar menos espacio de almacenamiento o cambiar a un paquete diferente sin tener que modificar su marco y software originales.
El diagrama del circuito de interfaz de la placa central del microcontrolador STM32F103C8T6 se muestra en la siguiente figura.

3.2.2 Diseño del circuito del módulo controlador de motor L298N
Este módulo controlador L298N utiliza el chip L298N de ST. L298N es un chip controlador de motor de doble puente H. Cada puente H puede proporcionar una corriente de 2 A. El rango de voltaje de la fuente de alimentación de la parte de potencia es 2,5-48v, la parte lógica funciona con 5v y acepta el nivel 5vTTL. Este módulo puede accionar directamente dos motores de CC de 3-30 V y proporciona una interfaz de salida de 5 V, que puede alimentar el sistema de circuito del microcontrolador de 5 V y controlar cómodamente la velocidad y dirección del motor de CC.
1. Parámetros del producto:
(1) Chip controlador: chip controlador de puente H dual L298N
(2) Con protección de rueda libre de diodo
(3) La velocidad del motor de CC se puede controlar mediante PWM
(4) Rango de fuente de alimentación del terminal de la parte impulsora VMS: +5V~ +35 V
(5) Corriente máxima de la parte del variador Io: 2 A/puente
(6) Rango de fuente de alimentación del terminal de la parte lógica Vss: 4,5-5,5 V
(7) Rango de corriente de trabajo de la parte lógica: 0 ~ 36 mA
(8) Rango de voltaje de entrada de la señal de control: Alto voltaje Plano 4,5-5,5 V Nivel bajo 0 V
(9) Consumo máximo de energía: 20 W
(10) Temperatura de almacenamiento: -25 ℃~+130 ℃
2. Precauciones para usar el módulo de control del motor
(1) Observe el indicador de alimentación verde al encender por primera vez Compruebe si la lámpara L5 está encendida. De lo contrario, corte la alimentación inmediatamente y compruebe si la fuente de alimentación está conectada al revés.
(2) El controlador es un dispositivo de energía, así que mantenga la disipación de calor y la ventilación en el ambiente de trabajo; después de conectar el motor, déjelo funcionar continuamente durante un período de tiempo y observe que el aumento de temperatura del motor y el chip del controlador es normal. antes de su uso posterior.
3. Descripción de la interfaz del módulo de accionamiento del motor:
(1) Interfaz de entrada de alimentación del accionamiento del motor: VMS está conectado al polo positivo, GND está conectado al polo negativo
(2) Interfaz entre el controlador y el puerto de control: cuando se controla un motor de CC, IN1, IN2 y ENA son un grupo. Controlan el motor A y están conectados a A+ y A-. Si el motor A no está controlado, ENA puede dejarse flotando ; si el motor A Control, entonces ENA está conectado a una salida PWM. IN3, IN4 y ENB son un grupo. Controlan el motor B y están conectados a B+ y B-. Si el motor B no está controlado, el ENB se puede dejar flotando; si el motor B está controlado, el ENB se conecta a una salida PWM.
4. Tabla de verdad de la señal de control del motor de CC
Tomando el motor A como ejemplo, nivel alto H: nivel bajo:
función de señal de entrada L
: IN1=H; IN2=L: el motor A gira hacia adelante
IN1=L; IN2=H: el motor A retrocede
ENA=H; IN1=IN2: parada de emergencia del motor A
ENA=L; IN1=X; IN2=X: cualquier nivel del motor A se detiene por inercia.
El módulo de accionamiento de motor L298 tiene un rendimiento estable y confiable y cumple con los requisitos de diseño. El diagrama de interfaz del módulo se muestra en la siguiente figura.
Insertar descripción de la imagen aquí

Diagrama de interfaz del módulo de control de motor L298N
El diagrama esquemático del circuito interno del módulo de control de motor L298N se muestra en la siguiente figura. P1 es la entrada de alimentación principal, GND y la interfaz de salida de alimentación de 5 V CC. La fuente de alimentación total reduce el alto voltaje a 5 V a través del chip estabilizador de voltaje L7805CV. L7805CV es un regulador de voltaje positivo con un voltaje de salida de 4,75-5,25 V, un voltaje de entrada máximo de 35 V, una corriente de salida máxima de 1,5 A y un Corriente de reposo de 4,2-8 mA. Todos C1-C4 desempeñan un papel de filtrado para hacer que el voltaje sea más estable. P3 y P4 son interfaces de motor. Los diodos D1-D8 desempeñan una función protectora para evitar que la fuerza electromotriz inducida inversa generada por el motor dañe el L298N. P2 es el pin de control, D9-D13 son indicadores de señal y las resistencias relevantes desempeñan un papel limitador de corriente para proteger las luces LED.

Programa fuente (archivos fuente proporcionados):

char dis0[6] = "Dir:+";   //暂存
char dis1[6] = "Dir:-";   //暂存
char dis2[16] = "";   //暂?
char dis3[] = "RUN ";   //暂存?
char dis4[] = "STOP";   //暂存
unsigned  char rekey = 0; //按键防止抖动
unsigned char contNum = 0; //循环计数
int main(void)
{
    
    
  
    delay_init();            //延时函数初始化
  
//    uart_init(9600);        //串口初始化为115200
    //  uart2_init(9600)    ;
    TIM3_Int_Init(10, 7199); //定时器
    LED_Init();             //初始化与LED连接的硬件接口
    KEY_Init();
    Lcd_GPIO_init();
    Lcd_Init();
    IN1 = 1;        //方向控制
    IN2 = 0;
    pwmRigh = 0;    //pwm调整,电机转速调整

    Lcd_Puts(0, 0, (unsigned char *)dis0);
    sprintf(dis2,"SPEED:%d",pwmRigh);
    Lcd_Puts(0, 1, (unsigned char *)dis2);
     Lcd_Puts(8, 0, (unsigned char *)dis3);

    while(1)
    {
    
    
        if((key1 == 0) || (key2 == 0) || (key3 == 0) || (key4 == 0) || (key5 == 0))      //检测到按键按下
        {
    
    
//            delay_ms(1);   //小抖动仿真不需要加
            if(rekey == 0)
            {
    
    
                if(key1 == 0)  //检测是否按下
                {
    
    

                    rekey = 1;
                    IN1 = 1;        //方向控制
                    IN2 = 0;                   
                    Lcd_Puts(0, 0, (unsigned char *)dis0);
                     Lcd_Puts(8, 0, (unsigned char *)dis3);
                }
                else if(key2 == 0) //设置值键
                {
    
    
                    rekey = 1;
                    IN1 = 0;        //方向控制
                    IN2 = 1;
                    Lcd_Puts(0, 0, (unsigned char *)dis1);
                     Lcd_Puts(8, 0, (unsigned char *)dis3);
                }
                else if(key3 == 0) //设置值键
                {
    
    
                    rekey = 1;
                    if(pwmRigh < 8)pwmRigh = pwmRigh + 2; //pwm 调速
                    sprintf(dis2,"SPEED:%d",pwmRigh/2);
                    Lcd_Puts(0, 1, (unsigned char *)dis2);
                }
                else if(key4 == 0) //设置值键
                {
    
    
                    rekey = 1;
                    if(pwmRigh >= 2)pwmRigh = pwmRigh - 1; //pwm 调速
                    sprintf(dis2,"SPEED:%d",pwmRigh/2);
                    Lcd_Puts(0, 1, (unsigned char *)dis2);
                }
                else if(key5 == 0) //设置值键
                {
    
    
                    rekey = 1;
                    IN1 = 0;        //方向控制
                    IN2 = 0;
                    Lcd_Puts(8, 0, (unsigned char *)dis4);
                }
            }
        }
        else
        {
    
    
            rekey = 0;  //防止重复检测到按键
        }
        delay_ms(10);
    }
}

Insertar descripción de la imagen aquí

Lo siguiente es parte del programa, el programa completo está disponible en el enlace de descarga:

Informe de tesis:

Artículos relacionados con objetos físicos:

Insertar descripción de la imagen aquí

Artículos relacionados con la simulación:
Capítulo 1 Introducción
1.1 Antecedentes del tema y su importancia
El motor de CC tiene un buen rendimiento de arranque y frenado, se puede usar para un control suave en una amplia gama y también se puede usar ampliamente en muchas aplicaciones que requieren control o avance y marcha atrás En el campo del arrastre eléctrico. Desde una perspectiva de control, el control de CC es la base del sistema de accionamiento de CA. La mayoría de los primeros sistemas de control se basaban en circuitos analógicos, incluidos amplificadores operacionales, circuitos integrados no lineales y una pequeña cantidad de circuitos digitales. La parte de hardware del sistema de control era relativamente compleja y de funcionamiento simple, y el sistema de software era inflexible y difícil. para depurar No es propicio para el desarrollo y el alcance de aplicación de la tecnología de control de motores de CC. Con el rápido desarrollo de la tecnología de control de microcontroladores, se han completado muchos algoritmos y software de funciones de control, lo que proporciona un mayor espacio de desarrollo para el control de motores de CC y permite que el sistema alcance un mayor rendimiento. El uso de una microcomputadora de un solo chip para formar un sistema de control puede ahorrar recursos humanos y reducir los costos del sistema, mejorando así efectivamente la eficiencia del trabajo.
El sistema de control tradicional utiliza componentes analógicos. Aunque cumple con los requisitos de producción, la confiabilidad operativa del sistema se ve comprometida porque los componentes son propensos a envejecer y se ven fácilmente afectados por interferencias durante el uso, y los circuitos son complejos. El efecto de control se ve afectado. depende de factores como el rendimiento del dispositivo y la temperatura, y no se puede garantizar la precisión e incluso pueden producirse accidentes.
En la actualidad, la digitalización de los sistemas de control de motores de CC se ha vuelto práctica. Con el rápido desarrollo de la tecnología electrónica, el control de motores de CC se ha transformado gradualmente de analógico a digital. En particular, la aplicación de la tecnología de microcomputadoras de un solo chip ha traído la tecnología de control de motores de CC. En una nueva etapa de era, la inteligencia y la alta confiabilidad se han convertido en sus tendencias de desarrollo. Por lo tanto, lograr el control continuo de DC es de gran importancia para nuestra producción y vida social.
1.2 Estado de la investigación en el país y en el extranjero
Los motores de CC tienen un buen rendimiento de arranque y frenado y son adecuados para un control suave en un amplio rango. Se han utilizado ampliamente en muchos campos de accionamiento eléctrico que requieren control o direcciones rápidas de avance y retroceso. Desde el punto de vista del control, el control DC es también la base de los sistemas de accionamiento AC. El control de los primeros motores de corriente continua se basaba en circuitos analógicos, utilizando amplificadores operacionales, circuitos integrados no lineales y un pequeño número de circuitos digitales. La parte hardware del sistema de control era muy compleja y tenía una única función. El sistema también era muy inflexible y Difícil de depurar, lo que obstaculizó el desarrollo de motores de CC. Desarrollo de tecnología de control de motores y promoción del alcance de la aplicación. Con el rápido desarrollo de la tecnología de microcontroladores, muchas funciones y algoritmos de control se pueden completar utilizando tecnología de software, lo que proporciona una mayor flexibilidad para el control del motor de CC y permite que el sistema alcance un mayor rendimiento. El uso de una microcomputadora de un solo chip para formar un sistema de control puede ahorrar recursos humanos y reducir los costos del sistema, mejorando así efectivamente la eficiencia del trabajo.
En aplicaciones prácticas, como equipo principal para convertir energía eléctrica en energía mecánica, los motores eléctricos deben tener una alta eficiencia de conversión de energía; en segundo lugar, deben poder ajustar la velocidad de rotación de acuerdo con los requisitos del proceso de producción. El rendimiento del control del motor tiene un impacto directo y decisivo en la mejora de la calidad del producto, la mejora de la productividad laboral y el ahorro de energía eléctrica. Por lo tanto, la tecnología de control siempre ha sido un tema de investigación candente.
Los motores de CC se han utilizado ampliamente en metalurgia, minería, industria química, transporte, maquinaria, textil, aviación y otros campos. En el pasado, el control de los motores de CC era sólo un control simple, difícil de controlar y no podía ser inteligente. Los sistemas de control tradicionales utilizan componentes analógicos que cumplen con los requisitos de producción hasta cierto punto, pero debido a que los componentes son propensos a envejecer y se ven fácilmente afectados por interferencias externas durante el uso, y los circuitos son complejos y tienen poca versatilidad, el efecto de control se ve afectado. por factores como el rendimiento del dispositivo y la temperatura, por lo que no se puede garantizar la fiabilidad operativa y la precisión del sistema, pudiendo incluso producirse accidentes. Hoy en día, el control de los motores de CC es inseparable del soporte de microcomputadoras de un solo chip. El rápido desarrollo de la tecnología de aplicación de microcomputadoras de un solo chip ha promovido el desarrollo de la tecnología de control automático, llevando a la sociedad humana a la era de la automatización. La tecnología de aplicación de microcomputadoras de un solo chip y otras áreas temáticas han promovido el desarrollo disciplinario y la renovación profesional, lo que ha desencadenado el surgimiento continuo de nuevas disciplinas y tecnologías interdisciplinarias. El rápido desarrollo de la ciencia y la tecnología modernas ha cambiado el mundo y la vida humana. Debido a las características de los microcontroladores, como tamaño pequeño, peso ligero, funciones potentes, gran capacidad antiinterferencias, control flexible, aplicación conveniente y bajo precio, el rendimiento de la computadora continúa mejorando y la aplicación de los microcontroladores se ha vuelto más extensa, especialmente en control y automatización en diversos campos, etc.
En la actualidad, la digitalización de los sistemas de control de motores de CC se ha vuelto práctica. Con el rápido desarrollo de la tecnología electrónica, el control de motores de CC se ha transformado gradualmente de analógico a digital. En particular, la aplicación de la tecnología de microcomputadoras de un solo chip ha traído la tecnología de control de motores de CC. En una nueva etapa de era, la inteligencia y la alta confiabilidad se han convertido en sus tendencias de desarrollo.
En los últimos años, con el avance de la ciencia y la tecnología, la tecnología de la electrónica de potencia se ha desarrollado rápidamente y los motores de CC se han utilizado cada vez más. DC tiene excelentes características de control, control suave y conveniente, amplio rango de control, gran capacidad de sobrecarga, puede soportar cargas de impacto frecuentes y puede lograr arranques, frenado y marcha atrás rápidos y continuos.
1.3 El contenido principal de la investigación y la estructura de este artículo
Capítulo 1. Presenta principalmente los antecedentes del tema de este diseño y el estado de la investigación nacional y extranjera,
Capítulo 2. Explica principalmente la selección de soluciones del sistema,
Capítulo 3. Presenta principalmente la composición y el uso del hardware. Método de circuitos,
Capítulo 4. Introduce principalmente el diseño de software,
Capítulo 5. Introduce principalmente la depuración de hardware;
Informes relacionados con la simulación.

La lista de información es la siguiente:

0. Problemas de uso comunes y soluciones: ¡una lectura obligada! ! ! !
1. Programa fuente
2. Simulación
3. Informe de tesis
4. Video explicativo
5. Requisitos funcionales
Información del software Altium Designer Información
del software KEIL Información
detallada L298N.doc
Información del software Proteus
Materiales de aprendizaje sobre microcontroladores
Tabla de contenidos.txt
Habilidades de defensa
Descripciones comunes de informes de diseño
Doble -haga clic con el mouse en Abrir para encontrar más proyecto de graduación del curso de microcontrolador 51 STM32.url

Enlace de descarga del disco de red Baidu de información

Supongo que te gusta

Origin blog.csdn.net/weixin_52733843/article/details/131886935
Recomendado
Clasificación