循迹小车大概是DIY机器人里最经典的项目之一。核心就一块红外循迹传感器:它用红外光照射地面,白底反射强、黑线反射弱,靠反光差异判断轮子有没有压线,从而让小车沿着黑线走。原理不难,难在摆位和校准。这篇文章讲清楚。

先搞懂它是怎么“看”线的
循迹传感器上成对排着红外发射管和接收管。发射管持续出光,反射回接收管的光强度转成模拟电压,模块再用比较器跟一个阈值比,输出数字高或低电平。黑色胶带吸光、白色地面反光,所以走过黑线上方时输出会翻转——小车就知道自己离线了。看不到线、灵敏度太低,多半是环境光干扰或阈值没调好。
数字式模块每个探头输出一路高/低,接数字脚;模拟式模块输出的是连续电压,能反映居中程度,配ADC用。

摆位:几个探头、离地多高都有讲究
常见的是两路或三路循迹板。三路的话中间探头对准黑线中心,左右两个各偏一点,形成一个“品”字,走线时中间探头在线上就是直行,左探头压线就说明车偏右,往左修舵;右探头压线则往右修。探头离地高度一般3毫米到1厘米之间,太高反射变得模糊,太低又容易误触减速带。装的时候让探头略朝前下方,别垂直照,能减少前方障碍反光干扰。
面板上的蓝色电位器是灵敏度旋钮,用来调每个探头的触发阈值。这一步不调好,后面怎么写逻辑都白搭。
校准和调参:三步走
第一步贴测试线:用黑色胶带在地上粘一条直的和一条转弯的线,把车放上去。第二步调阈值:通电后用改锥慢慢调电位器,让探头的指示LED在白色地面灭、在黑线上亮,达到“过白不看、过黑就亮”的临界状态,两边探头分别调。
第三步调逻辑:先写最朴素的“探头左or右偏离就反向修正一轮速度”巡线,跑起来观察是抖还是冲。冲就是修正力度太小、转向角跟不上;原地抖是修正过猛、回摆振荡。再把修正力度和PWM速度匹配好,循迹基本就稳了。想跑得更顺,可以在普通逻辑基础上按偏差大小分级给转向量,也就是最简版的P控制。
不同场地还有个变量是线的颜色和材质。黑色胶带吸光最好,灰色或反光的线会让反射差异变小,得重新调阈值;粗糙地面和光滑地面反射也不一样,换场地最好再校准一次。要是做比赛,把阈值校准做成上电自检、用指示灯反馈,现场调试能省很多时间。
循迹车的精华就在传感器摆位和阈值校准这两件事上。把它们捋顺,后续加舵机云台、加PID都能顺理成章。


修正过猛会原地抖,我把转向力度降了降就顺了,P控制那点提示很受用
探头离地别太高,我垫高了全糊,压到贴地反而清楚
阈值不调好跑起来就是鬼画符,先让LED在白灭黑亮,再跑就顺了
三路比两路好走多了,中间探头准星一放,走线稳不少