最近在准备电赛相关培训时,很多同学都在问:“老师,我们该重点学哪些控制类元件?感觉每年都在变。” 这确实是个好问题。全国大学生电子设计竞赛(电赛)的控制类题目,其核心元件的选用趋势,往往反映了当前嵌入式、自动化领域的技术热点和教学重点。虽然我们无法预知2026年确切的赛题,但基于近几届(尤其是2021、2023年)的题目走向、技术发展趋势以及高校教学改革方向,我们可以进行一次有依据的预测分析。本文将系统性地梳理2026年电赛控制类可能重点考察的元件类别、技术原理、实战应用以及备赛学习路线,旨在帮助备赛同学提前布局,构建扎实且前沿的知识体系。
1. 控制类赛题演进趋势与核心逻辑
要预测元件,必须先理解赛题演进的底层逻辑。电赛控制类题目从来不是单纯考某个元件的使用,而是考察学生运用各类元件构建一个完整控制系统的能力。这个系统通常包括感知、决策、执行三大环节。
近几届赛题回顾与趋势分析:
- 2021年F题(智能送药小车):核心是室内循迹与定位。这要求掌握光电传感器(如灰度、红外对管)或摄像头(OpenMV、K210)进行路径识别,结合编码电机实现精确里程计定位,可能用到超声波或TOF进行避障。控制核心多为STM32。
- 2023年控制类题目(如多种波形发生器、跷跷板):虽然不全是运动控制,但“跷跷板”这类题目体现了对姿态感知(MPU6050等IMU)、电机快速响应与控制算法(PID,尤其是直立平衡中的PD控制)的深度考察。波形发生器则强调DAC输出精度、运放电路以及程控能力。
核心演进趋势:
- 从“单一控制”到“多传感器融合”:早期可能只考电机调速,现在需要结合视觉、姿态、距离等多种传感器信息进行综合决策。
- 从“开环”到“闭环”再到“智能闭环”:简单的PWM驱动(开环)早已过时,带编码反馈的PID控制(闭环)是基础,未来可能引入更复杂的观测器、滤波算法(如卡尔曼滤波)或简单的决策树(智能闭环)。
- 对“动态性能”和“稳态精度”要求并重:不仅要求系统能稳定运行(稳态精度),更要求其对突发变化(如负载突变、路径拐弯)能快速、平稳地响应(动态性能)。
- 软件算法权重持续增加:硬件是骨架,软件(算法)是灵魂。PID参数整定、传感器数据滤波、多任务调度、状态机设计等软件能力愈发关键。
因此,2026年的元件讲解,必须放在“构建高性能闭环控制系统”这个框架下进行。
2. 核心控制芯片(大脑)预测与深入讲解
这是整个系统的指挥中心,其选型决定了系统的能力上限。
2.1 主流微控制器(MCU):STM32系列仍将占据主导
尽管有ESP32、树莓派Pico等竞争者,但STM32因其在高校极高的普及率、丰富的生态、稳定的性能和齐全的外设,在电赛中依然是“安全牌”和“主力牌”。
重点备战型号:
- STM32F103系列(Cortex-M3):经典入门款,资源足够应对多数基础控制题目(如小车调速、简单舵机控制)。应熟练掌握其定时器(产生PWM、编码器模式)、ADC(采集传感器模拟信号)、USART(与上位机或传感器通信)等外设。
- STM32F4/F7/H7系列(Cortex-M4/M7):当题目涉及**浮点运算(复杂PID、滤波算法)、需要更高主频、或可能用到简单图像处理(如颜色识别)**时,这些带FPU和更高性能的系列将成为优势。例如,在需要运行卡尔曼滤波或矩阵运算时,F4比F103有显著优势。
关键备战技能:
- 熟练使用HAL库或标准库:至少精通一种。HAL库更易上手、可移植性好,适合快速开发;标准库更贴近底层,有助于理解原理。建议以HAL库为主,但关键外设(如定时器)要能看懂寄存器配置。
- 掌握CubeMX图形化配置工具:用于快速初始化时钟、外设、生成工程框架,能节省大量时间,减少低级错误。
- 深入理解中断与DMA:对于高频采样(如编码器读数)或大数据量传输(如摄像头数据),合理使用中断和DMA是保证系统实时性和CPU效率的关键。
// 示例:使用STM32 HAL库配置一个编码器接口模式定时器(以TIM2为例) // 文件:main.c 或 motor.c 中的初始化部分 TIM_Encoder_InitTypeDef sConfig = {0}; TIM_MasterConfigTypeDef sMasterConfig = {0}; htim2.Instance = TIM2; htim2.Init.Prescaler = 0; // 不分频 htim2.Init.CounterMode = TIM_COUNTERMODE_UP; htim2.Init.Period = 65535; // 自动重装载值,根据编码器线数调整 htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; // 配置编码器模式 sConfig.EncoderMode = TIM_ENCODERMODE_TI12; // 根据AB相接线选择TI1或TI12 sConfig.IC1Polarity = TIM_ICPOLARITY_RISING; sConfig.IC1Selection = TIM_ICSELECTION_DIRECTTI; sConfig.IC1Prescaler = TIM_ICPSC_DIV1; sConfig.IC1Filter = 6; // 滤波器值,防抖动 sConfig.IC2Polarity = TIM_ICPOLARITY_RISING; sConfig.IC2Selection = TIM_ICSELECTION_DIRECTTI; sConfig.IC2Prescaler = TIM_ICPSC_DIV1; sConfig.IC2Filter = 6; if (HAL_TIM_Encoder_Init(&htim2, &sConfig) != HAL_OK) { Error_Handler(); } // 启动编码器接口 HAL_TIM_Encoder_Start(&htim2, TIM_CHANNEL_ALL); // 后续可通过 __HAL_TIM_GET_COUNTER(&htim2) 读取计数值,换算为速度或位置2.2 片上系统(SoC)与AIoT芯片:关注度提升
随着题目对智能感知(如图像识别、语音控制)需求的增加,集成更强处理能力、Wi-Fi/蓝牙的SoC芯片登台。
重点备战型号:
- ESP32系列:双核处理器、主频高、集成Wi-Fi和蓝牙,且具备出色的功耗控制。如果2026年题目出现需要无线通信(与手机APP交互、多机协同)或进行轻量级图像处理(通过OV2640摄像头)的场景,ESP32将是极具竞争力的选择。需要学习FreeRTOS在其上的应用,以管理多任务。
- ** Kendryte K210**:专为机器视觉和听觉优化的低功耗AI芯片。双核64位RISC-V、内置KPU(神经网络处理器)。在2021年送药小车中已有应用。如果赛题再次强调离线、低功耗的图像识别(追踪特定颜色物体、识别形状、人脸检测),K210是“大杀器”。需要掌握MaixPy开发环境或C SDK。
关键备战技能:
- 通信协议栈:对于ESP32,需掌握TCP/IP、MQTT、WebSocket等网络协议的基本使用,以实现远程控制或数据上报。
- 嵌入式操作系统(RTOS):无论是ESP32的FreeRTOS还是STM32上移植的RTOS,理解任务、队列、信号量对于复杂系统调度至关重要。
- AI模型部署基础:对于K210,了解如何将训练好的轻量级模型(如MobileNet, YOLO tiny)转换为kmodel并部署,是核心技能。
3. 感知类传感器(眼睛与耳朵)预测
传感器是控制系统的输入源,其选择和使用的精度直接决定系统性能。
3.1 姿态感知:IMU(惯性测量单元)不可或缺
MPU6050(6轴:3轴加速度+3轴陀螺仪)已成为平衡车、姿态控制类题目的标配。未来可能向更集成化的9轴(如MPU9250,含磁力计)发展,以提供更准确的航向角(Yaw)。
关键备战技能:
- 原始数据读取与校准:学会通过I2C读取原始数据,并进行零偏校准、比例因子校准。
- 数据融合算法:这是难点也是重点。互补滤波是入门必学,能有效结合加速度计(长期稳定但动态响应差)和陀螺仪(短期精确但会漂移)的优点,解算出较稳定的俯仰角(Pitch)和横滚角(Roll)。
- 卡尔曼滤波:如果学有余力,卡尔曼滤波能提供更优的姿态估计,尤其在存在噪声和动态运动时。
// 示例:MPU6050互补滤波算法简化代码片段(需在定时中断中循环调用) // 文件:imu.c float dt = 0.01; // 采样周期,单位秒,根据实际定时器中断频率设定 float angle_acc, angle_gyro; float angle_current = 0; // 当前估计角度 float bias = 0; // 陀螺仪零偏估计(可选) // 1. 从加速度计计算角度(假设传感器水平放置,绕X轴旋转) angle_acc = atan2(accel_y, accel_z) * 180.0 / PI; // 转换为度 // 2. 从陀螺仪计算角度增量 angle_gyro = gyro_x * dt; // gyro_x是角速度,单位通常为度/秒 // 3. 互补滤波核心公式 // 系数K(0<k<1)决定了信任加速度计和陀螺仪的比例 float K = 0.98; // 通常取0.98左右,越大越信任陀螺仪 angle_current = K * (angle_current + angle_gyro - bias) + (1 - K) * angle_acc; // 4. (可选)更新零偏估计,用于抑制陀螺仪漂移 bias += 0.001 * (angle_current - angle_acc); // 0.001是一个很小的学习率3.2 视觉感知:从灰度到彩色,从二值化到特征识别
- 基础循迹:灰度传感器、红外对管阵列(如TCRT5000)仍是地面黑白线循迹的可靠、低成本方案。关键在于布局设计(一排多个以识别路径形状)和阈值自适应算法(应对环境光变化)。
- 进阶视觉:OpenMV、K210这类带摄像头的模块是趋势。考察重点可能包括:
- 颜色识别:追踪特定色块。需要掌握HSV色彩空间的使用,因为它比RGB对光照变化更鲁棒。
- 形状识别:识别矩形、圆形等,可用于定位目标或识别路标。
- AprilTag/二维码识别:用于精确定位或获取指令信息。
- 简单数字/字符识别:通过模板匹配实现。
3.3 距离与位置感知
- 超声波传感器(HC-SR04等):成本低,使用简单,但测量周期长、易受干扰。适用于低速、精度要求不高的避障。
- ToF(飞行时间)测距传感器(如VL53L0X):精度高、响应快、体积小,但测量距离较短(通常2米内)。是未来替代超声波的主流,尤其适合需要精确测距的场合(如机械臂抓取)。
- 编码器:务必区分增量式编码器(AB相)和绝对值编码器。电赛中电机控制绝大多数使用增量式编码器。必须掌握通过定时器的编码器接口模式读取,并实现四倍频计数以提高分辨率。同时,要会处理计数溢出和方向判断。
4. 执行器类元件(手脚)预测
执行器将控制信号转化为物理动作。
4.1 电机与驱动
- 直流减速电机 + 驱动芯片(如TB6612, DRV8833, L298N):最基础的执行器。TB6612因其效率高、体积小、保护功能全而成为首选。必须掌握PWM调速原理和H桥驱动电路的思想。
- 步进电机(如28BYJ-48 + ULN2003):用于需要精确开环位置控制的场合。需要理解单拍、双拍、半步等驱动方式,以及如何计算步距角和控制脉冲数。
- 舵机(Servo):分180度位置舵机和360度连续旋转舵机。前者通过PWM占空比控制角度,后者控制转速。是云台、机械臂关节的常用元件。
- 无刷直流电机(BLDC)与FOC控制:这是高端趋势。在需要高速、高效率、低噪音、高动态响应的场合(如高速旋转的平衡球、高性能无人机),可能会涉及。但鉴于其难度(需要六步换相或更复杂的FOC算法),在本科电赛中可能以提供驱动板(如ODrive)的形式出现,考察学生对高级电机接口的调用和控制逻辑。
关键备战技能:
- PID控制器实现与整定:这是连接“感知”和“执行”的灵魂算法。必须透彻理解P、I、D三个参数对系统响应(超调、稳态误差、调节时间)的影响。
- 位置式PID:适用于执行机构不带积分对象(如舵机、步进电机位置控制)。
- 增量式PID:适用于执行机构本身带积分对象(如电机速度控制),且更易实现抗积分饱和。
- PWM生成与死区控制:对于电机驱动,特别是需要防止H桥上下管直通的场合,理解定时器的互补输出和死区插入功能很重要。
// 示例:增量式PID控制器实现(用于电机速度环控制) // 文件:pid.c typedef struct { float Kp, Ki, Kd; // PID参数 float integral; // 积分项 float prev_error; // 上一次误差 float integral_limit; // 积分限幅 float output_limit; // 输出限幅 } PID_IncTypeDef; float PID_Inc_Calculate(PID_IncTypeDef *pid, float target, float feedback) { float error = target - feedback; float p_out = pid->Kp * (error - pid->prev_error); // 比例项增量 float i_out = pid->Ki * error; // 积分项增量 float d_out = pid->Kd * (error - 2*pid->prev_error + pid->prev_prev_error); // 微分项增量(需记录上上次误差) // 积分抗饱和 pid->integral += i_out; if (pid->integral > pid->integral_limit) pid->integral = pid->integral_limit; if (pid->integral < -pid->integral_limit) pid->integral = -pid->integral_limit; float output = p_out + pid->integral + d_out; // 输出限幅 if (output > pid->output_limit) output = pid->output_limit; if (output < -pid->output_limit) output = -pid->output_limit; // 更新误差历史 pid->prev_prev_error = pid->prev_error; pid->prev_error = error; return output; }5. 电路与电源管理(血脉与心脏)
稳定的硬件平台是算法运行的基础,这方面失误往往导致前功尽弃。
- 电机驱动隔离电路:电机是大电流感性负载,其启停会产生强烈的反电动势和噪声,可能通过电源或地线干扰MCU,导致复位或死机。必须学会使用光耦(如PC817)或专用隔离芯片(如ISO7420)对MCU的PWM信号进行隔离,并为电机驱动部分单独供电。
- 电源设计与管理:
- 多电压需求:系统通常需要3.3V(MCU、传感器)、5V(舵机、部分传感器)、6-12V(电机)。需合理选用DC-DC降压模块(如LM2596)和LDO线性稳压器(如AMS1117-3.3)。大电流部分(电机驱动)用DC-DC提高效率,对噪声敏感的小电流部分(MCU)用LDO获得更干净的电源。
- 电源监控与保护:加入保险丝、反接保护二极管、TVS管等。使用MCU的ADC监控电池电压,实现低电量报警或保护。
- 信号调理电路:对于模拟传感器(如某些距离传感器、模拟灰度传感器),可能需要运放(如LM324)搭建电压跟随、放大或滤波电路,以确保送入MCU ADC的信号质量。
6. 2026年备赛学习路线与实战建议
基于以上预测,制定一个循序渐进的备赛路线:
第一阶段(基础夯实,现在 - 2025年初):
- 掌握一门主控MCU:深度掌握STM32(HAL库+CubeMX),至少完成GPIO、定时器(PWM、输入捕获、编码器模式)、ADC、USART、I2C、SPI等外设的独立驱动。
- 精通C语言与数据结构:重点是指针、结构体、队列、栈。在MCU上实现环形缓冲区用于串口数据接收。
- 理解闭环控制核心:彻底弄懂PID原理,能在MATLAB/Simulink或Python上仿真,然后在实际的直流电机+编码器平台上实现速度闭环控制。
第二阶段(系统构建,2025年中):
- 完成一个综合项目:制作一辆带编码器的双轮差分底盘小车。实现功能:通过蓝牙/串口指令控制速度、读取编码器反馈、实现PID速度闭环、通过IMU实现姿态解算(互补滤波)、通过超声波或ToF实现避障。
- 学习RTOS基础:在STM32或ESP32上使用FreeRTOS,将传感器数据采集、控制算法计算、通信等任务模块化。
- 接触视觉模块:学习使用OpenMV或K210,完成颜色追踪、形状识别等基础例程,并尝试与主控MCU通信(如串口发送识别结果)。
第三阶段(进阶与模拟,2025年底 - 2026赛前):
- 算法深化:学习卡尔曼滤波在传感器融合中的应用。研究更高级的控制算法,如模糊PID(应对非线性系统)。
- 通信与协同:如果组队,学习多机通信(如CAN总线、ZigBee、Wi-Fi UDP/TCP)。
- 全真模拟训练:寻找往年控制类真题,在四天三夜的限定时间内,完成从选题、方案设计、硬件搭建、软件编程到调试报告的全过程模拟。重点训练调试技巧和文档整理能力。
7. 常见问题与调试技巧
在实战中,90%的时间都在调试。以下是一些高频问题与思路:
| 问题现象 | 可能原因 | 排查思路与解决方案 |
|---|---|---|
| 电机不转或抖动 | 1. 电源功率不足 2. PWM频率不对(太高或太低) 3. 驱动芯片使能端未拉高 4. 电机线虚焊或接触不良 | 1. 用万用表测量电机供电电压,带载时是否跌落严重。 2. 直流电机PWM频率通常1k-20kHz,舵机为50Hz。用示波器看波形。 3. 检查驱动芯片的STBY、EN等引脚电平。 4. 重新焊接,或摇动连接线观察。 |
| 编码器读数不准、跳变 | 1. 未使用滤波(硬件或软件) 2. 接线过长受干扰 3. 定时器编码器模式配置错误 4. 计数溢出未处理 | 1. 在定时器配置中增加输入滤波参数,或在软件中做中值滤波。 2. 缩短接线,使用双绞线,并尝试在AB相上加下拉电阻。 3. 确认TIM配置为编码器模式,极性设置与接线匹配。 4. 使用 int32_t类型变量,在中断中处理计数器溢出。 |
| PID控制振荡、发散 | 1. 比例系数P过大 2. 微分系数D引入噪声或未滤波 3. 积分饱和 4. 采样周期不合适 | 1. 先将I和D设为0,从小到大调P,直到系统出现轻微振荡,然后减小一些。 2. 对反馈信号进行低通滤波后再做微分运算。 3. 在PID结构中增加积分限幅和输出限幅。 4. 确保PID计算周期稳定,与传感器更新周期匹配。 |
| 系统运行时MCU无故复位 | 1. 电源被电机干扰 2. 地线噪声大 3. 堆栈溢出 4. 看门狗未喂狗 | 1.最重要!检查电源隔离和滤波。电机电源与MCU电源尽量独立,共用处加磁珠和大电容。 2. 确保地线连接牢固,单点接地。 3. 增大启动文件中的堆栈大小,检查是否有递归函数或过大局部变量。 4. 如果使能了看门狗,确保在主循环或定时中断中及时喂狗。 |
| 传感器数据噪声大 | 1. 电源噪声 2. 信号线受干扰 3. 传感器未校准 4. 软件未滤波 | 1. 为传感器供电使用LDO并加去耦电容。 2. 使用屏蔽线或双绞线,远离电机等干扰源。 3. 上电后进行传感器校准(如IMU的零偏校准)。 4. 软件实现滑动平均滤波、卡尔曼滤波等。 |
8. 工程实践与备赛策略
- 模块化开发:将电机驱动、传感器读取、PID控制、通信等写成独立的
.c/.h文件,方便复用和调试。定义清晰的接口。 - 版本管理:即使一个人开发,也建议使用Git(如Gitee)管理代码,便于回溯和团队协作。
- 调试工具用好:除了万用表、示波器,要善用逻辑分析仪查看数字信号时序(如PWM、编码器波形、串口数据),用串口绘图工具(如SerialPlot、Vofa+)实时可视化数据曲线(如PID误差、速度波形),这比看数字高效得多。
- 文档随写随记:在开发过程中,就用Markdown或Word记录关键参数、电路连接图、调试现象、解决的问题。这能极大节省最后撰写报告的时间。
- 关注官方信息与器件清单:每年赛前,组委会会发布“元器件清单”,这是最直接的“考纲”。仔细研究清单中新增的元件,它们很可能就是当年题目的关键。例如,如果清单中出现了“摄像头模块”、“激光测距传感器”、“陀螺仪”等,就要重点准备相关技术。
预测的意义不在于押题,而在于指明学习方向。2026年电赛控制类的核心,必将围绕“多传感器智能融合”与“高动态精密控制”展开。与其焦虑于未知的赛题,不如现在就扎扎实实地吃透STM32(或ESP32)、PID、编码器、IMU、视觉传感器这些核心元件与技术,并动手搭建一个属于自己的、稳定可靠的移动控制平台。当你的基础足够牢固,无论题目如何变化,你都能快速拆解需求、组合模块、实现功能。