嵌入式系统设计课程设计-基于单片机智能小车的运动控制.doc_第1页
嵌入式系统设计课程设计-基于单片机智能小车的运动控制.doc_第2页
嵌入式系统设计课程设计-基于单片机智能小车的运动控制.doc_第3页
嵌入式系统设计课程设计-基于单片机智能小车的运动控制.doc_第4页
嵌入式系统设计课程设计-基于单片机智能小车的运动控制.doc_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

榆林学院信息工程学院嵌入式系统设计课程设计报告 设计题目: 基于单片机智能小车的运动控制 学生学号: 专业班级: 13级嵌入式 学生姓名: 学生成绩: 指导教师(职称): 课题工作时间: 2016-06-25 至 2016-07-9 信息工程学院 嵌入式系统课程设计任务书学生姓 名学号0专业班级设计题目基于单片机智能小车的运动控制主要任务及设计要求:主要任务:在STC89c52RC单片机上,利用超声波传感器和蜂鸣器,实现小车的避开障碍物的动作和声音提示。设计要求:1、 收集与阅读相关资料,完成方案设计;2、 通过实验开发板,完成系统设计实现;3、 调试、修改完善系统,实现小车的避障;4、 完成设计文档及个人总结,提交完成的工程及代码;指导教师: 日 期:2016年6月13日成绩评定表学生姓名: 学号: 专业/班级: 类别合计分值各项分值评分标准实际得分合计得分备注平时表现1010按时参加设计指导,无违反纪律情况。完成情况3020按设计任务书的要求完成了全部任务,能完整演示其设计内容,符合要求。10能对其设计内容进行详细、完整的介绍,并能就指导教师提出的问题进行正确的回答。报告质量3515报告文字通顺,内容翔实,论述充分、完整,立论正确,结构严谨合理;报告字数符合相关要求,工整规范,整齐划一。5课题背景介绍清楚,综述分析充分。5设计方案合理、可行,论证严谨,逻辑性强,具有说服力。5符号统一;图表完备、符合规范要求。5能对整个设计过程进行全面的总结,得出有价值的结论或结果。答辩情况2510在规定时间内能就所设计的内容进行阐述,言简意明,重点突出,论点正确,条理清晰。15在规定时间内能准确、完整、流利地回答教师所提出的问题。总评成绩: 分 指导教师: (签字)日 期: 年 月 日成绩评定表学生姓名: 学号: 专业/班级:类别合计分值各项分值评分标准实际得分合计得分备注平时表现1010按时参加设计指导,无违反纪律情况。完成情况3020按设计任务书的要求完成了全部任务,能完整演示其设计内容,符合要求。10能对其设计内容进行详细、完整的介绍,并能就指导教师提出的问题进行正确的回答。报告质量3515报告文字通顺,内容翔实,论述充分、完整,立论正确,结构严谨合理;报告字数符合相关要求,工整规范,整齐划一。5课题背景介绍清楚,综述分析充分。5设计方案合理、可行,论证严谨,逻辑性强,具有说服力。5符号统一;图表完备、符合规范要求。5能对整个设计过程进行全面的总结,得出有价值的结论或结果。答辩情况2510在规定时间内能就所设计的内容进行阐述,言简意明,重点突出,论点正确,条理清晰。15在规定时间内能准确、完整、流利地回答教师所提出的问题。总评成绩: 分 指导教师: (签字)日 期: 年 月 日成绩评定表学生姓名: 学号: 专业/班级: 类别合计分值各项分值评分标准实际得分合计得分备注平时表现1010按时参加设计指导,无违反纪律情况。完成情况3020按设计任务书的要求完成了全部任务,能完整演示其设计内容,符合要求。10能对其设计内容进行详细、完整的介绍,并能就指导教师提出的问题进行正确的回答。报告质量3515报告文字通顺,内容翔实,论述充分、完整,立论正确,结构严谨合理;报告字数符合相关要求,工整规范,整齐划一。5课题背景介绍清楚,综述分析充分。5设计方案合理、可行,论证严谨,逻辑性强,具有说服力。5符号统一;图表完备、符合规范要求。5能对整个设计过程进行全面的总结,得出有价值的结论或结果。答辩情况2510在规定时间内能就所设计的内容进行阐述,言简意明,重点突出,论点正确,条理清晰。15在规定时间内能准确、完整、流利地回答教师所提出的问题。总评成绩: 分 指导教师: (签字)日 期: 年 月 日目录1. 课题研究意义和现状- 1 -1.1 课题研究意义- 1 -1.2 课题研究现状- 1 -1.3 超声波避障传感器- 1 -2. 系统总体方案设计及功能模块介绍- 2 -2.1 总体方案设计- 2 -2.2 步进电机控制模块介绍- 2 -2.2.1H桥路原理- 2 -2.2.2PWM控制电机转速- 3 -3. 系统硬件平台及接口设计- 4 -3.1 系统硬件平台设计- 4 -3.2 系统硬件接口设计- 5 -3.2.1电机驱动- 5 -3.2.2超声波传感器- 5 -4. 系统软件设计与实现- 6 -4.1 主程序设计与实现- 6 -4.1.1工程结构图(keil)- 6 -4.1.2主程序代码- 7 -4.2避障模块设计与实现- 10 -4.2.1距离及避障核心代码- 11 -4.2.2小车运动方向核心代码- 13 -5. 系统测试- 15 -5.1 系统软件测试- 15 -5.1.1程序编译烧写结果- 15 -5.2 系统硬件测试- 15 -6总结- 17 -6.1硬件方面- 17 -6.2软件控制方面- 17 -信息工程学院-基于单片机C52的小车运动控制1. 课题研究意义和现状1.1 课题研究意义本设计是在windows10系统下以STC89C52单片机芯片、HL-1智能小车开发板的电路为基础,利用开发板上的步进电机,通过软件编程对步进电机进行前进、后退、左转、右转等运动方向的控制。1.2 课题研究现状在传统整流领域,工业上广泛采用的是不控整流和相控整流两种方式。相控整流电路虽然有一定的调压能力,但功率因数低并且谐波污染严重;不控整流器电路结构简单,但是没有调压能力,仍存在交流侧谐波污染问题。这些装置工作时产生的大量谐波和无功功率会引起电力线路和设备发热,同时对电网也造成污染。为了得到更高效、更清洁的整流方式,学术界把PWM控制技术引入到整流器的控制之中,其主要目的是使网侧电流正弦化,并且可使其处于单位功率因数运行或可控状态。为了实现上述目标,国内外学者已经提出了很多控制策略,主要有间接电流控制、直接电流控制以及一些非线性控制理论等。间接电流控制又称幅相控制,直接电流控制包括固定开关频率控制、滞环电流控制等。由于功率器件的非线性特征,一些学者利用非线性理论,提出了几种非线性控制策略,包括直接功率控制、状态反馈线性化控制等。1.3 超声波避障传感器超声波传感器是利用超声波的特性研制而成的传感器。超声波是一种振动频率高于声波的机械波,由换能晶片在电压的激励下发生振动产生的,它具有频率高、波长短、绕射现象小,特别是方向性好、能够成为射线而定向传播等特点。超声波对液体、固体的穿透本领很大,尤其是在阳光不透明的固体中,它可穿透几十米的深度。超声波碰到杂质或分界面会产生显著反射形成反射成回波,碰到活动物体能产生多普勒效应。基于超声波特性研制的传感器称为“超声波传感器”,广泛应用在工业、国防、生物医学等方面。2. 系统总体方案设计及功能模块介绍2.1 总体方案设计组装好智能小车,连接基本的导线,连上厂家提供的双向USB线,按下电源开关,智能小车电源指示灯(黄色)亮了,说明小车安装正确。然后通过对步进电机的控制,大小运动的目的以及对PWM的控制调整小车的运动速度。图2-1:系统整体设计2.2 步进电机控制模块介绍2.2.1H桥路原理H桥是一个典型的直流电机控制电路,因为它的电路形状酷似字母H,故得名与“H桥”。4个三极管组成H的4条垂直腿,而电机就是H中的横杠。H桥的控制主要分为近似方波控制和脉冲宽度调制(PWM)和级联多电平控制。HL-1采用PWM控制电机的速度。如图2-2所示,ENA(右电机)、ENB(左电机)为桥路的使能(高电平)端口,INn(1-4)为桥路控制电频输入端,IN1、IN2 分别00:电机停止,10:电机反转,01:电机正转,左电机的控制方法类似。图2-2H桥路原理图2.2.2PWM控制电机转速PWM控制技术以其控制简单,灵活和动态响应好的优点而成为电力电子技术最广泛应用的控制方式,也是人们研究的热点。由于当今科学技术的发展已经没有了学科之间的界限,结合现代控制理论思想或实现无谐振波开关技术将会成为PWM控制技术发展的主要方向之一。式,其根据相应载荷的变化来调制晶体管基极或MOS管栅极的偏置,来实现晶体管或MOS管导通时间的改变,从而实现开关稳压电源输出的改变。这种方式能使电源的输出电压在工作条件变化时保持恒定,是利用微处理器的数字信号对模拟电路进行控制的一种非常有效的技术。脉宽调制(PWM)基本原理:控制方式就是对逆变电路开关器件的通断进行控制,使输出端得到一系列幅值相等的脉冲,用这些脉冲来代替正弦波或所需要的波形。也就是在输出波形的半个周期中产生多个脉冲,使各脉冲的等值电压为正弦波形,所获得的输出平滑且低次谐波少。按一定的规则对各脉冲的宽度进行调制,即可改变逆变电路输出电压的大小,也可改变输出频率。在PWM波形中,各脉冲的幅值是相等的,要改变等效输出正弦波的幅值时,只要按同一比例系数改变各脉冲的宽度即可,因此在交直交变频器中,PWM逆变电路输出的脉冲电压就是直流侧电压的幅值。通过调整高低电平波形所维持时间长短,达到对电机转速的控制。3. 系统硬件平台及接口设计3.1 系统硬件平台设计本设计利用STC89C52单片机芯片,HL-1智能小车开发板及接口技术实验装置智能小车部分,由核心板、主板、底板共同构成。其中蜂鸣器的位置如图2所示:图3-1:STC89C52单片机图3-2智能小车系统平台3.2 系统硬件接口设计3.2.1电机驱动其中智能小车的电机驱动原理是通过PWM来控制的,原理图如图3所示。图3-3:电机驱动原理图智能小车电机驱动控制芯片是L293,一种高电压、小电流电机驱动芯片。该芯片采用16脚封装。主要特点是:工作电压高,最高工作电压可达36V;输出电流大,瞬间峰值电流可达2A,持续工作电流为1A。内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和继电器线圈等感性负载;该芯片可以驱动两台直流电机。3.2.2超声波传感器超声波传感器是利用超声波的特性研制而成的传感器。超声波是一种振动频率高于声波的机械波,由换能晶片在电压的激励下发生振动产生的,它具有频率高、波长短、绕射现象小,特别是方向性好、能够成为射线而定向传播等特点。超声波对液体、固体的穿透本领很大,尤其是在阳光不透明的固体中,它可穿透几十米的深度。超声波碰到杂质或分界面会产生显著反射形成反射成回波,碰到活动物体能产生多普勒效应。基于超声波特性研制的传感器称为“超声波传感器”,广泛应用在工业、国防、生物医学等方面。4. 系统软件设计与实现4.1 主程序设计与实现程序的开发是在windows10系统的keil编译环境下进行的,主要包括电机控制和键盘控制部分。软件整体设计思路如图4所示。图4-1系统整体设计4.1.1工程结构图(keil)4.1.2主程序代码main.c/重点说明:如果没有LCD1602液晶显示屏的同学,请用杜邦把P0.7引脚接到GND,效果一样。#include #include #include LCD1602display.h/#include STC12C5A60S2_PWM.h#define TX P2_1#define RX P2_0sbit DU = P26;sbit WE = P27;#define Forward_L_DATA 180/当前进不能走直线的时候,请调节这两个参数,理想的时候是100,100,最大256,最小0。0的时候最慢,256的时候最快#define Forward_R_DATA 180/例如小车前进的时候有点向左拐,说明右边马达转速过快,那可以取一个值大一点,另外一个值小一点,例如 200 190 /直流电机因为制造上的误差,同一个脉宽下也不一定速度一致的,需要自己手动调节/sbit P4_0=0xc0;/P4口地址/*按照原图接线定义*/sbit L293D_IN1=P12; sbit L293D_IN2=P13;sbit L293D_IN3=P16;sbit L293D_IN4=P17;sbit L293D_EN1=P14;sbit L293D_EN2=P15;sbit BUZZ=P23;void cmg88()/关数码管,点阵函数DU=1; P0=0X00;DU=0;void Delay400Ms(void);/延时400毫秒函数unsigned char code Range =Range Finder=;/LCD1602显示格式unsigned char code ASCII13 = 0123456789.-M;unsigned char code table=Distance:000.0cm;unsigned char code table1=! Out of range;unsigned char disbuff4=0,0,0,0;/用于分别存放距离的值0.1mm、mm、cm和m的值void Count(void);/距离计算函数 unsigned int time=0;/用于存放定时器时间值unsigned long S=0;/用于存放距离的值bit flag =0; /量程溢出标志位bit turn_right_flag;/*/ void StartModule() /启动模块 TX=1; /启动一次模块 Delay10us(2); TX=0; /*/ /*主程序*/void main(void) unsigned char i;unsigned int a;cmg88();/关数码管Delay1ms(400); /启动等待,等LCM讲入工作状态LCMInit(); /LCM初始化Delay1ms(5);/延时片刻DisplayListChar(0, 0, Range);DisplayListChar(0, 1, table); TMOD=TMOD|0x10;/设T0为方式1,GATE=1; EA=1; TH1=0; TL1=0; ET1=1; /允许T0中断 /开启总中断/=/PWM_ini();/=turn_right_flag=0;/=B:for(i=0;i0;a-) if(RX=1) Timer_Count(); 4.2避障模块设计与实现避障是通过超声波模块不断向前方发射超声波信号,通过接收反射回来的超声波信号,从而实现的避障。当前方有障碍物时,超声波会向单片机串口发送一串数字,这些数字就是当前小车距离障碍物的距离。当串口接收到信号时,会引发串口中断,单片机通过读取距离值,并且对此数值分析是不是距离小车最近,是的话就进行转向,否则继续循迹。当小车遇到第一个障碍物后,就计数一次,这样当遇到第二个障碍物时,小车就可以以不同形式躲避障碍物。图4-2 避障程序流程图4.2.1距离及避障核心代码/*距离计算程序*/ void Conut(void) time=TH1*256+TL1; TH1=0; TL1=0; /此时time的时间单位决定于晶振的速度,外接晶振为11.0592MHZ时, /time的值为0.54us*time,单位为微秒/那么1us声波能走多远的距离呢?1s=1000ms=1000000us / 340/1000000=0.00034米/0.00034米/1000=0.34毫米 也就是1us能走0.34毫米/但是,我们现在计算的是从超声波发射到反射接收的双路程,/所以我们将计算的结果除以2才是实际的路程S=time*2;/先算出一共的时间是多少微秒。 S=S*0.17;/此时计算到的结果为毫米,并且是精确到毫米的后两位了,有两个小数点 if(S=5000)|flag=1) /超出测量范围 flag=0; DisplayListChar(0, 1, table1); else disbuff0=S%10; disbuff1=S/10%10; disbuff2=S/100%10; disbuff3=S/1000; DisplayListChar(0, 1, table); DisplayOneChar(9, 1, ASCIIdisbuff3); DisplayOneChar(10, 1, ASCIIdisbuff2); DisplayOneChar(11, 1, ASCIIdisbuff1); DisplayOneChar(12, 1, ASCII10); DisplayOneChar(13, 1, ASCIIdisbuff0); /*/ void zd0() interrupt 3 /T0中断用来计数器溢出,超过测距范围 flag=1; /中断溢出标志RX=0; /*超声波高电平脉冲宽度计算程序*/vo

温馨提示

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

评论

0/150

提交评论