【proteus仿真】基于STM32单片机直流电机控制设计(仿真图+程序)

前言

直流电机调速是嵌入式小车、机器人项目最基础的模块,很多毕设、课程设计都会用到 L298N 驱动芯片配合 STM32 实现电机正反转与 PWM 调速。本文带来一套完整 Proteus 仿真工程,通过独立按键控制电机启动、正转、反转、加速、减速,OLED 屏幕显示运行状态与 PWM 转速,串口虚拟终端输出转速信息,示波器观测 PWM 波形,适合新手学习 STM32 定时器 PWM 输出、L298N 电机驱动原理。

一、系统整体方案

主控芯片:STM32F103C8T6 硬件模块:

  1. L298N 电机驱动芯片:驱动直流电机,控制电机正反转
  2. 独立按键:启动、正转、反转、加速、减速 5 个功能按键
  3. OLED12864 显示屏:显示电机方向、PWM 转速数值、运行开关状态
  4. 串口 Virtual Terminal:打印电机转速信息,调试查看
  5. 数字示波器:观测 PWM 输出波形,直观观察占空比变化

功能设计: ✅ 按键启动 / 停止电机 ✅ 电机正转、反转方向切换 ✅ PWM 占空比调节,实现电机加速、减速调速 ✅ OLED 实时显示方向、转速、运行状态 ✅ 串口终端打印转速数据 ✅ 示波器实时观察 PWM 波形变化

二、Proteus 仿真电路解析

  1. STM32 主控单元 STM32F103C8T6 作为核心,使用定时器输出 PWM 信号给到 L298N 的 ENA 使能引脚;普通 GPIO 输出高低电平控制 IN1、IN2,决定电机旋转方向。PA 口外接 5 个独立按键,实现人机交互。
  2. L298N 电机驱动电路 L298N 是常用直流电机驱动,IN1、IN2 控制电机转向:
  • IN1=1,IN2=0:电机正转
  • IN1=0,IN2=1:电机反转 ENA 引脚接收 STM32 输出的 PWM 波形,通过改变 PWM 占空比,调节电机平均电压,实现调速。二极管 D11、D12 为续流二极管,吸收电机断电产生反向电动势,保护驱动芯片。OUT1、OUT2 接直流电机。
  1. 按键输入电路 PA13 启动按键、PA12 正转按键、PA11 反转按键、PA15 加速按键、PA14 减速按键,采用独立按键输入,程序内部做按键消抖处理,检测按键按下事件执行对应逻辑。
  2. OLED 显示模块 OLED 屏幕实时打印电机工作状态:旋转方向(正转 / 反转)、当前 PWM 转速数值、电机开启 / 关闭状态,直观反馈系统运行情况。
  3. 串口虚拟终端 & 示波器
  • Virtual Terminal:串口实时打印电机转速:XX,用于软件调试,观测转速变化。
  • Digital Oscilloscope 示波器:接入 PWM 输出引脚,可以直观看到 PWM 方波,加速时占空比变大,减速时占空比变小,验证 PWM 输出是否正常。

三、软件设计思路

  1. 外设初始化:GPIO 按键初始化、定时器 PWM 初始化、OLED 初始化、串口 USART 初始化。
  2. 主循环扫描按键,软件消抖,识别按键按下动作:
    • 启动按键:电机开启 / 停止切换
    • 正转按键:设置 IN1、IN2 电平,电机正向旋转
    • 反转按键:修改 IN1、IN2 电平,电机反向旋转
    • 加速按键:PWM 比较值增加,增大占空比,电机转速提高
    • 减速按键:PWM 比较值减小,减小占空比,电机转速降低
  3. 将当前方向、转速状态刷新到 OLED 屏幕。
  4. 通过串口把转速数值发送至虚拟终端打印输出。
  5. 循环扫描,持续响应按键操作。

四、仿真运行效果

仿真运行后,OLED 屏幕显示电机方向、转速数值以及开关状态; 按下正转 / 反转按键,电机切换旋转方向;按下加速、减速,PWM 占空比改变,示波器波形同步变化,串口终端持续打印电机转速。

截图现象:OLED 显示反转 转速:60 开;虚拟终端不断输出电机转速:60;示波器窗口可以看到 PWM 方波输出。

五、知识点总结

  1. PWM 调速原理:通过定时器输出不同占空比方波,调节电机等效平均电压,实现调速,占空比越大电机转速越高。
  2. L298N 逻辑:IN1、IN2 控制转向,ENA 引脚 PWM 控制转速。
  3. 按键消抖:机械按键存在抖动,程序必须延时消抖,避免误触发。
  4. 示波器在仿真中的作用:不用外接硬件,直接观测 PWM 波形,快速定位 PWM 输出异常问题。

六、拓展改进方向

  1. 实物项目可以增加编码器,实现闭环 PID 调速,精准控制电机实际转速。
  2. 增加蓝牙模块,手机蓝牙发送指令控制电机启停、正反转调速。
  3. 增加限位开关,实现电机到位停止逻辑。
  4. 扩展两路 L298N 驱动,实现小车双电机差速控制。

关键词:STM32 Proteus仿真 L298N PWM调速 直流电机

通过网盘分享的文件:仿真文件获取.zip

链接: https://pan.baidu.com/s/1V5zzxbpHc_fRqfGIzSdLfg?pwd=6666 提取码: 6666

相关推荐
天空'之城7 小时前
单片机基础核心知识点汇总(四十九)
单片机·嵌入式硬件
国科安芯7 小时前
星上计算的第一道防线:低轨遥感卫星载荷处理链中的AS32S601型抗辐射MCU—— 面向高分辨率成像与在轨智能处理的场景化综述
大数据·网络·人工智能·单片机·算法·低轨卫星·抗辐射
新晨单片机设计8 小时前
S032A-基于STM32单片机智能加湿器【Proteus仿真+Keil程序+原理图】
stm32·单片机·proteus·智能加湿器
硅基造物主8 小时前
STM32 从 0 到 1 做智能家居(九):按键消抖与三模式状态机
stm32·单片机·嵌入式硬件·cubemx·智能家居
小飞侠123!8 小时前
Simplicity Studio v5 IDE添加SDK失败如何处理?
嵌入式硬件
霖霖7148 小时前
【笔记】直流减速电机(GA25-370)调速
笔记·单片机·mcu
国科安芯8 小时前
从点火到入轨的毫秒尺度:商业运载火箭飞行时序控制中的抗辐射MCU可靠性边界—— 面向短时高可靠任务的单粒子效应证据与架构分析
网络·人工智能·单片机·嵌入式硬件·架构·火箭·抗辐射
吠品8 小时前
78B 只激活 3.46B,Kolibri 给模型选型上了一课
人工智能·单片机·嵌入式硬件
恒锐丰科技林技术员8 小时前
大电流同步降压 DC‑DC 芯片 EG11732 解析
经验分享·嵌入式硬件·硬件工程
路上有只喵8 小时前
认识元器件 · 单片机(MCU/MPU/SOC) · 规格书解读1
单片机·嵌入式硬件