1. 项目概述与硬件选型
智能寻迹小车是嵌入式学习中的经典项目,它能综合运用STM32的多个核心功能。我这次做的这个项目基于STM32F103C8T6开发板,通过四个红外传感器检测地面黑线,利用定时中断实现实时响应,再通过PWM波控制电机转速,最终让小车能自动沿着黑线行驶。这个项目非常适合刚学完STM32基础外设的小伙伴练手,能把GPIO、定时器、中断这些知识点串起来。
硬件清单方面,你需要准备这些材料:一块STM32F103C8T6开发板(性价比高,资源足够)、L298N电机驱动模块(能同时驱动两个直流电机)、四个红外寻迹模块(建议买集成好的四路巡线传感器,安装方便)、12V锂电池(为电机提供足够动力)、OLED屏幕(调试时显示状态信息)、面包板和杜邦线若干,还有智能小车的底盘和电机套装。
选型时我踩过一些坑,这里分享给大家:STM32要选C8T6而不是RCT6,因为C8T6的引脚更常用;电机驱动模块一定要选L298N而不是TB6612,虽然TB6612效率更高,但L298N驱动能力更强,适合带负载的小车;红外传感器最好选数字输出的,省去自己设计比较电路的麻烦;电源方面务必单独用12V锂电池给电机供电,如果和单片机共用USB供电,电机启动时的电流波动会导致单片机复位。
2. 系统框架与工作原理
整个小车的控制系统可以分成三个层次:最底层是传感器和执行器,包括红外传感器和直流电机;中间层是STM32的核心处理,负责信号采集和决策;最上层是控制算法,根据传感器数据调整电机转速。
红外传感器的工作原理很简单:它自带红外发射管和接收管。发射管发出红外光,遇到白色地面会反射,接收管收到反射信号输出低电平;遇到黑线则红外光被吸收,接收管收不到信号输出高电平。我在实际测试中发现,不同地面的反射率会影响检测效果,最好根据实际场地调整传感器的高度,一般离地1-2厘米效果最佳。
电机的控制采用PWM调速原理。简单来说,就是通过调节占空比(高电平时间占整个周期的比例)来控制电机转速。占空比越大,电机转速越快。L298N模块的使能端接PWM信号,输入引脚接方向控制,这样就能同时实现调速和正反转控制。
定时中断在这里起关键作用。我设置定时器每1ms产


231

被折叠的 条评论
为什么被折叠?



