晟辉智能制造

2025电赛技术报告,核心技术与创新点是什么?

2025年全国大学生电子设计竞赛技术报告

学校名称 [你的学校全称] 参赛编号 [你的15位参赛编号]
作品题目 [请在此处填写你的作品题目,风力摆控制系统] 参赛类别 [本科组 / 高职高专组]
队员信息 队员1: [姓名] (队长)
队员2: [姓名]
队员3: [姓名]
指导教师 [指导教师姓名]
提交日期 [2025年8月31日] 页 数 [总页数]

摘要

(本部分是报告的高度浓缩,约300-500字,应包含项目背景、设计目标、总体方案、核心实现、最终成果和创新点。) ** 是2025年全国大学生电子设计竞赛的赛题之一,本设计旨在实现 [简述作品的核心功能,控制风力摆实现各种轨迹运动],系统以 [核心控制器,STM32F103系列微控制器] 为核心,结合高精度传感器 [MPU6050九轴传感器] 和大功率直流电机驱动模块 [L298N驱动模块] 构成闭环控制系统。

2025电赛技术报告,核心技术与创新点是什么?-图1
(图片来源网络,侵删)

硬件设计上,系统由主控模块、姿态检测模块、电机驱动模块、电源模块和辅助人机交互模块组成,软件设计上,我们采用 [核心算法,卡尔曼滤波] 对传感器数据进行融合处理,以提高姿态解算的精度;并设计了 [控制算法,增量式PID] 控制算法,实时调整电机转速,以实现稳定控制。

经过测试与调试,本系统成功实现了 [列举实现的主要功能,静止、画线、画圆、摆动等] 功能,系统运行稳定,响应迅速,轨迹误差控制在 [±2cm] 以内,各项性能指标均达到或超过题目要求,本设计在控制算法、硬件集成和系统稳定性方面进行了创新性探索,具有较高的实用价值和扩展性。

[风力摆;STM32;PID控制;MPU6050;卡尔曼滤波]


目录

  1. 系统方案论证 ........................................................................................................... [X] 1.1. 任务分析与设计目标 ..................................................................................... [X] 1.2. 系统总体方案设计 ......................................................................................... [X] 1.3. 核心控制器选型 ............................................................................................. [X] 1.4. 传感器选型 ..................................................................................................... [X] 1.5. 执行机构选型 ................................................................................................. [X] 1.6. 电源方案选型 ................................................................................................. [X]
  2. 理论分析与计算 ................................................................................................... [X] 2.1. 建模与控制策略 ............................................................................................. [X] 2.2. PID控制参数整定 ........................................................................................... [X] 2.3. 传感器数据融合与滤波 ................................................................................. [X] 2.4. 电机驱动与PWM计算 ..................................................................................... [X]
  3. 电路与程序设计 ................................................................................................... [X] 3.1. 硬件电路设计 ................................................................................................. [X] 3.1.1. 主控电路 ............................................................................................. [X] 3.1.2. 传感器电路 ......................................................................................... [X] 3.1.3. 电机驱动电路 ..................................................................................... [X] 3.1.4. 电源管理电路 ..................................................................................... [X] 3.2. 软件程序设计 ................................................................................................. [X] 3.2.1. 开发环境与总体流程 ......................................................................... [X] 3.2.2. 传感器数据采集与处理程序 ............................................................. [X] 3.2.3. 控制算法实现程序 ............................................................................. [X] 3.2.4. 电机PWM输出与驱动程序 ............................................................... [X] 3.2.5. 任务调度与状态机设计 ..................................................................... [X]
  4. 系统测试与结果分析 ........................................................................................... [X] 4.1. 测试环境与仪器 ............................................................................................. [X] 4.2. 硬件模块测试 ................................................................................................. [X] 4.3. 软件功能测试 ................................................................................................. [X] 4.4. 系统整体性能测试 ......................................................................................... [X] 4.5. 测试结果分析与误差讨论 ............................................................................. [X]
  5. ......................................................................................................................... [X]
  6. 参考文献 ............................................................................................................... [X]
  7. 附录 ......................................................................................................................... [X] 7.1. 系统完整电路原理图 ..................................................................................... [X] 7.2. 核心源代码清单 ............................................................................................. [X] 7.3. 实物照片 ......................................................................................................... [X]

系统方案论证

1. 任务分析与设计目标

本赛题要求设计并制作一个风力摆控制系统,能够控制摆杆在规定时间内完成指定轨迹,具体任务分解如下:

2025电赛技术报告,核心技术与创新点是什么?-图2
(图片来源网络,侵删)
  • 基本任务: 实现风力摆的静止平衡控制。
  • 发挥部分任务:
    1. 在规定时间内,控制摆杆从静止开始,摆动到与竖直方向成特定角度并保持稳定。
    2. 控制摆杆在竖直平面内沿任意直线轨迹运动。
    3. 控制摆杆在竖直平面内沿任意圆形轨迹运动。
    4. 其他创新功能。

设计目标:

  • 稳定性: 系统启动后能在短时间内达到静止平衡状态,抗干扰能力强。
  • 精度: 轨迹运动(直线、圆)的误差小,姿态控制角度准确。
  • 响应速度: 对控制指令的响应迅速,动态性能好。
  • 可靠性: 系统长时间运行稳定,不易死机或失控。

2. 系统总体方案设计

为实现上述目标,我们设计了如图1所示的系统总体框图,系统采用“传感器-控制器-执行器”的闭环控制结构。

[图1:系统总体框图] (此处应插入一个框图,包含:风力摆(含电机) -> 传感器 -> 主控制器 -> 电机驱动器 -> 风力摆,形成一个闭环,主控制器连接电源模块和按键/显示等交互模块。)

3. 核心控制器选型

51系列单片机 (如STC89C52)

2025电赛技术报告,核心技术与创新点是什么?-图3
(图片来源网络,侵删)
  • 优点: 成本极低,资料丰富,开发简单。
  • 缺点: 运算速度慢,片上资源(如定时器、PWM通道)有限,难以实现复杂的卡尔曼滤波和PID控制算法,实时性较差。

STM32系列微控制器 (如STM32F103ZET6)

  • 优点: 基于 ARM Cortex-M3 内核,主频高(可达72MHz),拥有丰富的片上资源(多个高级定时器、ADC、SPI/I2C通信接口),支持硬件浮点运算(FPU),能够高效处理传感器数据和执行复杂控制算法。
  • 缺点: 相比51单片机,学习曲线稍陡。

考虑到系统对实时性和计算能力的高要求,我们选择 方案二,STM32F103ZET6 作为主控制器。

4. 传感器选型

单轴/双轴加速度计

  • 优点: 成本低。
  • 缺点: 无法直接测量角速度,且静态下易受重力加速度影响,无法解算完整姿态。

六轴惯性测量单元 (IMU,如MPU6050)

  • 优点: 集成了三轴加速度计和三轴陀螺仪,通过数据融合(如卡尔曼滤波)可以精确计算出摆杆的俯仰和横滚角度,满足姿态检测需求。
  • 缺点: 成本相对较高。

为获取完整的姿态信息,我们选择 方案二,MPU6050 作为核心传感器。

5. 执行机构选型

舵机

  • 优点: 控制简单,自带减速箱,输出扭矩大。
  • 缺点: 响应速度较慢,难以满足风力摆快速摆动的要求,且线性度不佳。

直流减速电机

  • 优点: 响应速度快,转速高,通过PWM控制可以方便地调节转速和方向,配合风扇叶片能产生足够的风力。
  • 缺点: 需要外接电机驱动电路,控制算法相对复杂。

考虑到风力摆需要快速、连续的风力变化,我们选择 方案二,直流减速电机 作为执行机构。

6. 电源方案选型

系统需要为STM32、传感器、电机和风扇等模块供电,电机功率较大,需单独供电。

  • 主控制器与传感器供电: 采用LM2596等降压模块,将12V锂电池电压降压至5V,再通过AMS1117-3.3V稳压至3.3V为STM32和MPU6050供电。
  • 电机供电: 直接使用12V锂电池供电,通过电机驱动模块进行控制。

采用 12V锂电池 + 多级稳压 的方案,满足不同模块的供电需求,保证系统稳定运行。


理论分析与计算

1. 建模与控制策略

风力摆可以简化为一个倒立摆系统,其运动方程复杂,具有非线性、强耦合的特性,我们采用经典的 PID(比例-积分-微分)控制算法 进行闭环控制。

  • P(比例)环节: 快速响应误差,误差越大,控制作用越强。
  • I(积分)环节: 消除稳态误差,防止系统在目标位置附近震荡。
  • D(微分)环节: 预见误差的变化趋势,抑制超调,提高系统稳定性。

控制策略上,我们采用 位置式PID,将传感器反馈的实时角度与目标角度进行比较,得到误差 e(t),然后通过PID公式计算控制量 u(t),该控制量经过转换后输出给电机驱动器。

2. PID控制参数整定

PID参数的整定是系统成败的关键,我们采用 试凑法 结合 Ziegler-Nichols经验公式 进行整定。

  1. 整定P: 先将I和D置零,从小到大增加P,直到系统开始出现等幅震荡,记录此时的临界增益 Ku 和临界震荡周期 Tu
  2. 整定PI: 根据Z-N公式(如P=0.6Ku, I=1.2Ku/Tu),设置P和I,消除稳态误差。
  3. 整定PID: 加入D环节,从零开始增加D,以抑制超调,使系统快速平稳地达到目标。

经过反复调试,我们为不同任务(静止、画线、画圆)找到了一组较优的PID参数。

3. 传感器数据融合与滤波

MPU6050的原始数据存在噪声,陀螺仪存在漂移,加速度计在动态下噪声大,我们采用 互补滤波卡尔曼滤波 对两者数据进行融合。

  • 互补滤波原理: 利用陀螺仪积分得到的角度(短期准确,长期漂移)和加速度计得到的角度(短期不准,长期稳定)进行加权融合,得到更准确的姿态角。
  • 卡尔曼滤波: 更为高级的状态估计算法,能更有效地处理噪声,但计算量也更大,在STM32上实现了简化版的卡尔曼滤波,显著提高了角度解算的精度和稳定性。

4. 电机驱动与PWM计算

我们使用L298N驱动模块,通过控制其使能端和输入端的电平,实现电机的正转、反转和停止,控制量 u(t) 经过限幅后,转换为PWM的占空比,PWM的频率设置为20kHz以上,以减小电机噪音。


电路与程序设计

1. 硬件电路设计

(此处应附上详细的电路原理图,并用文字说明各模块的设计要点。)

1.1. 主控电路 以STM32F103ZET6为核心,包括最小系统电路(电源、晶振、复位)、SWD下载调试接口,PA0-PA7用于连接按键,PC0-PC3用于连接数码管段选,PD0-PD3用于连接数码管位选。

1.2. 传感器电路 MPU6056通过I2C接口(SCL-PA8, SDA-PA9)与STM32连接,VCC接3.3V,GND接地,为提高抗干扰性,I2C总线上接了4.7K的上拉电阻。

1.3. 电机驱动电路 L298N的IN1、IN2、IN3、IN4分别由STM32的4个GPIO口控制,ENA、ENB使能端由2路PWM输出控制,以实现转速调节,电源输入端接12V,逻辑供电端接5V。

1.4. 电源管理电路 使用两节18650锂电池串联提供12V电源,通过LM2596-5V降压模块得到5V,为L298N逻辑部分和数码管供电,再通过AMS1117-3.3V得到3.3V,为STM32和MPU6050供电,各路电源均并联了滤波电容,确保供电稳定。

2. 软件程序设计

(此处应附上软件流程图,并用文字说明主要模块的功能。)

2.1. 开发环境与总体流程 开发环境:Keil MDK 5.24。 软件采用 前后台系统 设计,主循环(后台)负责按键扫描、数码管显示、任务调度,定时器中断(前台)以固定频率(如1kHz)执行传感器数据读取、姿态解算、PID计算和PWM输出。

2.2. 传感器数据采集与处理程序 在定时器中断中,通过I2C读取MPU6050的加速度计和陀螺仪原始数据,调用 Kalman_Filter_Update() 函数进行数据融合,得到当前摆杆的俯仰角和横滚角。

2.3. 控制算法实现程序 根据当前任务模式(静止、画线等),设定目标角度或轨迹方程,在定时器中断中,将传感器反馈的角度与目标值比较,计算误差 e,调用 PID_Calculate() 函数,输出控制量 u

2.4. 电机PWM输出与驱动程序 将PID输出的控制量 u 进行限幅(如-1000到1000),映射到PWM的占空比(如0%到100%),根据控制量的正负,设置GPIO口控制电机转向,并通过PWM定时器设置占空比,从而控制电机转速。

2.5. 任务调度与状态机设计 在主循环中,通过一个状态机来管理不同的任务模式,根据按键输入或串口指令,切换状态机的状态(如STATE_IDLE, STATE_BALANCE, STATE_DRAW_LINE等),并更新PID的目标值和控制逻辑。


系统测试与结果分析

1. 测试环境与仪器

  • 测试平台: 标准竞赛风力摆底座、摆杆。
  • 测试仪器: 直流稳压电源、数字万用表、卷尺、秒表、量角器。

2. 硬件模块测试

  • 电源模块: 测量各路输出电压,均在正常范围内,且带载后稳定。
  • 传感器模块: 静止时,MPU6050输出角度应为0度;旋转时,角度变化平滑,符合预期。
  • 电机驱动模块: 单独上电测试,电机能正常正反转,转速随PWM占空比变化。

3. 软件功能测试

  • PID控制测试: 手动拨动摆杆,系统能迅速将其拉回竖直位置,无震荡或超调过大。
  • 任务切换测试: 通过按键切换不同任务模式,系统能正确响应并进入相应状态。

4. 系统整体性能测试

(此处应使用表格和图表展示测试数据。)

测试项目 要求 实测结果 评价
静止平衡 5秒内稳定在竖直位置 3秒内稳定,误差<±1° 优秀
摆动到30° 10秒内摆动到30°并保持 8秒内完成,稳定保持 优秀
画直线(10cm) 15秒内完成,误差<±2cm 12秒完成,误差<±1.5cm 良好
画圆(半径5cm) 20秒内完成,误差<±2cm 18秒完成,误差<±1.8cm 良好

5. 测试结果分析与误差讨论

系统基本完成了所有要求的功能,主要误差来源包括:

  1. 机械装配误差: 电机安装不完全对称,导致左右风力不均。
  2. 传感器安装误差: MPU6056安装时与摆杆不完全垂直,导致角度解算存在固定偏差。
  3. 算法局限性: PID控制是线性控制,对非线性系统控制效果有限,尤其是在高速运动时。
  4. 环境干扰: 气流、桌面震动等外部因素对系统稳定性有影响。

本设计基于STM32微控制器,成功实现了一个高精度的风力摆控制系统,通过硬件选型、电路设计、软件编程和算法优化,系统在稳定性、精度和响应速度方面均达到了预期目标,实践证明,本方案可行,控制算法有效,为类似倒立摆控制系统的设计提供了有价值的参考。


参考文献

[1] 王晓明. 电动机的单片机控制[M]. 北京航空航天大学出版社, 2012. [2] 刘金琨. 先进PID控制MATLAB仿真(第3版)[M]. 电子工业出版社, 2011. [3] Invensense. MPU-6050 Product Specification Revision 3.4[EB/OL]. 2025. [4] STMicroelectronics. STM32F103xx Datasheet[EB/OL]. 2011.


附录

1. 系统完整电路原理图

(附上A3或A4大小的完整电路原理图)

2. 核心源代码清单

(附上关键部分的源代码,如PID函数、卡尔曼滤波函数、主程序和中断服务函数,并进行必要注释)

3. 实物照片

(附上系统各模块和整体实物的清晰照片)


[指导教师评语]

(此部分由指导教师填写)


[赛区评审意见]

(此部分由赛区评委填写)

分享:
扫描分享到社交APP
上一篇
下一篇