
1. 项目概述为什么选择单传感器方案在机器人制作的入门领域循迹机器人几乎是所有人的第一个实战项目。传统的方案多采用双传感器甚至五传感器阵列配合单片机进行PID算法控制虽然性能稳定但无形中为初学者设立了门槛你需要学习编程、理解复杂的控制逻辑、调试参数。这常常让兴趣在代码调试中消耗殆尽。我这次想分享的是一个回归本质、纯粹用硬件逻辑解决问题的方案单传感器继电器循迹机器人。它的核心思想极其巧妙——利用一个红外传感器、一个继电器和几个基础电子元件构建一个物理意义上的“双稳态振荡器”。当传感器看到黑线电路状态翻转驱动一个轮子看到白地状态再次翻转驱动另一个轮子。机器人就像钟摆一样在黑线两侧来回“画龙”从而实现循迹。这种方案的优势非常明显零代码、低成本、高鲁棒性。你不需要写一行程序所有逻辑都由硬件电路实现。它特别适合用来理解“反馈”与“控制”最原始、最直接的联动关系。无论是中学生进行科技制作还是嵌入式新手想抛开软件层直接触摸电子控制的脉搏这个项目都是一个绝佳的起点。接下来我将从电路原理开始带你一步步完成这个充满巧思的机器人。2. 核心电路设计与工作原理深度解析整个机器人的“大脑”就是这块简单的模拟电路。它的精妙之处在于用最少的元件实现了一个类似“跷跷板”的电子逻辑。我们先来彻底拆解它的工作原理。2.1 核心元件选型与作用要理解电路必须先认识台上的每一个“演员”红外对管IR LED IR 光电二极管这是机器人的“眼睛”。红外LED发出不可见红外光光电二极管接收从地面反射回来的光强。白色表面反射率高接收到的光强就大黑色线条吸收红外光反射率低接收到的光强就弱。这个光强变化就是最原始的传感器信号。晶体管 BC547这是一个NPN型通用小功率三极管在这里充当电子开关和信号放大器。它的工作状态导通或截止由基极B的电压控制从而控制继电器线圈的通断。10kΩ可变电阻电位器这是电路的“灵敏度调节旋钮”。它和光电二极管组成一个分压电路。调节它实质上是改变晶体管基极的触发阈值。地面反光条件不同比如纸张白度、灯光环境都需要通过它来校准确保电路能在黑白交界处准确翻转。470Ω电阻连接在晶体管基极是一个限流电阻。它的作用是保护晶体管的基极防止过大的电流流入导致损坏。其阻值确保了基极电流在安全范围内。1N4007二极管这是一个续流二极管反向并联在继电器线圈两端。这是保护电路的关键元件继电器线圈是一个电感在断电瞬间会产生很高的反向电动势电压这个尖峰电压足以击穿晶体管。1N4007为这个反向电动势提供了泄放回路将其短路掉从而保护了晶体管BC547。SPDT继电器单刀双掷这是整个系统的“执行决策中心”。它内部有一个线圈和一个可以切换的公共触点COM。当线圈通电触点从常闭NC切换到常开NO断电则弹回常闭。我们利用这个特性将两个电机的电源分别接到NO和NC端COM端接电源。这样继电器的一次吸合与释放就自动完成了对两个电机“你转我停”的切换控制。2.2 电路工作逻辑的“跷跷板”模型理解了元件我们来看它们如何协作。你可以把整个电路想象成一个精密的机械跷跷板。初始状态设定首先通过调节10kΩ电位器我们将电路设置在即将翻转的临界点。假设让机器人初始放在白色地面上光电二极管接收到较强红外光内阻变小使得晶体管基极电压较低晶体管截止继电器线圈不带电。此时继电器公共触点COM连接的是常闭端NC。假设NC端接的是右电机那么初始状态是右电机转动左电机停止。机器人会开始向右偏转。状态翻转一遇到黑线当机器人右偏使得传感器移动到黑线上方时反射光急剧减弱光电二极管内阻增大导致晶体管基极电压升高。当电压超过导通阈值约0.7V晶体管瞬间饱和导通继电器线圈得电吸合。触点从NC切换到NO。于是右电机断电停止左电机得电开始转动。机器人的动力瞬间从左轮切换到右轮产生一个向左的转向力。状态翻转二回到白地在左轮驱动下机器人向左转传感器离开黑线重新回到白色地面。反射光增强光电二极管内阻变小晶体管基极电压下降晶体管恢复截止继电器线圈失电触点弹回NC端。动力再次切换回右轮机器人又开始向右偏转。如此循环往复机器人就在黑线两侧持续进行“左转-右转-左转”的“之”字形运动宏观上实现了沿着黑线前进的效果。这种控制方式在控制理论上被称为Bang-Bang控制开关控制是最简单但非常有效的非线性控制策略。注意这个电路的稳定性极度依赖电位器的精确调节。调得太敏感外界光线稍有变化就可能误触发调得太迟钝可能压线了也不翻转。最佳状态是让机器人在黑白交界处产生明确、果断的动作。3. 硬件制作与组装全流程实操理论清晰后动手制作就是水到渠成。我将制作过程分为电路搭建和机械组装两部分并分享我踩过坑后总结的细节。3.1 电路焊接与调试要点电路是核心焊接质量直接决定成败。你可以使用洞洞板万用板或按照作者设计自制PCB。1. 布局规划在焊接前务必用笔画一下元件布局。一个合理的布局原则是信号流清晰电源走线粗短。建议将红外对管通过杜邦线引出方便后期安装在车体前部。继电器、晶体管和电位器这些需要调试的元件应放在易于操作的位置。2. 焊接顺序遵循“先矮后高先里后外”的原则。先焊接电阻、二极管等小元件再焊接晶体管、电位器最后焊接继电器和电源、电机接口。焊接晶体管和二极管时要特别注意极性。BC547的平面一侧对应原理图中的发射极E1N4007有灰色环的一端是阴极K应接继电器线圈的正极侧。3. 关键调试步骤——电位器校准这是整个制作中最需要耐心的一步。 * 准备一个稳定的工作环境避免阳光直射或闪烁的灯光。 * 将焊接好的电路板接通电源先不接电机将红外对管对准你准备好的白色跑道。 * 用万用表测量晶体管基极对地电压或者更简单听继电器是否有轻微的“嗒嗒”声。 * 缓慢旋转10kΩ电位器。你会找到一个临界点此时将传感器从白纸移到黑线上方继电器会发出清脆的“嗒”一声吸合移回白纸又会“嗒”一声释放。 *调试心得最好的状态是这个临界点有一个小小的“迟滞区间”。即从白到黑需要移动到黑线中央才触发从黑到白需要完全离开黑线才复位。这能防止在黑白边缘高频振荡让机器人行走更平稳。可以通过微调电位器并观察继电器动作的果断程度来找到这个点。4. 电机连接将两个减速电机的正极分别接到继电器的常开NO和常闭NC端子。两个电机的负极并接在一起接到电源负极。继电器的公共端COM接电源正极。这样连接确保了任何时候只有一个电机通电。3.2 机械结构设计与组装技巧机械部分的核心是简单、牢固、重心合理。作者用废旧PCB做底盘很有创意但我们有更多选择。1. 底盘与材料选择 *首选亚克力板。易于切割、钻孔美观且绝缘。厚度3-5mm为宜。 *经济之选玻纤板或废弃的电路板。强度高但钻孔较费劲注意粉尘。 *创意之选厚卡纸、塑料饭盒盖。适合快速原型验证但强度耐久性差。 底盘形状建议为长方形或箭头形将传感器布置在最前端正中央这是循迹精度的保证。2. 电机固定与车轮安装 *电机固定无论使用TT马达还是N20减速电机必须固定牢固确保两个轮轴绝对平行。哪怕微小的不平行都会导致机器人跑偏。可以使用专用的电机固定片或用扎带、热熔胶强力固定。实操心得在打胶固定前先通电让轮子空转观察是否有严重偏心摆动选用转动最平稳的轮子。 *车轮选择作者用瓶盖和橡皮筋的方案极具巧思成本为零。关键在于确保两个车轮直径完全一致。可以挑选两个同一品牌的瓶盖。橡皮筋要缠绕均匀提供足够的摩擦力。更专业的做法是购买现成的橡胶轮抓地力更好。3. 传感器安装 * 红外对管应垂直向下距离地面约1-1.5厘米。这个距离需要实验确定太高信号弱太低容易撞到地面不平处。 * 最好用一个小支架将传感器单独固定并使其略突出于底盘最前端。这样可以最先探测到路线变化给控制系统留出反应时间。 *重要提示传感器窗口要避免被车轮扬起的灰尘污染可以考虑做一个小小的遮光罩。4. 电源与配重 * 采用双电源方案如作者所示是明智的一块小容量电池如9V方块电池给控制电路供电另一块大容量电池如18650锂电池组给电机供电。这可以避免电机启动时的电流冲击干扰敏感的传感器电路。 * 电池应放置在底盘中心或稍靠后的位置以降低重心。整体重心最好落在两个驱动轮和万向轮构成的三角形区域内防止急停时前翻或后仰。4. 系统联调与性能优化实录所有部件组装完毕就进入了最激动人心也最考验细节的联调阶段。这个过程不是一蹴而就的需要反复观察、分析和调整。4.1 基础循迹测试与问题排查首先在平直的黑色胶带跑道宽度建议1.5-2厘米上进行测试。观察机器人的行走姿态。常见问题一原地转圈或单侧打转可能原因其中一个电机接线错误导致两个电机转向相同。或者继电器有一侧触点接触不良导致该侧电机始终不通电。排查手动抬起机器人分别遮挡传感器触发继电器观察每次触发是否严格切换两个电机的转动。用万用表检查继电器触点导通情况。常见问题二冲出跑道或反应迟钝可能原因1电位器灵敏度未调好。这是最常见的原因。排查与解决重新进行电位器校准。在跑道黑白交界处反复移动传感器确保继电器动作干脆利落。环境光线变化后需要重新微调。可能原因2传感器离地太高或太低。排查与解决调整传感器高度并检查传感器表面是否清洁。常见问题三行走路线抖动严重呈剧烈“锯齿形”可能原因机器人速度太快或者机械结构松动。速度过快会导致惯性过大冲过黑线太远回调时又冲过头。解决降低电压这是最有效的方法。尝试将电机工作电压从6V降到3.7V单节锂电池速度会大幅下降控制会变得柔和。增加机械阻尼检查所有螺丝、胶粘处是否牢固。车轮是否与轴紧密配合有无晃动。调整重心将电池等重物向前移动增加前轮万向轮的负载可以提高转向灵活性。4.2 高级优化技巧让行走更流畅基础循迹成功后可以通过一些技巧优化它的表现使其更接近多传感器机器人的平滑性。1. 速度差调节让两个电机有轻微的速度差。例如让转向侧的电机负责拉回车身速度稍快于另一侧。可以通过在该电机电源线上串联一个几欧姆的小功率电阻来实现微减速。这样机器人在回调时更迅速画出的“之”字幅度会更小。2. 引入“电子迟滞”在晶体管基极和地之间并联一个10-100μF的电解电容。这个电容会延长基极电压上升和下降的时间从而让继电器的动作有一个微小的延迟。这相当于在软件控制中增加了“死区”可以过滤掉一些细小的干扰防止在黑白边缘高频率抖动让机器人行走姿态更稳定。电容值需要实验确定从10μF开始尝试。3. 前轮万向轮的选用前轮的灵活度至关重要。作者用的磁带机压带轮非常顺滑。不建议使用简单的塑料圆珠摩擦力大。可以使用专业的万向球或者自己用一颗玻璃珠粘在一个凹形支架里效果极佳。4. 跑道设计与实战心得 *拐弯这个单传感器方案能应对的弯道半径有限。实测对于半径大于20厘米的缓弯通过性很好。对于直角弯或急弯它可能会冲出跑道。解决方案是降低速度并适当加宽弯道处的黑线。 *交叉线遇到十字交叉线机器人会随机选择一个方向前进行为不可预测。这是Bang-Bang控制逻辑的固有特点。 *环境光尽量在光线均匀的环境下运行。避免传感器一侧有强光如窗户另一侧是阴影这会导致误判。5. 项目总结与扩展思考完成这个单传感器循迹机器人其意义远不止于让一个小车跟着黑线跑。它是一堂生动的硬件控制启蒙课。你亲眼见证了如何用一个光电信号的变化通过晶体管放大驱动电磁继电器最终转化为机械轮子的交替运动形成了一个完整的“感知-决策-执行”闭环。这个过程没有一行代码却清晰地诠释了自动控制的基本原理。我个人在多次制作和教学中发现这个项目最吸引人的地方在于它的“可触摸性”。所有逻辑都物化在了电路板上问题可以通过示波器看波形、用万用表量电压来排查这种调试体验对于建立硬件直觉无比珍贵。它打破了“机器人必须编程”的思维定式。如果你已经成功完成了基础版本这里有几个扩展方向供你深入探索双继电器竞速模式可以尝试制作两个完全相同的单传感器电路分别控制左右轮。这样每个轮子都有独立的“大脑”可能会产生更激烈的竞速行为适合制作对抗性的循迹小。模拟量采集与观测在光电二极管输出端接一个电压表实时观察不同地面反射下的电压值。这能帮你更精确地理解传感器特性并为后续过渡到单片机如Arduino的模拟输入ADC学习打下基础。从继电器到H桥理解继电器控制电机正反转的原理后可以尝试用晶体管搭建一个简单的H桥电路来替代继电器。H桥没有机械触点寿命更长开关速度更快是现代电机驱动的标准方案。这个简单的项目就像一个种子它包含的传感器技术、信号调理、功率驱动和反馈控制概念是通往更复杂机器人世界的基石。希望你在动手的过程中不仅收获了成功的喜悦更点燃了对硬件世界深入探索的好奇心。