☰
红外循迹避障模块原理图与PCB设计全解析
2026/10/16 7:41:20 网站建设 项目流程

简介:本资源是一套完整的红外循迹避障模块硬件设计资料,面向嵌入式初学者、智能小车开发者及电子竞赛备赛者,解决红外传感器电路设计、PCB布局与工程文件复用等实际问题。压缩包共23个文件,含Altium Designer 13.0绘制的原理图(.SchDoc)、PCB图(.PcbDoc)、对应器件库(.SchLib/.PcbLib)、网络表(.Net)、设计规则检查报告(.drc/.html)及项目结构文件(.PrjPcb),另有实物照片文档与多版本备份ZIP文件,总大小3.58MB。已有7087人学习下载,体现了其在实践教学与项目开发中的广泛认可。用户可直接导入AD工程复现实物功能,快速掌握4路红外循迹+2路红外避障的信号调理、比较器阈值设定、LED指示反馈等关键设计细节,并基于提供的完整库文件拓展新模块,大幅降低硬件开发门槛。

1. 项目概述与整体设计思路

1.1 这份“红外循迹避障模块原理图和PCB图”到底是什么

兄弟们,先别被“红外循迹避障模块”这个名字唬住。这其实不是一个单一功能的板子,而是一个把红外循迹和红外避障两套检测逻辑整合在一块PCB上的典型教学级/竞赛级模块。你拿到的那个.rar压缩包里,大概率是Altium Designer或者嘉立创EDA绘制的工程文件,里面至少包含一张原理图(.SchDoc或.json格式)和一张PCB图(.PcbDoc或.pcbdoc格式),运气好的话还会附带Gerber制板文件、BOM物料清单,甚至有人会把自己踩坑后修改过的V2.0版本也放进去。

它的核心用途非常明确:给小车的底盘装上一排红外对管,通过检测地面颜色差异来实现“循迹”,同时在前方装一对红外发射接收管,检测到障碍物就绕开或者停车。这个模块在智能车竞赛、大学生电子设计竞赛、Arduino入门小车、STM32小车项目里出现频率极高,属于那种“你迟早会用上”的基础外设。

1.2 为什么这种模块适合拿来“抄作业”而不是纯自己画

不少人拿到这类压缩包后的第一反应是:直接丢给嘉立创打样,焊完就能用。这么做当然可以,但如果你只是“会用”,那这个原理图的价值就浪费了一大半。我更建议你把它当作“硬件设计的标准答案”来研究,因为红外循迹避障模块的电路拓扑非常经典,几乎是学习以下内容的绝佳载体:

  • 红外发射管和接收管的驱动电路设计(限流电阻怎么选、上拉电阻怎么配)
  • 运放或比较器的阈值判断电路(LM393、LM358在这里是绝对主力)
  • 电位器(可调电阻)在校准电路中的实际作用
  • 排针接口的定义与连接方式(VCC、GND、OUT1、OUT2这类命名习惯)
  • PCB布局中传感器朝向、走线避让、安装孔位置的实战细节

以我个人的硬件设计经验来看,你如果把这份板子的原理图逐网络地捋一遍,再对照PCB上的布局看一遍,收获比你看十篇“红外循迹原理讲解”的文章都大。因为原理图是“脑”,PCB是“手脚”,只有两者对照着看,你才能真正明白为什么那个电阻要放那儿、为什么那条走线要绕一下。

2. 核心细节解析与原理图深度拆解

2.1 红外循迹部分:发射管、接收管与LM393比较器的组合逻辑

先说循迹部分。市面上的红外循迹模块绝大多数用的是TCRT5000这一对“发射+接收”一体式红外光电传感器。它的工作原理特别直白:发射管持续发出红外光,红外光照射到物体表面后发生反射,反射光被接收管(光电晶体管)接收。如果反射光强,接收管的等效电阻变小,输出端电平被拉低;反射光弱,接收管等效电阻大,输出电平变高。

这里就引出了第一个关键设计点:循迹检测靠的是“黑白反差”。赛道底色是白色,反射红外光能力强,输出低电平;赛道引导线是黑色,吸收红外光,输出高电平。所以原理图上你会看到,每个循迹探头后面都跟着一个比较器(或者运放),用来把模拟的反射光强度信号转换成干净的TTL高低电平。最常见的电路结构是这样的:

  • 发射管串联一个限流电阻(通常100Ω到330Ω),接到VCC。这个电阻决定了发射管的电流,电流越大红外光越强,检测距离越远,但功耗也越大,而且过大会烧管。一般取10mA到20mA比较合适,按5V供电算,电阻选220Ω到330Ω。
  • 接收管一端接VCC,另一端通过一个10kΩ电位器(或固定电阻)接地,中间抽头接比较器的同相输入端。这个分压点就是“阈值参考电压”。
  • LM393比较器的反相输入端接接收管的分压输出,同相输入端接电位器调节的参考电压,或者反过来接。输出端通常要接一个上拉电阻到VCC,因为LM393是开集电极输出。

这里面的门道在于:电位器调的是“灵敏度门限”。环境光强、赛道材质的反光率、传感器离地面的高度都会影响输出,所以你不可能用一个固定电阻搞定所有场景。电位器就是让你在现场手动拧到最合适的那个点。很多新手拿到模块发现循迹不稳定,第一反应是换传感器,其实是电位器没调好,或者安装高度不对。

2.2 红外避障部分:同样是红外对管,为什么电路略有不同

避障和循迹虽然都用红外对管,但检测逻辑不太一样。循迹是“近距离、垂直照射地面、靠漫反射判断黑白”,避障则是“一定距离范围内、水平或斜前方发射、靠前方物体反射回来的红外光判断有没有东西”。所以避障模块的发射管和接收管通常是分体的,常见的是一对5mm红外发射管和接收管,安装时发射管朝一个方向,接收管朝另一个方向,两者之间有隔板或夹角,防止发射管的光直接照射到接收管上。

在原理图层面,避障电路和循迹电路几乎一模一样,也是“发射管限流电阻+接收管分压+电位器调阈值+比较器输出”。但有几个细微差别值得注意:

  • 避障的发射管电流通常调得更保守一些,因为避障距离一般要求3cm到30cm可调,电流太大会导致接收管提前饱和,反而检测不了近距离目标。
  • 避障接收管前面最好串联一个几十欧的电阻再接地,形成一个“串联分压+并联电容”的结构,这样可以滤掉一部分环境光噪声。虽然原理图里不一定画出来,但效果明显。
  • 避障模块的电位器一般是3296W那种精密可调电阻,比循迹用的“蓝白可调电阻”精度更高,因为避障距离的线性度更敏感。

如果你打开这个.rar里的原理图,大概率会看到两个几乎一模一样的比较器电路,一个标注“TRACK”或“XUNJI”,另一个标注“OBSTACLE”或“BIZHANG”。这就是典型的“一套电路模板,复制粘贴两遍”的模块设计思路。

2.3 从TCRT5000到LM393:为什么选比较器而不是直接用单片机ADC

很多初学者会问:既然反射光强度信号是模拟量,为什么不用单片机的ADC直接读,非要加个LM393?这个问题问得特别好,也是理解这份原理图设计意图的关键。

用ADC直接读当然可行,但你要付出三个代价:第一,每个循迹探头都要占用一个ADC通道,四个探头就需要四个ADC引脚,如果还要接电机驱动、舵机、编码器,单片机引脚资源会很紧张;第二,ADC读出来的值是连续的,你必须自己在代码里设阈值“数据是小于100算黑还是小于200算黑”,这个阈值在不同光照环境下还要动态调整,代码复杂度直线上升;第三,ADC采样速度有限,小车高速跑的时候,你来不及在一个控制周期内把四个探头都采集一遍。

LM393比较器的价值在于:它把“模拟阈值判断”这件麻烦事在硬件层面做完了。你只需要拧电位器,把阈值设好,后面单片机读到的就是干净的0或1,一个GPIO引脚就能搞定一个探头。而且比较器的响应时间在微秒级,比ADC快好几个数量级。这就是为什么工业级的红外循迹模块清一色用比较器方案,而不是“单片机+ADC”。

这份原理图里比较器输出端如果接了上拉电阻和LED指示灯,那你还能在调试时直接通过LED亮灭判断当前探头检测到的是黑线还是白底,这种“硬件可视化调试”的设计思路,在比赛现场非常救命。

2.4 原理图里的那些“配角”:电源、指示灯、排针与滤波电容

一个完整的模块原理图,除了核心传感器电路,还少不了一堆“配角”。把这些配角看懂了,你才算真正读懂了这份图。

电源部分:模块工作电压一般是3.3V到5.5V,绝大多数板子直接用5V供电。原理图上一般会有一个电源指示LED、一个100uF电解电容(负责低频去耦)和两个104瓷片电容(负责高频去耦)。电解电容旁边还会加一个防反接二极管或者自恢复保险丝。有些讲究的板子会加一个低压差稳压芯片(比如AMS1117-3.3)给比较器供电,目的是让参考电压更稳定。但大多数简易模块不会加,因为LM393的工作电压范围很宽,直接从单片机板的5V取电也能凑合用。

指示灯部分:每个比较器输出端都会串联一个LED和限流电阻到VCC,或者用LED做输出指示。这个LED的作用不是给你看“有没有电”,而是给你看“当前传感器状态”。循迹模块上,如果探头对准黑线,LED亮;对准白底,LED灭。避障模块上,前方有障碍物,LED亮。拧电位器的时候,看着LED从“临界闪烁”调到“稳定翻转”,那就是最舒服的灵敏度。

排针部分:一般引出VCC、GND、OUT1、OUT2(也可能有OUT3、OUT4,取决于几个探头),有的模块还会引出AOUT模拟输出口,方便你接ADC做实验。排针间距基本是2.54mm标准间距,方便插面包板和杜邦线。

滤波电容部分:这个最容易被新手忽略。原理图上如果每个比较器的电源引脚旁边都有一颗104电容,说明作者是个细心人。如果没有,也别慌,在PCB布局上把电容尽量靠近VCC引脚放置,效果差不多。高频噪声对红外接收电路的影响是灾难性的,尤其是旁边还有电机这种大电流感性负载的时候,不去耦的话,传感器数据会跳得你怀疑人生。

3. 实操过程与PCB设计的核心环节实现

3.1 拿到.rar后第一步:先看文件结构,再决定怎么打开

这个压缩包里有什么,直接决定了你接下来的操作路径。我自己拿到这种资源的标准动作是:

  1. 解压到一个英文路径的文件夹里(别用中文路径,尤其是Altium Designer,中文路径容易报错或者丢失库文件关联)。
  2. 先看文件后缀。如果是.SchDoc和.PcbDoc,说明是Altium Designer工程,需要AD软件打开;如果是.json、.eprj、.epro,大概率是嘉立创EDA(专业版或标准版)的工程;如果只有Gerber和BOM,那恭喜你,这是可以直接拿去打样的“成品包”,但没法改电路了。
  3. 找一下有没有README.txt或者说明.txt。很多作者会把元件清单、焊接注意事项、使用电压写在里面。
  4. 打开原理图和PCB后,先按快捷键D+R(AD里是“设计→更新PCB文档”)同步一次,看看有没有丢失的网络和元件。这能帮你发现文件是不是完整。

如果你手头没有Altium Designer,又不想装那个笨重的软件,嘉立创EDA(专业版)可以直接导入AD的.SchDoc和.PcbDoc文件(需要用到“导入”功能),这是目前最省事的免费方案。我用过几次,转换效果基本能保住99%的网络连接,只有个别特殊封装会需要手动重映射。

3.2 原理图逐步复现:从“看”到“改”的五个关键步骤

咱们不能光“看”原理图,还得能“改”。以下是我建议的实操路径,你在嘉立创EDA里新建一个工程,跟着一步步来,就能把这份原理图从“别人的设计”变成“自己的板子”。

第一步:放置核心元件。先查好TCRT5000的封装,它通常是4引脚(发射管两个脚、接收管两个脚),或者你可能用的是“红外对管分体式”——发射管是直插5mm红外LED,接收管是5mm光电二极管/光电晶体管。在原理图里把传感器放好,并给每个元件加网络标签,比如P1_TX_A、P1_RX_A这样的话,后面才不会乱。

第二步:搭发射管驱动电路。从VCC走到限流电阻,再到发射管阳极,阴极接地。按5V供电计算,如果发射管正向压降约1.2V,限流电阻330Ω,电流就是(5-1.2)/330≈11.5mA,这个电流足够让TCRT5000在2cm到3cm距离内稳定工作。记住这个计算公式,以后换电压、换管子,你自己就能算电阻。

第三步:搭接收管和比较器电路。接收管的一端接VCC,另一端通过电位器接地,中间抽头接比较器的输入引脚。LM393比较器的输出是开集电极结构,所以必须在输出脚和VCC之间接一个10kΩ上拉电阻,否则输出端无法输出高电平。这个上拉电阻是很多人容易漏掉的,漏掉之后你就发现输出永远是低电平,或者悬空乱跳。

第四步:加阈值参考电压。用一个10kΩ电位器,一端接VCC、一端接地、中间抽头接比较器的另一个输入端,这就是阈值电压。把电位器拧到中间,阈值大概在2.5V左右,后续再根据实际调试微调。

第五步:加输出指示和接口。每个比较器输出端串联一个1kΩ电阻和LED到GND(注意LED的方向,阴极接GND,阳极串电阻接输出),再接一个排针。做完这一步,你的“单路红外检测模块”原理图就完成了。如果要做四路循迹,复制粘贴三份,然后把输出端命名成OUT1到OUT4即可。

3.3 PCB布局与走线的经验:传感器朝向、隔离与滤波是关键

原理图画完,PCB布局才是真正的重头戏。在这个项目里,PCB布局的好坏直接决定模块的检测稳定性和抗干扰能力。我总结了这几条实战经验,你可以直接套用:

  • 传感器区域必须有明确的“几何朝向”。循迹模块的传感器要排成一条直线,每个TCRT5000的间距建议在1.5cm到2cm之间,间距太近会互相干扰,太远则可能漏检小角度弯道。避障模块的发射管和接收管不能正对着放,要有一个5度到15度的夹角,或者用物理隔板隔开,防止红外光直接耦合到接收管。
  • 比较器尽量靠近传感器放置。LM393的输出是数字信号,抗干扰能力强,但输入端的模拟分压信号很脆弱,走线越长越容易引入噪声。所以在PCB上,电位器、分压电阻、比较器输入引脚之间的走线越短越粗越好。
  • 数字地和模拟地要单点连接。如果板上既有数字信号(OUT端)又有模拟信号(接收管分压),最好把传感器部分的地单独走一小块铜皮,然后在比较器附近用0欧电阻或一个焊点连到主地。这个操作对降低检测抖动效果明显。
  • 电源线上加粗并加去耦电容。至少保证VCC走线宽度不小于1mm,在比较器VCC引脚旁边放一颗104电容,在电源入口放一颗10uF到100uF的电解电容。如果你要和小车电机共用电源,这点尤为重要,不然电机一启动,比较器阈值就跟着抖。

对于走线细节,我建议传感器下面的铜皮要尽量铺地,而不是走信号线。因为红外对管对地平面的寄生电容比较敏感,铺地可以给信号回路提供一个低阻抗路径,减少杂散耦合。很多开源模块的PCB,传感器区域正面走信号、背面整块铺地,就是这个道理。

3.4 从原理图到PCB的同步:DRC检查与封装检查不能省

说实话,画完原理图直接转PCB,是新手最爱踩的坑。原理图里看起来连接没问题,一转PCB就冒出几十个错误。我的习惯是,在转PCB之前,先做一轮电气规则检查(ERC),重点看这几个地方:

  1. 是否有悬空的引脚。常见的是LM393的输出引脚忘记接上拉电阻,或者电位器的某些脚没连。
  2. 是否有电源短路。VCC和GND网络有没有被一个看似不起眼的0欧电阻连在一起。
  3. 封装是否匹配。原理图元件和PCB封装名字是否一致,尤其注意电位器的三种封装(直插3296W、贴片3214W、蓝色塑封可调电阻RM065)引脚间距差异很大。

转PCB之后,还要做一次设计规则检查(DRC)。在嘉立创EDA里,我一般会把“线宽最小限制”设为0.3mm,“间距最小限制”设为0.3mm,然后跑一遍。如果报错,优先检查传感器下方、排针附近、电位器旁边这些走线密集的地方。有些板子为了把传感器排得近,会把走线宽度压到0.2mm,这在打样时容易出问题,能不压就别压。

4. 调试过程与常见问题排查

4.1 上电前必做的三件事:万用表、短路检查、供电顺序

模块焊好之后,别急着上电。我说个我自己的教训:曾经有一次我焊完一块四路循迹模块,上电后所有指示灯全亮,当时还觉得“状态不错”,结果用手一摸LM393,烫得直接起泡——原来是VCC和GND在排针处焊反了,还是反接的电压直接把比较器干穿了。从那以后,我上电前必做三件事:

  1. 用万用表蜂鸣档测VCC和GND之间是否短路。正常的模块,VCC和GND之间应该是几百欧以上的电阻(因为有上拉电阻和分压电阻),如果直接响,说明哪里短路了,先别上电。
  2. 检查所有电解电容和LED的正负极。电解电容接反会爆,LED接反不亮但不会坏,但会给排查增加障碍。
  3. 用一个可调电源从3V开始慢慢往上加电流限制在100mA以内。如果电流超过50mA(四个探头的模块),说明板上可能有短路或者某个电阻贴错值了,立即断电检查。

上电后,正常的静态电流大概在10mA到30mA之间(取决于发射管导通数量和电源指示灯)。如果电流明显偏大,优先检查发射管的限流电阻是不是贴少了或者贴小了。

4.2 循迹灵敏度不稳定的排查顺序

这是所有小车玩家都会遇到的问题:模块能检测黑白线,但是一跑起来就乱飘,或者同一个位置,今天能检测到,明天又不行了。按下面这个顺序排查,基本能解决九成问题:

第一,检查安装高度。TCRT5000最佳检测距离是0.5cm到1.5cm,如果传感器离地面太远,反射光强度衰减很厉害,阈值会非常临界。用卡尺量一下,超过2cm就直接降高度。

第二,检查电位器调节。找一张白纸和一条黑胶带,把模块放在白纸上,拧电位器到LED刚好熄灭;再移到黑线上,LED应该点亮。如果不管怎么拧,LED都不翻转,说明接收管电路有问题或者发射管不工作。

第三,检查供电电压。如果模块和小车电机共用一个电源,电机堵转时电压跌落,会导致比较器阈值跟着变。这个时候用一个万用表测一下电机启动瞬间模块VCC的电压,低于4.5V就说明电源余量不够,需要单独给模块供电,或者在电源入口加一个大电容。

第四,检查环境光干扰。阳光直射或者强台灯照射下,红外接收管接收到的背景红外光会增强,导致阈值判断错乱。这时需要检查传感器上面有没有遮光罩,或者在软件里对每个探头做一次“校准”。

4.3 避障距离短、不可调、误触发的问题处理

避障模块的常见问题和循迹略有不同,主要集中在检测距离上。避障模块的电位器一般能调出3cm到30cm的检测范围,但实际使用中,很多人反馈“只能检测到很近的障碍物,远一点就没反应”,或者“隔老远就误触发”。

“只能检测很近”的原因通常是发射管电流不足。发射管供电如果经过一个较大的限流电阻(比如1kΩ),红外光强度会很弱,自然检测不远。按照5V供电、20mA电流计算,限流电阻应该取(5-1.5)/0.02≈175Ω,取180Ω或220Ω都可以。如果电阻是1kΩ,电流只有3.5mA,检测距离会大幅缩短。

“隔老远就误触发”的原因通常是接收管的灵敏度调得太高了,也就是电位器的参考电压设置得太接近分压点。这种情况要把电位器往“降低灵敏度”的方向拧,让输出状态在近距离障碍物时才切换。另外,避障红外管对环境光非常敏感,如果你在阳光下测试,会发现误触发概率直线上升。这时候可以在接收管外面套一个热缩管(只留顶部接收窗口),减少侧向杂散光的干扰。

4.4 一套可以直接抄的调试记录表

调试这种模拟+数字混合的模块,最忌讳“凭感觉”。建议你准备一张表,每次调试都把数据记录下来。我这里分享一个简单模板:

序号测试条件电位器位置(顺时针多少度)LED状态输出电平现象说明
1白纸上方0.5cm45°灭高正常
2黑线上方0.5cm45°亮低正常
3白纸上开台灯45°闪抖动环境光干扰,需要降低灵敏度
4黑线上方2cm60°灭高距离太远,发射光衰减

有了这张表,你就能定量看出问题出在哪个环节,而不是每次都从头猜。而且当你把模块从比赛场地换到教室地板时,也能快速根据记录值重新校准。

5. 常见问题速查表与避坑心得

5.1 十大高频故障对照表

我把这个项目里大家问得最多的问题整理成了一张速查表,你在遇到故障时直接按症状查原因:

故障现象可能原因排查/解决动作
所有指示灯都不亮电源没接好、排针虚焊先查VCC和GND电压,再查限流电阻
只有电源灯亮,传感器指示灯全灭传感器发射管坏或电阻开路测发射管两端压降,正常约1.1V~1.4V
传感器指示灯常亮不灭电位器阈值设得太低或接收管损坏拧电位器到另一端,看LED是否熄灭
输出电平始终是低LM393的上拉电阻缺失检查输出端到VCC之间是否有10kΩ电阻
循迹检测“时好时坏”电位器接触不良或虚焊换一个新的3296W电位器
避障距离无法调节电位器一端没连上用万用表测电位器三个引脚到地的电阻
模块发热严重电源反接或短路立刻断电,检查VCC/GND
靠近障碍物但不触发发射管和接收管夹角太小调整夹角到10°~20°,必要时加隔板
检测距离突然变短红外管表面有灰尘或遮挡用酒精棉擦拭传感器表面
和电机共用电源时数据跳变电源纹波太大,缺去耦电容在模块电源入口并联470uF电解电容

5.2 我在反复画这块板子过程中总结的四个“别”

第一个“别”:别把原理图画得太“理想”。电阻取整数值、电容取常见值,不要用4.7kΩ这种需要凑的阻值,能取10kΩ就取10kΩ,BOM采购和焊接都会省很多心。

第二个“别”:别忽略PCB上的丝印。我当时第一次画板,把TCRT5000的方向丝印画反了,焊的时候四个管子全反,焊完之后只能飞线救回来。正确做法是在丝印上把发射管和接收管的小圆点标记出来,这样贴片时一眼就能分辨方向。

第三个“别”:别把电位器放在板子边缘。电位器是要用手拧的,如果放在板子边缘,安装到小车底盘后可能被螺丝、支架挡住,拧都拧不到。预留2mm到3mm的操作空间,比什么都强。

第四个“别”:别在原理图上直接给传感器供电。我见过有人把TCRT5000的发射管直接接在单片机的3.3V引脚上,没加限流电阻,结果一个晚上烧了三个传感器。每个发射管都必须有独立的限流电阻,哪怕你计算出来电流只有几毫安,这个电阻也不能省。

5.3 这块板子的后续扩展思路

如果你已经把这个模块玩透了,还可以在它的基础上做几件事,让学习价值再翻一倍。

第一,把LM393换成轨到轨运放(比如MCP6002),然后引出模拟输出,接到STM32的ADC,做一个“灰度传感器”,这样你的小车不仅能分辨黑白,还能分辨灰度的深浅,跑更复杂的赛道。

第二,在PCB上加一个I2C接口的数字电位器(比如MCP4017),用单片机通过I2C动态调整灵敏度,这样你就能在程序里实现“自动校准”,比赛时不用手动拧电位器了。

第三,把四个循迹探头扩展到八个,做成“八路循迹模块”,用两片LM393或者一片LM339(四比较器)复用,然后通过移位寄存器(比如74HC165)把八路并行信号转成串行,只占用单片机三根线,就能实现“八路循迹”,这是很多省赛小车的高端玩法。

第四,把避障模块做成“双路避障”,左右各一个传感器,配上舵机云台,就能实现简单的“雷达扫描避障”,虽然精度不如超声波,但胜在成本低、响应快。

以上这些都是从这个.rar基础模块发散出去的合理升级路径。我的看法是,一块好的开发板、一个经典的模块图,价值不在于它自己有多复杂,而在于你能不能从中提炼出“传感器+比较器+输出接口”这套通用总线的设计范式。把这套范式刻进脑子里,以后不管遇到红外循迹、激光测距、声音检测、火焰报警,你都能一眼看穿它们的电路本质。到了那时候,你手里这份原理图和PCB图,就不只是“能用”的资源,而是帮你把硬件设计功底打牢的跳板。

本文还有配套的精品资源,点击获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询