《Protel应用》课程设计基于PID算法的直流电机闭环调速系统【全套图纸】

上传人:仙*** 文档编号:28778248 上传时间:2021-09-12 格式:DOC 页数:45 大小:1.45MB
收藏 版权申诉 举报 下载
《Protel应用》课程设计基于PID算法的直流电机闭环调速系统【全套图纸】_第1页
第1页 / 共45页
《Protel应用》课程设计基于PID算法的直流电机闭环调速系统【全套图纸】_第2页
第2页 / 共45页
《Protel应用》课程设计基于PID算法的直流电机闭环调速系统【全套图纸】_第3页
第3页 / 共45页
资源描述:

《《Protel应用》课程设计基于PID算法的直流电机闭环调速系统【全套图纸】》由会员分享,可在线阅读,更多相关《《Protel应用》课程设计基于PID算法的直流电机闭环调速系统【全套图纸】(45页珍藏版)》请在装配图网上搜索。

1、武汉理工大学Protel应用课程设计课程设计任务书学生姓名: 专业班级: 信息sy1101班 指导教师: 工作单位: 信息工程学院 题 目: 基于PID算法的直流电机闭环调速系统初始条件:(1)可选元件:C51系列单片机,LED数码管,直流电机、开关、电容、电阻等。(2)可用仪器:示波器,万用表等。(3)仿真软件:Proteus,Keil , Protel或Altium Designer等。要求完成的主要任务:(1)使用Protel或Altium Designer完成直流电机闭环调速系统的电路原理图设计。(2)使用Protel或Altium Designer完成直流电机闭环调速系统的PCB绘制

2、。(3)使用Proteus仿真软件完成基于PID算法的直流电机闭环调速系统的功能仿真。时间安排:(第18周)(1)第1天:选题及任务安排。(2)第2-4天:设计方案确定及电路设计。(3)第5天:电路测试及结果分析(鉴主15楼通信工程专业实验室)。(4)第6-7天:撰写报告及答辩。指导教师签名: 年 月 日系主任(或责任教师)签字: 年 月 日武汉理工大学Protel应用课程设计摘 要本系统以STC89C52单片机为核心,采用PWM技术和PID控制算法对电机进行控制,完成了直流电机的转速自动测量及转速自动调节功能。在本系统中,数码管模块实时显示直流电机转速的设定值及瞬时值,STC89C52单片机

3、通过虚拟串口向虚拟示波器发送数据,达到实时显示电机转速曲线的目的,为PID参数的整定提供依据。本系统采用当前流行的PCB绘图软件Altium Designer进行硬件电路原理图的设计及其PCB绘制,并且由Proteus仿真软件完成了整个系统的仿真,证实了本设计的可行性。关键词: STC89C52;PWM;PID算法;直流电机;PCB;仿真全套完整版设计,加153893706AbstractIn the system, STC89C52 microcontroller is used as the core, and PWM technology and PID control algorith

4、m are adopted to control the DC motor, finally, the function of automatic speed measurement and regulating are achieved. The setting value and instantaneous value of DC motor speed are also displayed on the digital tube , and STC89C52 microcontroller sends data to the virtual oscilloscope to display

5、 the motor instantaneous speed curve through virtual serial port .Altium Designer, which is regarded as a current popular PCB drawing software, is used to drawing the hardware circuit schematic and PCB in the designing. We also use Proteus software to complete the simulation of the entire system. By

6、 analyzing the simulation results, feasibility of this design is confirmed.Key words: STC89C52; PWM; PID algorithm; DC motor; PCB; SimulationII目 录摘 要IAbstractII目 录I1引言11.1直流电机闭环调速系统背景11.2本设计实现的基本功能22 设计方案32.1系统整体方案32.2控制器模块设计方案32.3电机驱动模块设计方案42.4电机转速获取方案42.5显示模块设计方案53 硬件电路设计63.1 STC89C52单片机最小系统电路63.2

7、 STC89C52单片机串口通信电路73.3 USB供电电路73.4按键与反相器电路83.5数码管显示电路83.6 L298电机驱动电路94 软件设计104.1 PID算法概述104.1.1模拟PID104.1.2数字PID114.1.3数字PID参数确定方法134.2主程序144.3定时器0中断服务程序154.4 PID控制输出程序155 Altium Designer PCB绘制175.1 Altium Designer简介175.2 PCB板设计流程185.3 PCB绘制相关规则195.3.1元件布局规则195.3.2 PCB布线规则195.4 PCB展示205.4.1 STC89C52

8、单片机模块205.4.2数码管显示模块215.4.3 L298电机驱动模块226 仿真分析247 心得体会25参考文献26附录一27附录二29附录三30II1引言1.1直流电机闭环调速系统背景直流电机调速是指人为地或自动地改变直流电机的转速,以满足工作机械的要求。从机械特性上看,就是通过改变电机的参数或外加电压等方法来改变电机的机械特性,使电机的运转速度发生变化。直流电动机具有良好的起动、制动性能,宜于在大范围内平滑调速,在轧钢机、矿井卷扬机、挖掘机、高层电梯等需要高性能可控电力拖动领域应用历史悠久。对直流电机转速的控制既可采用开环控制,也可采用闭环控制。闭环系统的机械特性与开环系统机械特性相

9、比,其性能大大提高。理想空载转速相同时,闭环系统的静差率(额定负载时电机转速降落与理想空载转速之比)要小得多。当要求的静差率相同时, 闭环调速系统的调速范围可以大大提高。PID控制算法是控制理论中技术最成熟、应用最广泛的一种算法。PID控制器问世至今已有近70年历史,它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用PID控制技术最为方便。即当我们不完全了解一个系统和被控对象,或不能通过有效的测量手段来获得系统参数时,最

10、适合用PID控制技术。实际中也有PI和PD控制。PID控制器就是根据偏差的比例、积分、微分进行控制的。比例控制是一种最简单的控制方式。其控制器的输出与输入误差信号成比例关系。当仅有比例控制时系统输出存在稳态误差(Steady-state error)。在积分控制中,控制器的输出与输入偏差信号的积分成正比关系。对一个自动控制系统,如果在进入稳态后存在稳态误差,则称这个控制系统是有稳态误差的或简称有差系统(System with Steady-state Error)。为了消除稳态误差,在控制器中必须引入“积分项”。积分项对误差取决于时间的积分,随着时间的增加,积分项会增大。这样,即便误差很小,积

11、分项也会随着时间的增加而加大,它推动控制器的输出增大使稳态误差进一步减小,直到等于零。因此,比例+积分控制器,可以使系统在进入稳态后无稳态误差。在微分控制中,控制器的输出与输入误差信号的微分(即误差的变化率)成正比关系。能反映偏差信号的变化趋势(变化速率),并能在偏差信号的值变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。在运动控制系统中PID控制技术应用更为广泛,是机器人等高技术领域的技术基础,它可以对运动部件的位置、速度等进行实时控制管理,使其符合相应的控制要求,被广泛应用于汽车制造、医疗、铁道运输、航天航空、钢铁生产等领域,并受到各行各业地重视。1

12、.2本设计实现的基本功能(1)按键设定电机转速;(2)按键控制电机起停、正反转;(3)PWM转速闭环控制;(4)数码管显示转速设定值和转速瞬时值;(5)上位机转速实时曲线显示。2 设计方案2.1系统整体方案根据系统设计的任务和要求,设计系统方框图如图2-1所示。图中控制器模块为系统的核心部件,键盘和显示模块用来实现人机交互功能,其中通过键盘将需要设置的参数和状态输入到单片机中,并且通过控制器显示到显示模块上。在运行过程中控制器产生PWM脉冲送到电机驱动电路中,经过放大后控制直流电机转速,同时利用速度检测模块将当前转速反馈到控制器中,控制器经过数字PID运算后改变PWM脉冲的占空比,实现电机转速

13、实时控制的目的。图2-1 系统整体方案框图2.2控制器模块设计方案根据设计任务,控制器主要用于产生占空比受PID算法控制的PWM脉冲,并对电机当前速度进行采集处理。对于控制器的选择有以下二种方案。方案一:采用传统的STC89C52单片机作为运动物体的主控制器。STC89C52使用经典的MCS-51内核,具有8k字节Flash,512字节RAM, 32 个I/O 口线,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。我们可以利用其定时器输出PWM波,利用其外部中断实现电机反馈脉冲计数。方案二:采用比MCS-51内核单片机功能更强

14、大的ARM处理器,如STM32F103ZE。STM32F103ZE处理速度更快(一般为72M),片上资源更多,功耗低,体积小,可在线调试,其定时器带有PWM输出模式和外部脉冲计数模式,通过配置相关寄存器后可直接用与PWM输出和电机反馈脉冲计数。方案一和方案二都可以达到功能要求。但从编程复杂度来看,方案一中的STC89C52单片机编程较为简单,易于实现;方案二中STM32F103ZE的编程有两种方法,一是直接操作寄存器,二是使用ST官方提供的固件函数库,但是无论使用哪种方法,相比STC89C52单片机的编程都比较复杂。而且从成本角度来看,ARM处理器及其相关调试工具价格较高,相比之下方案一的成本

15、更低。综上所述,本次设计选择方案一。2.3电机驱动模块设计方案本次设计的主要目的是控制电机的转速,因此电机驱动模块必不可少,其方案有如下两种。方案一:采用大功率晶体管组合电路构成驱动电路,这种方法结构简单,成本低、易实现,但由于在驱动电路中采用了大量的晶体管相互连接,使得电路复杂、抗干扰能力差、可靠性下降。 方案二:采用专用的电机驱动芯片,例如L298电机驱动芯片,由于它内部已经考虑到了电路的抗干扰能力,安全可靠,所以我们在应用时只需考虑芯片的硬件连接、驱动能力等问题就可以了,设计者不需要对硬件电路设计考虑很多,可将重点放在算法实现和软件设计中,大大的提高了工作效率。基于上述分析,电机驱动模块

16、选用方案二。2.4电机转速获取方案在仿真环境Proteus中只有一种直流电机集成了测速传感器,在搜索栏里搜索motor-encoder,即可得到这种电机模型。本设计中设置电机转一圈发出60个脉冲。根据实际运转情况及结合所编写程序,确定转速公式为:V=N*15; (2-1)式2-1中,V为转速;N为每个采样周期中直流电机反馈的脉冲个数;15为程序中设定的直流电机转速与反馈脉冲数的比值。Proteus仿真环境中,带测速功能的直流电机模型如下图2-2所示图2-2 带测速功能的直流电机模型2.5显示模块设计方案由于本设计需要显示的参数比较少,因此可以用最简单的LED数码管来作为显示模块。数码管具有亮度

17、高、工作电压低、功耗小、易于集成、驱动简单、耐冲击且性能稳定等特点。 3 硬件电路设计3.1 STC89C52单片机最小系统电路图3-1 STC89C52单片机最小系统电路原理图复位电路:单片机最小系统复位电路的极性电容C4的大小直接影响单片机的复位时间,一般采用1030uF。电容值越大,STC89C52单片机系统需要的复位时间越短。晶振电路:单片机最小系统晶振Y1也可以采用6MHz、11.0592MHz、12MHz,在正常工作的情况下可以采用更高频率的晶振,本设计中选取11.0592MHz的晶振。单片机最小系统晶振的振荡频率直接影响单片机的处理速度,频率越大处理速度越快。单片机最小系统起振电

18、容C2、C3一般采用1533pF,并且电容离晶振越近越好,晶振离单片机越近越好。上拉电阻:P0口为开漏输出,作为输出口时需加上拉电阻,阻值一般为10k。其他接口内部有上拉电阻,作为输出口时不需外加上拉电阻。3.2 STC89C52单片机串口通信电路图3-2 串口通信电路原理图计算机的串口为RS-232C负逻辑电平,其中高电平为 -12V,低电平为+12V,而51单片机的高电平为+5V,低电平为0V.,因此51单片机与PC机进行通信时需要进行电平转换。这里使用的是MAX232电平转换芯片。3.3 USB供电电路图3-3 USB供电电路原理图整个系统采用USB供电口进行供电,用6脚带锁开关S1作为

19、电源开关。LED1为电源指示灯,R1为限流电阻,电容C1为去耦电容。3.4按键与反相器电路图3-4 按键、反相器电路原理图本系统使用独立按键S4、S5来调整电机速度,其中J1、J2分别与STC89C52单片机的P1.1和P1.2相连。反相器7404用来调整电机正反转。3.5数码管显示电路图3-5 数码管显示电路原理图本系统采用2个4位数码管来显示速度设定值和速度瞬时值。由于STC89C52单片机的I/O驱动电流有限,因此我们采用74HC573来放大驱动电流。3.6 L298电机驱动电路图3-6 L298电机驱动电路原理图 L298电机驱动电路主要由光耦芯片(TLP521)、L298芯片和续流二

20、极管组成。光耦主要起到隔离作用,防止电机驱动电路对单片机控制电路造成干扰。L298是直流电机驱动芯片,续流二极管作用是给电感性负载(如电机线圈)提供续流通路。4 软件设计4.1 PID算法概述控制算法是控制系统的一个重要组成部分,整个系统的控制功能主要由控制算法来实现,目前学术界提出的控制算法有很多。根据偏差的比例(P)、积分(I)、微分(D)进行的控制,称为PID控制。实际经验和理论分析都表明,PID控制能够满足相当多工业对象的控制要求,至今仍是一种应用最为广泛的控制算法。下面分别介绍模拟PID、数字PID及其参数整定方法。4.1.1模拟PID在模拟控制系统中,调节器最常用的控制规律是PID

21、控制,常规PID控制系统原理框图如图4-1所示,系统由模拟PID调节器、执行机构及控制对象组成。图4-1 模拟PID控制系统原理框图PID调节器是一种线性调节器,它将偏差的比例、积分、微分通过线性组合构成控制量,对控制对象进行控制。在实际应用中,常根据对象的特征和控制要求,将P、I、D基本控制规律进行适当组合,以达到对被控对象进行有效控制的目的。例如P调节器,PI调节器,PID调节器等。模拟PID调节器的控制规律为 (4-1) = (4-2)式4-1中,为比例系数,为积分时间常数,为微分时间常数。式4-2中为设定值,为实际输出值。简单的说,PID调节器各校正环节的作用是:(1)比例环节:即时成

22、比例地反应控制系统的偏差信号,偏差一旦产生,调节器立即产生控制作用以减少偏差;(2)积分环节:主要用于消除静差,提高系统的无差度。积分作用的强弱取决于积分时间常数,越大,积分作用越弱,反之则越强;(3)微分环节:能反映偏差信号的变化趋势(变化速率),并能在偏差信号的值变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。由式4-1可得,模拟PID调节器的传递函数为 (4-3) 由于本设计主要采用数字PID算法,所以对于模拟PID只做此简要介绍。4.1.2数字PID在数字系统中,用计算机取代了模拟器件,控制规律的实现是由计算机软件来完成的。因此,系统中数字控制的

23、设计,实际上是计算机算法的设计。由于计算机只能识别数字量,不能对连续的控制算式直接进行运算,故在计算机控制系统中,首先必须对控制规律进行离散化的算法设计。为将模拟PID控制规律离散化,我们把图4-1中、在第n次采样的数据分别用、表示,于是式(4-2)变为 := (4-4)当采样周期T很小时可以用T近似代替,可用近似代替,“积分”用“求和”近似代替,即可作如下近似 (4-5) (4-6)这样,式(4-1)便可离散化以下差分方程 (4-7) 上式中是偏差为零时的初值,上式中的第一项起比例控制作用,称为比例项,即 (4-8)第二项起积分控制作用,称为积分项即 (4-9) 第三项起微分控制作用,称为微

24、分项即 (4-10)这三种作用可单独使用(微分作用一般不单独使用)或合并使用,常用的组合有:P控制: (4-11)PI控制: (4-12)PD控制: (4-13)PID控制: (4-14)式(4-7)的输出量为全量输出,它对于被控对象的执行机构每次采样时刻应达到的位置。因此,式(4-7)又称为位置型PID算式。由(4-7)可看出,位置型控制算式不够方便,这是因为要累加偏差,不仅要占用较多的存储单元,而且不便于编写程序,为此对式(4-7)进行改进。根据式(4-7)不难看出的表达式,即 (4-15)将式(4-7)和式(4-15)相减,即得数字PID增量型控制算式为 (4-16)从上式可得数字PID

25、位置型控制算式为(4-17)式(4-17)中: 称为比例增益; 称为积分系数; 称为微分系数。4.1.3数字PID参数确定方法如何选择控制算法的参数,要根据具体过程的要求来考虑。一般来说,要求被控过程是稳定的,能迅速和准确地跟踪给定值的变化,超调量小,在不同干扰下系统输出应能保持在给定值,操作变量不宜过大,在系统和环境参数发生变化时控制应保持稳定。显然,要同时满足上述各项要求是很困难的,必须根据具体过程的要求,满足主要方面,并兼顾其它方面。本设计主要依据经验法来调试PID参数。经验法是靠工作人员的经验及对工艺的熟悉程度,参考测量值跟踪与设定值曲线,来调整P、I、D三者参数的大小的。 下面以PI

26、D调节器为例,具体说明经验法的整定步骤:(1)让调节器参数积分系数,实际微分系数,控制系统投入闭环运行,由小到大改变比例系数,让扰动信号作阶跃变化,观察控制过程,直到获得满意的控制过程为止。(2)取比例系数为当前的值乘以0.83,由小到大增加积分系数,同样让扰动信号作阶跃变化,直至求得满意的控制过程。(3)积分系数保持不变,改变比例系数,观察控制过程有无改善,如有改善则继续调整,直到满意为止。否则,将原比例系数增大一些,再调整积分系数,力求改善控制过程。如此反复试凑,直到找到满意的比例系数和积分系数为止。(4)引入适当的实际微分系数和实际微分时间,此时可适当增大比例系数和积分系数。和前述步骤相

27、同,微分时间的整定也需反复调整,直到控制过程满意为止。4.2主程序主程序主要做了系统初始化,定时器0的初始化、按键扫描、数码管显示,定时向上位机发送数据和PWM输出。流程图如下图所示:图4-2 主程序流程图4.3定时器0中断服务程序定时器0中断程序中用来对数码管显示送段友和位码,以及在固定周期内计算转速和进行PID计算 。流程图如下图所示:图4-3 定时器中断服务程序流程图4.4 PID控制输出程序当电机转速的设定值突然改变,或电机的转速发生突变时,会引起偏差的阶跃,使增大,PID的输出将急剧增加或减小,以至于超过控制量的上下限,此时电机的转速虽然不断上升,但由于控制量受到限制,其增长的速度减

28、慢,偏差将比正常情况下持续更长的时间。PID控制输出程序主要是根据转速设定值和转速当前值来计算输出控制量,根据控制量控制PWM的占空比,达到调速的目的。其程序流程图如下:图4-4 PID控制输出程序流程图5 Altium Designer PCB绘制5.1 Altium Designer简介随着电子技术的飞速发展和印制电路板加工工艺不断提高,大规模和超大规模集成电路的不断涌现,现代电子线路系统已经变得非常复杂。同时电子产品有在向小型化发展,在更小的空间内实现更复杂的电路功能,正因为如此,对印制电路板的设计和制作要求也越来越高。快速、准确的完成电路板的设计对电子线路工作者而言是一个挑战,同时也对

29、设计工具提出了更高要求,像Cadence、PowerPCB以及Protel等电子线路辅助设计软件应运而生。其中Protel在国内使用最为广泛。本此设计主要采用Altium Designer(Protel新版本)实现硬件电路的PCB绘制。Altium Designer 是原Protel软件开发商Altium公司推出的一体化的电子产品开发系统。这套软件通过把原理图设计、电路仿真、PCB绘制编辑、拓扑逻辑自动布线、信号完整性分析和设计输出等技术的完美融合,为设计者提供了全新的设计解决方案,使设计者可以轻松进行设计。熟练使用这一软件必将使电路设计的质量和效率大大提高。Altium Designer主要

30、由两大部分组成,每一部分都有几个模块.第一部分是电路设计部分,主要由原理设计系统和印刷电路板设计系统组成。原理设计系统包括用于设计原理图的原理图编辑器,用于修改和生成原理图元件的原件编辑器,以及各种报表的生成器。印刷电路板设计系统包括用于设计电路板的电路板编辑器以及用于修改和生成元件封装的元件封装编辑器。第二部分是电路仿真与可编程逻辑器件设计部分,主要用于电路仿真和可编程逻辑器件的设计。Altium Designer采用数据库的管理方式。Altium Designe软件沿袭了Protel以前版本方便易学的特点,内部界面与Protel 99大体相同,新增加了一些功能模块,功能更加强大。新增的层堆

31、栈管理功能,可以设计32个信号层,16个地电层,16个机械层。新增的3D功能让您在加工印制版之前可以看到板的三维效果。增强的打印功能,使开发真可以轻松修改打印设置控制打印结果。5.2 PCB板设计流程用Altium Designer 绘制PCB板的流程图如图5-1所示。图5-1 PCB设计流程图5.3 PCB绘制相关规则5.3.1元件布局规则元件布局不仅影响PCB的美观,而且还影响电路的性能。在元件布局时应注意一下几点:(1)先布放关键元器件(如单片机、DSP、存储器等),然后按照地址线和数据线的走向布放其他元件。(2)高频元器件引脚引出的导线应尽量短些,以减少对其他元件及其电路的影响。(3)

32、模拟电路模块与数字电路模块应分开布置,不要混合在一起。 (4)带强电的元件与其他元件距离尽量要远,并布放在调试时不易触碰的地方。 (5)对于重量较大的元器件,安装到PCB上要安装一个支架固定,防止元件脱落。(6)对于一些严重发热的元件,必须留出安装散热片的空间。(7)电位器、可变电容等元件应布放在便于调试的地方。5.3.2 PCB布线规则Altium Designer 提供了自动布线功能,但是为了提升自己的能力,本次设计我们不使用自动布线功能,而使用手动布线。布线时应遵循以下基本原则。(1)输入端导线与输出端导线应尽量避免平行布线,以免发生耦合。(2)在布线允许的情况下,导线的宽度尽量取大些,

33、一般不低于10mil。(3)导线的最小间距是由线间绝缘电阻和击穿电压决定的,在允许布线的范围内应尽量大些,一般不小于12mil。 (4)微处理器芯片的数据线和地址线应尽量平行布线。(5)布线时尽量少转弯,若需要转弯,一般取45度走向或圆弧形。在高频电路中,拐弯时不能取直角或锐角,以防止高频信号在导线拐弯时发生信号反射现象。 (6)电源线和地线的宽度要大于信号线的宽度。5.4 PCB展示考虑模块的重复利用原则,在设计本系统的PCB时,我们将本系统分为三大模块来分别绘制PCB,这样绘制好的PCB模块以后可以根据需要再多次使用。这三个PCB模块分别为:STC89C52单片机模块,数码管显示模块,L2

34、98电机驱动模块。5.4.1 STC89C52单片机模块STC89C52单片机模块主要由原最小系统模块、串口通信模块、USB供电模块、按键和反相器模块构成,总电路原理图见附录一。其PCB 2D效果图、3D效果图如下所示:图5-2 STC89C52单片机模块PCB 2D效果图图5-3 STC89C52单片机模块PCB 3D效果图5.4.2数码管显示模块数码管显示模块单独绘制一块PCB,以便今后复用。其原理图见图3-5,其PCB 2D效果图、3D效果图如下:图5-4 数码管显示模块PCB 2D效果图图5-5 数码管显示模块PCB 3D效果图5.4.3 L298电机驱动模块L298电机驱动模块也单独

35、绘制一块PCB,便于今后复用。其原理图见图3-6,其PCB 2D效果图、3D效果图如下:图5-6 L298 电机驱动模块PCB 2D效果图图5-7 L298电机驱动模块PCB 3D效果图6 仿真分析经仿真调试发现,当PID参数设定为=0.06,=0.05,=0时,系统会达到很好的调速效果,因此本系统是在=0.06,=0.05,=0时进行仿真的。仿真总原理图见附录二。图6-1 速度显示值本次仿真以转速设定值1000为例。当键盘输入转速设定值1000后,系统运行20s左右,转速实际值将接近转速设定值,并且接下来的时间内,转速实际值始终稳定在1000左右,最大误差约为5%。虚拟示波器显示速度实时曲线

36、如下:图6-2 虚拟示波器实时速度曲线显示7 心得体会经过一周的忙碌和学习,本次课程设计圆满结束。此次的课程设计让我受益颇深,不仅复习了STC89C52单片机的编程,而且学习了PID算法和Altium Designer软件的操作,画出了电路的原理图和PCB图。通过本次课程设计,我明白了自主学习的重要性。本次课程设计是我第一次接触PID算法,通过在网上查阅资料和在图书管借阅书籍,我对PID算法有了一定的了解,而且通过编程实现了PID算法,最终调试完成整个系统。课程设计虽然做完了,但现在学的这点知识还远远不够,特别是Altium Designer这个软件的功能非常强大,要能够熟练运用我们还有很多要

37、学习。总之这次课程设计完成的还算顺利,虽然也遇到过一些问题,但通过和同学讨论一起学习都能解决。不管怎样,这些都是一次锻炼,一次知识的积累,一次能力的提高。完全可以把这些当作基础东西,只有掌握了这些最基础的,才可以更进一步,取得更好的成绩。很少有人会一步登天,永不言弃才是最重要的。这对于我们的将来是有很大的帮助的。正所谓“纸上谈兵终觉浅,觉知此事要躬行”。学习任何知识,仅从理论上去求知,而不去实践、探索是不够的,所以在学习了数字电路、单片机之后紧接着来一次Protel课程设计是很及时、很必要的。这样不仅能加深我们数字电路、单片机的认知,而且还及时、真正的做到了学以致用,提高了我们的实践能力。参考

38、文献1 何立民. MCS-51系列单片机应用系统设计系统配置与接口技术M. 北京:北京航空航天大学出版社,1990:83-87.2 沙占友. 单片机外围电路设计M. 北京:电子工业出版社, 2003:21.3 泰继荣. 现代直流控制技术及其系统设计M. 北京:机械工业出版社,1993:141-145.4 闫胜利. Altium Designer实用宝典-原理图与PCB设计M.北京:电子工业出版社,2007.5 韩国栋,赵月飞,娄建安. Altium Designer Winter 09电路设计入门与提高M.北京:化学工业出版社,2010.6 姚雷博,郭超,董红政基于Proteus仿真软件的80

39、C51单片机教学研究J北京:中国电力教育,2010,(31) :71727 肖建平. 基于Proteus的单片机实验教学改革研究J北京:中国科技信息,2009,(18) :2462478 袁锋伟,赵立宏,朱慧玲基于Proteus的单片机课程教学与实验改革J上海:实验室研究与探索,2007,26,(12) :75789 孙传友. 测控系统原理与设计M .北京:北京航空航天大学出版社, 2003:160166,174.10 王兆安. 电力电子技术M.北京:机械工业出版社, 2006:150152.11 潘松,黄继业. EDA技术实用教程M. 北京:科学出版社, 2003:33.12 Behzad

40、Razavi.Design of Analog CMOS and Integrated CircuitsM.McGraw-Hill Companies,2001:28-36.13 Tao Wu,Ykang Yang,Yongxuan Huang,etal. H-PID Controller Parameters Tuning via Genetic AlgorithmsC .Intelligent Controland Automation.Proceedings of the 3rd World Congress on,2000,1:586-589.14 Cominos P,Munro N.

41、PID controllers:Recent Tuning Methods and Designto Specifi- cationM.Control Theory and Applications,IEE Proceedings,January,2002,149:46.附录一图一 STC89C52单片机模块原理图图二 数码管显示模块原理图图三 L298电机驱动模块原理图附录二图四 proteus仿真电路图附录三主程序代码如下:#include#include#includePID.h#define uchar unsigned char #define uint unsigned int#d

42、efine TH0_Value 0xf8#define TL0_Value 0xcc /2msunsigned char code Duan=0x3F, 0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F;/共阴极数码管,0-9段码表uchar Data_Buffer8=0,0,0,0,0,0,0,0;uint SpeedSet=1000; /速度设定值uint Inpluse=0,num=0;/脉冲计数uint cnt=0;uint PWMTime=0;/脉冲宽度sbit AddSpeed=P11;/速度加按键sbit SubSpeed=P12;/速度减

43、按键sbit PWM_FC=P10; /pwm输出管脚 bit flag0=0;bit flag1=0;float uk1=0.0;/pid输出值int out=0;PIDStru_Float g_PidSt_A;/PID变量void AllInit(void);void Refresh(void);void SetSpeed(void);void delayms(uchar x);void PWMOUT(void);/*主函数*/void main(void)char a,b; AllInit();while(1) SetSpeed(); Refresh();/把显示数组中的数更新 PWMO

44、UT(); if(flag0=1)flag0=0;/ES=0;/TI=1;/num=0xee33;b=num&0xff;a=(num8);SBUF=a;/SUBF接受/发送缓冲?while(!TI);TI=0;SBUF=b;/SUBF接受/发送缓冲?while(!TI);TI=0;/ES=1; /*初始化函数*/void AllInit(void) TMOD=0x21;/定时器1用于串口(8位自动重装初值),定时器2用于定时(16位定时器)TH0=TH0_Value;/248TL0=TL0_Value;/204 2msET0=1;/打开定时器0中断TR0=1;/启动定时器0EX0=1;/打开外

45、部中断0允许位IT0=1;/外部中断0为跳变沿触发方式PCON=0x00;/串口波特率正常 SM0D=0;SCON=0x50;/ 10位异步收发(8位数据) ,波特率可变由定时器 1的溢出率决定TH1=0xfd;TL1=0xfd;/波特率28800TR1=1; /启动定时器1ES=0; /打开串行口中断EA=1; /打开总中断PID_Init_Float(&g_PidSt_A,0.060,0.05,0);/*pwm输出*/void PWMOUT(void)if(cnt250) cnt=0;/*显示刷新函数*/void Refresh(void) Data_Buffer0=SpeedSet/10

46、00; Data_Buffer1=SpeedSet%1000/100; Data_Buffer2=SpeedSet%100/10; Data_Buffer3=SpeedSet%10; Data_Buffer4=num/1000; Data_Buffer5=num%1000/100; Data_Buffer6=num%100/10; Data_Buffer7=num%10;/*速度设定函数*/void SetSpeed(void)if(AddSpeed=0)delayms(10);if(AddSpeed=0)SpeedSet+=100;if(SpeedSet9999)SpeedSet=9999;

47、while(!AddSpeed);/等待按键释放if(SubSpeed=0)delayms(10);if(SubSpeed=0)SpeedSet-=100;if(SpeedSet0;i-)for(j=110;j0;j-);/*pid控制函数*/void PIDControl() /pid偏差计算/当out=250时,速度为7755/当out=0时,速度为0float duk;if(num7750)return;duk=PID_Calcu_Float(&g_PidSt_A,(float)SpeedSet),(float)num);out=(int)(uk1+duk);uk1=(uk1+duk);

48、if(out250)out=250;else if(out8) Bit=0;P0=0xff;P2=DuanData_BufferBit;switch(Bit) /数码管2ms刷新一次case 0:P0=0X7F;break;case 1:P0=0XBF;break;case 2:P0=0XDF;break;case 3:P0=0XEF;break;case 4:P0=0XF7;break;case 5:P0=0XFB;break;case 6:P0=0XFD;break;case 7:P0=0XFE;break;if(time500)/PID周期为1s转速也为1stime=0; num=Inp

49、luse*15;Inpluse=0;PIDControl();PID算法程序如下:#includePID.h#includetypedef struct PIDStru_Float float DesirValu; /* desired value */ float Pv; /* Proportional Const */ float Iv; /* Integral Const */ float Dv; /* Derivative Const */ float LastEr; /* LAST deviation OR ERROR */ float PrevEr; /* the one befo

50、re the last deviation or error */PIDStru_Float;/*浮点型*/void PID_Init_Float(PIDStru_Float *PidPt,float PVALUE,float IVALUE,float DVALUE) PidPt-DesirValu = 0; PidPt-Pv = PVALUE; PidPt-Iv = IVALUE; PidPt-Dv = DVALUE; PidPt-LastEr = 0; PidPt-PrevEr = 0; float PID_Calcu_Float(PIDStru_Float *PidPt,float de

51、sireValu,float Now_Valu) float Error; /* relatively basic error,basic error */ float result; PidPt-DesirValu = desireValu;/* 设定值 */ Error = PidPt-DesirValu - Now_Valu; /* 偏差 */ result = (PidPt-Pv * Error /* 比例项 */ - PidPt-Iv * PidPt-LastEr /* 积分项 */ + PidPt-Dv * PidPt-PrevEr /* 微分项 */ ); PidPt-PrevEr = PidPt-LastEr; PidPt-LastEr = Error; return result;37本科生课程设计成绩评定表姓 名 张家强性 别男专业班级 信息sy1101班题 目: 基于PID算法的直流电机闭环调速系统课程设计答辩或质疑记录: 成绩评定依据:最终评定成绩(以优、良、中、及格、不及格评定)指导老师签字:_ 年 月 日

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