基于单片机的伺服电机转速控制系统

上传人:1888****888 文档编号:38950825 上传时间:2021-11-09 格式:DOC 页数:60 大小:1.68MB
收藏 版权申诉 举报 下载
基于单片机的伺服电机转速控制系统_第1页
第1页 / 共60页
基于单片机的伺服电机转速控制系统_第2页
第2页 / 共60页
基于单片机的伺服电机转速控制系统_第3页
第3页 / 共60页
资源描述:

《基于单片机的伺服电机转速控制系统》由会员分享,可在线阅读,更多相关《基于单片机的伺服电机转速控制系统(60页珍藏版)》请在装配图网上搜索。

1、题 目:基于单片机的伺服电机转速控制系统 55内蒙古科技大学毕业设计说明书(毕业论文)基于单片机的伺服电机转速控制系统摘 要传统的晶闸管直流调速系统,其控制回路都是采用模拟电子线路构成的,晶闸管触发器多数还是采用分立元件组成的,这使得控制回路的硬件设备极其复杂,安装调试困难,相对故障率较高。针对传统的晶闸管直流调速系统的一些不足,提出了一种基于单片机的伺服电机转速控制系统的设计方法,并介绍了PID控制算法的设计。本设计使用AT89C52作为控制芯片,以PI(比例-积分)调节控制算法为基础, 采用软件编程产生脉宽比可控的脉宽调制信号,再通过功率放大电路H桥驱动电路来控制伺服电机电枢电压,从而完成

2、对伺服电机转速的调节,达到了较好的控制性能。同时通过4*4小键盘输入设定的伺服电机转速,用光电编码器来测定伺服电机转速,显示在4位LED上。关键词:直流调速;PID控制算法;AT89C52;脉宽调制;伺服电机内蒙古科技大学毕业设计说明书(毕业论文)The Servo Motor Speed Control System Based On MCUAbstractThe conventional DC drive system of SCR, which Control loop is consisting of simulate electronic circuits, and the SCR

3、trigger is mostly made up of the discrete component, so the hardware devices are extremely complex in the Control loop,the installation and trial run difficultly, the relative failure rate is high. To solve the problems, this paper presents one kind design method of the servo motor speed control sys

4、tem based on MCU, and introduces the design of the PID control algorithm. This design uses AT89C52 as the controller chip, takes PI (proportion - integral) regulation control algorithm to be the foundation, adopts software programming to get the signal for Pulse-Width-Modulation, and controls the ar

5、mature voltage of servo motor through H bridge driving circuit in power amplification electric circuit, thus it completes to adjust the servo motor rotational-speed, and achieves the good control performance. Meanwhile it sets the servo motor rotational-speed through the 4*4 small keyboard, and minu

6、tes the speed of the servo motor by the optical encoder, then shows the speed of the servo motor on the 4 LED.Key word: Direct-current speed regulation; PID control algorithm; AT89C52; Pulse-Width-Modulation; Servo motor内蒙古科技大学毕业设计说明书(毕业论文)目 录摘 要IAbstractII第一章 引 言11.1 课题的研究背景及意义11.2 转速控制系统设计目标及技术要求3

7、第二章 伺服电机转速控制系统设计42.1 系统硬件组成原理42.2 PID控制算法简介42.2.1 位置式PID控制算法62.2.2 增量式PID算法8第三章 硬件部分的设计123.1 直流电机调速原理123.2 PWM波形发生电路133.2.1 PWM基本原理133.2.2 PWM信号的产生143.3 PWM功率放大电路153.3.1 H桥驱动电路原理153.3.2 PWM驱动电路原理图173.4 测速电路183.5 键盘电路193.6 LED显示电路213.7 AT89C52的时钟电路233.8 AT89C52的复位电路24第四章 软件部分的设计264.1 主程序流程274.2 PID控制

8、算法程序流程284.2.1 PID控制算法选择284.2.2 PID运算控制模块子程序294.3 按键处理子程序304.4 键盘扫描程序314.5 转速采集子程序314.6 LED显示子程序32结束语33附录A 基于单片机的伺服电机转速控制系统电路图34附录B 源程序35附录C 基于单片机的伺服电机转速控制系统器件一览表54参考文献55致谢57内蒙古科技大学毕业设计说明书(毕业论文)第一章 引 言1.1 课题的研究背景及意义目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处

9、理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:1.在智能仪器仪表上的应用单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度

10、、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备(功率计,示波器,各种分析仪)。2.在工业控制中的应用用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。3.在家用电器中的应用可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭褒、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。4.在计算机网络和通信领域中的应用现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信

11、,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。5.单片机在医用设备领域中的应用单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。6.在各种大型电器中的模块化应用某些专用单片机设计用于实现特定功能,从而在各种电路中进行模块化应用,而不要求使用人员了解其内部结构。如音乐集成单片机,看似简单的功能,微缩在纯电子芯片中(有别于磁带机的原理),就需要复杂的类似于计算机

12、的原理。如:音乐信号以数字的形式存于存储器中(类似于ROM),由微控制器读出,转化为模拟音乐电信号(类似于声卡)。在大型电路中,这种模块化应用极大地缩小了体积,简化了电路,降低了损坏、错误率,也方便于更换。此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。1.2 转速控制系统设计目标及技术要求本设计的目的是实现伺服电机转速的控制。本设计完成后要求可以实现键盘输入,控制PWM波形产生,实现脉宽调制,软件实现PID控制算法,驱动电路的设计,实现伺服电机转速的调节,显示。第二章 伺服电机转速控制系统设计2.1 系统硬件组成原理转速控制系统的硬件原理框图2-1如图所示:图2

13、-1转速控制系统硬件原理框图以AT89C52单片机为控制核心,包括键盘电路,测速电路,PWM功放电路,显示电路。2.2 PID控制算法简介在过程控制中,按偏差的比例(P)、积分(I)和微分(D)进行控制的PID控制器(亦称PID调节器)是应用最为广泛的一种自动控制器。它具有原理简单,易于实现,适用面广,控制参数相互独立,参数的选定比较简单等优点;而且在理论上可以证明,对于过程控制的典型对象“一阶滞后纯滞后”与“二阶滞后纯滞后”的控制对象,PID控制器是一种最优控制。PID调节规律是连续系统动态品质校正的一种有效方法,它的参数整定方式简便,结构改变灵活(PI、PD、)。PID控制器包括比例、积分

14、和微分三部分,其控制原理图如图2-2所示:图2-2 典型PID控制结构比例(P)控制是一种最简单的控制方式,其控制器的输出与输入误差成比例的关系。系统一旦出现了偏差,比例调节立即产生调节作用用以减少偏差。比例作用越大,可以加快调节,减少误差,但是过大的比例,使系统的稳定性下降,甚至造成系统的不稳定。积分(I)控制是消除系统的稳态误差,提高无差度。如果系统有误差,积分调节就进行直至无误差,积分调节停止,积分调节输出为常值。积分作用的强弱取决与积分时间常数Ti,若Ti越小,积分作用就越强,反之Ti越大则积分作用弱,加入积分调节可使系统稳定性下降,动态响应变慢。微分(D)控制反映系统偏差信号的变化率

15、,具有预见性,能预见偏差变化的趋势,因此能产生超前的控制作用,在偏差还没有形成之前,己被微分调节作用消除。因此,微分调节可以改善系统的动态性能。在微分时间选择合适情况下,可以减少超调,减少调节时间。另外微分作用对噪声干扰有放大作用,因此过强的加微分调节,对系统抗干扰不利。下面对控制点所采用的PID控制算法进行说明。 控制点目前包含两种比较简单的数字控制算法,分别是:位置式算法,增量式算法。 这两种算法虽然简单,但各有特点,基本上能满足一般控制的大多数要求。2.2.1 位置式PID控制算法由51单片机组成的数字控制系统控制中,PID控制器是通过PID控制算法实现的。51单片机通过AD对信号进行采

16、集,变成数字信号,再在单片机中通过算法实现PID运算,再通过DA把控制量反馈给控制源。从而实现对系统的伺服控制。下面是位置式PID控制算法的简化示意图。图2-3位置式PID控制算法的简化示意图上图的传递函数为: (式2.1)在时域的传递函数表达式: (式2.2)对上式中的微分和积分进行近似: (式2.3)式中n是离散点的个数。于是传递函数可以简化为: (式2.4)其中 是第k个采样时刻的控制; 是比例放大系数; 是积分放大系数; 是微分放大系数;T是采样周期。如果采样周期足够小,则(式2.4)的近似计算可以获得足够精确的结果,离散控制过程与连续过程十分接近。(式2.4)表示的控制算法直接按(式

17、2.1)所给出的PID控制规律定义进行计算的,所以它给出了全部控制量的大小,因此被称为全量式或位置式PID控制算法对于位置式算法,可以选择的功能有:a、滤波:同上为一阶惯性滤波 b、饱和作用抑制:1. 削弱积分法一旦控制变量进入饱和区,将只执行削弱积分项的运算而停止进行增大积分项的运算。具体地说,在计算时,将判断上一个时刻的控制量是否已经超出限制范围,如果已经超出,那么将根据偏差的符号,判断系统是否在超调区域,由此决定是否将相应偏差计入积分项。2. 积分分离法 在基本PID控制中,当有较大幅度的扰动或大幅度改变给定值时, 由于此时有较大的偏差,以及系统有惯性和滞后,故在积分项的作用下,往往会产

18、生较大的超调量和长时间的波动。特别是对于温度、成份等变化缓慢的过程,这一现象将更严重。为此可以采用积分分离措施,即偏差较大的时,取消积分作用;当偏差较小时才将积分作用投入。另外积分分离的阈值应视具体对象和要求而定。若阈值太大,达不到积分分离的目的,若太小又有可能因被控量无法跳出积分分离区,只进行PD控制,将会出现残差。3. 有效偏差法当根据PID位置算法算出的控制量超出限制范围时,控制量实际上只能取边际值U=或U=有效偏差法是将相应的这一控制量的偏差值作为有效偏差值计入积分累计而不是将实际的偏差计入积分累计。因为按实际偏差计算出的控制量并没有执行。如果实际实现的控制量为U=Um上限值或下限值)

19、,则有效偏差可以逆推出,由该值计算积分项。2.2.2 增量式PID算法当执行机构需要的不是控制量的绝对值,而是控制量的增量(例如去驱动步进电动机)时,需要用PID的增量算法。增量式PID控制算法可以通过(2.4)式推导出。由(2.4)可以得到控制器的第k-1个采样时刻的输出值为: (式2.5)将(式2.4)与(式2.5)相减并整理,就可以得到增量式PID控制算法公式为: (式2.6)其中: 由(式2.6)可以看出,如果计算机控制系统采用恒定的采样周期T,一旦确定A、B、C,只要使用前后三次测量的偏差值,就可以由(式2.6)求出控制量。增量式PID控制算法与位置式PID算法(式2.4)相比,计算

20、量小得多,因此在实际中得到广泛的应用。位置式PID控制算法也可以通过增量式控制算法推出递推计算公式: (式2.7)(式2-7)就是目前在计算机控制中广泛应用的数字递推PID控制算法。对于增量式算法,可以选择的功能有1.滤波的选择可以对输入加一个前置滤波器,使得进入控制算法的给定值不突变,而是有一定惯性延迟的缓变量。 2.系统的动态过程加速在增量式算法中,比例项与积分项的符号有以下关系:如果被控量继续偏离给定值,则这两项符号相同,而当被控量向给定值方向变化时,则这两项的符号相反。 由于这一性质,当被控量接近给定值的时候,负号的比例作用阻碍了积分作用,因而避免了积分超调以及随之带来的振荡,这显然是

21、有利于控制的。但如果被控量远未接近给定值,仅刚开始向给定值变化时,由于比例和积分反向,将会减慢控制过程。为了加快开始的动态过程,我们可以设定一个偏差范围v,当偏差|e(t)|= 时,则不管比例作用为正或为负,都使它向有利于接近给定值的方向调整,即取其值为|e(t)-e(t-1)|,其符号与积分项一致。利用这样的算法,可以加快控制的动态过程。3.PID增量算法的饱和作用及其抑制 在PID增量算法中,由于执行元件本身是机械或物理的积分储存单元,如果给定值发生突变时,由算法的比例部分和微分部分计算出的控制增量可能比较大,如果该值超过了执行元件所允许的最大限度,那么实际上执行的控制增量将时受到限制时的

22、值,多余的部分将丢失,将使系统的动态过程变长,因此,需要采取一定的措施改善这种情况。 纠正这种缺陷的方法是采用积累补偿法,当超出执行机构的执行能力时,将其多余部分积累起来,而一旦可能时,再补充执行。PID参数整定1.比例系数对系统性能的影响: 比例系数加大,使系统的动作灵敏,速度加快,稳态误差减小。偏大,振荡次数加多,调节时间加长。太大时,系统会趋于不稳定。太小,又会使系统的动作缓慢。可以选负数,这主要是由执行机构、传感器以控制对象的特性决定的。2.积分控制对系统性能的影响:积分作用使系统的稳定性下降,小(积分作用强)会使系统不稳定,但能消除稳态误差,提高系统的控制精度。3. 微分控制对系统性

23、能的影响:微分作用可以改善动态特性,偏大时,超调量较大,调节时间较短。偏小时,超调量也较大,调节时间也较长。只有合适,才能使超调量较小,减短调节时间。第三章 硬件部分的设计3.1 直流电机调速原理直流电动机调速系统最早采用恒定直流电压给直流电动机供电,通过改变电枢回路中的电阻来实现调速。这种方法简单易行、设备方便、价格低廉;但缺点是效率低、机械特性软,不能得到较宽和平滑的调速性能。该方法只适用在一些小功率且调速范围要求不大的场合。30年代末期,发电机-电动机系统的出现才使调速性能优异的直流电动机得到广泛应用。这种方法的主要缺点是系统重量大、占地多、效率低及维修困难。近年来,随着电力电子技术的迅

24、速发展,由晶闸管变流器供电的直流电动机调速系统已取代了发电机-电动机调速系统,它的调速性能也远远地超过了发电机-电动机调速系统。特别是大规模集成电路技术以及计算机技术的飞速发展,使直流电动机调速系统的精度、动态性能、可靠性有了更大的提高。电力电子技术中IGBT(绝缘栅双击型场效应管)等大功率器件的发展正在取代晶闸管,出现了性能更好的直流调速系统。常见直流电机原理图如下:图3-1直流电机原理图图3-1所示电枢电压为,电枢电流为电枢回路总电阻为,电机常数,励磁磁通量是。那么根据KVL方程:电机转速 (式3.1)其中,极对数为p,匝数为N,电枢支路数为a,直流电机原理图机来说:电机常数 (式3.2)

25、意味着电机确 不变的。而在中,由于Ra仅为绕组电阻,导致非常小,所以。改变电枢电压时,转速n即可改变。3.2 PWM波形发生电路3.2.1 PWM基本原理PWM基本原理PWM是通过控制固定电压的直流电源开关频率,从而改变负载两端的电压,进而达到控制要求的一种电压调整方法。PWM可以应用在许多方面,如电机调速、温度控制、压力控制等。在PWM驱动控制的调整系统中,按一个固定的频率来接通和断开电源,并根据需要改变一个周期内“接通”和“断开”时间的长短。通过改变直流电机电枢上电压的“占空比”来改变平均电压的大小,从而控制电动机的转速。因此,PWM又被称为“开关驱动装置”。如图3-3所示,在脉冲作用下,

26、当电机通电时,速度增加;电机断电时,速度逐渐减少。改变通、断电的时间,即可让电机转速得到控制。 图3-2 PWM控制波形设电机始终接通电源时,电机转速最大为,设占空比为,则电机的平均速度为: (式3.3)式中:表是电机的平均速度;表是电机全通电时的速度(最大);表示占空比。由此可见,当我们改变占空比D=t1/T时,就可以得到不同的电机平均速度,从而达到调速的目的。严格地讲,平均速度与占空比并不是严格的线性关系,在一般的应用中,可以将其近似地看成线性关系。PWM驱动装置与传统晶闸管驱动装置比较,具有下列优点:需用的大功率可控器件少,线路简单、调速范围宽、电流波形系数好、附加损耗小。因此,在设计中

27、,采用了脉宽调制(PWM)的方法实现对直流电机的控制。采用硬件电路实现直流电机调速系统已在实践中应用多年,其硬件组成复杂,调整困难,缺乏控制的灵活性。直流电机PWM调速系统,使用低价位的单片微机为核心,实现控制,方便了使用。3.2.2 PWM信号的产生PWM信号的产生通常有两种方法:一种是软件的方法;另一种是硬件的方法。本文采用的是软件方法。软件输出PWM一般有两种方式:利用定时器0控制PWM频率输出,结合定时器1控制占空比,这是其一;第二种方式,仅使用一个定时器,工作于16bit手工装载模式,同时控制输出频率和占空比,这种方式不占用太多资源,而且实现起来也不失其灵活性。本文选用第一种软件方法

28、。由于PWM信号软件实现的核心是单片机内部的定时器,而不同单片机的定时器具有不同的特点,即使是同一台单片机由于选用的晶振不同,选择的定时器工作方式不同,其定时器的定时初值与定时时间的关系也不同。因此,首先必须明确定时器的定时初值与定时时间的关系。如果单片机的时钟频率为f,定时器计数器为N位,则定时器初值与定时时间的关系为: (式3.4)式子中:表示定时器定时初值;N表示一个机器周期的时钟数;表示高电平时间。N随着机型的不同而不同。在应用中,应根据具体的机型给出相应的值。这样,我们可以通过设定不同的定时初值,从而改变占空比D,进而达到控制电机转速的目的。3.3 PWM功率放大电路由于由单片机发出

29、的PWM的功率较小,不能带动电机,所以需要把功率放大后再传给电机。常用的功率放大电路有H桥驱动电路,下面就介绍了H桥驱动电路的工作原理。3.3.1 H桥驱动电路原理图3-3中所示为一个典型的直流电机控制电路。电路得名于“H桥驱动电路”是因为它的形状酷似字母H。4个三极管组成H的4条垂直腿,而电机就是H中的横杠(注意:图3-4及随后的两个图都只是示意图,而不是完整的电路图,其中三极管的驱动电路没有画出来)。 如图所示,H桥式电机驱动电路包括4个三极管和一个电机。要使电机运转,必须导通对角线上的一对三极管。根据不同三极管对的导通情况,电流可能会从左至右或从右至左流过电机,从而控制电机的转向。图3-

30、3 H桥驱动电路 要使电机运转,必须使对角线上的一对三极管导通。例如,如图3-4所示,当Q1管和Q4管导通时,电流就从电源正极经Q1从左至右穿过电机,然后再经 Q4回到电源负极。按图中电流箭头所示,该流向的电流将驱动电机顺时针转动。当三极管Q1和Q4导通时,电流将从左至右流过电机,从而驱动电机按特定方向转动(图电机周围的箭头表示为顺时针方向)。图3-4 H桥电路驱动电机顺时针转动 图3-5所示为另一对三极管Q2和Q3导通的情况,电流将从右至左流过电机。当三极管Q2和Q3导通时,电流将从右至左流过电机,从而驱动电机沿另一方向转动(电机周围的箭头表示为逆时针方向)。图3-5 H桥驱动电机逆时针转动

31、3.3.2 PWM驱动电路原理图功率放大电路有一个外接电源,一个反相器,四个二极管,四个三极管,六个保护电阻组成,如图:图3-6 PWM功率放大电路图3.4 测速电路旋转编码器是用来测量转速的装置。它分为单路输出和双路输出两种。技术参数主要有每转脉冲数(几十个到几千个都有),和供电电压等。单路输出是指旋转编码器的输出是一组脉冲,而双路输出的旋转编码器输出两组相位差90度的脉冲,通过这两组脉冲不仅可以测量转速,还可以判断旋转的方向.本文采用的是单路输出。采用光敏元件时以透光区和不透光区来表示代码的状态是“”还是“”,通过“”和“”的二进制编码来将采集来的物理信号转换为机器码可读取的电信号用以通讯

32、、传输和储存。信号输出有正弦波(电流或电压),方波(TTL、HTL),集电极开路(PNP、NPN),推拉式多种形式,其中TTL为长线差分驱动(对称A,A-;B,B-;Z,Z-),HTL也称推拉式、推挽式输出,编码器的信号接收设备接口应与编码器对应。信号连接编码器的脉冲信号一般连接计数器、PLC、计算机,PLC和计算机连接的模块有低速模块与高速模块之分,开关频率有低有高。测速电路由附在电机转子上的光电编码盘及施密特整形电路组成。电脉冲的频率与电机的转速成固定的比例关系,光电码盘输出的电脉冲信号经放大整形为标TTL电平,输入到单片机的两个外部中断:INT0和INT1,利用单片机内部定时器/计数器T

33、0和T1,以及内部一个寄存器作软计数器,循环地捕捉相邻两次速度脉冲,并由这两次触发所记录的时间差算出其转速,再将这个转速与预置转速进行比较,得出差值,单片机通过对这个差值进行PID运算,得出控制增量,在P0.0P0.3引脚送出控制信号改变PWM波形发生电路的占空比,最终达到控制电机转速的目的。3.5 键盘电路键盘的工作方式有3种,即程序控制扫描、定时扫描和中断扫描方式:1.程序控制扫描方式程序控制扫描方式是指单片机在空闲时,才调用键盘扫描子程序,并反复地扫描键盘,直到用户从键盘上输入命令或数据,而在执行键入命令或处理键入数据过程中,CPU将不再响应键入要求,直到CPU重新扫描键盘为止。过程如下

34、:判断有无键按下;延时后判断是否确实有键按下。如果有,确认有键按下,如果没有,那么确认为键抖动;判断是哪个键被按下(键扫描获得闭合键的行、列值);等待按键被释放。如果没有释放,继续等待;如果释放,转到相应的处理程序进行处理。2.定时扫描方式定时扫描方式就是每隔一定时间对键盘扫描一次,它利用单片机内部的定时器产生一定的时间的定时,当定时时间到就产生定时器溢出中断,CPU响应中断后对键盘进行扫描,并在有键按下时识别出该键执行响应的键功能程序。3.中断扫描方式键盘工作在程序控制扫描方式时,当无键按下时CPU要不间断的扫描键盘,直到有键按下为止。如果CPU要处理很多事情,这种方式将不能适应。定时扫描方

35、式只要时间一到,CPU就去扫描键盘,工作效率有了进一步的提高。但这两种方式常使CPU处于空扫状态,而中断方式下,CPU可以一直处理自己的工作,知道有键闭合时发出中断申请,CPU响应中断,执行相应的中断服务程序,才对键盘进行扫描,从而提高了CPU的工作效率。所以本设计采用中断扫描方式。扫描的工作方式,就是 P1.7P1.5 轮流输出低电平,然后读入P1.3P1.0,判断,如果有按下,就是低电平,没按下的都是高电平,当然要延时20ms,去抖动。表1键盘功能表下面是4*4键盘电路图:图3-7 4*4键盘电路图3.6 LED显示电路7段LED数码管是利用7个LED(发光二极管)外加一个小数点的LED组

36、合而成的显示设备,可以显示09等10个数字和小数点,使用非常广泛,它的外观如下:图3-8 LED数码管的外观这类数码管可以分为共阳极与共阴极两种,共阳极就是把所有LED的阳极连接到共同接点com,而每个LED的阴极分别为a、b、c、d、e、f、g及 (小数点);共阴极则是把所有LED的阴极连接到共同接点com,而每个LED的阳极分别为a、b、c、d、e、f、g及(小数点),如下图所 示。图中的8个LED分别与上面那个图中的ADP各段相对应,通过控制各个LED的亮灭来显示数字。图3-9 共阳极LED数码管图3-10 共阴极LED数码管那么,实际的数码管的引脚是排列:对于单个数码管来说,从它的正面

37、看进去,左下角那个脚为1脚,以逆时针方向依次为110脚,左上角那个脚便是 10脚了,上面两个图中的数字分别与这10个管脚一一对应。3脚和8脚是连通的,这两个都是公共脚。LED显示电路如图3-11所示:图3-11 LED显示电路图显示电路由二块7407同向驱动器,四个中功率PNP管,四个共阳极LED,十二个保护电阻组成。基极限流电阻取2千欧,基极电流在1.82.2mA之间。笔端限流电阻为100200欧,当LED压降取2.0V时,LED工作电流约为2024mA之间,没有超过集电极最大电流320mA。3.7 AT89C52的时钟电路时钟电路由外接谐振器的时钟振荡器、时钟发生器及关断控制信号等组成。X

38、TAL1和 XTAL2分别为振荡电路的输入端和输出端,CPU的时钟振荡信号有两个来源:一是采用内部振荡器, 此时需在XTAL1和XTAL2脚接一只频率范围为0-33MHZ的晶体振荡器或陶瓷振荡器及两只30PF/40PF的微调电容, 电容的大小可起频率微调作用,电路如图3-12所示;二是采用外部振荡器, 此时应将外部振荡器的输出信号接至XTAL1脚, 将XTAL2脚浮空,电路如图3-13所示。外部方式的时钟很少用,一般都选用内部时钟振荡电路为CPU提供时钟信号。 图3-12 内部时钟电路 图3-13 外部时钟电路3.8 AT89C52的复位电路复位(Reset)是指在规定的条件下,单片机自动将C

39、PU及与程序运行相关的主要功能部件、I/O口等设置为确定的初始状态的过程。如果电路参数不符合规定的条件或干扰导致单片机不能正确复位,系统将无法正常工作。因此,复位电路除了要符合设计所规定的参数外, 还要滤除可能的干扰。AT89C2单片机内部有一个由施密特触发器等组成的复位电路。复位信号是从其脚,即RST脚输入的。AT89C2单片机规定, 当其处于正常工作状态, 且振荡器工作稳定后, 在RST端有从低电平到高电平,且高电平保持时间大于两个机器周期的复位信号时, CPU将响应并完成对系统的复位。这里有两点需要注意:一是复位信号是高电平有效, 二是高电平的保持时间必须大于两个机器周期, 可见高电平的

40、保持时间与振荡频率有关。AT89S52单片机常用的复位方式有上电复位、手动复位和看门狗定时器复位三种。1.上电复位上电复位是指在系统上电时,RST端自动产生复位所需的信号将单片机复位。根据手册, AT89S5X单片机的简单的上电复位电路及参数如图3-14所示。上电时, RST端高电平的维持时间取决于R和C的值。要使单片机可靠复位, 必须保证该维持时间足够长。2.按键复位图3-15是单片机的按键复位电路。在实际应用中, 常将图3-14和图3-15相结合, 组成上电和手动复位电路, 如图3-16所示。 图3-14 上电复位电路 图3-15 按键复位电路图 图3-16 上电和手动复位电路3.看门狗定

41、时器复位看门狗定时器用于在程序运行的过程中,监视程序运行状况,并在单片机受到干扰进入非正常运行状态时, 自动复位单片机, 使其回到初始状态。在AT89C2单片机内部有一个看门狗定时器。可以根据用户程序的正常运行周期设置该定时器的定时时间,允许其溢出信号复位单片机, 启动看门狗定时器,并在程序的适当位置清空看门狗定时器。一旦单片机进入非正常运行状态,看门狗定时器将因不能执行清空指令而溢出(即超过了设置的定时时间),并自动复位单片机, 使之回到初始状态。综上所述,基于单片机的伺服电机转速控制系统的电路图设计见附录A,其中所需器件参数见附录C。第四章 软件部分的设计C语言是一种计算机程序设计语言。它

42、既有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛。主要有以下特点:C语言在很多方面都可以用,不仅仅是在软件开发上,各类科研都是需要用到C语言的。具体应用比如我是学硬件的,单片机以及嵌入式系统都可以用C来开发。C 语言发展如此迅速, 而且成为最受欢迎的语言之一, 主要因为它具有强大的功能。许多著名的系统软件, 如DBASE PLUS、DBASE 都是由C 语言编写的。用C 语言加上一些汇编语言子程序, 就更能显示C 语言的优势了, 像PC- DOS 、WORDSTAR等就是用

43、这种方法编写的。归纳起来C 语言具有下列特点:1.C是中级语言它把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以像汇编语言一样对位、字节和地址进行操作, 而这三者是计算机最基本的工作单元。2.C是结构式语言,结构式语言的显著特点是代码及数据的分隔化, 即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰, 便于使用、维护以及调试。C 语言是以函数形式提供给用户的, 这些函数可方便的调用, 并具有多种循环、条件语句控制程序流向, 从而使程序完全结构化。3.C语言功能齐全C 语言具有各种各样的数据类型, 并引入了指针概念, 可使程序效率更高。另外C 语言也

44、具有强大的图形功能, 支持多种显示器和驱动器。而且计算功能、逻辑判断功能也比较强大, 可以实现决策目的编游戏,编3D游戏,做数据库,做联众世界,做聊天室,做PHOTOSHOP做FLASH,做3DMAX。4.C语言适用范围大C 语言还有一个突出的优点就是适合于多种操作系统, 如DOS、UNIX,也适用于多种机型。C语言对操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其它解释型高级语言,有一些大型应用软件也是用C语言编写的。C语言具有绘图能力强,可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画。它是数值计算的高级语言。常用的C语言IDE(集成开发

45、环境)有Microsoft Visual C+,Borland C+,Watcom C+ ,Borland C+ ,Borland C+ Builder,Borland C+ 3.1 for DOS,Watcom C+ 11.0 for DOS,GNU DJGPP C+ ,Lccwin32 C Compiler 3.1,Microsoft C,High C,Turbo C,Dev-C+,C-Free, win-tc 等等. 4.1 主程序流程主程序是一个循环程序,其主要思路是,先设定好速度初始值,这个初始值与测速电路送来的值相比较得到一个误差值,然后用PID算法输出控制系数给PWM发生电路改变

46、波形的占空比,进而控制电机的转速。其程序流程图如图4-1所示。图4-1 主程序流程图4.2 PID控制算法程序流程4.2.1 PID控制算法选择系统的控制算法主要采用了增量式PID控制算法,其控制算法为: (式4.1)其中: 如果采样周期足够小,则(式4-1)的近似计算可以获得足够精确的结果,离散控制过程与连续过程十分接近。4.2.2 PID运算控制模块子程序子程序框图如图4-2所示。主要完增量式PID算法的运算。图4-2 PID控制算法模块程序先计算积分项,再比例项,再微分项,最后PID作用累加,输出控制参数。4.3 按键处理子程序该程序首关中断,然后延时20ms去抖,输入键值,再返回键值,

47、如图4-3所示: 图4-3 按键处理程序 图4-4 键盘扫描程序4.4 键盘扫描程序该程序每隔30ms扫描一次,从0列开始扫描一直到完,程序流程如图4-4所示。4.5 转速采集子程序在外部中断服务程序中,当T0定时时间到了以后,就进入此程序。具体流程如图4-3所示: 图4-3 转速采集子程序 图4-6 LED显示程序4.6 LED显示子程序在转速显示设计中,采用四位共阳极LED显示,显示时,其显示数据以并行方式P2口输出,以控制LED的各段码。综上所述编程的源程序见附录B。结束语本系统用单片机作为直流电机调速系统的控制核心,具有结构简单,运行可靠,调节范围宽,电流连续性好,响应速度快等特点。采

48、用PID控制算法, 有效地抑制转速超调,效率高,具有广泛的实用价值。同时设计过程中遇到的一些问题:由于测速中占用了两个定时器T0和T1,如果再将PWM波形产生交给AT89C52则加大了软件的任务,并且影响整个系统的控制效果。因此可以考虑单独设计一个PWM波形发生电路,单片机对它只提供控制参数以改变其占空比。附录A 基于单片机的伺服电机转速控制系统电路图附录B 源程序#include #include #define ulongunsigned long#define uintunsigned int#define ucharunsigned charextern void delay(unsi

49、gned int x);unsigned char Tab_key= /行列式键盘映射 0x00, /无键按下 7,8,9,/, 4,5,6,*, 1,2,3,-, C,0,=,+, /下面为按C同时再按的键: 7,8,9,/, 4,5,6,*, 1,2,3,-, 0,=,+,; / P1口行列式键盘 /#define KEYPIN_L P1 / 定义键扫描列端口为 P1低四位输入 /#define KEYPIN_H P1 / 定义键扫描行端口为 P1高四位扫描输出 / / P1口行列式键盘 / /公用函数unsigned char KeysCAN(void); / 键扫描函数 / /内部私有

50、函数unsigned char fnKeycode(unsigned char key); / 根据键盘映射表输出顺序键值 /* / P1口行列式键盘 /extern unsigned char KeysCAN(void); / 键扫描函数 /*/ / P1口行列式键盘 /unsigned char KeysCAN(void) / 键扫描函数 / unsigned char sccode,recode,keytemp = 0; KEYPIN_L = KEYPIN_L|0x0f; / P1低四位为列线输入 / KEYPIN_H = KEYPIN_H&0x0f; / P1高四位为行线发全零扫描码

51、/ if (KEYPIN_L&0x0f) != 0x0f) delay(10); / 延时 20 MS 消抖 / if (KEYPIN_L&0x0f) != 0x0f) sccode = 0xef; / 逐行扫描码初值(1110 1111) / while(sccode != 0xff) /将扫描4次,keytemp为每次键值相的值 / KEYPIN_H = sccode; / 输出行扫描码 / if (KEYPIN_L&0x0f) != 0x0f) / 本行有键按下 / recode = (KEYPIN_L&0x0f)|0xf0; / 只要低位,高位置1 / keytemp |= (scco

52、de)+(recode); /特征码(高位为列P3,低位为行KEYPIN_H) / sccode = (sccode 1)|0x01; / 扫描码0向高位移动 / KEYPIN_H = KEYPIN_H|0xf0; return(fnKeycode(keytemp);unsigned char fnKeycode(unsigned char key) / 根据键盘映射表输出顺序键值 / switch(key) case 0x11: / 1 键 / key = 0x01; break; case 0x21: / 2 键 / key = 0x02; break; case 0x41: / 3 键

53、/ key = 0x03; break; case 0x81: / 4 键 / key = 0x04; break; case 0x12: / 5 键 / key = 0x05; break; case 0x22: / 6 键 / key = 0x06; break; case 0x42: / 7 键 / key = 0x07; break; case 0x82: / 8 键 / key = 0x08; break; case 0x14: / 9 键 / key = 0x09; break; case 0x24: / 10 键 / key = 0x0A; break; case 0x44: /

54、 11 键 / key = 0x0B; break; case 0x84: / 12 键 / key = 0x0C; break; case 0x18: / 13 键 / key = 0x0D; break; case 0x28: / 14 键 / key = 0x0E; break; case 0x48: / 15 键 / key = 0x0F; break; case 0x88: / 16 键 / key = 0x10; break; /以下为功能键/ case 0x19: / C +1 键 / key = 0x11; break; case 0x29: / C +2 键 / key = 0x12; break; case 0x49: / C +3 键 / key = 0x13; break; case 0x89: / C +4 键 / key = 0x14; break; case 0x1A: / C +5 键 / key = 0x15; break; case 0x2A: / C +6 键 / key = 0x16; break; case 0x4A: / C +7 键 / key = 0x17; break; case 0x8A: / C +8 键 / key = 0x18; bre

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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