测控系统课程设计报告_第1页
测控系统课程设计报告_第2页
测控系统课程设计报告_第3页
测控系统课程设计报告_第4页
测控系统课程设计报告_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 . . . 测控系统课程设计课题: 直流马达驱动控制电路的设计 班级 测控1081 学号 1081203119 王 成 专业 测控技术与仪器学院 电子与电气工程学院指导教师 庄立运 鲁庆 工学院测控技术与仪器教研室2011年12月一 绪论:本章介绍了直流电机的特点与其发展概况,然后介绍了直流电机电路的总体设计,同时阐述了直流电机控制电路软件和硬件的设计。并在此基础之上测试出系统放着,最后对其进行总结。而可以采用N沟道增强型场效应管构建H桥,实现大功率直流电机驱动控制。此为基于场效应管的直流电机驱动控制电路设计的核心技术。该驱动电路能够满足各种类型直流电机需求,并具有快速、精确、高效、低功耗等

2、特点,可直接与微处理器接口,可应用PWM技术实现直流电机调速控制。 1.1直流电动机控制的发展现状常用的控制直流电动机有以下几种:第一,最初的直流调速系统是采用恒定的直流电压向直流电动机电枢供电,通过改变电枢回路中的电阻来实现调速。这种方法简单易行设备制造方便,价格低廉。但缺点是效率低、机械特性软、不能在较宽围平滑调速,所以目前极少采用。第二,三十年代末,出现了发电机-电动机(也称为旋转变流组),配合采用磁放大器、电机扩大机、闸流管等控制器件,可获得优良的调速性能,如有较宽的调速围(十比一至数十比一)、较小的转速变化率和调速平滑等,特别是当电动机减速时,可以通过发电机非常容易地将电动机轴上的飞

3、轮惯量反馈给电网,这样,一方面可得到平滑的制动特性,另一方面又可减少能量的损耗,提高效率。但发电机、电动机调速系统的主要缺点是需要增加两台与调速电动机相当的旋转电机和一些辅助励磁设备,因而体积大,维修困难等。第三,自出现汞弧变流器后,利用汞弧变流器代替上述发电机、电动机系统,使调速性能指标又进一步提高。特别是它的系统快速响应性是发电机、电动机系统不能比拟的。但是汞弧变流器仍存在一些缺点:维修还是不太方便,特别是水银蒸汽对维护人员会造成一定的危害等。第四,1957年世界上出现了第一只晶闸管,与其它变流元件相比,晶闸管具有许多独特的优越性,因而晶闸管直流调速系统立即显示出强大的生命力。由于它具有体

4、积小、响应快、工作可靠、寿命长、维修简便等一系列优点,采用晶闸管供电,不仅使直流调速系统经济指标上和可靠性有所提高,而且在技术性能上也显示出很大的优越性。晶闸管变流装置的放大倍数在10000以上,比机组(放大倍数10)高1000倍,比汞弧变流器(放大倍数1000)高10倍;在响应快速性上,机组是秒级,而晶闸管变流装置为毫秒级。141.2直流电动机控制的研究现状数字直流调速装置,从技术上,它能成功地做到从给定信号、调节器参数设定、直到触发脉冲的数字化,使用通用硬件平台附加软件程序控制一定围功率和电流大小的直流电机,同一台控制器甚至可以仅通过参数设定和使用不同的软件版本对不同类型的被控对象进行控制

5、,强大的通讯功能使它易和PLC等各种器件通讯组成整个工业控制过程系统,而且具有操作简便、抗干扰能力强等特点,尤其是方便灵活的调试方法、完善的保护功能、长期工作的高可靠性和整个控制器体积小型化,弥补了模拟直流调速控制系统的保护功能不完善、调试不方便、体积大等不足之处,且数字控制系统表现出另外一些优点,如查找故障迅速、调速精度高、维护简单,使其具备了广一阔的应用前景。二. 总体方案设计2.1介绍描述单片机直流电机调速简介:单片机直流调速系统可实现对直流电动机的平滑调速。PWM是通过控制固定电压的直流电源开关频率,从而改变负载两端的电压,进而达到控制要求的一种电压调整方法。在PWM驱动控制的调整系统

6、中,按一个固定的频率来接通和断开电源,并根据需要改变一个周期“接通”和“断开”时间的长短。通过改变直流电机电枢上电压的“占空比”来改变平均电压的大小,从而控制电动机的转速。因此,PWM又被称为“开关驱动装置”。本系统以89C51单片机为核心,通过单片机控制,C语言编程实现对直流电机的平滑调速。系统控制方案的分析:本直流电机调速系统以单片机系统为依托,根据PWM调速的基本原理,以直流电机电枢上电压的占空比来改变平均电压的大小,从而控制电动机的转速为依据,实现对直流电动机的平滑调速,并通过单片机控制速度的变化。本文所研究的直流电机调速系统主要是由硬件和软件两大部分组成。硬件部分是前提,是整个系统执

7、行的基础,它主要为软件提供程序运行的平台。而软件部分,是对硬件端口所体现的信号,加以采集、分析、处理,最终实现控制器所要实现的各项功能,达到控制器自动对电机速度的有效控制。2.2系统总体设计框图本系统采用89C51控制输出数据,由PWM信号发生电路产生PWM信号,送到直流电机,直流电机通过测速电路,滤波电路,和A/D转换电路交数据重新送回单片机,进行PI运算,从而实现对电机速度和转向的控制,达到直流电机调速的目的。主控芯片PWM信号的产生与放大直流电机测速发电机滤波电路A/D转换图2-1系统总体设计图2.3系统各功能阶段2.3.1.8051单片机的基本组成8051单片机由CPU和8个部件组成,

8、它们都通过片单一总线连接,其基本结构依然是通用CPU加上外围芯片的结构模式,但在功能单元的控制上采用了特殊功能寄存器的集中控制方法。其基本组成如下图所示:图2-2 8051基本结构图2.3.2CPU与部分部件的作用功能介绍如下中央处理器CPU:它是单片机的核心,完成运算和控制功能。部数据存储器:8051芯片中共有256个RAM单元,能作为存储器使用的只是前128个单元,其地址为00H7FH。通常说的部数据存储器就是指这前128个单元,简称部RAM。部程序存储器:8051芯片部共有4K个单元,用于存储程序、原始数据或表格,简称部ROM。定时器:8051片有2个16位的定时器,用来实现定时或者计数

9、功能,并且以其定时或计数结果对计算机进行控制。中断控制系统:该芯片共有5个中断源,即外部中断2个,定时/计数中断2个和串行中断1个。2.3.38051单片机引脚图 图2-3 8051单片机引脚图2.3.4单片机系统中所用其他芯片选型1.地址锁存器地址锁存器可以选择多种,有地址锁存功能的器件有74LS373、8282、74LS273等,8282是地址锁存器,功能与74LS373类似,但本系统选用74LS373作为地址锁存器,考虑到其应用的广泛性以与具有良好的性价比,成为目前在单片机系统中应该较广泛的地址锁存器。74LS373片是8个输出带三态门的D锁存器。当使能端呈高电平时,锁存器中的容可以更新

10、,而在返回低电平的瞬间实现锁存。如果此时芯片的输出控制端为低,也即是输出三态门打开,锁存器中的地址信息便可以通过三态门输出。其引脚图如图2-4所示: 图2-4 74L373引脚图2程序存储器存储器是单片机的又一个重要组成部分,其中程序存储器是单片机中非常重要的存储器,但由于其存储空间不足,常常需要对单片机的存储器空间进行扩展,扩展程序存储器常用芯片有EPROM(紫外线可擦除型),如2716(2KB)、2732(4KB)、2764(8KB)、27128(16KB)、27256(32KB)等,另外还有5V电擦除E2PROM,如2816(2KB)、2864(8KB)等等。考虑到系统功能的可扩展性以与

11、程序功能的扩展,本系统采用16KB的27128作为程序存储器扩展芯片,在满足系统要求的前提下还存有一定的扩展空间,是本系统最合适的程序存储器扩展芯片。27128的引脚图如图2-5所示: 图2-5 27128结构图3数据存储器8051单片机有128B RAM,当数据量超过128B也需要把数据存储区进一步扩展。常用RAM芯片分静态和动态两种。静态RAM有6116(2KB)、6264(8KB)等,动态DRAM2164(8KB)等,另外还有集成IRAM和E2PROM。使用E2PROM作数据存储器有断电保护数据的优点。数据存储器扩展常使用随机存储器芯片,用的较多的是Intel公司的6116容量为2KB和

12、6264容量为8KB。本系统采用容量8KB的6264作为数据存储器扩展芯片。其引脚图如图2-6所示: 图2-6 6264引脚图2.3.5 8051单片机扩展电路与分析图2-7 8051单片机扩展电路与分析接线分析:P0.7-P0.0:这8个引脚共有两种不同的功能,分别使用于两种不同的情况。第一种情况是8051不带片外存储器,P0口可以作为通用I/O口使用,P0.7-P0.0用于传送CPU的I/O数据。第二种情况是8051带片外存储器,P0.7-P0.0在CPU访问片外存储器时先是用于传送片外存储器的低8位地址,然后传送CPU对片外存储器的读写数据。P2.7-P2.0:这组引脚的第一功能可以作为

13、通用的I/O使用。它的第二功能和P0口引脚的第二功能相配合,用于输出片外存储器的高8位地址,共同选中片外存储器单元,但是并不能像P0口那样还可以传送存储器的读写数据。P3.7-P3.0:这组引脚的第一功能为传送用户的输入/输出数据。它的第二功能作为控制用,每个引脚不尽一样。VCC为+5V电源线,VSS为接地线。ALE/:地址锁存允许/编程线,配合P0口引脚的第二功能使用,在访问片外存储器时,8051CPU在P0.7-P0.0引脚线上输出片外存储器低8位地址的同时还在ALE/线上输出一个高电位脉冲,其下降沿用于把这个片外存储器低8位地址锁存到外部专用地址锁存器,以便空出P0.7-P0.0引脚线去

14、传送随后而来的片外存储器的读写数据。/VPP:允许访问片外存储器/编程电源线,可以控制8051使用片ROM还是片外ROM。如果=1,那么允许使用片ROM;如果=0,那么允许使用片外ROM。XTAL1和XTAL2:片振荡电路输入线,这两个端子用来外接石英晶体和微调电容,即用来连接8051片OSC的定时反馈电路。石英晶振起振后,应能在XTAL2线上输出一个3V左右的正弦波,以便于8051片的OSC电路按石英晶振一样频率自激振荡,电容C1、C2可以帮助起振,调节它们可以达到微调fOSC的目的。三. 硬件电路设计3.1 PWM信号发生电路设计3.1.1 PWM的基本原理PWM(脉冲宽度调制)是通过控制

15、固定电压的直流电源开关频率,改变负载两端的电压,从而达到控制要求的一种电压调整方法。PWM可以应用在许多方面,比如:电机调速、温度控制、压力控制等等。在PWM驱动控制的调整系统中,按一个固定的频率来接通和断开电源,并且根据需要改变一个周期“接通”和“断开”时间的长短。通过改变直流电机电枢上电压的“占空比”来达到改变平均电压大小的目的,从而来控制电动机的转速。也正因为如此,PWM又被称为“开关驱动装置”。如图3-1所示:图3-1 PWM方波设电机始终接通电源时,电机转速最大为Vmax,设占空比为D= t1 / T,则电机的平均速度为Va = Vmax * D,其中Va指的是电机的平均速度;Vma

16、x 是指电机在全通电时的最大速度;D = t1 / T是指占空比。由上面的公式可见,当我们改变占空比D = t1 / T时,就可以得到不同的电机平均速度Vd,从而达到调速的目的。严格来说,平均速度Vd 与占空比D并非严格的线性关系,但是在一般的应用中,我们可以将其近似地看成是线性关系。3.1.2 PWM信号发生电路设计图3-2 PWM信号发生电路PWM波可以由具有PWM输出的单片机通过编程来得以产生,也可以采用PWM专用芯片来实现。当PWM波的频率太高时,它对直流电机驱动的功率管要求太高,而当它的频率太低时,其产生的电磁噪声就比较大,在实际应用中,当PWM波的频率在18KHz左右时,效果最好。

17、在本系统,采用了两片4位数值比较器4585和一片12位串行计数器4040组成了PWM信号发生电路。两片数值比较器4585,即图上U2、U3的A组接12位串行4040计数输出端Q2Q9,而U2、U3的B组接到单片机的P1端口。只要改变P1端口的输出值,那么就可以使得PWM信号的占空比发生变化,从而进行调速控制。12位串行计数器4040的计数输入端CLK接到单片机C51晶振的振荡输出XTAL2。计数器4040每来8个脉冲,其输出Q2Q9加1,当计数值小于或者等于单片机P1端口输出值X时,图中U2的(A>B)输出端保持为低电平,而当计数值大于单片机P1端口输出值X时,图中U2的(A>B)

18、输出端为高电平。随着计数值的增加,Q2Q9由全“1”变为全“0”时,图中U2的(A>B)输出端又变为低电平,这样就在U2的(A>B)端得到了PWM的信号,它的占空比为(255 -X / 255)*100%,那么只要改变X的数值,就可以相应的改变PWM信号的占空比,从而进行直流电机的转速控制。使用这个方法时,单片机只需要根据调整量输出X的值,而PWM信号由三片通用数字电路生成,这样可以使得软件大大简化,同时也有利于单片机系统的正常工作。由于单片机上电复位时P1端口输出全为“1”,使用数值比较器4585的B组与P1端口相连,升速时P0端口输出X按一定规律减少,而降速时按一定规律增大。3

19、.1.3 PWM发生电路主要芯片的工作原理1数据比较器具有数据比较功能的芯片有74LS6828,74LS6838等8位数值比较器,4位数值比较器4585等。本PWM发生电路通过两片4位数值比较器4585就可实现PWM信号的产生,因此选用4585作为信号发生电路。芯片4585的引脚图:图3-3 4585引脚图2串行计数器 系统PWM信号发生电路中还使用到一片串行计数器,有串行计数功能的芯片有4024、4040等,它们具有一样的电路结构和逻辑功能,但4024是7位二进制串行计数器,而芯片4040是一个12位的二进制串行计数器,所有计数器位为主从触发器,计数器在时钟下降沿进行计数。当CR为高电平时,

20、它对计数器进行清零,由于在时钟输入端使用施密特触发器,故对脉冲上升和下降时间没有限制,所有的输入和输出均经过缓冲。本系统使用4040作为串行计数器,芯片4040的引脚图如图2-11所示: 图3-4 4040引脚图3.2功率放大驱动电路设计功率放大驱动芯片有多种,其中较常用的芯片有IR2110和EXB841,但由于IR2110具有双通道驱动特性,且电路简单,使用方便,价格相对EXB841便宜,具有较高的性价比,且对于直流电机调速使用起来更加简便,因此该驱动电路采用了IR2110集成芯片,使得该集成电路具有较强的驱动能力和保护功能。3.2.1 芯片IR2110性能与特点IR2110是美国国际整流器

21、公司利用自身独有的高压集成电路以与无闩锁CMOS技术,于1990年前后开发并且投放市场的,IR2110是一种双通道高压、高速的功率器件栅极驱动的单片式集成驱动器。它把驱动高压侧和低压侧MOSFET或IGBT所需的绝大部分功能集成在一个高性能的封装,外接很少的分立元件就能提供极快的功耗,它的特点在于,将输入逻辑信号转换成同相低阻输出驱动信号,可以驱动同一桥臂的两路输出,驱动能力强,响应速度快,工作电压比较高,可以达到600V,其设欠压封锁,成本低、易于调试。高压侧驱动采用外部自举电容上电,与其他驱动电路相比,它在设计上大大减少了驱动变压器和电容的数目,使得MOSFET和IGBT的驱动电路设计大为

22、简化,而且它可以实现对MOSFET和IGBT的最优驱动,还具有快速完整的保护功能。与此同时,IR2110的研制成功并且投入应用可以极提高控制系统的可靠性。降低了产品成本和减少体积。3.2.2 IR2110的引脚图以与功能IR2110将输入逻辑信号转换成同相低阻输出驱动信号,可以驱动同一桥臂的两路输出,驱动能力强,响应速度快,工作电压比较高,是目前功率放大驱动电路中使用最多的驱动芯片。其结构也比较简单,芯片引脚图如下所示:图3-5 IR2110引脚图3.3主电路设计3.3.1 延时保护电路利用IR2110芯片的完善设计可以实现延时保护电路。IR2110使它自身可对输入的两个通道信号之间产生合适的

23、延时,保证了加到被驱动的逆变桥中同桥臂上的两个功率MOS器件的驱动信号之间有一互琐时间间隔,因而防止了被驱动的逆变桥中两个功率MOS器件同时导通而发生直流电源直通路的危险。3.3.2 主电路从上面的原理可以看出,产生高压侧门极驱动电压的前提是低压侧必须有开关的动作,在高压侧截止期间低压侧必须导通,才能够给自举电容提供充电的通路。因此在这个电路中,Q1、Q4或者Q2、Q3是不可能持续、不间断的导通的。我们可以采取双PWM信号来控制直流电机的正转以与它的速度。将IC1的HIN端与IC2的LIN端相连,而把IC1的LIN端与IC2的HIN端相连,这样就使得两片芯片所输出的信号恰好相反。在HIN为高电

24、平期间,Q1、Q4导通,在直流电机上加正向的工作电压。其具体的操作步骤如下:当IC1的LO为低电平而HO为高电平的时候,Q2截止,C1上的电压经过VB、IC部电路和HO端加在Q1的栅极上,从而使得Q1导通。同理,此时IC2的HO为低电平而LO为高电平,Q3截止,C3上的电压经过VB、IC部电路和HO端加在Q4的栅极上,从而使得Q4导通。电源经Q1至电动机的正极经过整个直流电机后再通过Q4到达零电位,完成整个的回路。此时直流电机正转。在HIN为低电平期间,LIN端输入高电平,Q2、Q3导通,在直流电机上加反向工作电压。其具体的操作步骤如下:当IC1的LO为高电平而HO为低电平的时候,Q2导通且Q

25、1截止。此时Q2的漏极近乎于零电平,Vcc通过D1向C1充电,为Q1的又一次导通作准备。同理可知,IC2的HO为高电平而LO为低电平,Q3导通且Q4截止,Q3的漏极近乎于零电平,此时Vcc通过D2向C3充电,为Q4的又一次导通作准备。电源经Q3至电动机的负极经过整个直流电机后再通过Q2到达零电位,完成整个的回路。此时,直流电机反转。因此电枢上的工作电压是双极性矩形脉冲波形,由于存在着机械惯性的缘故,电动机转向和转速是由矩形脉冲电压的平均值来决定的。设PWM波的周期为T,HIN为高电平的时间为t1,这里忽略死区时间,那么LIN为高电平的时间就为T-t1。HIN信号的占空比为D=t1/T。设电源电

26、压为V,那么电枢电压的平均值为:Vout= t1 - ( T - t1 ) V / T = ( 2 t1 T ) V / T = ( 2D 1 )V定义负载电压系数为,= Vout / V, 那么 = 2D 1 ;当T为常数时,改变HIN为高电平的时间t1,也就改变了占空比D,从而达到了改变Vout的目的。D在01之间变化,因此在±1之间变化。如果我们联系改变,那么便可以实现电机正向的无级调速。当=0.5时,Vout=0,此时电机的转速为0;当0.5<<1时,Vout为正,电机正转;当=1时,Vout=V,电机正转全速运行。图3-6 系统主电路3.3.3 输出电压波形系统

27、电路经过单片机控制的PWM信号产生电路送来的PWM信号,经过功率放大电路,形成输出电压的波形图如下图如示:图3-7 输出电压波形3.3.4 系统总体电路图直流电机调速系统总体电路设计由单片机产生控制PWM信号发生电路产生PWM信号的数据,控制直流电机调速电路对电机进行调速。图3-8 系统总休电路图3.3.5测速发电机测速发电机是一种测量转速的微型发电机,他把输入的机械转速变换为电压信号输出,并要求输出的电压信号与转速成正比,分为直流与交流两种。其绕组和磁路经过精确设计,输出电动势E和转速n成线性关系,即E=kn,其中k是常数。改变旋转方向时,输出电动势的极性即相应改变。当被测机构与测速发电机同

28、轴连接时,只要检测出输出电动势,即可以获得被测机构的转速,所以测速发电机又称速度传感器。测速发电机广泛应用于各种速度或者位置控制系统,在自动控制系统中作为检测速度的元件,以调节电动机转速或者通过反馈来提高系统稳定性和精度。3.3.6滤波电路经整流后的单向直流或单向脉动直流电,都是由强度不变的直流成分和一个以上的交流成分叠加形成的。为了使脉动直流电变得较为平稳,把其中的交流成分滤掉,叫做滤波。滤波有电容滤波、电感滤波等。本系统中对直流电采用电容滤波的方式,使得直流电压变得更加平稳,调速更加精确。电路图如图3-9所示:图3-9 滤波电路3.4 A/D转换3.4.1芯片选型能够进行A/D转换的芯片很

29、多,其中AD系列的有8位A/D转换器ADC0809、AD570、AD670、AD673、AD7574等,TLC系列的有TLC545等,其中较为常用的是ADC0809和TLC545,TLC545是美国TEXAS仪器公司新推出的一种开关电容结构逐次逼近式8位A/D转换器,具有19个模拟输入端。而ADC0809是采样频率为8位的、以逐次逼近原理进行模数转换的器件。其部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换,具有地址锁存控制的8路模拟开关,应用单一的+5V电源,其模拟量输入电压的围为0V-+5V,其对应的数字量输出为00H-FFH,转换时间

30、为100s,无须调零或者调整满量程。因此本系统采用ADC0809作为A/D转换芯片。3.4.2 ADC0809的引脚与其功能ADC0809有28个引脚,其中IN0-IN7接8路模拟量输入。ALE是地址锁存允许,、接基准电源,在精度要求不太高的情况下,供电电源就可以作为基准电源。START是芯片的启动引脚,其上脉冲的下降沿起动一次新的A/D转换。EOC是转换结束信号,可以用于向单片机申请中断或者供单片机查询。OE是输出允许端。CLK是时钟端。DB0-DB7是数字量的输出。ADDA、ADDB、ADDC接地址线用以选定8路输入中的一路,引脚详见图3-10。图3-10 ADC0809引脚图4 系统软件

31、部分的设计4.1 PI 转速调节器原理图与参数计算图4-1 PI 转速调节器原理图按照典型II型系统的参数选择方法, 转速调节器参数和电阻电容值关系如下:Kn = Rn/ R0 n = Rn/ Cn Ton = 1/4 R0 * Con参数求法: 电动机 P=10KW U=220V I=55A n=1000转/分 电枢电阻R=0.5欧姆 取滤波电路中Ro=40千欧 Rn=470千欧 Cn=0.2uF Con=1uF 则:Umax=220VUmin=(220/0.9)*0.5=122VYi-1=0 W=1000转/分P=Kp=Rn/Ro=11.7I=Kp*T/Ti=1254.1.1系统中的部分程

32、序设计软件由1个主程序、1个中断子程序和1个PI控制算法子程序组成。4.2.1 主程序设计主程序主程序是一个循环程序,其主要思路是,先设定好速度初始值,这个初始值与测速电路送来的值相比较得到一个误差值,然后用PI算法输出控制系数给PWM发生电路改变波形的占空比,进而控制电机的转速。其程序流程图如图所示。软件由1个主程序、1个中断子程序和1个PI控制算法子程序组成。主程序主程序是一个循环程序,其主要思路是由单片机P1口生数据送到PWM信号发生电路,然后用PI算法输出控制系数给PWM发生电路改变波形的占空比进而控制电机的转速。 脉冲调制PWM开关型稳压电路是在控制电路输出频率不变的情况下,通过电压

33、反馈调整其占空比,从而达到稳定输出电压的目的。通俗说的PWM就是波形,波形的波峰与波谷的关系成为占空比,可以通过PWM来控制电机。AVR单片机可以轻松实现PWM功能。ATmega16的timer0和timer2都具有PWM功能,timer0和timer2都为8位定时器。timer2为异步操作定时器,在操作过程中要等待寄存器状态更改完成。本设计中设定使用timer0来实现PWM功能。OC0 output mode 设定了PWM输出控制选择:正常的端口操作,不与OC0 相连接, 比较匹配发生时OC0 取反, 比较匹配发生时OC0 清零, 比较匹配发生时OC0 置位。Waveform mode设定了

34、波形产生模式:比较匹配输出模式,快速PWM 模式,相位修正PWM 模式。程序代码如下:#include #include void port_init(void) PORTA = 0x00; DDRA = 0x00; DDRB = 0x08; /PB3为PWM输出,非常重要,否则无法输出波形 DDRB = 0x00; PORTC = 0x00; /m103 output only DDRC = 0x00; PORTD = 0x00; DDRD = 0x00;/TIMER0 initialize - prescale:64/ WGM: Normal/ desired value: 1KHz/ a

35、ctual value: 1.002KHz (0.2%)void timer0_init(void) TCCR0 = 0x00; /stop TCNT0 = 0x8D; /设置定时器计数值 /*TCNT0*/ OCR0 = 0x73; /设置定时器比较的值 /*OCR0*/ TCCR0 = 0x23; /初始化控制 timer0的寄存器/*TCCR0*/#pragma interrupt_handler timer0_comp_isr:20void timer0_comp_isr(void) /compare occured TCNT0=OCR0#pragma interrupt_handle

36、r timer0_ovf_isr:10void timer0_ovf_isr(void) TCNT0 = 0x8D; /reload counter value/call this routine to initialize all peripheralsvoid init_devices(void) /stop errant interrupts until set up CLI(); /disable all interrupts port_init(); timer0_init(); MCUCR = 0x00; GICR = 0x00; TIMSK = 0x03; /定时器中断选项 /*

37、TIMSK*/ SEI(); /re-enable interrupts /all peripherals are now initializedvoid main(void) /*加上这些,程序就可以运行了。*/ init_devices(); while(1) ;程序中几个关键的寄存器的意义:1.TCNT0:定时器计数值,定时过程中不断增大,溢出后重新置数,开始下一轮。 2.OCR0:定时器比较的值,当TCNT0 OCR0时,会产生timer0_comp_isr中断。 3.TCCR0:控制timer0的寄存器。4.TIMSK:定时器中断选项,这里允许timer0比较中断,溢出中断主程序流程

38、图如图4-2所示:图4-2 主程序流程图4.2.2 PI控制算法子程序设计/*PI控制算法子程序*/void PID_work()negsum=0;possum=0;if(BJ=0) possum+=k1; temp2=temp2+temp0; else negsum+=k1; temp2=temp2-temp0; k3=temp2/10; if(possum>negsum) k2=possum-negsum; /存储结果 CY=0; temp1=k3+k1; /误差积累, if(CY=1) /16位判断。 UK=0xfe; else UK=k1+k3; elseUK=1;P3=UK;初

39、始化定时器开始工作TCNT0逐渐增大,在预分频这么多个时钟周期里变化一次TCNT0的值与OCR0的值比较TCNT0溢出,产生波形TCNT0复位下一次定时操作图4.3 PWM波形的产生流程图开始计算控制参数A、B、C初始值e (k-1)=e (k-2)=0本次采样输入c (k)计算偏差值e (k)=r (k)-c (k)计算控制量u (k)=Ae(k)-Be(k-1)+Ce(k-2)输出u (k)为下一时刻做准备e(k-1)àe(k-2),e(k)àe(k-1)采样时间到了吗NYD/A转换被控对象A/D转换 图4.4 PID算法流程图五.系统调试5.1 硬件调试硬件调试是利用

40、开发系统、基本测试仪器,通过执行开发系统有关命令或运行适当的测试程序,检查用户系统硬件中存在的故障。硬件调试可分为静态调试和动态调试。5.1.1 静态调试 首先,对每一块加工好的印刷电路板要仔细的检查,检查它的印制线是否断线,是否有毛刺,是否与其他印制线或焊盘或过孔粘连,焊盘是否脱落,过孔是否有未金属化等现象,查出的故障与时排除。然后用万用表复核认为可疑的连接线或接点,检查它们的通断状态是否与设计规格相符。再检查各种电源线与地线之间是否有短路现象并排除。最后,加电检查,加电过程中细心观察芯片或器件是否出现打火、过热、变色、冒烟和异味等现象,如有,立即断电检查。5.1.2 动态调试 首先按逻辑功

41、能将用户系统硬件电路分为若干模块进行单独调试。调试某模块时将整个电路板中与该模块无关的器件全部拔除,当各独立模块调试无故障后,然后逐步将接近的相关模块加入到应用系统中,并每加入一个模块后再对各模块功能进行调试,若在这个过程中出现故障,则基本上是各模块协调关系上出了问题。5.2软件调试在程序编写的过程中,出现了很多问题,包括键盘扫描处理、PWM信号发生电路的控制、以与单片机控制直流电机的转动方向等问题,虽然问题不是很大,但是也让我研究了好长时间,在解决这些问题的时候,我不断向老师和同学请教,希望能通过大家一块的努力把软件编写的更完整,让系统的功能更完备。经过多天的努力探索,也经过老师的指导,大部

42、分问题都已经解决,就是程序还是不能实现应该实现的功能,这让我很着急。后来经过一点一点的调试,并认真总结,发现了问题其实在编写中断处理程序时出现了错误,修改后即可实现直流电机调速的目的。总结这次软件调试,让我认识到了做软件调试的基本方法与流程:(1)认真检查源代码,看是否有文字或语法错误(2)逐段子程序进行设计,找出错误出现的部分,重点排查(3)找到合适的方法,仔细检查程序,分步调试直到运行成功5.3系统仿真仿真软件选择Proteus ,在Proteus中画出系统电路图,当程序在Keil C中调试通过后,会生成以hex为扩展名的文件,这就是使系统能够在Proteus中成功进行仿真的文件。将些文件加载到单片机仿真系统中,验证是否能完成对直流电机的速度调节。若不成功,则重新回到软件调试步骤,进行软件调试。找出错误所在,更正后重新运行系统。硬件仿真电路的设计完全按照论文设计方案进行。在仿真的过程中也遇到了很多问题,比如元件选择、电路设计等,

温馨提示

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

评论

0/150

提交评论