硬件实战项目——纯硬件寻迹小车

一、总体效果

整体效果是小车可以沿着黑色轨迹运动,使用红外发射管。本质是用红外发射二极管(IR LED)照地面 ,再用红外接收二极管/光电二极管 感受反射强弱,把"黑线/白底"的反射差异转换成电压,再用 LM393 比较器直接开关左右电机。

二、红外二极管循迹的原理

  • 发射端(IR LED):持续向地面打红外光。

  • 地面反射

    • 白底(或浅色):反射强 → 回到接收端的红外光更强

    • 黑线(或深色):吸收多、反射弱 → 回到接收端的红外光更弱

  • 接收端(红外接收二极管 / 光电二极管):接收到的光越强,它产生的光电流越大(或等效导通越强)

该电路总体框图如下所示,。假设基准电压为4.5V,红外接收二极管工作电流为1mA,R=1KΩ。有红外反射时,Ω,;没有红外反射小车走到黑色区域时,。通过与比较器的基准电压比较大小,有红外反射时,输出低电平,三极管不导通,电机停止转动;没有红外反射时,输出高低电平,三极管导通,电机转动。

左/右各一套"红外传感 + 比较 + 电机开关",于是自然形成差速:

  • 两边都看到白底 → 两电机都转 → 直行

  • 左边压到黑线(左侧反射弱)→ 左电机被关/变慢,右电机继续转 → 车向左偏转,直到左侧重新回到白底

  • 右边压到黑线 → 右电机被关/变慢,左电机继续转 → 向右偏转

  • 两边都黑 → 两边都停(通常意味着到终点/交叉线/完全偏离)

这就是"纯硬件循迹":没有控制算法,只有阈值与开关逻辑。

三、电机控制电路

D6为红外发射管,D2为红外接收管,D7是接收红外指示灯,接插件P1外接电机。

注:三极管Q1、二极管所能承受电流须大于电机工作电流。

问题1:R3与R4的阻值是怎么确定的?

电机的驱动电流相对较大,约为500mA,即Ic=500mA。

这里三极管需要工作在饱和导通状态,β*Ib>Ic,Ube=0.7V,三极管放大倍数使用100倍的,即β=100,Ib>5mA。R4+R5<,所以取R3=820Ω,R4=0Ω。

为什么不能取R4=820Ω,取R3=0Ω?

LM393这个比较器是OC输出,R3=0Ω相当于供电电压5V直接通过内部的三极管接地,产生大电流,会烧坏LM393。

问题2:各个电容有什么作用?

电机旁边的C3用来改善电机工作过程中产生的高脉冲噪声。

C2用来滤除电源产生的高频噪声,因为电源不是理想电源实际工作工程中会产生噪声,所以一般会加一些电容做滤波。

电解电容:画PCB时将其放在电机的安装端口附近,可以提供瞬态比较大的电流,三极管导通闭合瞬间形成回路给电机供电,防止电压跌落,同时也能滤除电机高频干扰

四、供电电路

采用NPN 发射极跟随稳压将电压稳定在5V,后续通过LDO电路稳压到3.3V。

Q2 是发射极跟随器,所以:

  • 基极被 D3 稳在 ~5.6V

  • 发射极(输出)就会稳定在:

问题1:R5阻值怎么确定?

我们需要直到流过稳压管D3的电流以及流过三极管Q2的电流,经过查阅手册可以,流过稳压管导通电流一般为1mA-10mA,我们设其电流为5mA。

三极管工作在预饱和区(放大和饱和之间),Ic≈20mA(通过后级回路估计),β=100,则Ib=0.2mA

R4=,近似取82Ω

相关推荐
Lester_11011 天前
STM32霍尔传感器输入口设置为复用功能输入口时,还能用GPIO函数直接读取IO的状态吗
stm32·单片机·嵌入式硬件·电机控制
LCG元1 天前
低功耗显示方案:STM32L0驱动OLED,动态波形绘制与优化
stm32·嵌入式硬件·信息可视化
三佛科技-187366133971 天前
120W小体积碳化硅电源方案(LP8841SC极简方案12V10A/24V5A输出)
单片机·嵌入式硬件
z20348315201 天前
STM32F103系列单片机定时器介绍(二)
stm32·单片机·嵌入式硬件
Alaso_shuang1 天前
STM32 核心输入、输出模式
stm32·单片机·嵌入式硬件
脚后跟1 天前
AI助力嵌入式物联网项目全栈开发
嵌入式硬件·物联网·ai编程
2501_918126911 天前
stm32死锁是怎么实现的
stm32·单片机·嵌入式硬件·学习·个人开发
星马梦缘1 天前
驱动层开发——蜂鸣器驱动
stm32·单片机·嵌入式硬件·hal·驱动
小刘爱玩单片机1 天前
【stm32简单外设篇】- 测速传感器模块(光电)
c语言·stm32·单片机·嵌入式硬件
电化学仪器白超1 天前
EC20CEHDLG-128-SNNS调试记录
python·单片机·嵌入式硬件·自动化