智能小车测速系统_第1页
智能小车测速系统_第2页
智能小车测速系统_第3页
智能小车测速系统_第4页
智能小车测速系统_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上内蒙古科技大学智能仪表综合训练设计说明书 题 目:智能小车测速系统设计学生姓名:学 号:专 业:测控技术与仪器班 级:2009-1指导教师:孙采鹰 讲师专心-专注-专业摘 要近年来,随着我国经济建设的高速发展,机动车辆拥有量也在急剧增长,交通事故也日益增多,车辆超速成为了越来越严重的问题。而我国生产的汽车、摩托车电机转速测量系统大多使用动圈式模拟测速。这种测量系统存在精度差、过载能力弱等缺点。本次的智能仪表综合训练的主要任务是设计一个智能小车,要求实现小车能够直走、通过光电传感器进行测速、通过PWM电路模块进行调速以及通过LCD1602液晶模块进行脉冲、速度、PWM的

2、占空比三个参数的显示。控制板的设计以8位的STC89C52单片机为控制核心,驱动板则以L289N驱动芯片为核心,应用光电传感器和LCD液晶模块,成功的实现了小车的测速、调速和显示功能这三大功能。课题完成了光电传感器、单片机、控制板、驱动板选择,采购接口电路的设计和连接以传感器和电路的安装位置和方式的安排,并完成了整个硬件的安装工作。除此之外,还对整个控制软件进行设计和程序的编制以及程序的调试,并最终完成了软件和硬件的融合,基本实现了智能小车要求实现的预期的功能。关键词:智能小车;光电传感器;驱动芯片;LCD液晶模块;单片机目录第一章 绪论1.1 问题的提出当今世界,科学技术日新月异。传感器技术

3、和自动控制正在飞速发展,机械、电气和电子信息已经不再明显分家,自动控制在工业领域中的地位已经越来越重要,“智能”这个词也已经成为了热门词汇。现在国外的自动控制和传感器技术已经达到了很高的水平,特别是日本,比如日本本田发明的机器人,其仿人双足行走已经做得十分的逼真了,而且还具有一定的学习能力,据说这机器人的智商已达到了6岁儿童的水平。作为机械行业的代表产品汽车,其与电子信息产业的融合速度也显著提高,呈现出两个明显的特点:一是电子装置占汽车整体(特别是轿车)的价值量比例逐步提高,汽车将由以机械产品为主向高级的机电一体化方向发展,汽车电子产业也很可能成为依托整车制造业和用车提升配置而快速成为新的增长

4、点:二是汽车开始向电子化、多媒体化和智能化方向发展,使其不仅作为一种代步工具、同时具有交通、娱乐、办公和通讯等多种功能。无容置疑,机电一体化人才的培养不论是在国外还是在国内,都开始重视起来,主要表现在大学生的各种大型的创新比赛,比如:亚洲广播电视联盟亚太地区机器人大赛、全国大学生“飞思卡尔”杯智能汽车竞赛等众多重要竞赛都能很好的培养大学生对机电一体化的兴趣与强化机电一体化的相关知识。所以作为机电一体化学生,必须加倍努力,为逐步赶上国外先进水平并超过之而努力。为了适应机电一体化的发展在汽车智能化方向的发展要求,提出简易智能小车的构想,目的在于:通过独立设计一辆具有简单智能化的简易小车,获得项目整

5、体设计的能力,并掌握多通道多样化传感器综合控制的方法。所以立“基于单片机的智能小车测速设计”一题作为尝试。这项设计是以采购的小车为基础,采用16位STC89C52RC单片机作为控制核心,逐步实现测速、调速、显示这三大功能。本次设计主要解决问题是如何实现所要求的三大功能,最后完成硬件实物的组装,并编制相关程序,使其实现功能的融合,做出具有预先要求功能的实物。1.2设计思路 本次设计的硬件框图如1-1图所示 1-1图这次的智能仪表综合训练是基于单片机的智能小车测速系统,这次设计所使用的测速传感器为光电测速传感器,在单位时间内计算脉冲的次数,然后再进行转换和处理即得到所测量的速度。通过PWM调速模块

6、结合软件进行调速。通过Keil进行软件编程、编译、链接、调试以及用Proteus画图进行仿真,编出能够满足要求的程序。最后用STC-ISP V38A.exe把生成的16进制的文件下载到单片机即可。第二章 方案论证智能小车的总体结构如下:智能小车由各零部件组成,零部件主要有智能车底盘一个(直流减速电机1个,电机固定座1个,轮胎41个,有机玻璃板一块),单片机开发板1块,测速套装(模块+100线码盘)1套,BTS7960电机驱动模块1个,7.2V电池1块。本次设计通过光电传感器进行测速、PWM调速模块进行调速、LED数码管进行显示。具体原理是:把100线的光码盘安装在减速电机的转轴上,由于车轮也与

7、减速电机的转轴连接,因此车轮与光码盘是同步的,它们具有相同的角速度。光码盘与光电传感器是配套使用的,光电传感器安装在光码盘的旁边。当电机转动时,光码盘也随之转动。光电传感器输出TTL电平,当光码码盘线数来决定。因此当光码盘转动时,光电传感器就会有脉冲输出。光电传感器脉冲输出端接在单片机的P32口,也就是接到了外部中断0上。通过外部中断服务在单位时间内进行脉冲数的计算。在本次设计中采用定时器T1进行1秒定时。在这1秒钟的时间内把测量到的脉冲数进行处理,转换成速度。调速部分需要硬件和软件结合。BTS7960驱动模块里有两个H型电桥,用来控制减速电机。有1个使能EN,有两个PWM控制端分别为pwm1

8、和pwm2,用来控制电机的正转和反转及电机转速。EN常接高电平,当pwm1为高电平pwm2为低电平时电机正转,pwm1为低电平pwm2为高电平时,电机反转。本次设计的小车使用也很方便,只需打开一个开关按键,小车就跑起来。下面根据设计要求,针对各模块需要完成的功能,本着简单、实用、廉价、容易操作、稳定的原则,对各个模块进行充分理论分析和方案论证。2.1控制核心的选择及其简介本次设计的小车具有测速、调速以及参数显示的功能。由于需要实现的功能不多,因此用一般的51系列的单片机就可以实现,由此选择了STC89C52RC单片机。该单片机价格便宜、工作稳定、操作方便、功能齐全、性能稳定等优点深受广大单片机

9、爱好者好评。2.1.1 STC89C52RC单片机简介STC89C52是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、非常有效的解决方案。具有以下标准功能:8k字节Flash,512字节RAM, 32 位I/O 口线,内置4KB EEPROM,MAX810复位电路,三个16 位 /计数器,一个6向量2级中断结构,全双工。另外 STC89X52 可降至0Hz 静态逻辑操作,支持2种可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计

10、数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。特性方面:1.STC89C52RC。 2.8K字节程序。3.512字节数据存储空间。 3.内带4K字节EEPROM存储空间。 5.可直接使用串口下载。 6.AT89S52单片机。 7.8K字节程序存储空间。 8.256字节数据存储空间。 9没有内带EEPROM存储空间。参数方面:1. 增强型8051 ,6 时钟/和12 时钟/机器周期可以任意 选择,指令代码完全兼容传统8051.2. 工作电压:5.5V3.3V(5V 单片机)/3.8V

11、2.0V(3V 单片机) 3. 范围:040MHz,相当于普通8051 的080MHz,实际工作 频率可达48MHz 4. 用户应用程序空间为8K 5. 片上集成512 字节RAM 6. 通用I/O 口(32 个),复位后为:P0/P1/P2/P3 是/弱上拉, P0 口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为 I/O 口用时,需加上拉电阻。 7. ISP(在系统可编程)/IAP(在应用可编程),无需专用,无 需专用,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程 序,数秒即可完成一片 。8. 具有EEPROM 功能 。9. 具有功能 。10. 共有3 个16 位

12、/计数器。即定时器T0、T1、T2 。11. 4 路,下降沿中断或低电平触发电路,Power Down 模式可由外部中断低电平触发唤醒 。12. 通用异步(UART),还可用定时器实现多个UART 。13. 工作温度范围:-40+85(工业级)/075(商业级) 。14. PDIP 。引脚说明单片机STC89C52如下1-1图所示 2-1图 单片机1. Vss:第20个引脚,功能是电源地。2. Vcc:第40个引脚,功能是电源引脚。正常操作、空闲、掉电以及对OTPROM、Flash ROM编程或校验进的工作电压。一般为2.76.0V(89C5X、89C5XX2电源电压一般为5.0V)。3. P

13、00P17:作为I/O口使用时,P0口是漏极开路双向口,向口锁存器写入1 时,I/O口引脚悬空,是高阻输入引脚;在读写外部存储器时,P0口作为低8位地址/数据总线。4. P10P17:内部带有弱上拉的准双向口I/O口,作为输入引脚使用前,先向P1口锁存器写入1,使P1口引脚上拉至高电平。P10,P11口除了作为一般I/O口使用外,还具有第二输入/输出功能。T2(P10)定时器T2的计数输入端或定时器T2的时钟输出端。T2EX(P11)定时器T2的外部触发输入端。5. P20P27:内部带有弱上拉的准双向I/O口,作输入引脚使用前,先向P2口锁存器写入1,使P2口引脚上拉至高电平。在读写外部存储

14、器时,P2口输出高8位地址信号A15A8。6. P30P37:内部带有弱上拉的准双向I/O口,作输入引脚使用前,先和向P3口锁在器写入1,使P2口引脚上拉至高电平。P3口除了可作为一般的I/O口使用外,还具有第二输入/输出功能。RXD(P30)串行数据接收(输入)端。TXD(P31)串行数据发送(输出)端。INT0(P32)外部中为0输入端。 INT1(P33 )外部中断1输入端。T0(P34)定时/计数T0的外部输入端。T1(P35)定时/计数T1的外部输入端。 WR(P36)外部数据存储器写选通信号,低电平有效。RD(P37)外部数据存储器读选通信号,低电平有效。7. RST:第9个引脚,

15、功能是复位信号输入端,高电平有效。8. ALE:第30个引脚。低8位地址锁存信号。9. PSEN:第29个引脚。外部程序存储器读选通信号,低电平有效。从外部程序存储器取指令时,每个机器周期PSEN信号被激活两次。只有执行外部程序存储器中的指令时,PSEN才有效,而执行其它操作时PSEN无效。10. EA/Vpp:第31个引脚。外部程序存储器读选通信号,低电平有效。11. XTAL1:第19个引脚。片内晶振电路反相放大器输入端,接CPU内部时钟电路。12. XTAL2:第18个引脚。片内部晶振电路反相放大器输出端。2.1.2 小车控制板简介小车控制板如下2-2图所示 2-2图 控制板本控制器采用

16、双层板设计,布局合理,线路精密,40位单片机卡座可兼容51系统及STC所有系列单片机,采用晶振12M,大电流供电端子设计及优质电源开关及优质复位开关设计,指示灯设计等。单片机接口与电源和GND采用三位一排方式排列,有效解决了常用三位引线传感器电源输入的问题,预留有串口无线模块接口排座、超声波接口、LCD1602和LCD12864液晶接口(亮度可分别通过两个滑动变阻器调节)及TTL程序下载接口等。关于供电,外接电源69V,本控制板采用AMS-1117-5.0稳压之后给单片机供电,使单片机工作更加稳定。关于程序下载,本控制板是TTL接口直接引出,下载程序必须接一个TTL转USB的模块连接到电脑的U

17、SB口,正常识别串口后,便可以下载。下载时,先选择下载文件,其次点击下载按钮,最后再按开关接通电源便可正常下载,如果发现不能正常下载,首先要检查线路是否接对,其次调一下波特率,正常都能解决。接口如下2-3图所示 2-3图 小车控制板接口说明标号1:电源供电端子,69V输入,VCC接正极,GND接负极。标号2:电源供电指示灯。标号3:电源开关。标号4:复位按键。标号5:串口数据接收指示灯。标号6:串口数据发送指示灯。标号7: 程序下载接口,TTL接口,从下到上的顺序依次为VDD,RXD,TXD,GND。标号8:单片机IO口,接口引脚说明请参考单片机说明资料。标号9:VDD。标号10:GND。标号

18、11:LCD1602液晶屏亮度调节变阻器。标号12:LCD12864液晶屏亮度调节变阻器。标号13:AMS-1117-5.0稳压管。标号14:LCD1602液晶屏接口。标号15:LCD12864液晶屏接口。标号16:超声波接口。标号17:单片机IC座。标号18:串口无线模块接口。标号19:单片机IO口,接口引脚说明请参考单片机说明资料。标号20:VDD。标号21:GND。标号22:晶振,12M。标号23:P0口上位排阻。2.1.3 小车驱动板简介小车驱动板如2-4图所示 2-4图 小车驱动板BTS7960模块输入输出关系如下表所示ENAPWM1PWM2电机运转情况HHL正转HLH反转HIN1I

19、N2快速停止LXX停止 2-1表产品参数说明1.驱动芯片: BTS7960双H桥直流电机驱动芯片。2.带光耦驱动隔离功能,带正反转指示灯和电源指示灯。3.驱动部分端子供电范围Vs:+5V+35V。4.驱动部分峰值电流Io:60A。5.逻辑部分端子供电范围Vss:+5V+12V。6.逻辑部分工作电流范围:036mA。7.输入电压范围:低电平:-0.31.5V ,高电平:2.3VVss。8.使能信号输入电压范围:低电平:-0.31.5V(控制信号无效),高电平:2.3VVss(控制信号有效)。9.功耗:20W。(温度T=75度时)。2.2 小车驱动方式选择方案一:采用继电器对电动机的开或关进行控制

20、,通过开关的切换对小车的速度进行调整,此方案的优点是电路较为简单,缺点是继电器的响应时间慢,易损坏,寿命较短,可靠性不高。方案二:采用由集成了双极性管组成的H桥电路芯片BTS7960。用单片机控制晶体管使之工作在占空比可调的开关状态,精确调整电机转速。这种电路由于工作在管子的饱和截止模式下,效率非常高;H桥电路保证了可以简单地实现转速和方向的控制;电子开关的速度很快,稳定性也很高,是一种广泛采用的调速技术。综合两种方案的优缺点,决定选择方案二。 2.3 光电测速模块光电测速模块如2-5图所示 2-5图 光电测速模块模块参数1.供电电压:5V。2.输出信号:TTL电平(码盘无缝隙时输出高电平,码

21、盘有缝隙时输出低电平)。转动一圈输出脉冲数根据码盘线数决定。3.接线说明:红色接+5V,黑色接GND,绿色接OUT。100线光码盘如2-6图所示 2-6图 光码盘注意事项:1.固定时需要轻拿轻放,以勉损坏光码盘。2.固定时要确保码盘缝隙能够放在光电传感器的凹槽里。3.由于光码盘是安装在小车底盘的底部,尽量在水平的地面行走,以勉碰坏光码盘。2.4 LCD1602显示模块系统采用1602液晶显示,它可以显示2*16个字符,同时只用11个I/O端口,它不仅节省了单片机的资源,相比较数码管液晶显示更加直观、节能,同时在硬件上面液晶的驱动电路比数码管简单的多,故采用LCD显示。LCD1602液晶屏如2-

22、7图所示。 2-7图 1602字符型液晶显示 LCD1602液晶也叫1602字符型液晶,它是一种专门来显示字母、数字、符号等的点阵型液晶模块。它有若干个5X7或者5X11等点阵字符位能成,每个点阵字符都可以显示一个字符。每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此,所以它不能显示图形。目前市场上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上在部分的字符型液晶。LCD1602液晶屏的特性1.+5V电压,对比度可调。2.内含复位电路。3.提供各种控制命令。如:清屏、字符闪烁、光

23、标闪烁、显示移位等多种功能 。4.内建有160个5*7点阵的字符型的字符发生器CGROM。5.有8个由用户定义的5*7的字符发生器CGRAM。接口信号说明:编号1:VSS,电源地。编号2:VDD,电源正极。编号3:VL,液晶显示偏压信号。编号4:RS,数据/命令选择(H/L)。编号5:R/W,读/写选择端(H/L)。编号6:E,使能信号。编号7:D0,Data I/O。编号8:D1,Data I/O。编号9:D2,Data I/O。编号10:D3,Data I/O。编号11:D4,Data I/O。编号12:D5,Data I/O。编号13:D6,Data I/O。编号14:D7,Data I

24、/O。编号15:BLA,背光源正极。编号16:BLK,背光源负极。基本操作时序如下表所示 1 读状态 输入:RS=L,RW=H,E=H输出:D0-D7=状态字2写指令 输入:RS=L,RW=L,D0-D7=指令码,E=脉冲输出:无3读数据 输入:RS=H,RW=H,E=H输出:D0-D7=数据4写数据 输入:RS=H,RW=1,D0-D7=数据,E=H输出:无 2-2表 2-8图 LCD1602尺寸图下图2-9是LCD1602液晶显示与单片机接口连接图。 2-9图第三章 系统硬件设计3.1车体结构及其驱动电路车体驱动方式已经在前面确定下来了,硬件部分则在采购的小车基础上进行,小车的实物图如图3

25、-1所示,控制板下的电路板为减速电机。 3-1图该小车为四轮结构,车轮的安装位置如下图3-2所示。其中后面两个轮由减速电机驱动,控制小车前进和后退。车体前安装两个轮,由舵机控制控制小车的左转和右转。 3-2图小车的驱动电路如下图3-3所 3-3图 驱动电路此驱动电路元器件有TLP521-4光电耦合隔离器芯片、BTS7960驱动芯片,电阻,电容,齐纳稳压管、LED指示灯等等。3.2 测速模块的设计小车速度检测方案的设计是个不可忽视的问题。只有选择好测速方案,才能省时、省力、省线地去做设计,常用的测速方法常有以下几种。方案一:光电测速传感器原理是传感器开孔圆盘的转轴与减速电机转轴相连,光源的光通过

26、开孔盘的孔和缝隙反射到光敏元件上,开孔盘旋转体转一周,光敏元件上照到光的次数等于盘上的开孔数,从而测出旋转体旋转速度。灵敏度较高,但容易受外界光源的影响。方案二:测速发电机原理是将旋转机械能转化成电信号,适合于测量速度较高的旋转体的速度。采用电磁感应的原理。但市场上测速发电机应用于低压市场的比较少,而且都比较重,不适合用于模型车,并且要将测速发电机安装到电动车上需要对电动车模型进行大改动,由于其质量较重,可能会严重影响电动车的机动性能,除非自制。优点是测速准确、稳快速,可以直接由AD转换器读入计算机测得当前速度值,下图为测速发电机。 3-4图 测速发电机方案三:霍尔传感器其工作原理是:利用霍尔

27、开关元件测速,内部具有稳压电路、霍尔电势发生器、放大器、施密特触发器和输出电路,其输出电平和TTL电平相兼容。在待测旋转体的转轴上装上一个圆盘,在圆盘上装上若干对小磁钢,小磁钢越多分辨率就超高。霍尔开关固定在小磁钢附近,当旋转体以角速度M旋转时,每当一个小磁钢转过霍尔开关,霍尔开关便输出一个脉冲,计算出单位时间的脉冲数,即可确定旋转体的速度了。霍尔传感器测速如3-5图所示 3-5图方案选择论证在前面已经说过选用光电传感器进行测速。虽然光电传感器受外界光源影响很大,但是它使用方便、安装简单,还有本设计要求的准确度不是很高,因此就选择了光电测速传感器。光电测速传感器的原理图如下图所示 3-6图 光

28、电测速原理图3.2.2测速模块的使用方法及连线测速模块的使用方法也是很简单,只需把两个测速传感器与单片机连接即可,不需要转换电路,使用简单,省时省力。关键的地方就是写程序,让测速功能发挥作用。 光电传感器总共有三根引线,第一根为黑色线,连接的是电源地线;第二根为红色线,连接的是电源的正极;第三根为绿色线,这条线为信号输出线,连接到单片机。在本次设计中,光电传感器的信号线连接到单片机的外部中断0,也就是P32口。3.3 PWM调速模块的设计 调速模块决定了小车的调速功能,本次设计使用PWM进行调速。 脉冲宽度调制(PWM)是英文“Pulse Width Modulation”的缩写,简称脉宽调制

29、。它是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用于测量,通信,功率控制与变换等许多领域。一种模拟控制方式,根据相应载荷的变化来调制晶体管栅极或基极的偏置,来实现开关稳压电源输出晶体管或晶体管导通时间的改变,这种方式能使电源的输出电压在工作条件变化时保持恒定。脉冲宽度调制(PWM)是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)。电压或电流源是以一种通(ON) 或断(OFF)的重复脉序列被加到

30、模拟负载上去的。通的时候即是直流供电被加到负载上的时候,断的时候即是供电被断开的时候。只要带宽足够,任何模拟值都可以使用PWM进行编码。3.3.1 PWM硬件电路的设计在本次设计中用PWM进行调速,要想达到调速的目的,必须硬件和软件相结合 ,方能实现调速。设计中采用专用芯片BTS7960作为电机驱动芯片。BTS7960是一个具有高电压大电流的全桥驱动芯片,它相应频率高,一片BTS7960可以分别控制两个直流电机,而且还带有控制使能端。用该芯片作为电机驱动,操作方便,稳定性好,性能优良。且由BTS7960结合单片机可实现对小车速度的精确控制。这种调速方式有调速特性优良、调整平滑、调速范围广、过载

31、能力大,能承受频繁的负载冲击,还可以实现频繁的无级快速启动、制动和反转等优点,因此决定采用BTS7960控制直流电机。电机驱动芯片BTS7960,是一款承受高压大电流的全桥型直流/步进电压驱动器,如下3-9图所示。 3-9图 电机控制芯片L298N的引脚排列表3-1为L298N引脚编号与功能。引脚编号名称功能1电流传感器A在该引脚和地之间接小阻值电阻可用来检测电流2输出引脚1内置驱动器A的输出端1,接至电机A3输出引脚2内置驱动器A的输出端2,接至电机A4电机电源端电机供电输入端,电压可达46V5输入引脚1内置驱动器A的逻辑控制输入端16使能端A内置驱动器A的使能端7输入引脚2内置驱动器A的逻

32、辑控制输入端28逻辑地逻辑地9逻辑电源端逻辑控制电路的电源输入端为5V10输入引脚3内置驱动器B的逻辑控制输入端111使能端B内置驱动器B的使能端12输入引脚4内置驱动器B的逻辑控制输入端213输出引脚3内置驱动器B的输出端1,接至电机B14输出引脚4内置驱动器B的输出端2,接至电机B15电流传感器B在该引脚和地之间接小阻值电阻可用来检测电流 3-1表调速的思路是以驱动板为基础,BTS7960驱动芯片中有1个使能EN和两个PWM控制端分别为pwm1和pwm2,用来控制电机的正转和反转及电机转速。EN常接高电平,当pwm1为高电平pwm2为低电平时电机正转,pwm1为低电平pwm2为高电平时,电

33、机反转。由此可知,只要控制PWM控制端的在单位时间内高低电平的比例,就可以实现智能小车调速的目的了。3.3.2 PWM电路的使用方式及连线PWM电路的使用也是很简单,只要按照程序定义的端口,正确连接电线,下载程序到单片机即可用。这次的程序设计中P10P13口与分别与IN1、IN2、IN3、IN4端口对应接连。中间连接一个TLP521-4光电耦合隔离器,其作用是保护单片机。ENA和ENB通过电阻接到VDD的原因是保证管脚没定义的时候ENA和ENB总是保持高电平,使两路电桥都能工作。VSS连接电源+5V,这是芯片的工作电压,而VS连接电源+5V+12V电压,这是减速电机的工作电压。最后GND 、I

34、SENA、ISENB都接电源地。连接图如下3-10图所示,其中IN1、IN2I、N3I、N4为两个电桥的四路输入端,而OUT1、OUT2、OUT3、OUT4为两个电桥的四路输出。这几个端口主要是控制电机的正反转。 3-10图第四章 系统软件的设计4.1 主程序的设计主程序的流程图如下4-1图所示 4-1主程序流程图主程序main()的主要作用是把各个子程序连起来,实现智能小车的测速、测脉冲、以及占空比的显示。主要有五个模块程序。分别是外部中断0初始化、定时器T1初始化、LCD1602液晶屏初始化、PMW调速和取显示代码显示。4.2 测速模块程序的设计测速模块程序的设计主要由两部分组成。一是用到

35、了定时器T1,二是用到了两个外部中断,分别是外部中断0和外部中断1,如下两个图所示。 4-2图定时器T1中断流程图 4-3图 外部中断流程图设计测速程序的思路是利用定时器T1进行定时。定时器T1设置为8位自动重装模式,加载时间为50ms,也就是每过50ms定时T1就会发生一次中断。20个50ms正好一秒钟的时间,然后计算这1秒钟内有多少个脉冲,最后根据公式,计算出1秒钟的速度,处理后通过LCD1602液晶屏显示出来。外部中断的作用是接受光电传感器的脉冲信号,然后在单位时间内累加脉冲次数,送到定时器T1中断服务去处理。4.3 PWM调速模块程序的设计PWM调速程序的流程图如下图所示。 4-4图

36、调速流程图 PWM调速原理的思路是前进函数运行延时一段时间,然后是停止函数运行延时一段时间,最终达到调速的目的。前进函数的内容是ENA和ENB都是高电平,这样两路电桥都导通,减速电机可运转。而停止函数的内容是ENA和ENB都是低电平,两路电桥都截止,减速电机不能运转。假设一个时间周期是10ms,也就是H+L=10ms,当相对应的改变H和L的值,占空比也会发生改变变,从而速度也发生。详细的程序见附录2。总结在这次设计中,将C语言和单片机等已学的课程进行一次在学习的良好机会。通过这次学习,无疑进一步提高了自己的专业技能,为今后踏入社会,在该领域上发挥自己的特长,以及就业打下了坚实的基础。通过本次设

37、计,使我们对大学期间所学的课程有了针对性、综合性、系统性的了解,并且提高了自己的分析的能力本系统的设计过程并非一帆风顺,刚开始接触这个课题时,心中并没有一个清晰的框架,通过翻看手册与查阅相关资料后,我渐渐有了设计的思路,对于系统所要用到的元器件类型也有了一定程度的了解。本设计能够顺利完成,还承蒙老师以及身边的很多同学的指导和帮助。在设计过程中,老师给予了悉心的指导,最重要的是给了我解决问题的思路和方法,并且在设计环境和器材方面给予了大力的帮助和支持,在此,我对孙老师表示最真挚的感谢!同时感谢所有帮助过我的同学!参考文献1 何小艇.电子系统设计M.浙江大学出版社,2005,2:1721.2 郭健

38、华.数字电子技术与实训教程M.人民邮电出版社,2007,11:7679.3 杜小平,契桂花,雷道振. 单片机初级教程单片机基础M.北京航空航天大学出版社, 2006,5:1115.4 楼然苗,李光飞. 51系列单片机设计实例M.北京航空航天大学出版社, 2008,6:12175 范立南,谢子殿.单片机原理及应用教程M.北京大学出版社,2006,3:6568.6 胡健.单片机原理及接口技术实践教程M.机械工业出版社,2004,4:3335.7 黄惠媛,李润国.单片机原理与接口技术M.海洋出版社,2006,7:4346.8 何立民.单片机应用技术选编M.北京:北京航空航天大学出版社,2004.9

39、郭长玉.简易智能电动车设计报告。10 吴国风.C语言程序设计教程M. 合肥:中国科学技术出版社,2004.11 程昱.Protel DXP 电路设计白金教学M. 北京:科学出版社,2004.12 李正军.计算机控制系统M. 机械工业出版社,2005.13 贾振国,许琳.智能化仪器仪表原理及应用M. 中国水利水电出版社,2011.附录1 原理图附录1.1 控制控制板原理图附录1.2 驱动板原理图附录1.3 小车仿真图附录2 源程序/*= = SMC1602A(16*2)模拟口线接线方式: - |LCM-51 |LCM-51 |LCM-51 | -| |DB0-P0.0 |DB4-P0.4 |RW

40、-P2.1 | |DB1-P0.1 |DB5-P0.5 |RS-P2.0 | |DB2-P0.2 |DB6-P0.6 |E-P2.2 | |DB3-P0.3 |DB7-P0.7 |VLCD接1K电阻到GND| - 注:单片机:STC89C52,晶振:11.0592M=*/#include <reg52.h>#include <intrins.h> /Keil外部函数库包含文件,_nop_函数在此库中#define uint unsigned int #define uchar unsigned char void delayXms(uint ); /声明Xms延时函数v

41、oid delay1ms(void); /声明1ms延时函数void PWM(void); /声明pwm变速函数/*变量定义*/uint i,m,n,z;uint h=5, l=5;uchar bai1,shi1,ge1,bai2,shi2,ge2,bai3,shi3,ge3;long int s,s1,s2,M1,M2,f;/*PWM调速IO口定义*/sbit pwm1 = P14;sbit pwm2 = P15;/*方向控制IO口定义*/sbit IN1 = P10;sbit IN2 = P11;sbit IN3 = P12;sbit IN4 = P13;/*液晶屏控制口定义*/sbit

42、RS=P20;/寄存器选择位,将RS位定义为P2.0引脚sbit RW=P21;/读写选择位,将RW位定义为P2.1引脚sbit E =P22;/使能信号位,将E位定义为P2.2引脚/*初使化显示数组定义*/uchar dis1="Fr: Hz PWM: %"uchar dis2="Speed: mm/s"/*小车前进函数用于测试*/void forward()IN1 = 0;IN2 = 1;IN3= 0;IN4 = 1;void go() /前进子函数 pwm1 = 1; pwm2 = 1;void stop() /停止子函数 pwm1 = 0; pw

43、m2 = 0;void PWM(void) /当改变延时时间,便改变了占空比,从而达到调速目的 go(); delayXms(h); stop(); delayXms(l);/*X毫秒延时函数*/void delayXms(uint ms)uint k;for(k=0;k<ms;k+) delay1ms(); void delay1ms(void) uint j; for(j=0;j<=120;j+) _nop_();/*关于液晶显示函数*/uchar lcd_busy() /*判断液晶模块的忙碌状态*/bit result;RS=0;RW=1;E=1;_nop_();_nop_(

44、);_nop_();_nop_();result = (bit)(P0&0x80);E=0;return result;void lcd_wcmd(uchar cmd) /*写指令数据到LCD*/while(lcd_busy();RS=0;RW=0;E=0;_nop_();_nop_();P0=cmd;_nop_();_nop_();_nop_();_nop_();E=1;_nop_();_nop_();_nop_();_nop_();E=0;void lcd_pos(uchar pos) /*指定字符显示的实际地址*/ lcd_wcmd(pos|0x80);void lcd_wdat

45、(uchar dat)/*将数据(字符的标准ASCII码)写入液晶模块*/while(lcd_busy();RS=1;RW=0;E=0;P0=dat;_nop_();_nop_();_nop_();_nop_();E=1;_nop_();_nop_();_nop_();_nop_();E=0;void LcdInit()/*LCD1602初始化函数*/delayXms(12);lcd_wcmd(0x38);delayXms(4);lcd_wcmd(0x38);delayXms(4);lcd_wcmd(0x38);delayXms(4);lcd_wcmd(0x0c);delayXms(4);lcd_wcmd(0x06);delayXms(4);lcd_wcmd(0x01);delayXms(4);/*定时器1初使化函数*/void T1_Init()TMOD = 0x10; /定时器1设置为8位自动加载模式ET1=1;/开定时器中断EA=1; /打开总中断IP=0x04; /设置中断优先级TH1 =

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论