1. 巡线系统架构与数据流设计
巡线功能是智能平衡小车实现自主导航的核心能力之一,其本质是通过光学传感器实时感知路径特征,并将感知结果转化为控制指令,驱动电机执行转向动作以维持小车在轨迹中心。本系统采用主从双MCU架构:STM32F051作为专用图像采集单元,负责驱动CCD传感器、完成原始像素数据采集与边缘提取;STM32F407作为主控单元,承担运动控制、姿态解算与系统调度任务。二者通过USART3串口进行固定帧长的高速数据交换,通信周期严格锁定为5ms,构成确定性时间触发的数据链路。
该架构的设计动机源于嵌入式系统中计算资源与实时性的权衡。CCD传感器(如TCD1304DG)输出模拟电压信号,需经ADC采样、时序控制、噪声抑制与边缘识别等密集型运算。若由F407直接承担全部任务,将严重挤占其用于PID姿态闭环的CPU带宽与中断响应能力。而F051作为8位MCU,虽算力有限,但其精简指令集与低功耗特性使其成为专用外设控制器的理想选择——它可被固化为一个“黑盒”数据源,仅向主控提供高度抽象的结构化参数(Left、Right、Middle、Threshold),从而大幅降低主控软件的耦合度与调试复杂度。
数据流在物理层体现为严格的时序约束。F051每5ms生成一帧CCD数据包,该周期并非随意设定,而是综合考虑了机械响应延迟、图像稳定性与控制带宽后得出的工程折中值。过短的周期会导致电机无法及时响应转向指令,产生高频振荡;过长的周期则使小车在弯道处因信息滞后而脱轨。5ms对应200Hz的控制频率,既能满足典型平衡小车转向舵机的动态响应需求,又为F407留出充足的计算余量处理IMU数据融合与速度环PID运算。