《 电子实习 》课程设计
说 明 书
专业名称: 电气工程及其自动化 班 级: 学 号: 2010 姓 名: 张 指导教师: 张 日期: 2012.12.3-2012.12.14 《电子实习课程设计》评阅书
题目 学生姓名 电子实习 张 学号 2010 指导教师评语及成绩 指导教师签名: 年 月 日 答辩评语及成绩 答辩教师签名: 年 月 日 教研室意见 总成绩: 室主任签名: 年 月 日 《 电子实习课程设计 》说明书 第I页
摘 要
STC89C52单片机是一款八位单片机,它的易用性和多功能性受到了广大使用者的好评。这里介绍的是如何用STC89C52单片机来实现电动小车的自动寻迹。本系统以设计题目的要求为目的,采用STC89C52单片机为控制核心,利用电动小车前面的红外线传感器检测道路上的轨迹,将路面信息转送给STC89C52,STC89C52根据信息作出反应控制电动机转动,从而控制电动小汽车按照路上的轨迹行驶。整个系统的电路结构简单,可靠性能高。实验测试结果满足要求,本文着重介绍了该系统的硬件设计方法及测试结果分析。
本小车采用的技术主要有传感器的有效应用和STC89C52芯片的使用。有很多功能可以继续扩展,值得就一步学习和研究。
关键词: STC89C52 红外线传感器 直流电机
I
《 电机与拖动课程设计 》说明书 第II页
目 录
摘 要 ......................................................................................................................................................... I 1.设计任务 ..................................................................................................................................................... 1 2.设计原理 ..................................................................................................................................................... 1 3.硬件设计 ..................................................................................................................................................... 1
3.1元件与安装 ...................................................................................................................................... 1 3.2 模块介绍 ......................................................................................................................................... 3
3.2.1电机驱动模块 ........................................................................................................................ 3 3.2.2传感器模块 ............................................................................................................................ 4 3.2.3单片机最小系统板 ................................................................................................................ 5
4.软件设计 ..................................................................................................................................................... 6
4.1程序设计 .......................................................................................................................................... 6 4.2程序的模块化设计 ........................................................................................................................... 7 4.3 C语言程序段 ................................................................................................................................... 7 4.4调试小车 ........................................................................................................................................ 10 5.总结 ........................................................................................................................................................... 10 6.参考文献 .................................................................................................................................................... 11
《 电子实习课程设计 》说明书 第1页
1.设计任务
本实习课为理、工科部分专业公共基础必修课。学生在修完电工电子技术、模拟电子技术、数字电子技术、单片机原理及应用基础理论知识之后,通过电子实习,使学生建立起电子技术在实际生活中应用的概念和工程意识,培养和提高理论与实践相结合、分析和解决问题的能力、动手实践的能力,为后续课程的学习和思维、引向工程应用和创新打下基础。电子实习是电气工程及其自动化专业教学过程中的一个重要实践环节。通过电子实习使学生熟悉常用电子元件的规格、性能及选用方法;掌握锡焊技术,熟悉电子设备的安装工艺和电子产品的制作等;通过电子实习还应使学生掌握模拟电子电路和数字电子电路的安装调试技术,具备选择和使用常用中小规模集成电路的知识,并掌握一定的电子电路检测技术。
2.设计原理
1) 循迹电路:通过5个红外线传感器,来循着黑色路线,从而通过单片机控制电机驱
动来控制电机的运行方式和方向。
2) 电机驱动:通过单片机控制小车的左右两侧电机的运行方式(正转、反转、停止),并对电机运
行速度进行调节。
3.硬件设计
3.1元件与安装
上图为智能小车所需要的电路板,该板包含寻迹传感器电路板(上),电机驱动电
1
《 电子实习课程设计 》说明书 第2页
路板(左下)和单片机最小系统版(右下),这三个电路模块可以相互掰开,相互独立,建议全部焊接完后再掰开,或者直接不掰开,将三个电路模块作为一个整体。
对于需要手工焊接大量电子元器件的电路板来说,应遵循先焊接体积小的器件,最后焊接体积较大的器件,例如我们的板上有大量0805封装的电阻和电容,还有晶振、铝电解电容、L298N电机驱动芯片等,因此应遵循先焊接贴片电阻电容等小器件,然后焊接排针、铝电解电容等中等体积的器件,最后焊接L298N等体积较大的器件。 1).焊接电阻注意事项
在本次电子实习中我们用到的贴片电阻外形如上图所示,因此我们可以先焊接
电阻,请对照手头上的电路板上电阻的标识,电阻用R来标识,看需要用到什么参数的电阻,然后在对应位置焊接相应的电阻。
2).焊接电容注意事项
电路板上以“C”来对电容进行标识,在对应位置焊接对应参数的电容即可,请注意电解电容的极性问题。
3).焊接IN4148二极管注意事项
图 1 图2
2
《 电子实习课程设计 》说明书 第3页
在电机驱动板上需要焊接8个贴片二极管,型号为IN4148,实物图如图1所示,请注意区分二极管的正负极。如图1所示,有黑色圆环的一端为负极,另一端为正极。 在电路板上,如图2所示,标有红色箭头的一端为二极管的负极。
3.2 模块介绍
3.2.1电机驱动模块
上图为焊接完毕的电机驱动模块电路。在该模块电路中,有P1、 P2、P3、P4四个个接插件,P1口需接电池盒,作为电机驱动电路的电源,电压范围为6—8V均可,若用四节5号电池串联供电,电压为6V,接线时请注意正负极,不要接反,否则会烧毁芯片。P2口用于输出5V电压,为单片机提供电源,该5V电源由该板上的AMS1117-5三端稳压器提供。当搭建小车时,请将该板P2口输出的5V连接到单片机最小系统板,为单片机提供工作电源。P3口在电机驱动芯片的上方,标有IN1、IN2、IN3、IN4字样,在使用时请将P3口连接单片机的4个IO口,单片机可通过控制这四根信号线来控制小车两个电机的正反转。P4口标有OUT1、OUT2、OUT3、OUT4字样,在使用时请将该口接两个直流电机。途中还有一个电源开关,该开关按下,电池盒将为模块供电,电源指示灯点亮,开关断开后,将切断电池盒为模块供电,电源指示灯熄灭。
3
《 电子实习课程设计 》说明书 第4页
3.2.2传感器模块
图3
图3为传感器模块焊接好的效果图。该板有接口为P1,该口标有1、2、3、4、5字样的插针分别输出从左往右第一个到第五个传感器的检测信号。当插针输出信号为高电平时,对应的led将点亮作为指示。P1口标有5V的插针,请接5V电源的正极,标有G字样的插针,请接5V电源的负极。该模块的供电来源可从电机驱动模块输出的5V引入。
4图
图4为其中一路传感器电路原理图,D1红外发射管发出红外线,若照射到黑色
跑道,则红外线被黑色跑道大量吸收,则红外接收管接收不到红外线,导致红外接收管截止,则电压比较器第三号引脚上为高电平,当该点电压高于2号引脚电压时,电压比
4
《 电子实习课程设计 》说明书 第5页
较器1号腿输出高电平。若红外发射管发出的红外线照射到白色跑道基板上,则红外线被反射回去,导致红外接收管导通,则电压比较器3号腿为低电压,当电压小于2号腿电压时,电压比较器1号腿输出低电平。这就是利用红外收发一体传感器检测黑色道路的原理。由此不难看出,通过调节图中的R14电位器,则可调节该传感器的灵敏度。
图5
红外收发一体管具有极性,请注意该传感器在电路板上的焊接方向,请参考上图5所
示焊接,不要焊接反了。由于该传感器实质上为二极管,因此焊接温度请勿过高,以免引起损坏。
3.2.3单片机最小系统板
图6
单片机最小系统实物如图6所示,在板子左上角,即电解电容左边有接插件P2,该接插件用于外接5V电源作为本版的工作电源,可由电机驱动模块引入,请注意正负
5
《 电子实习课程设计 》说明书 第6页
极不要接反,负责会导致芯片烧毁。对于单片机的所有引脚,已经全部用插针引出,请自行设计智能小车的接线。
对于如何给本最小系统下载程序,方法同我们的单片机学习板。下载程序时,请先为本模块供电,并由我们的单片机学习板引出RXD和TXD引脚,接到本模块的P3.0(RXD)和P3.1(TXD)引脚,该封装单片机的引脚图如图7所示。
图10
4.软件设计
4.1程序设计
程序要的任务是,让单片机查询传感器模块发出的路面信号,根据信号作出反应,
6
《 电子实习课程设计 》说明书 第7页
控制电动机工作实现自动寻迹。书写程序流程图
4.2程序的模块化设计
在进行微机控制系统设计时,除了系统硬件设计外,大量的工作就是如何根据每个生产对象的实际需要设计应用程序。因此,软件设计在微机控制系统设计中占重要地位。
为了完成要求设计,在进行软件设计时,通常把整个过程分成若干个部分,每一部分叫做一个模块。所谓“模块”,实质上就是所完成一定功能,相对独立的程序段,这种程序设计方法叫模块程序设计法。
模块程序设计法的主要优点是:
1) 单个模块比起一个完整的程序易编写及调试;
2) 模块可以共存,一个模块可以被多个任务在不同条件下调用;
3) 模块程序允许设计者分割任务和利用已有程序,为设计者提供方便。
本系统软件采用模块化结构,由主程序﹑延时子程序﹑转向子程序构成。
4.3 C语言程序段
#include #define uchar unsigned char #define uint unsigned int sbit in1=P1^0; sbit in2=P1^1; sbit in3=P1^2; sbit in4=P1^3; sbit led6=P2^0; sbit led9=P2^1; sbit led7=P2^2; sbit led10=P2^3; sbit led8=P2^4; void delay(uint xms) //延时程序 { uchar time; while(xms--) for(time=0;time<110;time++); } 7 《 电子实习课程设计 》说明书 void qianjin() //前进子程序 { in1=1; in2=0; in3=1; in4=0; delay(15); } void houtui() //后退子程序 { in1=0; in2=1; in3=0; in4=1; delay(10); } void zuozhuan() //左转子程序 { in1=1; in2=0; in3=0; in4=0; delay(15); } void youzhuan() //右转子程序 { in1=0; in2=0; in3=1; in4=0; delay(15); } void main() { if(led7==1) //最中间的传感器检测到黑线, 8 第8页 亮,小车前进 led7《 电子实习课程设计 》说明书 第9页 } } { qianjin(); houtui(); //小车减速指令 qianjin(); } while(1) { if(led6==1||led9==1) //左边任意一个传感器检测到黑线,led6或 led9亮,小车左转 { zuozhuan(); houtui(); //小车减速指令 zuozhuan(); } else { if(led8==1||led10==1) //左边任意一个传感器检测到黑线,led8或 led10亮,小车右转 { youzhuan(); houtui(); //小车减速指令 youzhuan(); } else { qianjin(); houtui(); //小车减速指令 qianjin(); } } 9 《 电子实习课程设计 》说明书 第10页 4.4调试小车 将书写好的程序编译并下载至小车的芯片中,发现小车前进或转向时速度过快,会冲出跑道不能平稳运行,所以我们修改程序在程序中添加了小车减速指令,从而使小车可以平稳运行。 5.总结 首先了解了自动寻迹小车设计的任务与要求。然后讨论了自动寻迹小车的结构,其主要由传感器模块,控制器模块和电动小车模块组成,并完成小车的安装。对自动寻迹小车的系统进行了分析和设计,包括系统硬件分析、软件分析。对小车的系统功能设计及模块划分做了进一步介绍。 硬件方面,针对自动寻迹小车的特点和对系统的功能要求,选用红外线传感器收集数据,选用STC89C52作为控制器,选用了L298N作为直流电机的驱动芯片。并对每个模块的功能和硬件组成进行了详细介绍,画出了主要元器件的应用原理图。展示小车自动寻迹全部实现细节,包括红外线传感器如何对路面情况进行采集和传输,STC89C52 如何查询路面情况并由此对电动机进行控制,小车如何转弯等。 软件方面,画出程序流程图。利用C语言进行编程,使得程序具有可读性。对整个程序经模块化划分,把整个程序划分成主程序﹑延时程序、转向子程序。使得程序具有了可移植性。 总的来说,此次电子实习完成了任务书规定的各项要求,在学习C语言进一步学习并实践了程序的编写与调试,并进一步学习了电路板的制作,元器件的焊接等多种实用技术,成功设计出一个自动寻迹小车。既学习了不少新的知识和技术,由亲身体验软件设计、开发的过程,个人觉得收获颇丰。在实验室焊接小车的电路板时也发现不少问题。我感觉到即使是一个简单的电路,要想很轻松的焊好,也不是很容易的事情。有时是“虚焊”的原因,有时可能是阻值选错。这使我深深感受到理论与实际间的差距和自身的不足。通过这样的设计,提高了我的动手能力。每天在实验室除了焊接线路板,还可以上机编程,不但让我熟悉了相关的专业软件也使我软件调试知识提高了。从网络上找到了很多的资料,其中不少新颖的思路值得一试。这次电子实习使我受益终身。 当然,这次设计还只是一个初级产品,还可以从以下几方面进一步完善: (1)智能调速。 本系统中只实现了以较低的速度匀速前进。若用PWM,步进电机等实现小车,可以实现小车直道高速行驶,在弯道低速行驶。大大提高小车速度。 (2)多种传感器结合。 本系统中只用了红外线传感器。这对环境和路面有严格要求。可以把超声波传感器、热红外传感器等加入系统,增加小车识别路面的能力,提高小车的实用性。 (3)电源。 本设计使用的是4节普通5号电池供电。供电能力有限。且电动机和单片机是同一 10 《 电子实习课程设计 》说明书 第11页 电源。可以安装多电压电源,是电动机和单片机分开供电。 最后敬请老师和同学对我们今后的学习提出宝贵的指导意见和建议。 6.参考文献 1) 何立民.单片机应用系统设计[M].北京航天航空大学出版社,2005. 2) 3) 4) 5) 6) 李广弟.单片机基础[M].北京航空航天大学出版社,2001. 何希才.新型实用电子电路400例[M].电子工业出版社,2000. 赵负图.传感器集成电路手册[M].化学工业出版社,2004. 陈伯时.电力拖动自动控制系统[M].北京机械工业出版社,2000. 张毅刚,彭喜元.新编MCS-51单片机应用设计[M].哈尔滨工业大学出版社,2003. 11 因篇幅问题不能全部显示,请点此查看更多更全内容