北京电子科技职业学院机械工程学院毕业论文
基于 MCS-51 单片机智能小车控制器设计
摘 要
本文简要介绍了系统的开发背景、意义,重点介绍了硬件设计和软件设计的过程。
本选题是用单片机技术开发智能小车,通过对路面的检测而实现自动前进、左右转弯、
后退等基本功能,可以方便的应用于路面的安全巡检。小车的硬件控制单元主要包括
传感器及调理电路,步进电机及驱动电路,控制器三个部分,并用 PROTEL 99 软件制作
原理图和电路板。在软件设计方面,则分为三个模块,即数据采集模块,信号处理模块,
控制器控制电机模块。此设计结构简单,用传统的汇编语言编程,利用定时器中断控
制信号采样频率和电机转速。
关键词: 单片机;传感器;步进电机;PROTEL 99
北京电子科技职业学院机械工程学院毕业论文
目
录
1 绪 论...............................................................................................................1
1.1 课题研究的背景........................................................................................................................... 1
1.2 开发的意义....................................................................................................................................1
1.3 课题设计方案................................................................................................................................1
2 系统硬件设计.................................................................................................2
2.1 系统设计原理及框图................................................................................................................... 3
2.2 系统各部分电路元件的选择....................................................................................................... 3
2.2.1 单片机的选择 ..........................................................................................................................4
2.2.2 集成运放的选择 ......................................................................................................................5
2.2.3 步进电机选择及其驱动电路设计 ........................................................................................ 5
2.2.4 电源电路的设计 .....................................................................................................................8
2.3 控制电路原理图的制作 .......................................................................................................................8
3 软件设计.........................................................................................................9
3.1 软件设计思想................................................................................................................................9
3.1.1 定时器中断 ...........................................................................................................................10
3.1.2 电机驱动模块 .......................................................................................................................11
3.2 源程序..........................................................................................................................................15
4 总 结.............................................................................................................17
5 谢辞................................................................................................................18
6 参考文献........................................................................................................19
北京电子科技职业学院机械工程学院毕业论文
1 绪 论
1.1 课题研究的背景
随着现代科技的飞速发展,单片机已经在各个领域得到越来越广泛的应用。单片机
由于体积小,功耗低两个基本特征,在通讯,家电,工业控制,仪器仪表,汽车等产品
中都可以看到单片机的身影。单片机技术也随着集成电路技术的进步在近几年飞速的发
展,这种发展可以分为两方面:一方面在硬件上单片机内部集成了越来越多的功能部件,
如 A/D,D/A,PWM,WATCHDOG,LCD 驱动,串行口,大容量 FLASH 存储器等;另一方面
在开发手段上从汇编语言向高级 C 语言过度,计算机仿真调试,IAP,ISP 技术的应用使
单片机开发周期大大的缩短,为各类产品更新,软件的升级提供了可靠的技术保障。在
设计单片机应用系统时,由于历史的原因,目前在国内仍然以 8051 系列单片机为主。
作为机电专业的学生,非常有必要通过对实际产品的设计和制作,了解现代 IT 产
品的开发全流程。全面提高机,电,光,算知识的综合应用能力,掌握从系统级,电路
级,到芯片级各个层次的设计和实现手段。基于上述原因,我选择此设计课题,在此设
计过程中,将会用到多门学科的理论知识,能复习和巩固以前所学的知识,更重要的是
培养了发现问题,分析问题,解决问题的能力,还有锻炼了动手能力,是一次很好的实
践,对以后的学习和工作也会有所帮助。
1.2 开发的意义
科技的进步带动了产品的智能化,单片机的应用更是加快了发展的步伐,它的应用
范围日益广泛,已远远超出了计算机科学的领域。小到玩具、信用卡,大到航天器、机
器人,从实现数据采集、过程控制、模糊控制等智能系统到人类的日常生活,到处都离
不开单片机,此设计正是单片机的一个典型应用。此设计实现了小车的无人驾驶,通过
对路面的检测,由单片机来判断控制小车,使其变得智能化,实现自动的前进,转弯,
停止功能.此系统完善后可以应用到道路检测,安全巡逻中,能满足社会的需要。
1.3 课题设计方案
本选题是用单片机技术开发智能小车,通过对路面的检测能实现自动的前进,左右
转弯,后退等基本功能,能够方便的应用于路面的安全巡检。
小车的控制单元主要包括传感器及调理电路,步进电机及驱动电路,控制器三个部
分。小车的行动离不开传感器,通过两个红外光电传感器,根据路面的情况分别输出高
1
北京电子科技职业学院机械工程学院毕业论文
低信号,由于传感器检测到的信号比较微弱,通过比较运放将其信号扩大、调理,使其输
出兼容 TTL 电平,以便与控制器接口。控制系统采用 AT89C52,控制器按一定的时钟周期
对光电检测器的输入信号采样检测,根据光电检测器的状态,判断小车的动作,给步进电
机输出正确的控制信号,实现电机的转动。通过定时器中断用汇编语言编程实现对小车
的控制,改变定时器的初值来控制小车的速度。电机采用的是四相八拍反应式步进电机,
实现上只要按一定的时钟周期(不小于 1.25ms),往四个控制端循环输出一组固定的控制
字即可,因左右轮的安装是反向的,要前进两个步进电机的转动必须是反向的,这里的方
向可以由通电顺序来改变,如左转,左轮停止右轮转动就可以了;反之,右转时,右轮
停止左轮转动便是, 要使步进电机停止转动,只要输出其他的固定的控制字即可。步进
电机的运行还要一个驱动电路,这里采用 ULN2803 驱动芯片。最后,由于系统各部分的
驱动电压、电流的不同,在电源的设计上,用 7805 进行转换,满足各个模块的需要。
在软件设计方面,则分为三个模块,即数据采集模块、信号处理模块、控制器控制
电机模块。此设计结构简单,采用传统的单片机汇编语言进行编程,通过编译成机器语
言,再由通信软件将机器码文件送入单片机联机经 KEIL C51 仿真调试验证结果的正确
性。
2 系统硬件设计
2.1 系统设计原理及框图
本系统的功能是机器小车沿地面黑白轨道完成自动寻迹,即实现左转弯,右转弯,
前进,停止,后退的功能。
工作过程是:二个红外光电传感器探测地面情况,由于轨迹为黑色的,不产生反射,
其感应信号表现为低电平,通过比较运放后以高电平的形式输出到控制芯片,相反则为
低电平,通过比较运放将感应信号放大输出,光电检测放大电路将其状态送入控制器
AT89C52,对输入的信号进行相应的判别,并用汇编语言编写程序控制光电传感器的检
测间隔,以及小车运动的速度,用驱动芯片 ULN2803 驱动小车运动,其运动的方向与检
测信号有关,控制器根据步进电机类别输出相应的控制字,让小车实现位移。
其系统框图如图 2.1 所示:
2
北京电子科技职业学院机械工程学院毕业论文
红外传感器
光电检测放大电路
步进电机(左轮)
步进电机(右轮)
步
进
驱
动
电
路
5v
A
T
8
9
C
5
1
红外传感器
光电检测放大电路
12v
图2.1 系统结构框
2.2 系统各部分电路元件的选择
2.2.1 单片机的选择
单片机品种繁多,就应用情况看,应用最广者当属 Intel 公司的 MCS-51 系列 8 位
机。本设计所用单片机即选用 MCS-51 单片机。
(1)其引脚如图 2.2 所示。
图 2.2
MCS-51 单片机引脚
3
北京电子科技职业学院机械工程学院毕业论文
vcc:接正极电源+5v
GND:接地
RST:复位信号输入引脚
XTAL1,XTAL2:接外部晶振引脚,外部时钟电路如图 1-6
P0,P1,P2,P3:不扩展功能作双向 I/O 口用,访问外部存储器时,P2,P0 分别做地址
总线高低 8 位地址
(2)其复位电路如图 2.3 所示。
图 2.3 复位电路
说明:复位电路的原理是在通电瞬间,由于 RC 的充电过程,在 RST 端出现一定的
脉冲宽度,只要该脉冲能保持 10ms 以上,就能使单片机可靠的复位。
(3)时钟电路的设计所以 MCS-51 单片机的时钟钟电路如图 2.6
图 2.4 外部时钟电路
2.2.2 集成运放的选择
目前广泛应用的电压型集成运算放大器是一种高放大倍数的直接耦合放大器。在该
集成电路的输入与输出之间接入不同的反馈网络,可实现不同用途的电路,例如利用集
成运算放大器可非常方便的完成信号放大、信号运算(加、减、乘、除、对数、反对数、
4
北京电子科技职业学院机械工程学院毕业论文
平方、开方等)、信号的处理(滤波、调制)以及波形的产生和变换。集成运算放大器
的种类非常多,可适用于不同的场合。
(1)集成运算放大器的分类:按照集成运算放大器参数来分,集成运算放大器可分为:
通用型运算放大器,高阻型运算放大器,低温漂型运算放大器,高速型运算放大器,低功
耗型运算放大器,高压大功率型运算放大器六大类。
下面介绍一下通用运算放大器的:通用型运算放大器以通用为目的而设计的。这类
器件的主要特点是价格低廉、产品量大面广,其性能指标能适合于一般性使用。例 mA741
(单运放)、LM358(双运放)、LM324(四运放)及以场效应管为输入级的 LF356 都属于
此种。它们是目前应用最为广泛的集成运算放大器。在没有特殊要求的场合,尽量选用
通用型集成运放,这样即可降低成本,又容易保证货源。当一个系统中使用多个运放时,
尽可能选用多运放集成电路,例如 LM324、LF347 等都是将四个运放封装在一起的集成电
路。
(2)集成运放结构功能分析:1.防止通过电源内阻造成高频振荡的措施是在集成运放
的负供电电源的输入端对地加一高频滤波电容(0.01uF-0.1uF)。2.输出保护。当集成
运放过载或输出端短路时,若没有保护电路,该运放就会损坏。当输出保护时,由电阻 R
起限流保护作用。3.调零。由于集成运放的输入失调电压和输入失调电流的影响,当运
算放大器组成的线性电路输入信号为零时,输出往往不等于零。为了提高电路的运算精
度,要求对失调电压和失调电流造成的误差进行补偿,这就是运算放大器的调零。即图中
的电位器就起调节电压的作用。
2.2.3 步进电机选择及其驱动电路设计
1)步进电机概述
(1)步进电机分三种:永磁式(PM) ,反应式(VR)和混合式(HB) 。
永磁式步进一般为两相,转矩和体积较小,步进角一般为 7.5 度 或 15 度;
反应式步进一般为三相,可实现大转矩输出,步进角一般为 1.5 度,但噪声和振动都很大。
在欧美等发达国家 80 年代已被淘汰;混合式步进是指混合了永磁式和反应式的优点。它
又分为两相和五相:两相步进角一般为 1.8 度而五相步进角一般为 0.72 度。这种步进
电机的应用最为广泛。 本设计即选用混合式步进电机。
(2)步进电机的静态指标术语
相数:产生不同对极 N、S 磁场的激磁线圈对数。常用 m 表示。
拍数:完成一个磁场周期性变化所需脉冲数或导电状态用 n 表示,或指电机转过一个齿
距角所需脉冲数,以四相电机为例,有四相四拍运行方式即 AB-BC-CD-DA-AB,四相
八拍运行方式,即 A-AB-B-BC-C-CD-D-DA-A
步距角:对应一个脉冲信号,电机转子转过的角位移用θ表示。θ=360 度(转子齿数
J*运行拍数),以常规二、四相,转子齿为 50 齿电机为例。四拍运行时步距角为θ
5
北京电子科技职业学院机械工程学院毕业论文
=360 度/(50*4)=1.8 度(俗称整步),八拍运行时步距角为θ=360 度/(50*8)=0.9
度(俗称半步)。
定位转矩:电机在不通电状态下,电机转子自身的锁定力矩(由磁场齿形的谐波以及机
械误差造成)。
静转矩:电机在额定静态电作用下,电机不作旋转运动时,电机转轴的锁定力矩。此力
矩是衡量电机体积(几何尺寸)的标准,与驱动电压及驱动电源等无关。虽然静转
矩与电磁激磁安匝数成正比,与定齿转子间的气隙有关,但过份采用减小气隙,增
加激磁安匝来提高静力矩是不可取的,这样会造成电机的发热及机械噪音。
(3)电机正反转控制:它与通电顺序有关,如当电机绕组通电时序为 AB-BC-CD-DA 时
为正转,通电时序为 DA-CD-BC-AB 时为反转。
2)驱动控制系统组成
使用控制步进电机必须由环形脉冲,功率放大等组成的控制系统,其方框图如图2.10所示。
(1)脉冲信号的产生:脉冲信号一般由单片机或 CPU 产生,一般脉冲信号的占空比为
0.3-0.4 左右,电机转速越高,占空比则越大。
(2)信号分配:步进电机以二、四相电机为主,二相电机工作方式有二相四拍和二相
八拍二种,具体分配如下:二相四拍为,步距角为 1.8 度;二相八拍为,步距角为 0.9 度。
四相电机工作方式也有二种,四相四拍为 AB-BC-CD-DA-AB,步距角为 1.8 度;四相八拍
为 AB-B-BC-C-CD-D-AB,(步距角为 0.9 度)。
(3)功率放大:功率放大是驱动系统最为重要的部分。步进电机在一定转速下的转矩
取决于它的动态平均电流而非静态电流(而样本上的电流均为静态电流)。平均电流越
大电机力矩越大,要达到平均电流大这就需要驱动系统尽量克服电机的反电势。因而不
同的场合采取不同的的驱动方式,到目前为止,驱动方式一般有以下几种:恒压、恒压
串电阻、高低压驱动、恒流、细分数等。
(4)细分驱动器:在步进电机步距角不能满足使用的条件下,可采用细分驱动器来驱
动步进电机,细分驱动器的原理是通过改变相邻(A,B)电流的大小,以改变合成磁场
的夹角来控制步进电机运转的。
3)步进电机的选择
图2.5 驱动控制系统方框图
步进电机有步距角(涉及到相数)、静转矩、及电流三大要素组成。一旦三大要素
确定,步进电机的型号便确定下来了。
6