摘 要
本系统采用单片机 C8051F005 作为核心器件对小汽车行驶的自动控制。控制过程是
利用反射型光电传感器识别路面黑线信息,保证小车能够有效的寻迹和停止。采用角度
传感器测量坡度,通过数据采集系统的处理,完成电动小汽车在跷跷板处于任何角度时
的速度及方向控制。利用 PWM (脉宽调制)技术控制直流电机的转速,时间用数码管
显示。本设计共使用五支反射型光电传感器,其中利用四支控制车轮的转向,一支控制
前进、停止。整个系统较好的实现了题目的要求,达到了较高的性能指标。
关键词:单片机 C8051F005,反射型光电传感器,角度传感器,PWM 技术
1
一、 方案的论证与选择
根据题目的基本要求,分别对系统各模块进行论证。
1、 单片机的选择
方案一: 采用传统的 89C51 芯片作为小车的控制中心。51 单片机具有价格低廉使
用简单等特点,但其运算速度较低。功能比较单一,内部资源比较少,在对小车进行控
制时必须外扩芯片, 且本系统需要 A/D、D/A 转换模块但 89C51 中没有,需要外加,
控制过程相对比较繁琐。
方案二: 采用单片机 C8051F005 作为控制中心。C8051F 系列单片机的指令系统与
传统的 80C51 单片机完全兼容,且单片机 C8051F005 具有丰富的内部资源,并且包含 12
位精度的 A/D、D/A 转换模块,方便了模拟、数字信号的转换,不需要再外加 A/D、D/A
转换模块,并且由于采用流水线技术,比标准 51 系列单片机快约 12 倍,除此之外
C8051F 系列单片机还具有操作简单,在线下载易于调试等优点,完全适合于对小车的
控制。尤其是其具有丰富的中断源为接收传感器的信息提供了很大的方便。
基于上述分析,所以选择方案二。
2、 电动机驱动调速模块的选择
方案一: 采用步进电机作为驱动源,此种方案可以轻松地达到调速的目的,但是
在原有的小车结构上找到合适的步进电机比较困难,同时也加大了系统的复杂程度,更
提高了硬件改造的困难程度,而且步进电机的价格也比较高。
方案二: 采用由达林顿管组成的 H 型 PWM 电路。PWM 电路由四个大功率晶体管
组成 H 桥电路构成,四个晶体管分为两组,交替导通和截止,用单片机控制达林顿管使
之工作在开关状态,通过调整输入控制脉冲的占空比,精确调整电动机转速。这种电路
由于管子只工作在饱和和截止状态下,效率非常高。H 型电路使实现转速和方向的控制
简化,且电子开关的速度很快,稳定性极强,是一种广泛采用的 PWM 调速技术。
基于上述分析,拟采用方案二。
3、 路面黑线探测模块的选择
探测路面黑线的工作原理是:光线照射到路面并反射,由于黑线和白纸的反射系数
不同,可根据接收到的反射光强弱判断是否到达黑线
方案一: 不调制的反射式红外发射—接收器。由于采用红外管代替普通可见光管,
可以降低环境干扰;但如果直接用直流电压对管子进行供电,限于管子的平均功率要求,
工作电流只能在 10mA 左右,仍然容易受到干扰。
方案二: 采用电光开关(E3F-DS0C4),此电光开关默认为低电平,当检测到黑线
时会输出高电平给单片机,从而产生中断。此电路有助于降低输入阻抗且硬件电路简单
易于软件控制,还可以有效将光电检测结果送入单片机处理。
基于上述考虑,拟采用方案二。
4、 显示选择
方案一:采用静态驱动法。输出一次显示数据后,所有数码管可以一直保持显示,
只需要改变显示内容时才重新发送一次显示数据,但实时性差,不宜采用。
2
方案二:采用动态驱动法原理。每只数码管轮流显示各自的字符。由于人眼具有视
觉暂留特性,当每只数码管显示的时间间隔小于 1/16S 时人眼感觉不到闪烁,看到的是
每只数码管常亮。
以上两种方案综合考虑,采用方案二。
5、 电源的选择
方案一:双电源供电。用两个电源分别给控制系统和电机系统供电将两个系统完全
隔离,利用光电耦合传输信号,这样做虽然可以将电动机驱动所造成的干扰大大降低但
操作复杂不如单电源方便灵活。
方案二:采用单一电源(6 节 AA 电池)供电方案,并在单片机与电机驱动电路间
采用了光电耦合器进行连接,这样既能简化电路,提高了电源的可靠性,从而提高系统
的稳定性。
基于上述分析,拟采用方案二。
二、系统框图及工作原理
图2-1给出了系统组成框图,数据采集通过反射型光电传感器完成对黑线的检测,
并以电信号脉冲的形式送入单片机的中断源,五支反射型光电传感器依图由上至下顺序
分别与单片机的P1.6、P1.7、P0.2、P1.5、P1.4相接,单片机对送来的信号进行分析、处
理,角度传感器将采集的信息通过A/D模块进行采集,经处理后发出指令对小车实施控
制,使电动车在行驶中速度得以调整。另外,单片机通过内部时钟对行驶时间进行记录
并显示。
图 1 系统组成框图
三、系统的硬件设计
1、电机驱动电路模块
电动机 PWM 驱动模块的电路见附图 2。本电路采用的是基于 PWM 原理的 H 型驱
单片机
前左传感器
前右传感器
中传感器
后左传感器
后右传感器
角度传感器
驱动电机
LED 显示
3
动电路。该电路采用 TIP122 和 TIP127 大功率达林顿管,以保证电动机启动瞬间的电流
要求。
电路工作过程:当 40106 的 1 脚为高电平,5 脚为低电平时,Q1、Q4 管截止,电
动机正转。当 40106 的 1 脚为低电平,5 脚为高电平时,Q2、Q3 管截止,Q1、Q4 管导
通,电动机反转。
控制系统电压统一为 5V 电源,因此若达林顿管基极由控制系统直接控制,则控制
电压最高为 5V,再加上三极管本身的压降,加到电动机两端的电压就只有 4V 左右,减
弱了电动机的驱动力。基于上述考虑,我们运用了 4N25 光耦集成块,将控制部分与电
动机的驱动部分隔离开来,这样不仅增加了各系统模块之间的隔离度,也使驱动电流得
到了大大的增强。
至于 40106 的 1 脚与 5 脚这对控制电压,我们采用了 200KHz 的周期信号控制,通
过对其占空比的调整,对车速进行调整。最小脉冲为 0.2ms,可以满足车速调整的精度
要求。同时,可以通过 40106 的 1 脚与 5 脚的切换来控制电动机的正转与反转。
2、传感器模块
2.1 反射型光电传感器
光电传感器在受到可见光照射后即产生光电效应,将光信号转换成电信号输出。它
除能测量光强之外,还能利用光线的透射、遮挡、反射、干涉等测量多种物理量,如尺
寸、位移、速度、温度等,因而是一种应用极广泛的重要敏感器件。本系统采用了反射
型光电传感器,利用黑色寻迹线对光反射很弱,使传感器输出低电平传给单片机。单片
机输出相应的指令从而控制小车的转向。本设计共使用五支反射型光电传感器,前左、
前右传感器安装在两前轮中间位置并分别与单片机 P1.6、P1.7 口相接,控制小车前轮的
转向,后左、后右传感器安装在两后轮中央,与 P1.5、P1.4 口相连,控制小车的前进、
后退,中传感器安装在车体中间一侧位置并与单片机 P2.0 口连接,用于检测横向黑线,
控制小车的行驶、停止。当传感器检测到信号后,传给单片机产生中断,并发出相应指
令调速。保证小车能够有效的寻迹和停止。
2.2 角度传感器
角度传感器经常用于系统的水平测量,从工作原理上可分为“固体摆”式、“液体摆”
式、“气体摆”三种倾角传感器,本系统采用的是固体摆式角度传感器 AME-B001,其输
出为模拟量,转角范围是 0~360 度,输出电压范围是 0.5~4.5V ,平衡位置电压约为
1.7V。此传感器具有磁钢位置未对准自动补偿;故障检测功能;非接触位置检测功能,
是满足苛刻环境应用需求的理想选择三个优点。根据坡度的不同,单片机通过 A/D 模块
采集到不同的电压,再根据电压值的不同控制小车上下坡的速度,从而防止小车上坡时
因为速度小而不能爬上及下坡时因为速度过大而冲下跷跷板,保证了小车在上下坡时的
正常行驶。小车在跷跷板上行驶受重力 G、支持力 N、电机的拉力 F 拉和与行驶方向相
反的摩擦力 f,跷跷板与地面夹角为 θ。受力情况分析如下图所示。
4
图 2 小车受力分析
若使小车在跷跷板上保持匀速行驶,则应受力平衡,故水平方向应满足:
���
NSinCosFfSin
L
��
经受力分析可知:f=Ug; N=Gcosθ.经推倒可得出拉力与 θ 的关系为:
�
SinuF
G
L
�
�
1
根据拉力与电机扭力的关系:F 拉= X%*F 扭即可得出倾角 θ 与电机扭力的关系:
%
)(
X
SinuG
F
n
�
�
�
.
3、显示电路模块
动态驱动法对数码管的笔画端与公共端都加有驱动电路。将数码管的笔画端连接在
一起,驱动电路将显示字形码(段码)同时加在每只数码管上。各个数码管的公共端分
别使用驱动器件驱动。任意一个时刻只有一只数码管的公共端被驱动(位码),故只有
该数码管能显示。其他数码管由于公共端未被驱动,即使笔画端加有段码驱动也不会显
示。位驱动电路不停地轮流驱动每一只数码管,段驱动同时输出被驱动的数码管的段码,
这样每只数码管轮流显示各自的字符。由于人眼具有视觉暂留特性,当每只数码管显示
的时间间隔小于 1/16S 时人眼感觉不到闪动,看到的是每只数码管常亮。电路原理图见
附图 3 所示。
4、电源电路模块
本设计采用单电源供电,具体电路见附图 4 所示。
四、系统的软件设计
采用两根跳线通过三次切换,实现题目要求的功能。
1、 基本要求 1、2 程序流程图
由于基本要求部分的实现功能基本相似,只是跷跷板的状态不同,故基本部分采
用一个流程图,见附图 6。
先将跷跷板固定在水平状态,电动车从起始端 A 位置出发,行驶跷跷板的全程(全
程的含义:电动车从起始端 A 出发至车头到达跷跷板顶端 B 位置)。停止 5 秒后,电动
车再从跷跷板的 B 端倒退回至跷跷板的起始端 A,电动车能分别显示前进和倒退所用的
F 拉
G
N
f