C单片机直流电机控制器设计方案 .docx

上传人:Che****ry 文档编号:13052662 上传时间:2022-04-27 格式:DOCX 页数:21 大小:278.06KB
返回 下载 相关 举报
C单片机直流电机控制器设计方案 .docx_第1页
第1页 / 共21页
C单片机直流电机控制器设计方案 .docx_第2页
第2页 / 共21页
点击查看更多>>
资源描述

《C单片机直流电机控制器设计方案 .docx》由会员分享,可在线阅读,更多相关《C单片机直流电机控制器设计方案 .docx(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精品名师归纳总结89C52单片机直流电机把握器设计【摘要】 本论文介绍了基于89C52单片机的小功率直流电机把握系统。该系统主要功能为:设定直流电机的转速和转向,通过光电开关对电机测速,将测得的转速值反馈给单片机,单片机经PI 运算后输出 PWM 信号把握电机运转。实际测试结果说明该系统的转速误差范畴小 20圈/分,调整时间短,转速设定便利快捷,显示直观清楚。本文仍对此系统的性能指标进行了分析。【关键词】 直流电机, PWM ,PID1. 前言由于单片机具有体积小、集成度高、运算速度快、运行牢靠、应用灵敏、价格低廉以及面对把握等特点,因此在工业把握、数据采集、智能仪器外表、智能化设备和各种家用

2、电器等领域得到广泛的应用,而且进展特殊迅猛。随着单片机应用技术水平不断提高,目前单片机的应用领域已经遍及几乎全部的领域。现在国内外工业上对电机的调速基本已经不再使用模拟调速,而接受数字调速系统, 而数字调速系统大部分都是用单片机来进行把握,数字调速系统具有把握精确度高,特殊稳固,受环境影响小,效率高等优点,所以在国内外的使用越来越广泛。与沟通电动机相比,直流电机结构复杂、成本高、运行爱惜困难,但是直流电机具有良好的调速性能、较大的启动转矩和过载才能强等许多优点,因此在许多行业仍大量应 用。近年来,直流电动机的机构和把握方式都发生了很大的变化。随着运算机进入把握领域以及新型的电力电子功率元器件的

3、不断显现,接受全控型的开关功率元件进行脉宽调制1( Pulse Width Modulation,简称PWM)已成为直流电机新的调速方式。这种调速方法具有开关频率高、低速运行稳固、动态性能良好、效率高等优点,更重要的是这种控速方式很简洁在单片机把握系统中实现,因此具有很好的进展前景。1.1 有关技术简介11.1.1 PWM 把握PWM ( Pulse Width Modulation)脉冲宽度调制,简称脉宽调制,是一种最初用语无线电通信的信号调制技术,后来在把握领域中(比如电机调速)也得到了很好的应用,于是形成了特殊的PWM把握技术。 PWM把握是利用微处理器的数字输出来对模拟电路进行把握的一

4、种特殊有效的技术,广泛应用在从测量、通信到功率把握与变换的许多领域中。简而言之, PWM是一种对模拟信号电平进行数字编码的方法。通过高辨论率计数器的可编辑资料 - - - 欢迎下载精品名师归纳总结使用,方波的占空比被调制用来对一个详细模拟信号的电平进行编码。PWM信号仍然是数字的,由于在给定的任何适合,满幅值的直流供电要么完全有,要么完全无。电压或电流源是以一种通或断的重复脉冲序列被加到模拟负载上去的,通的时候即是直流供电被加到负载上去,断的时候即是供电被断开。只要带宽足够,任何模拟值都可以使用PWM进行编码。采样把握理论中有一个重要结论:冲量相等而形状不同的窄脉冲加在具有惯性的环节 上时,其

5、成效基本相同。PWM把握技术就是以该结论为理论基础,对半导体开关器件的导通和关断进行把握,使输出端得到一系列幅值相等而宽度不相等的脉冲,用这些脉冲来 代替所需要的波形。按确定的规章对各脉冲的宽度进行调制,既可转变逆变电路输出电压 的大小,也可转变输出频率。PWM把握的基本原理很早就已经提出,但是受电力电子器件进展水平的制约,在20世纪 80 岁月以前始终未能实现。知道进入20 世纪 80 岁月,随着全控型电力电子器件的显现及其快速进展,PWM把握技术才真正得到应用。随着电力电子技术、微电子技术和自 动把握技术的进展以及各种新的理论方法,如现代把握理论、非线性系统把握思想的应用, PWM把握技术

6、获得了空前的进展。到目前为止,已显现了多种PWM把握技术。一般情形下,调剂脉宽调制信号的脉宽有两种方法,一种方法是接受模拟电路中的调制方法,另一种方法是使用脉冲计数法。对于一般电机把握,接受第一种方法在把握电压变化时滤波的实现存在较大的困难,这主要是由于滤波频率较低、滤波精度要求高和滤波电路的参数不易调整。因此,本设计接受由单片机把握实现的脉冲计数法。1.1.2 PID调剂1当今的自动把握技术都是基于反馈的概念。反馈理论的要素包括三个部分:测量、比较和执行。测量关怀的变量,与期望值相比较,用这个误差订正调剂把握系统的响应。这个理论和应用自动把握的关键是,做出正确的测量和比较后,如何才能更好的订

7、正系统。PID(比例 -积分 -微分)把握器作为最早有用化的把握器已有50 多年历史,现在仍然是应用最广泛的工业把握器。PID 把握器简洁易懂,使用中不需精确的系统模型等先决条件,因而成为应用最为广泛的把握器。PID 把握器由比例单元(P)、积分单元( I)和微分单元( D )组成。它由于用途广泛、使用灵敏,已有系列化产品,使用中只需设定三个参数(Kp , Ki 和 Kd )即可。在许多情形下,并不愿定需要全部三个单元,可以取其中的一到两个单元,但比例把握单元是确把握。误差信号是通过将被控参数的期望设定值减去该参数的实际测量值来获得的。误必不行少的。 PID 是周期性的把握操作。假定把握器的执

8、行频率足够高,以使系统得到真差的符号说明把握输入所需的变化方向。(一) P 项(比例)由误差信号乘以一个P 增益因子形成,使PID 把握响应为误差幅值的函数。当误差信号增大时,把握器的P 项将变大以供应更大的校正量。(二) I 项(积分)对全部误差信号进行连续积分。因此,小的静态误差随时间累计为一个较大的误差值。累计误差信号乘以一个I 增益因子即成为 PID 把握器的 I 输出项。可编辑资料 - - - 欢迎下载精品名师归纳总结(三) D 项(微分)D 项输入是运算前次误差值与当前误差值的差来获得的。该误差乘以一个D 项增益因子即成为 D 输出项。系统误差变化的越快,把握器的D 项将产生更大的

9、把握输出。PID 把握具有以下优点:应用范畴广。虽然许多工业过程是非线性或时变的,但通过对其简化可以变成基本线性和动态特性不随时间变化的系统,这样PID 就可把握了。参数较易整定。也就是,PID 参数 K p, Ki 和 Kd 可以依据过程的动态特性准时整定。假如过程的动态特性变化,例如可能由负载的变化引起系统动态特性变化,PID 参数就可以重新整定。PID 调剂中参数的选择方法:在数字 PID 把握中,假如采样周期选得比较小,就PID 把握参数 K p、K i 和 KD 可按模拟 PID 把握器中的方法来选择。在对电动机把握中,第一要求系统是稳固的,在给定值变化时,被控量应能快速、平稳的跟踪

10、,超调量要小。在各种干扰下,被控量应能保持在给定值邻近。另外,把握变量不宜过大,以防止系统过载。明显,上述要求要都中意是很困难的,因此,必需依据详细的实际情形,抓主要方面,兼顾其他方面。在选择把握器参数前,应第一确定把握器结构。对于电动机把握系统,一般常用PI 或PID 把握器接口,以保证被控系统的稳固,并尽可能清楚静态误差。PID 参数的选择有两种可用方法:理论设计法和试验确定发。理论设计法确定PID 把握参数的前提,是要有被控对象精确的数学模型,着在电动机把握中往往很难做到。因此,用以下试验确定法来选择PID 把握参数,就成为目前经常接受的,并且是行之有效的方法。凑试法凑试法是通过模拟或闭

11、环运行系统,来观看系统的响应曲线,然后依据各把握参数对系统响应的大致影响,来转变参数,反复凑试,直到认为得到中意的响应为止。凑试前, 要先明白 PID 把握器参数值对系统的响应有哪些影响。增大比例系数 K p,可以加快系统的响应速度,有利于削减静态误差。但是,过大的比例系数会使系统有较大的超调,因此产生振荡,破坏系统的稳固性。增大积分常数K i,会有利于削减超调,削减振荡,使系统更稳固。但系统静态误差的排除将随之减慢。增大微分常数K D ,也可以加快系统的响应,使超调量削减,稳固性增加。但系统的抗干扰才能降低。在考虑了以上参数对把握过程的影响后,凑试时,可按先比例后积分再微分的次序反复调试参数

12、。详细步骤如下:第一只调剂比例部分,将比例系数由小变大,并观看系统所对应的响应,知道得到响应快,超调量小的响应曲线为止。假如这时系统的静态误差已在答应范畴内,并且达到可编辑资料 - - - 欢迎下载精品名师归纳总结1/4 衰减度的响应曲线(最大超衰减到1/4 时,已进入答应的静态误差范畴),那么只需用比例环节即可,比例系数可由此确定。假如在比例调剂的基础上,系统的静态误差仍达不到设计要求,就必需加入积分环节。积分常数在凑试时,先给一个较大值,并将上一步调整时获得的比例系数略微削减(例如取原值的80%),然后逐步削减积分常数进行凑试,并依据所获得的响应曲线进一步调试比例系数值和积分常数值,直到排

13、除静态误差,并且保持良好的动态性能为止。假如使用比例积分环节虽然排除了静态误差,但系统的动态性能仍不能令人中意,这时可加入微分环节。在凑试时,可先给一个很小的微分常数,以后逐步增大,同时响应的改变比例系数和积分常数,知道获得中意的成效为止。1.2 直流电机的特性及调速方式绝大多数的电动机都须作连续的旋转运动的电磁力形成一种方向不变的转矩,才能构成电动机。 N、S 为对固定的磁极 一般是电磁铁,也可以是永久磁铁 ,两磁极间装着一个可以转动的铁质圆柱体,圆柱体的表面上固定着一个线圈。当线圈中通入直流电流时,线圈边上受到电磁力,依据左手定就确定力的方向,这一对电磁力形成了作用于电枢的一个电磁转矩,转

14、矩的方向是逆时针方向。如电枢转动,线圈两边的位置互换,而线圈中通过的仍是直流电流,就所产生的电磁转矩的方向却变为顺时针方向了,因此电枢受到一种方向交变的电磁转矩。这种交变的电磁转矩只能使电枢来回摇摆,而不能使电枢连续转动。明显,要使电枢受到一个方向不变的电磁转矩,关键在于,当线圈边在不同极性的磁极下,如何将流过线圈中的电流方向准时的加以变换,即进行所谓“换向”。为此必需增加一个叫做换向器的装置,换向器由相互绝缘的铜质换向片构成,装在轴上,也和电枢绝缘,且和电枢一起旋转。换向器又与两个固定不动的由石墨制成的电刷A、B 相接触。装了这种换向器以后,如将直流电压加于电刷端,直流电流经电刷流过电枢上的

15、线圈,就产生电磁转矩,电枢在电磁转矩的作用下就旋转起来。电枢一经转动,由于换向器协作电刷对电流的换向作用,直流电流交替的由线圈边ab 和 cd 流入,使线圈边只要处于N 极下,其中通过电流的方向总是由电刷 A 流入的方向,而在S 极下时,总是从电刷B 流出的方向。这就保证了每个极下线圈边中的电流始终是一个方向。这样的结构,就可使电动机能连续的旋转。这就是直流电动机的工作原理直流电机的调速方法有: 一 电枢串电阻调速:电枢回路串接电阻后,电动机的机械特性的斜率随电阻的转变而转变,在恒负载下使转速发生变化。该调速方式的优点是把握装置很简洁。缺点是转速受负载的影响较大,在空载时几乎没有调速作用,而在

16、重载低速运行时特性显得太软,而且功耗很大。 二 转变电枢电压调速:当电动机接受这种方式,其机械特性随电枢电压的转变而产生平移,所以它的调速范畴较广。电枢电压的调剂常用晶闸管整流装置实现,但低速运行时功率因数变低,而且在沟通侧显现较多的谐波成分,对电网不利。 三PWM 直流调整系统:其原理是将直流把握信号与三角波经调制电路产生一系列脉宽可编辑资料 - - - 欢迎下载精品名师归纳总结不等的脉冲信号,做功率放大后驱动大功率器件。把握调制方波的占空比,便可以转变输出平均电压。将PWM输出电压接至直流电动机的电枢两端,便可组成性能优良的调速系统。该调速系统的优点是调速范畴广、效率高、响应速度快、电流脉

17、动小及对电网污染小。但因系统较复杂,造价也相应的提高。 四 双闭环直流调速系统:该系统的反馈量电流和转速信号,分别送入电流调剂器和速度调剂器。调剂器按P-I (比例积分)方式实现调剂。由电流调剂器组成的闭环称为电流环。由速度调剂器组成的闭环称为转速环,电流环用于把握电流,转速环用于把握转速。 五 数字式直流调速系统:目前较先进的直流调速系统均接受数字把握,从积分调剂器到触发装置,以及其他把握功能均由微处理器来实现。它具有调速性能高、工作可靠和体积小等特点。数控装置设有键盘和LED 显示器,可便利的利用键盘进行各项运行参数的设定。此外,它仍具备自诊断及完善的爱惜功能。转变励磁的恒功率调速:从直流

18、电动机的机械特性的公式可看出,当磁通减小电动机的转速也随之提高。由直流电机的电压平稳方程式:U = e+IR其中 I 为电机线圈电流,R 为线圈电阻, e 为电机的反电势,e = C* * , 式中, C 为电机结构常数,为一常量。 为线圈磁通。 为电机转动角速度。于是将e 代入电压平稳方程式中,可得:U = C* * + IR经过移项之后就可得出角速度和电压的关系式: =( U-IR ) /C* 从上式可以看出,转变外接电压U, 电机回路电阻R, 磁通 ,可转变电机转速。本试验所用直流电机为永磁式, 磁通 不行转变 , 而转变电机回路电阻R 来调速的方式 , 已不多见, 所以接受转变外接电压

19、U的调速方式 ,1.3 系统设计功能要求本设计是要利用89C52 单片机把握PWM调速电路实现小功率直流电机的转速调剂。而本系统必需符合以下几点要求:(1) 在1000 5500 转/ 分 内对直流电机进行任意调速,最小调速级差为1 转/ 分。(2) 电机能在所设速度下稳固运转,运转速度与设定速度之差小于20 转/ 分。(3) 电机启动和加减80%额定负载时 , 其转速能快速回到设定值,转速超调5%内。(4) 电机能进行正反转把握。下面,本文将从硬件和软件两方面按系统功能要求进行设计。2. 硬件电路设计可编辑资料 - - - 欢迎下载精品名师归纳总结本设计在硬件电路上共分为6 个部分,单片机部

20、分、按键输入、PWM斩波电路、测速电路、转向调剂电路以及模拟负载。下面本文将详细介绍每一部分的功能原理以及元器件的选取。1234+5DC101 30C102 30D78 05X0 20M+1 2+5RESETR1 13D140 0113VinD N GVo ut10 kC31100u/2 5VC30C3 347 u/16 V2104C1 039 0 81 4 162IC310 u95.CRESET 1CXC2XV2PP2.3+58P1.739P0.03029ALE/P31PSENEA/VP10RXDP2.0 P2.1 P2.2P1.6 P2.42728P2.6P2.7BP1.5 P0.7 P0

21、.2 P0.6P0.5P0.416WR12 INT013 INT111TXD14T01517P1.3 P0.1P0.3 P1.2 P1.0P1.1T1RD4. PA5File:资料毕业设计毕业设计.ddb3Drawn By:1242.1 单片机部分及其接口电路24C212223725632373334B3543836312TitleSizeNu mberRevisio nABDate:4-Apr-2 007Sh eetof图 1 单片机部分原理图本设计接受的是 STC的 89C52 单片机,选用 STC的单片机是由于它是宽电压供电,工作电压范畴为 5.5V-3.4V ,比起一般51 系列单片机

22、的 5.5V-4.5V更能有效的防止电源抖动所带来的问题。晶振选用石英晶振,频率为20MHz,比起传统的12MHz 能有更快的处理速度。在第 9 脚-RST,复位脚外,加了一个复位按键和复位电路,复位原理为:第一次上电时,+5V 通过给电容充电,于是此时电容相当于短路,+5V 直接加到 RST脚上,单片机自动复位。过了极短的时间,电容充电完毕,此时电容就相当于开路,于是RST脚被电阻 R113 拉为低,单片机开头正常工作。当 RESET键按下时, +5V 通过按键加到RST 脚上,单片机复位, RESET键弹起之后, RST脚重新被 R113 拉为低,单片机开头正常工作。单片机供电方面,接受的

23、是12V 直流通过7805 三端稳压器稳压到5V,给单片机和显示部分供电。2.2 按键输入电路原理图如下:可编辑资料 - - - 欢迎下载精品名师归纳总结12D-NEXTCFUNCB+A34DP1.4P1.3CP1.2BP1.1A可编辑资料 - - - 欢迎下载精品名师归纳总结1234图 2 按键部分原理图在本设计中,按键输入比较简洁,就是在按键信号输入I/O口与的线间串接一按键。在按 键没有按下的情形下,I/O口悬空,所以为高(由于STC 单片机的 I/O口是有内部上拉电路的,所以当其悬空时,内部将其上拉为高)。当按键按下后,的线的把I/O口的电平拉低,单片机便可识别有键按下。2.4 PWM

24、驱动电路1234可编辑资料 - - - 欢迎下载精品名师归纳总结+12D9012PNPD可编辑资料 - - - 欢迎下载精品名师归纳总结D3 DIODE可编辑资料 - - - 欢迎下载精品名师归纳总结C3 10 0uCR19 1KC可编辑资料 - - - 欢迎下载精品名师归纳总结MOTOR可编辑资料 - - - 欢迎下载精品名师归纳总结C4 10 480 50NPN可编辑资料 - - - 欢迎下载精品名师归纳总结B+5B可编辑资料 - - - 欢迎下载精品名师归纳总结P1.1AR2110kR2 0A3.3 K可编辑资料 - - - 欢迎下载精品名师归纳总结1234图 4PWM驱动电路原理图第一

25、简洁介绍一下PWM的工作原理:可编辑资料 - - - 欢迎下载精品名师归纳总结如以下图, R21 为 P1.1 口的上拉电阻, R20 为限流电阻。当 P1.1口为低时, 8050 的基极电平被拉低,此时8050 截止,所以 9012 的基极为高, 9012 截止,电机两端没有电压。当 P1.1口为高时, 8050 基极电压也为高,于是8050 导通, 8050 的集电极电压为低,此时 9012 的基极也为低, 9012 导通, +12V加到电机两端,电机开头转动。所以,当 P1.1口为高时,电机两端电压也为高。P1.1口为低时,电机两端电压也为低。于是当 P1.1 口产生 PWM信号输出时,

26、电机两端会产生同样的PWM波形,从而达到调剂电机转速的目的。关于上拉电阻的选取,上拉电阻的选取取决于两方面,一方面是能否爱惜单片机I/O 口不过流,其次方面就是能否供应应负责所需大小的电流。第一我们分析爱惜I/O口方面, P1P3 口能承担的灌电流(输入电流)最大能达到6mA,所以上拉电阻的阻值必需大 于 5V/6mA=0.8K,而我们选用的是10K 电阻,远远大于0.8K ,所以能有效的爱惜单片机I/O 口。再来看看 10K 的上拉电阻能否供应所需要的电流了?假设电机工作电流为 100mA(事实上远小于), 9012 的放大倍数按 60 倍运算的话,那么 9012 的基极,也就是 8050的

27、集电极最少得供应 1.6mA 的电流才能使 9012 达到饱和。假如按 8050 能放大 100 倍的话,也就是说 8050 的基极至少得供应 16A 的电流才能使 8050 饱和,事实上, 10K 的上拉电阻,加上 I/O 口的限流电阻,能供应( 5-0.7 ) V/13.3K=350 A,远大于所需要的 16 A,所以完全能供应足够的电流。再看看串接在9012 的基极和 8050 的集电极间的电阻R19。它的作用是限流,假如不加这个电阻,那么当单片机口为高时,8050, 9012 均饱和,此时可以认为12V 直接对的短路 虽然有 9012 的 be 结和 8050 的 ce 结,它们会产生

28、零点几伏的压降,但是它们没有限流的作用,仍是可以认为电源直接对的短路 ,所以加上此电阻很有必要。图中 D3 二极管的作用:在这个PWM电路中,此二极管名为续流二极管,他的作用就是续流和排除反电势。电机内部的转子是由线圈绕成的,所以可以看成是一个电感元件,在突然断电时,反电势很大,将近 12V 的两倍以上,假如不加续流二极管的话,9012 很可能被击穿,由于负的反电压的产生 , 使电机两端的直流平均电压接进0V, 电极不会转动,只会不停的跳动并发出呜呜的声音,其本身也会有危险。而加了续流二极管后,反向电势通过二极管和电机重新形成回路,排除了反电势,且能使电机上电流不中断,爱惜正常运转。2.5 测

29、速电路先介绍光电开关,如图5 所示,光电开关分为2 个部分,一个部分用来发送,另一部分负责接收。发送部分V2 是一个发光二极管,而接收部分V1 就是一个光敏 NPN三极管。当光路通畅时, V1 的基极能接收到 V2 发出的光,于是 V1 的 be 上就会有电流产生, V1 导通,集电极输出为低。当光路被阻隔时,V1 截止,所以集电极输出为高。从图 5 可以看出,为配和软件编成需要, 本系统加了一个起反向作用三极管,也就是说, V1 集电极输出为高时, V3 导通,于是V3 的集电极输出为低。反之,V1 集电极输出为低时, V3 集电极的输出就为高。可编辑资料 - - - 欢迎下载精品名师归纳总

30、结1234D+5DR2410KINT1CR25 510R2 2 10KCR2 3光电开关V3npn10KV1BV2BAA1234图 5 测速电路原理图这里要留意的就是几个电阻阻值的选取:R25:一般发光二极管的正向压降2V,驱动电流5mA 左右,而电流最大不能超过20mA,所以选取 510 的电阻作为其限流电阻,一来保证不会过流烧坏发光管,二来也不会因电流太小而使光电开关不能正常工作。R22:此电阻串接在电源与三极管V1 的集电极,它的选取直接影响到三极管是否能达到饱和状态,我们知道,因光照所产生的光电电流很小,大致只有几微安的样子,所以集电极电流不能太大,否就管子不能达到饱和。假设发光二极管

31、正常工作需要的电流为5 A,那么三极管的放大倍数为100 倍的话, 集电极电流就不能超过0.5mA,所以 R22 的大小选取为10K,此时如基极有光照时,集电 极能正常拉低到的。R24:为 V3 的集电极电阻,同时也为单片机INT1 口的上拉电阻。作用为保证V3 和单片机I/O 口不会过流,所以选用10K 就能达到要求。2.6 转向调剂电路可编辑资料 - - - 欢迎下载精品名师归纳总结1234PWM 输入D正转绿DVARE1K+M 2RB 1MOTORJ1-1CBJ1 -2CKAVCC+A-J1-1COMJ1 -2COMRD1KJ1 -1CKJ1 -2CBCDB 4148VB反转 红CJ2V

32、CCBR*BRC1KBGB9014J0AA1234图 6 转向调剂电路原理图本设计是接受硬件转向把握,由于此为小功率电动机,且没有接负载,所以用硬件强制转向也不会对硬件造成损坏。图 6 中, MOTOR两端的 J1-1 和 J1-2 分别为继电器的两组开关,J2 就为继电器的线包 开关,当拨动开关J0 打向左边, J0 悬空,就三极管9014 基极为高,三极管导通,J2 吸合, J1-1CB 与 J1-2CB 接通,电机正转。当拨动开关J0 打向右边时, J0 接的,于是 9014 基极为低,三极管截止,J2 松开, J1-1CK 与 J1-2CK 接通,电机反转。而指示方面,是将测速同轴电动

33、机当成发电机使用,如以下图接一红一绿两个发光二极管,正转时,绿灯亮。反转时,红灯亮。并且亮度随着转速的增加而增加,特殊直观。3. 软件设计3.1 编程环境由于汇编语言程序的可读性和可移植性都较差,接受汇编语言编写单片机应用程序不但周期长,而且调试和排错也比较困难。为了提高编制单片机应用程序的效率,改善程序的可读性可移植性,接受高级语言无疑是一种更好的选择。C 语言是一种通用的运算机程序设计语言,既具有一般高级语言的特点,又能直接对运算机的硬件进行操作,表达和运算能4力也较强,许多以往只能接受汇编语言来解决的问题现在都可以改用C 语言解决。德国Keil Software公司多年来致力于单片机C

34、语言编译器的争论。该公司开发的Keil C51是一种专为 8051 单片机设计的高效率C 语言编译器,符合ANSI 标准,生成的程序代码运行速度极高,所需要的储备空间微小,完全可以与汇编语言相比美。所以 , 本设计接受的是C 语言编程,利用KEILvision2进行编译和仿真,使用STC专用下载板将 HEX文件烧录到 89C52 单片机中。3.2 系统基本参数及流程可编辑资料 - - - 欢迎下载精品名师归纳总结本设计接受的是20M晶振, 12 分频,所以每个指令周期为T=0.6 S。中断方面,本程序一共用了3 个中断源:定时器0,定时器2 以及外部中断1,它们的优先级分别为:定时器0、外部中

35、断 1 为高优先级,定时器2 为低优先级。另外仍用了计数器 1,用做运算脉冲宽度,与外部中断1 一起构成测速系统。3.3 按键程序按键的程序方面,主要是一个消抖动程序和,消抖动程序是特殊有必要的,由于在平常没 有按下键的时候,有可能会从电源或者其他的方突然产生一个尖峰电压,打在单片机检测 按键的 I/O口上,令单片机误以为有键按下了。或者是当人按下按键时候,假如手抖动,就会引起按键的接触不良,从而可能在很短时间内通- 断多次,而导致单片机的处理错误。消抖动程序就是针对这方面来设计的,详细是:当单片机检测到某一个按键按下了, 就延时 100ms,在这 100ms 里不停的检测,假如中间检测到按键

36、弹起了,就判为干扰,不进行处理,假如100ms 之后仍是按下的话,那么就可以确定此键的确是被按下了,然后就进行相应的处理。一般人按一下按键都有个200ms,所以延时 100ms已经足够了。可编辑资料 - - - 欢迎下载精品名师归纳总结主 程序 入口库 宏定 义,sb it定义变 量设 置,函数 声明系统 初始化 设置 :中断设置 ,堆 栈设 置While1设定速 度设 置速 度spe ed_set是否 大于6 000,是否 小于 1500YESSpe ed _set= 1500No判 断speed_set 和sp eed 的差值 是 否大 于最低精度 20YesNoPi调剂子 程序PI把握

37、斩波宽 度tim e0_set小于150Tim e0_set是否 大于 970 或是否 小于 150大于970NoTim e0_set =150Tim e0_set =970测速中 断子程序外 部中断 1送 实际 转速Speed送斩波 宽度Time 0_se tPWM调速中断 子程序 定时器 0 中断 显示中 断子程序定时 器2 中 断 显示设 定转速和实际 转速图 7 系统流程图其对应程序如下:可编辑资料 - - - 欢迎下载精品名师归纳总结void clear_shakeifnn =0n = 0。 ifnn1 = 0nn = 1 。ifshake = 0&n = 100/shake就是被按

38、下的键shake_1 = 1 。nn1 = 1 。nn = 0 。3.5 PWM程序由于电机调速是本次设计的最主要任务之一,所以PWM程序也是程序中最重要的一环。PWM的调速原理是通过调剂一个斩波周期中的脉冲占空比来调剂电机功率而达到调速目的。本设计中, PWM的斩波周期为1ms,那也就是说斩波频率为1KHz,在理论上能达到1线性可调,也就是能以0.1%的调剂精度来调剂PWM占空比。PWM调速子程序是放在定时器0 中断中进行的,中断设置如下:/-T0-T0用作斩波ET0 = 1 。/ 中断答应位time0_set = 300。time0_tmp = 65536-time0_set*fosc/1

39、2。/ TH0 = time0_tmp/256。TL0 = time0_tmp%256。TF0 = 0。/CLR TF0 TR0 = 1。/SETB TR0PT0 = 1 。 /高优先级可以看出, T0 的中断级别为高,由于PWM的脉冲宽度就是在中断程序里设定,假如此时被其他更高级别的中断打断,那么脉冲宽度将不精确,从而导致把握转速失败。所以将其设为高的话,就不存在被打断的问题了。下面是 PWM的中断子程序:void time0_intvoid interrupt 1TH0= time0_tmp/256 。TL0= time0_tmp%256 。ifcut = 1可编辑资料 - - - 欢迎下

40、载精品名师归纳总结cut = 0。elsecut = 1。time0_tmp = 65536-time0_set*20/12。time0_tmp = 65536-time0 - time0_set*20/12。可编辑资料 - - - 欢迎下载精品名师归纳总结程序中, cut为 PWM信号输出口,也就是P1.1 口,每进入一次中断,cut口就反向一次,而每次中断计时都由time0_set确定, time0_set也就是脉冲宽度,由外部赋给,范 围从 150970,其值每增加 1,电机转速就增加6 圈/ 分,所以可以算出精度为1,而实际上,我们选用的误差答应范畴为20 圈/ 分,精度为3。但比起一

41、般单片机自带的PWM输出口的 1%线性可调精度高多了。图 8PWM波形示意图图中为 PWM 输出波形图, A 为占空比为 95%时的波形, B 为 50%时的, C 为 5%时的波形。从图中可以得出,当 PWM 输出 A 的波形时,电机将以全速运转。而输出 B 时,电机就以 50%的速度运转。而当输出 C 时,电机转动速度将特殊慢,并且相伴着很大的噪音和震动,可以感觉出电机内部的运转不连续。3.6 测速系统程序测速是本设计的另外一个重点。本设计中测速系统的工作原理为:利用电机轴上带的圆盘的缺口,引起光电开关产生高电平脉冲,单片机就采集此脉冲的宽度,加以运算,得出其实时速度。详细实现如下:平常缺

42、口不在光电开关处时,光电开关处于断开状态,输入到单片机口电平为低,当圆盘缺口的其中一边刚运转到令光电开关接通时,单片机INT1 口电平跳变为高,此时计数器 1 以内部时钟信号为周期开头计数,然后当圆盘转到缺口的另外一边刚好令光电开关断开时,单片机INT1 口产生一个下降沿信号,计数停止,并进入INT1 中断子程序,在中断里把脉冲宽度转存出来并经过运算,就可得出实时速度值。可编辑资料 - - - 欢迎下载精品名师归纳总结所以,测速程序得用到一个外部中断INT1 ,以及一个计数器1。先看看和它们相关的标志位设置:/-外部中断 1-用做测速IT1 = 1。 /为跳沿触发方式,引脚INT1 上的电平从高到低的负跳变有效。IE1 = 0。 /中断请求标志 EX1 = 0 。 /外部中断 1 答应位PX1 = 0 。 /为高优先级/-T1-T1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁