毕业设计基于单片机的智能电动车控制器设计.doc

上传人:土8路 文档编号:10127778 上传时间:2021-04-21 格式:DOC 页数:50 大小:656.50KB
返回 下载 相关 举报
毕业设计基于单片机的智能电动车控制器设计.doc_第1页
第1页 / 共50页
毕业设计基于单片机的智能电动车控制器设计.doc_第2页
第2页 / 共50页
毕业设计基于单片机的智能电动车控制器设计.doc_第3页
第3页 / 共50页
毕业设计基于单片机的智能电动车控制器设计.doc_第4页
第4页 / 共50页
毕业设计基于单片机的智能电动车控制器设计.doc_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《毕业设计基于单片机的智能电动车控制器设计.doc》由会员分享,可在线阅读,更多相关《毕业设计基于单片机的智能电动车控制器设计.doc(50页珍藏版)》请在三一文库上搜索。

1、基于单片机的智能电动车控制器设计摘 要随着市场的发展,电动车的市场日益递增,实现并完善电动车的智能控制、简单操作已经成为需求的一部分。运用单片机的硬件电路与软件相结合的方法来实现电动车的加速、减速、测速等功能,使电动车的操纵更智能,更简单,更安全,更加适应市场的需求。关键词:直流电机、步进电机、89C51、测速电路1 引言随着经济的发展,人们收入的增多,衣食住行都发生这明显的变化。自行车代步的年代已经过去,取而代之的是电动车,摩托车甚至是小汽车的普遍。但是相对而言,小汽车代价相对比较高昂,不是一般家庭能够承担得起,摩托车噪音大,事故率高,安全系数低,也被很多大小城市所禁止。相比前两者,电动车有

2、很大的市场优势,体型轻巧、环保、安全、经济适用,成为众多人心中的理想的代步工具。市场的强大需求,推动了电动车的飞速发展,越来越智能化。其中以单片机为核心的智能控制电动车将成为目前发展的一个方向,引领电动时代的潮流。今天,能源和环境对人类的压力越来越大,要求尽快改善人类生存环境的呼声越来越高。为了适应这个发展趋势世界各国的政府、学术界、工业界正在加大对电动车开发的投资力度,加快电动车的商品化步伐。 中国作为电动车最大拥有国,电动车的发展与国外基本同步。我国在1992年就把电动车的开发列人国家“八五”重点科技攻关项目。98年我国发展电动车以来产量大幅增长,从1998年的5.8万辆发展到2009年的

3、2369万辆。目前我国电动车的保有量已经超过1.2亿台,此部分包括了未进入统计的一些小型工厂的销量。截至目前为止我国电动车出口占全世界出口量的90%,虽然目前电动车在能源和行驶里程方面还未能尽如人意,但已足以满足人们的基本需要。从技术发展的角度来看,在走过了漫长而艰难的发展历程之后,电动车正面临着重大的技术突破,有望成为21世纪的重要交通工具。 中国人口众多,具有世界最庞大的电动车市场。目前自行车拥有量为4亿多辆,如把10个自行车换成电动自行车,就需4000万辆电动自行车以每辆均价500元计算,就是60个亿,这是一个巨大的市场,有着强大的吸引力。 现代电动车是融合了电力、电子、机械控制、材料科

4、学以及化工技术等多种高新技术的综合产品。整体的运行性能、经济性等首先取决于控制系统,而控制系统更多的趋向于单片机控制。因为单片机更适合应用于嵌入式系统因此它得到了最多的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机复杂的工业控制系统上甚至可能有数百台单片机在同时工作单片机的数量不仅远超过PC机和其他计算的总和甚至比人类的数量还要多。 单片机除了具备一般微型计算机的功能外,为了增

5、强实时控制能力,绝大部分单片机的芯片上还集成有定时器计数器。单片机在结构上的设计主要是面向控制的需要,因此,它的硬件结构、指令系统、和IO能力等方面均有其独特之外,其显著的特点之一就是非常有效的控制功能,为此,又称为微控制器MCU。单片机自诞生以来,由于其固有的优点低成本、小体积、高可靠性、高附加值、通过更改软件就可改变控制对象等,已越来越成为电子工程师设计师设计产品的首选器件之一。本次设计主要以ATM公司的89C51为核心元件,围绕其外部硬件电路与软件相结合的方式来控制电动车的加速、减速、测速等。2 总体方案设计 2.1 整体设计单片机控制系统是一个集成电路,可以构成各种各样的应用系统。与其

6、他控制系统相比,单片机具有以下特点:(1) 由于现在单片机的价格相对都比较低,而且外围电路的元器件价格也不高,所以整体设计起来,成本比较低。(2) 可以对外部存储容量根据需要进行扩展,设计可以相对比较灵活。(3) 由于现存有许多已经设计很完善的子程序,在系统软件设计设计中可以直接调用,减少较大工作量。综上所述,决定运用单片机系统,详见下图图1: 单片机控制模块电动机模块速度显示模块测速模块 图1 结构框图 本次设计主要是分为两大部分:一部分是电机控制部分,另一部分是测速部分。首先,介绍一下电机控制部分,电机控制部分控制步骤:变动数据输入数据的处理电动的状态。数据输入主要是通过数字电路或是模拟电

7、路的方法改变某一个量(电流、电压、电阻)的变化,然后将这种变化输送给单片机,单片机进行数据的采集、储存、分析、处理,最终将以数字量的形式输出,输出电路根据数字信号的变化,再将变化转变为电量的形式,输送给电机,从而实现电机的速度、转向的改变。接着,测速部分控制步骤:速度的采集数据的处理速度的显示。速度的采集主要是通过S/T来获得,S代表路程,T代表时间,通过额定的时间所行的路程,不过数据的采集主要采集S、时间T,而数据的处理则有单片机完成。单片机取两个量的商,并对小数部分进行处理,将一个整型的数据类型输送给显示器,显示根据单片机的指令进行显示。上图就是整个设计的模块图,不难看出,在整个设计模块中

8、,最为核心的就是数据的处理,其实就是单片机。无论输入量是什么类型,单片机都要根据输出量来进行分析、处理,从而实现其各个功能。 2.2 单片机说明单片机系统中,起到控制和枢纽作用的单片机模块无疑是其中最重要的部分。本设计中采用的是Atmel 公司的带8KB Flash的8位微控制器AT89C51作为单片机芯片,它完全与MCS-51系列单片机兼容(从指令集到引脚)。芯片采用40脚双列直插式封装,32个I/O口,芯片工作电压为3.8-5.5V,工作温度为0-70度,工作频率可达到30MHz。它是一种低功耗、高性能CMOS8位微控制器,具有8KB在系统可编程Flash存储器,使用高密度非易失性存储器技

9、术制造。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。 图2 单片机最小系统 下面来介绍一下89C51单片机最小系统(如图2),单片机最小系统指的是能单独运行的最简系统,一般只是包括5V电源、复位电路和晶振电路。电源就不多介绍了,具体介绍一下复位电路和晶振电路。复位电路:单片机的复位电路包含两种,上电复位和手动复位。所谓上电复位,即当单片机加电时由相关电路产生一个复位信号,从而使单片机复位。手动复位指的是用户根据需要使用按键等方式驱动单片机进行复位的一种电路。 STC单片机可以不使用复位电路,但是为了保证系统的稳定运行,一般要求至少要加上电复位电路。复位电路的构成方法有很多,比如

10、专用复位芯片、看门狗等,但是这些电路相对较为复杂,本设计的复位电路使用的是较为简单的阻容复位电路。 由C3和R5构成一个上电复位电路,。当单片机上电时,因为电容两端电压不能突变,所以在单片机的RST引脚产生一个高电平,从而使单片机复位,随着电容C3充电时间延长,电容充电电路逐渐下降,RST引脚的电压也随着下降。当电压下降到一定程度时,RST引脚的电压已经不足以使单片机复位,单片机从而进入到正常的工作状态。 手动复位电路使用的按键复位电路,当用户单击SW1时,RST引脚出现一个高电平信号,强制驱使单片机进行复位。当用户放开SW1时,RST引脚恢复为低电平,单片机开始正常运行。注意:当用户单击SW

11、1时,由C3、R6和SW1构成一个环路,C3在改回路上进行放电,所以R6不可缺少;如果缺少R6或者R6阻值太小,将可能会造成C3损坏。本设计采用手动复位的方法。震荡电路:作用给单片机提供一个合适的工作频率信号。一般而言,单片机的震荡信号产生由两种方法:单端驱动和双端驱动。单端驱动即时使用一个外部的稳定时钟信号直接输入给单片机,该方法要求外部存在一个稳定的时钟信号,一般由有源晶体振荡器或者是其他IC产生。单端驱动目前已经很少使用,只有在严格要求系统同步的一些系统才会出现。 所谓双端驱动就是说使用一个简单的无源晶体振荡器来构成振荡电路。本设计使用的就是双端方式,在单片机18和19号两个振荡信号输入

12、引脚间接入一个频率为11.0592MHz的无源晶体振荡器构成一个振荡电路。对于这种无源晶体振荡器而言,其两端一般要加入负载电容进行频率的微调,对于11.0592MHz晶体振荡器而言,一般使用2030pF的瓷片电容即可,此次是采用30pF的电容。为了保证单片机的运行,还有一些外围电路也需要注意:尤其要注意EA引脚,当程序在单片机内部时,EA一定要连接到高电路,本设计电路EA脚已被拉高。 单片机的内部单元的作用: 1:并行I/O接口:单片机芯片内有一项主要功能就是并行I/O口。51系列共有4个8位的并行I/O口,分别记作P0、P1、P2、P3每个口都包含一个锁存器,一个输出驱动器和输入缓冲器。实际

13、上,它们已被归入专用寄存器之列,并且具有字节寻址和位寻址功能。在访问片外扩展存储器时,低八位地址和数据由P0口分时传送,高八位地址由P2口传送。2:定时器/计数器:定时器/计数器(timer/counter)是单片机中的重要部件,其工作方式灵活、编程简单,使用它对减轻CPU的负担和简化外围电路都大有好处。C51系列包含有两个16位的可编程定时器/计数器分别称为定时器/计数器T0和定时器/计数器T1;在C51部分产品中,还包含有一个用做看门狗的8位定时器。定时器/计数器的核心是一个加1计数引脚上施加器,其基本功能是加1功能。在单片机的定时器T0或T1中,有一个定时器发生由0到1的跳变时,计数器增

14、1,即为计数功能;在单片机内部对机器周期或其分频进行计数,从而得到定时,这就是定时功能。在单片机中,定时功能和计数功能的设定和控制都是通过软件来进行的。定时器/计数器内部结构及其原理:由定时器0、定时器1、定时器方式寄存器TMOD和定时器控制寄存器TCON组成。当定时器/计数器设置为定时工作方式时,计数器对内部机器周期计数,每过一个机器周期,计数器加1,直至计满溢出。定时器的定时时间与系统的振荡频率紧密相关,因为C51系列单片机的一个机器周期由12个振荡脉冲组成,所以,计数频率fc=fosc/12。当定时器/计数器设置为计数工作方式时,计数器对来自输入引脚T0(P3.4)和T1(P3.5)的外

15、部信号计数,外部脉冲的下降沿将触发计数。在每个机器周期的S5P2期间采样引脚输入电平,若前一个机器周期采样值为1,后一个机器周期采样值为0,则计数器加1。新的计数值是在检测到输入引脚电平发生1到0的负跳变后,于下一个机器周期的S3P1期间装入计数器中的,可见,检测一个由1到0的负跳变需要两个机器周期,所以最高检测频率为振荡频率的1/24。计数器对外部输入信号的占空比没有特别的限制,但必须保证输入信号的高电平与低电平的持续时间在一个机器周期以上。3:振荡器:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,

16、XTAL2应不接。当输入至内部时钟信号时要通过一个二分频触发器,而对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。4:芯片擦除:整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。在芯片擦除操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM、定时器、计数器、串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复

17、位为止。5:中断系统:中断系统是单片机的重要组成部分。实时控制、故障自动处理、单片机与外围设备间的数据传送往往采用中断系统。中断系统大大提高了系统的效率。C51系统有关中断的寄存器有4个,分别为中断源寄存器TCON和SCON、中断允许控制寄存器IE和中断优先级控制寄存器IP;中断源有5个,分别为外部中断0请求INT0、外部中断1请求INT1、定时器0溢出中断请求TF0、定时器1溢出中断请求TF1和串行中断请求R1或T1。5个中断源的排列顺序由中断优先级控制寄存器IP和顺序查询逻辑电路共同决定,5个中断源分别对应5个固定的中断入口地址。中断的特点是分时操作,实时处理和故障处理。单片机中断系统用处

18、较多,本设计中也有涉及,下面详细的介绍一下89C51中断系统中要用到的中断类型。(1) 外部中断源:AT89C51有INT0和INT1两条外部中断请求输入线,用于输入两个外部中断源的中断请求信号,并允许外部中断源以低电平或负边沿两种中断触发方式来输入中断请求信号。AT89C51究竟工作于哪种中断触发方式,可由用户对定时器控制寄存器TCON中IT0和IT1位状态的设定来选取。AT89C51在每个机器周期的S5P2时对INT0、线上中断请求信号进行一次检测,检测方式和中断触发方式的选取有关。若AT89C51设定为电平触发方式(IT0=0或IT1=0),则CPU检测到INT0、INT1上低电平时就可

19、认定其上中断请求有效;若设定为边沿触发方式(IT0=1或IT1=1),则CPU需要两次检测INT0、INT1线上电平方能确定其上中断请求是否有效,即前一次检测为高电平和后一次检测为低电平时中断请求才有效。(2) 定时器溢出中断源:定时器溢出中断由AT89C51内部定时器分的中断源产生,故它们属于内部中断。AT89C51内部有两个16位定时器/计数器,受内部定时脉冲(主脉冲经12分频后)或T0/T1引脚上输入的外部定时脉冲计数。定时器T0/T1在定时脉冲作用下从全“1”变成全“0”时可以自动向CPU提出溢出中断请求,以表明定时器T0或T1的定时时间已到。(3) 串行口中断源:串行口中断由AT89

20、C51内部串行口的中断源产生,也是一种内部中断。串行口中断分为串行口发送中断和串行口接收中断两种。在串行口进行发送/接收数据时,每当串行口发送/接收完一组串行数据时串行口电路自动使串行口控制寄存器SCON中的RI或TI中断标志位置位,并自动向CPU发出串行口中断请求,CPU响应串行口中断后便立即转入串行口中断服务程序执行。因此,只要在串行口中断服务程序中安排一段对SCON中RI和TI中断标志位状态的判断程序,便可区分串行口发生了接收中断请求还是发送中断请求。(4) 中断标志:AT89C51在S5P2时检测(或接收)外部(内部)中断源发来的中断请求信号后先使相应中断标志位置位,然后便在下个机器周

21、期检测这些中断标志位状态,以决定是否响应该中断。3 分电路设计与论证 3.1 电动机模块 3.1.1 方案选择 方案一:采用直流电动机驱动,采用由多个三极管组成的电路,PWM是利用数字输出对模拟电路进行控制的一种有效技术,尤其是在对电机的转速控制方面,可大大节省能量。PWM 具有很强的抗噪性,且有节约空间、比较经济等特点。模拟控制电路有以下缺陷:模拟电路容易随时间漂移,会产生一些不必要的热损耗,以及对噪声敏感等。而在用了PWM技术后,避免了以上的缺陷,实现了用数字方式来控制模拟信号,可以大幅度降低成本和功耗。在单片机控制下,使之工作在占空比可调的开关状态,精准地调整电动机的转速。这个电路由于管

22、子工作的饱和截止模式下,效率很高,电子开关的速度很快,稳定性也很强。 方案二:采用步进电机驱动,步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”,它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。步进电机有一个技术参数:空载启动频率,即步进电机在空载情况下能够正常启动的脉

23、冲频率,如果脉冲频率高于该值,电机不能正常启动,可能发生丢步或堵转。在有负载的情况下,启动频率应更低。如果要使电机达到高速转动,脉冲频率应该有加速过程,即启动频率较低,然后按一定加速度升到所希望的高频(电机转速从低速升到高速)。步进电机必须加驱动才可以运转,驱动信号必须为脉冲信号, 没有脉冲的时候,步进电机静止,如果加入适当的脉冲信号,就会以一定的角度(称为步角)转动。转动的速度和脉冲的频率成正比。结论:方案一与方案二相比,方案一PWM对调速系统来说,有如下优点:系统的响应速度和稳定精度等指标比较好;电枢电流的脉动量小,容易连续,而且可以不必外加滤波电抗也可以平稳工作;系统的调速范围宽;使用元

24、件少、线路简单。故而电动机驱动模块选择方案一。 3.1.2 直流电动机电路论证 图3 直流电动机电路 设计电路如图3所示,采用PWM脉冲宽度调制,PWM是对模拟信号电平进行数字编码。通过计数器,使方波的占空比被调制,从而实现对模拟信号的电平进行编码。PWM控制技术原理以结论:冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同,为理论基础,对半导体开关器件的导通和关断进行控制,使输出端得到一系列幅值相等而宽度不相等的脉冲,用这些脉冲来代替所需要的波形。一般情况下,调节脉宽调制信号的脉宽有两种方法,一种方法是采用模拟电路中的调制方法,另一种方法是使用脉冲计数法。对于一般电机控制,采用

25、第一种方法在控制电压变化时滤波的实现存在较大的困难,这主要是因为滤波频率较低、滤波精度要求高和滤波电路的参数不易调整,而脉冲计数法相对来说,比较的容易控制,对外部信号要求也不高。因此,本设计采用由单片机控制实现的脉冲计数法。 由直流电机的电压平衡方程式: 其中I为电机线圈电流,R为线圈电阻,e为电机的反电势。 e = C*,式中,C为电机结构常数,为一常量;为线圈磁通;为电机转动角速度。于是将e代入电压平衡方程式中,可得: U = C*+ IR 经过移项之后就可得出角速度和电压的关系式: 从上式可以看出,改变外接电压U,电机回路电阻R, 磁通,可改变电机转速。本实验所用直流电机为永磁式, 磁通

26、不可改变,而改变电机回路电阻R来调速的方式,相对比较的麻烦,所以本设计采用改变外接电压U的调速方式。电动机正反转原理:当DIR端输入为高电平时,Q7和Q3导通,Q1与Q5关断,此时图中电动机上端为低电平,当PWM端输入低电平时,Q4与Q8关断,Q2和Q6导通,电流从Q2流向Q3,电动机正转,而PWM端输入高电平时,Q4和Q8导通,Q2和Q6关断,没有电流通过电动机;当DIR端输入低电平时,Q7和Q3关断,Q1和Q5导通,当PWM端为高电平时,Q4和Q8导通,Q2和Q6关断,电流从Q1流向Q4,电动机反转,若PWM端为低电平,则Q8和Q2关断,没有电流通过电动机。 3.2 控制模块 3.2.1

27、方案选择 方案一:一个ADC0831串行逐次逼近式A/D转换器,A/D转换器是用来通过一定的电路将模拟量转变为数字量。模拟量可以是电压、电流等电信号,也可以是压力、温度、湿度、位移、声音等非电信号。但在A/D转换前,输入到A/D转换器的输入信号必须经各种传感器把各种物理量转换成电压信号。逐次逼近式A/D是比较常见的一种A/D转换电路,转换的时间为微秒级。逐次逼近法的A/D转换器是由一个比较器、D/A转换器、缓冲寄存器及控制逻辑电路组成。基本原理是从高位到低位逐位试探比较,好像用天平称物体,从重到轻逐级增减砝码进行试探。逐次逼近法转换过程是:初始化时将逐次逼近寄存器各位清零;转换开始时,先将逐次

28、逼近寄存器最高位置1,送入D/A转换器,经D/A转换后生成的模拟量送入比较器,称为 Vo,与送入比较器的待转换的模拟量Vi进行比较,若VoVi,该位1被保留,否则被清除。然后再置逐次逼近寄存器次高位为1,将寄存器中新的数字量送D/A转换器,输出的 Vo再与Vi比较,若VoVi,该位1被保留,否则被清除。重复此过程,直至逼近寄存器最低位。转换结束后,将逐次逼近寄存器中的数字量送入缓冲寄存器,得到数字量的输出。 其中非CS为片选信号输入端,Vin(+)和Vin(-)为差分输入端,Vref为参考电压输入端,GND为接地端,Vcc为电源电压输入端,DO为A/D转化数据输出端,CLK为时钟信号输入端。首

29、先,将ADC0831的时钟线拉低,再将片选段非CS置低电平,启动A/D转化。接下来在第一个时钟信号的下降沿到来时,ADC0831的数据输出端被拉低,准备输出转换数据。从时钟信号的第2个下降沿到来开始,ADC0831开始输出转换数据,直到第9个下降沿为止,共8位,输出顺序为从最高位到最低位。方案二:通过数字电路的方式来实现电动机的旋转,组合逻辑电路,它由最基本的逻辑门电路组合而成。其输出值只与当时的输入值有关,即输出惟一地由当时的输入值决定。电路没有记忆功能,输出状态随着输入状态的变化而变化。通过74HC244输入开关量数据来控制小直流电动机的转动,两个输入分别连接74HC244的2A2,2A4

30、,输出两端通过两个74HC32连接直流电动机电源。小直流电动机的原理是:转动方向是由电压来控制的,电压为正则正转,为负则反转,转动速度大小则是由输出脉冲的占空比来控制的,正向占空比越大则转速就越快,反向转则占空比越小就转速越快。结论:通过方案一与方案二的比较,方案一相对而言,其优点是速度较高、功耗低,在低分辩率时价格便宜,将模拟量输送给单片机,由单片机进行分析处理,使数字量的的更加的精准,操作起来直接,方便,对电机的转速的调整更稳定,故而选择方案一。 3.2.2 电动机转速控制电路论证 图4 电动机转速控制电路如图4所示,实际上电动机的转速控制主要运用了一个模数转换,模数转换器即A/D转换器或

31、简称ADC。通常是指一个将模拟信号转变为数字信号的电子元件。通常的模数转换器是将一个输入电压信号转换为一个输出的数字信号。由于数字信号本身不具有实际意义,仅仅表示一个相对大小。故任何一个模数转换器都需要一个参考模拟量作为转换的标准,比较常见的参考标准为最大的可转换信号大小。而输出的数字量则表示输入信号相对于参考信号的大小。 模数转换器输出数据: 其中V为待转换的电压,而Vref为模数转换器的参考电压,N为模数转换器的转换位数。模数转换器最重要的参数是转换的精度,通常用这个位数的多少表示。转换器能够准确输出的数字信号的位数越多,表示转换器能够分辨输入信号的能力越强,转换器的性能也就越好。 为将时

32、间连续、幅值也连续的模拟量转换为时间离散、幅值也离散的数字信号,A/D转换一般要经过采样、保持、量化及编码4个过程。在实际电路中,有些过程是合并进行的,如采样和保持,量化和编码在转换过程中是同时实现的。本次设计主要以ADC0831控制的A/D转换电路,其中电位器作为ADC0831的模拟量输入,最大输入电压及参考电压均为5V,数字量输出范围为0DoutU6时,输出为高电平UOH。经过LM339的处理将其转变为脉冲,然后将脉冲数据交单片机处理,单片机计算一定时间内脉冲的个数,由计数值转变为速度值并送数码管显示速度。当红外发射、接收管都正常工作时,LM339的负输入端6为低电平,输出端1为高电平;当

33、红外接收管被外物挡住是,红外接收管不工作,LM339的负输入端6为高电平,输出端1为低电平,单片机程序设置为外部中断下降沿触发有效,实现了中断触发功能。 3.4 显示模块 3.4.1 模块选择方案一:LED显示器是单片机应用系统中常见的输出器件,而在单片机的应用上也是被广泛运用的。如果需要显示的内容只有数码和某些字母,使用LED数码管是一种较好的选择。LED数码管显示清晰、成本低廉、配置灵活,与单片机接口简单易行。LED数码管作为显示字段的数码型显示器件,它是由若干个发光二极管组成的。当发光二极管导通时,相应的一个点或一个笔画发亮,控制不同组合的二极管导通,就能显示出各种字符,常用的LED数码

34、管有7段和“米”字段之分。这种显示器有共阳极和共阴极两种。共阴极LED显示器的发光二极管的阴极连在一起,通常此共阴极接地。当某个发光二极管的阳极为高电平时,发光二极管点亮,相应的段被显示。同样,共阳极LED显示器的发光二极管的阳极接在一起,通常此共阳极接正电压,当某个发光二极管的阴极接低电平时,发光二极管被点亮,相应的段被显示。采用三个8段共阳极的LED数码管,显示方式为动态(扫描)显示的方式。其中A、B、C、D分别连接P0.0、P0.1、P0.2、P0.3。动态扫描有以下特点:第一,能显著降低显示器的功耗,这对于采用电池供电的便携式数字仪表尤为重要;第二,能大大减少显示器的外部引线,给印制板

35、的设计和安装带来方便;第三,能采用BCD码多路输出的方式,不仅使译码、驱动电路大为简化,还可以与微机相连;第四,只要位扫描信号频率足够高,由于人眼的“视觉暂留”现象,就观察不到闪烁现象。方案二:显示部分采用是1602字符液晶模块,字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,带中文字库的128X64是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形

36、液晶显示模块;其显示分辨率为12864, 内置8192个16*16点汉字,和128个16*8点ASCII字符集。利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示84行1616点阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。它能同时显示16*2(16字2行)即32个字符,1602液晶模块的控制器采用的是HD44780。 结论:方案一与方案二相比,方案二的显示虽功能强大,但外围电路较多,本设计要求不高

37、,而且方案一比较的经济,实用,控制简单,故而选择方案一。 3.4.2 显示电路论证 图6 显示电路电路图6所示,利用单片机的P0、P1口,P0口分别控制数码管的位选码,而P1口则控制段选码,采用的是动态扫描的方法,动态显示方式是指一位一位地轮流点亮每位显示器(称为扫描),即每个数码管的位选被轮流选中,多个数码管公用一组段选,段选数据仅对位选选中的数码管有效。对于每一位显示器来说,每隔一段时间点亮一次。显示器的亮度既与导通电流有关,也与点亮时间和间隔时间的比例有关。通过调整电流和时间参数,可以既保证亮度,又保证显示。若显示器的位数不大于8位,则显示器的公共端只需一个8位I/O口进行动态扫描(称为

38、扫描口),控制每位显示器所显示的字形也需一个8位口(称为段码输出)。 实现动态扫描的方案很多,在数字电路中大致可分成两种:第一种方案是间接控制法,即把位选通信号加至译码驱动器的消隐控制端,间接地控制LED显示器的亮灭。该方案是对静态显示的改进,主要起到降低显示功耗的作用,而且对电路的要求比较的复杂。第二种方案是直接驱动法,它是利用位选通信号直接驱动各位LED显示器,起到简化电路的方法,但功耗相对提高。由于本设计中的电路是简单电路,整体功耗并不高,为了简化电路,简单操作,所以设计中运用的直接驱动的方法,这样能使编程更加的简单,有利于程序的编写。4 软件设计 4.1系统主程序流程图 主程序首先判断

39、输入电压的状态,实际也是电动机启动的一个开关,随着输入电压的改变,转速改变。一旦有电压的输入,就立即判断电动机的正反转,通过开关也可以改变状态,与此同时,测速系统启动,输出相应速度值。 开始 中断初始化 开启中断ADC输入数据 SW? 1 0 调用反转函数调用正转函数 反转正转测速 中断标志位 小于2 标志位清零 等于2计算、输出速度显示结束 4.2 各子程序流程图 4.2.1 电动机控制流程图 开始 初始化,设置常量启动A/D转换器,读取转换数据,存入开关位置1?DIR位置1,正转DIR位置0,反转PWM位置1PWM位置0以AD_TMP为延时常数,调用延时程序以AD_TMP为延时常数,调用延时程序PWM位置1PWM位置0以255-AD_TMP为延时常数,调用延时程序以255-AD_TMP为延时常数,调用延时程序 4.2.2 测速显示流程图 开始中断初始化判断是否到中断次数?否是计算速度,读取数值分别选择位选码,动态输出显示码

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1