2012 年
华侨大学电子设计竞赛
作品设计报告
题
目: 自动追光避障电动小车
作品代码: 黄佳琛、李林林、林兴乐
日
期: 2012 年 5 月 18 日
摘要
本设计采用 STC89C52RC 单片机作为控制核心设计并制作一辆可以自动避障
追光的智能小车,该智能小车能通过光敏元件(如光敏二极管、光敏电阻等)确定
光源方位并沿光源方向前进,在前进途中能根据光电接近开关感知到前方障碍物
的存在并执行相应的简单避障,且该智能小车可以通过车顶的太阳能板通过光敏
元件实时调整角度对准光源获取小车前进所需要的能量。
关键词:避障、寻光、光敏元件、光电接近开关
目 录
一、设计方案 ................................... 错误!未定义书签。
1.1 系统总体设计方案 ........................... 错误!未定义书签。
1.2 模块方案比较与论证 ......................... 错误!未定义书签。
1.2.1 避障模块 ............................................. 1
1.2.2 电机驱动模块 ..........................................1
1.2.3 太阳能板对光模块 ......................................2
1.2.4 电源 ..................................................2
二、系统的硬件设计 .............................................. 2
2.1 追光模块电路设计 ..........................................2
2.2 停车模块电路设计 ..........................................2
2.3 太阳能板对光模块设计 ......................................3
2.4 太阳能充电电路设计 ........................................3
2.5 步进电机驱动模块设计 ......................................3
2.6 直流电机驱动模块设计 ......................................3
三、系统的软件设计 ............................................... 4
3.1 主程序流程框图 ............................................. 4
3.2 避障子程序流程框图 ......................................... 4
3.3 寻光子程序流程框图 ......................................... 4
3.4 太阳能板对光子程序框图 ..................................... 5
四、系统功能调试与测试 .......................... 错误!未定义书签。
4.1 测试仪器与设备 ............................................. 6
4.2 调试与测试结果 ............................................. 6
五、结论 ........................................ 错误!未定义书签。
六、参考文献 ..................................................... 7
附录:系统原理图 ................................................. 8
1. 设计方案
1.1 系统总体方案设计
此电动小车由自动追光自动避障系统和自动追光太阳能充电系统组成。采用
STC89C52RC 单片机为核心器件,检测光敏元件状态执行相应的程序,控制电机
转动的方式,达到小车自动追光自动避障的功能。通过检测太阳能板追光传感器
输入信号执行相应的程序执行电机正反转程序,电机正转或反转,控制对光装置
转动,使太阳能电池板始终正对光源。整体框图如下图 1-1。
避障模块
追光模块
STC89C52RC
电机驱动模块
太阳能板对光模块
电机
整体框图 1-1
1.2 模块方案比较与论证
1.2.1 避障模块
方案一:采用超声波传感器进行避障。超声波传感器在避障系统中普遍使用,
其避障性能很好,接收与发射信号不易受外界干扰,可以很好的实现避障的功能,
但是,超声波传感器信号调制复杂,外围电路复杂,技术难度较高,综合考虑后,
放弃此方案。
方案二:采用光电接近开关进行避障。光电接近开关检测距离长,检测对
象广泛,响应速度快,分辨能力高,且不受磁场和振动的影响,在本系统中使用
可靠性高,反应灵敏,足以满足要求,所以选用此方案。
1.2.2 电机驱动模块
方案一:采用 ULN2803 达林顿驱动器来驱动直流电机和步进电机。ULN2803
达林顿驱动器是八重达林顿晶体管阵列,具有较大的灌电流,外围电路简单,价
格低廉,常用来驱动电机。但是,ULN2803 只能使直流电机单方向转动难以实现
直流电机反转,而小车在避障过程中经常需要使车轮反转,故只在步进电机上使
1
用此方案,直流电机不采用此方案。
方案二:采用 L298N 电机专用驱动模块来驱动电机。L298N 是 ST 公司生产
的一种高电压、大电流、电机驱动芯片。内部含有 2 个 H 桥。可以实现直流电机
的正反转。故直流电机驱动选择此方案。
1.2.3 太阳能板对光模块
方案一:通过程序实现太阳能板对准光源。如果太阳能板开始时对准光源,
小车转动一定角度时,步进电机往相反方向转动一定角度可保持太阳能板一直对
准光源,该方案算法复杂,精确度低,故放弃此方案。
方案二:采用光敏元件实现太阳能板对准光源。可用一对光敏电阻和电压比
较器来实现太阳能板对光,该方案可以实现太阳能板对准光源且精度较高,外围
电路相对简单,故选用此方案。
1.2.4 电源
方案一:采用锂电池为小车供电。锂电池具有内阻小,容量大,体积小,
无记忆效应等优点。但是价格较高,且单块锂电池电压一般为 3.7V 不适合直接
构造小车电源。故不采用此方案。
方案二:采用镍镉电池为小车供电。镍镉电池价格便宜,内阻较小,单节电
压 1.2V,5 节串联作为小车电源较为合适。故采用此方案。
2.系统的硬件设计
2.1 追光模块电路设计
追光模块由 5 路如下图 2-1 所示的电路组成。其中 R3 提供基准电位,通过
检测 R1 与光敏二极管 D1 之间的电位与 R3 所提供的基准电位送入电位比较器
LM339 进行比较,然后将数据送到单片机处理,通过判断 5 路追光电路受光情况
作出相应的反应。由于 LM339 输出为集电极开路无法输出高电平故在输出端加上
拉电阻。
2-1 追光模块电路原理图
2-2 太阳能对光模块电路原理图
2.2 停车模块电路设计
停车模块电路与追光模块类似,只是将光敏二极管换为光敏电阻。
2
-
2
8
1
4
+
3
L
M
3
3
9
V
C
C
D
1
5
1
0
k
R
1
5
K
R
3
V
C
C
V
C
C
R
?
R
2
-
2
8
1
4
+
3
L
M
3
3
9
V
C
C
V
C
C
R
5
V
C
C
R
1
R
2
R
3
g
u
a
n
g
m
i
n
R
4
g
u
a
n
g
m
i
n
2.3 太阳能板对光模块电路设计
太阳能板对光模块由如上图 2-2 所示。R3 和 R4 为光敏电阻,分别置于太阳
能板左右两侧。通过将 R1 与 R3 之间电位与 R2 与 R4 之间电位传入 LM339 电位比
较器进行比较以此来确定光源偏离太阳能板位置。其中 R2 与 R1 为精密可调电阻,
可通过调节 R1 与 R2 阻值来调节左右灵敏度。
2.4 太阳能充电电路设计
太阳能板充电模块电路如下图 2-3 所示。其中二极管 D1 作用是防止太阳能
板没有受光时或受光强度比较小时被电池反向放电所破坏。发光二极管 D2 为提
示灯,当太阳能板受光能给电池充电情况下,就会发光,R1 为限流电阻,防止电
流过大损坏发光二极管。
2-3 太阳能板充电电路原理图
2-4 步进电机电路原理图
2.5 步进电机驱动模块设计
步进电机驱动电路如上图 2-4 所示。步进电机驱动采用 ULN2803 八重达林顿
反相器驱动。只要将输入端 1、2、3、4 接单片机有上拉电阻的 I/O 口即可控制
步进电机。由于步进电机是感性负载,所以 COM 端接电源 Vcc。
2.6 直流电机驱动模块设计
直流电机驱动电路见附录-4。直流电机驱动模块由全桥式电机驱动芯 L298N
和它的外围电路构成。其中二极管 D1~D8 为续流二极管,其作用是防止直流电机
产生的反向高压击穿功率管。
3
太
阳
能
板
*
太
阳
能
板
B
1
B
a
t
t
e
r
y
N
4
0
0
7
D
1
D
2
L
E
D
R
1
R
e
s
1
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
G
N
D
9
C
O
M
1
0
1
1
1
1
1
2
1
2
1
3
1
3
1
4
1
4
1
5
1
5
1
6
1
6
1
7
1
7
1
8
1
8
U
L
N
2
8
0
3
*
u
l
n
2
8
0
3
V
C
C
*
5
C
O
N
T
V
C
C
3.系统的软件设计
3.1 主程序框图
开始
各功能模块初始化
While(1)
从传感器读取信号
是
各传感器是否检
测到障碍物
否
避障子程序
寻光子程序
3.2 避障子程序框图
开始
是
中间传感器是否检测
到障碍物
否
执行大转向避障程
序
3.3 寻光子程序框图
往检测到障碍物相反方
向转小角度直到没有检
测到障碍物
4
开始
最左边传感器和最右传
感器传给单片机电平是
否不同?
是
往 检 测 到 光 源 的 传
感 器 方 向 转 一 个 较
小角度
是
左边第二个和右边第
二个传感器传给单片
机的电平是否不同?
否
否
往前方直走
往检测到光源的传感
器方向转一个较小角
度
3.4 太阳能板对光子程序框图
开始
左边光敏电阻受到光
强度大?
步进电机左转
步进电机右转
5