直流电机调速系统的设计毕业论文.doc_第1页
直流电机调速系统的设计毕业论文.doc_第2页
直流电机调速系统的设计毕业论文.doc_第3页
直流电机调速系统的设计毕业论文.doc_第4页
直流电机调速系统的设计毕业论文.doc_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

毕业论文(设计)题 目: 直流电机调速系统的设计 中原工学院信息商务学院毕业论文(设计)摘 要本文主要研究了利用MCS-51系列单片机控制PWM信号从而实现对直流电机转速进行控制的方法。文章中采用了单片机定时器的PWM信号的发生系统,并且对PWM信号的原理、产生方法以及如何通过软件编程对PWM信号占空比进行调节,从而控制其输入信号波形等均作了详细的阐述。此外,文中还采用了H桥驱动电路作为直流电机正反转调速功率放大电路的驱动模块,并且把它与延时电路相结合完成了在主电路中对直流电机的控制。另外,本系统中使用了霍尔传感器对直流电机的转速进行测量,经过放大电路后,将脉冲输入到单片机,从而实现了对直流电机速度的测试。在软件方面,初始化程序等的编写思路和具体的程序实现。关键字:PWM信号,霍尔测速,M/T法测速 The Design of Direct Current Motor speed Regulation System AbstractThis article mainly introduces the method to generate the PWM signal by using MCS-51 single-chip computer to control the speed of a D.C. motor. It also clarifies the principles of PWM and the way to adjust the duty cycle of PWM signal. In addition, H bridge driving circuit has been used as an actuating device of the power amplifier circuit which controls the speed of rotation of D.C. motor. Whats more, hall effect sensor is used in this system to measure the speed of D.C. motor. The result of the measurement is sent to the amplify circuit of sensors, and finally the pulse signal is stored in the single-chip computer. As for the software, this article introduces in detail the idea of the programming and how to make it.Keywords:PWM Signal Hall effect sensor M/T method Speed Measurement目 录1 引言11.1 开发背景11.2 选题的目的和意义11.3 研究方法22直流电机调速原理32.1 电枢电路中接入调速电阻32.2 调节电枢电压来调速32.2.1他励电动机32.2.2 串励电动机42.3 调节励磁电流来调速43硬件电路设计43.1 总体硬件电路设计43.2 8051单片机简介43.3 LCD1602液晶显示器53.4 功率放大驱动电路的设计73.4.1 H桥驱动电路特点73.4.2 H桥驱动电路的设计93.5 电源电路的设计103.5.1 芯片介绍103.5.2电源电路的设计113.6 测速电路的设计123.6.1脉冲信号的获得123.6.2硬件电路的设计133.6.3 数据处理134系统软件部分设计154.1 主程序设计154.2 定时器中断程序设计154.3 PWM的基本原理及程序设计164.3.1 PWM的基本原理164.3.2 PWM信号发生程序设计思路175系统仿真与调试185.1 系统仿真185.2 软硬件调速185.2.1软件程序调试185.2.2 程序在硬件上的调试19结 论20致 谢22参考文献23附录124附录2251 引言1.1 开发背景现代工业生产中,电动机是主要的驱动设备,目前在直流电动机拖动系统中已大量采用晶闸管(即可控硅)装置向电动机供电的KZD拖动系统,取代了笨重的发电动一电动机的FD系统,又伴随着电子技术的高度发展,促使直流电机调速逐步从模拟化向数字化转变,特别是单片机技术的应用,使直流电机调速技术又进入到一个新的阶段,智能化、高可靠性已成为它发展的趋势。直流电机调速基本原理是比较简单的(相对于交流电机),只要改变电机的电压就可以改变转速了1。改变电压的方法很多,最常见的一种PWM脉宽调制,调节电机的输入占空比就可以控制电机的平均电压,控制转速。PWM控制的基本原理很早就已经提出,但是受电力电子器件发展水平的制约,在上世纪80年代以前一直未能实现。直到进入上世纪80年代,随着全控型电力电子器件的出现和迅速发展,PWM控制技术才真正得到应用。随着电力电子技术、微电子技术和自动控制技术的发展以及各种新的理论方法,如现代控制理论、非线性系统控制思想的应用,PWM控制技术获得了空前的发展,到目前为止,已经出现了多种PWM控制技术。1.2 选题的目的和意义直流电动机具有良好的起动、制动性能,宜于在大范围内平滑调速,在许多需要调速或快速正反向的电力拖动领域中得到了广泛的应用。从控制的角度来看,直流调速还是交流拖动系统的基础。早期直流电动机的控制均以模拟电路为基础,采用运算放大器、非线性集成电路以及少量的数字电路组成,控制系统的硬件部分非常复杂,功能单一,而且系统非常不灵活、调试困难,阻碍了直流电动机控制技术的发展和应用范围的推广。随着单片机技术的日新月异,使得许多控制功能及算法可以采用软件技术来完成,为直流电动机的控制提供了更大的灵活性,并使系统能达到更高的性能2。采用单片机构成控制系统,可以节约人力资源和降低系统成本,从而有效的提高工作效率。传统的控制系统采用模拟元件,虽在一定程度上满足了生产要求,但是因为元件容易老化和在使用中易受外界干扰影响,并且线路复杂、通用性差,控制效果受到器件性能、温度等因素的影响,故系统的运行可靠性及准确性得不到保证,甚至出现事故。目前,直流电动机调速系统数字化已经走向实用化,伴随着电子技术的高度发展,促使直流电机调速逐步从模拟化向数字化转变,特别是单片机技术的应用,使直流电机调速技术又进入到一个新的阶段,智能化、高可靠性已成为它发展的趋势。1.3 研究方法本文主要研究了利用MCS-51系列单片机,通过PWM方式控制直流电机调速的方法。PWM控制技术以其控制简单、灵活和动态响应好的优点而成为电力电子技术最广泛应用的控制方式,也是人们研究的热点。由于当今科学技术的发展已经没有了学科之间的界限,结合现代控制理论思想或实现无谐振软开关技术将会成为PWM控制技术发展的主要方向之一3。本文就是利用这种控制方式来改变电压的占空比实现直流电机速度的控制。文章中采用了专门的芯片组成了PWM信号的发生系统,然后通过放大来驱动电机。利用直流测速发电机测得电机速度,经过滤波电路得到直流电压信号,把电压信号输入给A/D转换芯片最后反馈给单片机,在内部进行PI运算,输出控制量完成闭环控制,实现电机的调速控制。2直流电机调速原理电动机是用以驱动生产机械的,根据负载的需要,常常希望电动机的转速能在一定或宽广的范围内进行调节,且调节的方法要简单经济。直流电动机在这些方面有其独到的优点。从直流电机的转速公式4n = 可知,调速方法有两种:(1) 电枢控制,即用调节电枢电压或者在电枢电路中接入调速电阻来调速。(2) 磁场控制,即用调节励磁电流来调速。2.1 电枢电路中接入调速电阻电枢电路接入调速电阻R后,有公式n = 可知其机械特性将随之增大,它和负载特性TL+T0的交点将逐步下移,于是电动机的转速将下降。图2-1 串入电阻后的机械特性曲线R2R1这种调速方法虽说简单易行,但是串入电阻后电枢的铜耗增大,电动机的效率要降低,气机械特性要变软,负载变动时产生较大的变化。2.2 调节电枢电压来调速2.2.1他励电动机图2-2 不同电枢电压是他励直流电机的机械特性曲线(U1U2U3)电机的电枢需要由专用的直流电源(多采用可控整流电源)单独供电励磁则由另一电源他励,从机械特性表达式和右图可知提高或降低电枢端电压U(主磁通保持不变),电动机的机械特性将平行的上升或下降,使电动机的转速相应地上升或下降。2.2.2 串励电动机串励电动机也可以通过改变电枢电压来调速,如图表示电枢电压分别是U1和U2(U1U2)时串励电动机的机械特性和负载特性。从图中可以看出提高电枢电压可以提高速度。图2-3 改变电枢端电压时串励电动机的机械特性(U1U2)2.3 调节励磁电流来调速从转速公式中可知可以看出减小励磁电流时。气隙磁通量将减少,电动机转速将升高。从不同励磁电流时他励或并励电动机的机械特性曲线中也可以看出。这种方法所用的设备简单,调节也方便切效率高。但是随着转速和电枢电流的增加,电机温升升高,换向变坏,转速过高时会出现不稳定的现象。图2-4不同励磁电流时,他励(并励)电动机的机械特性曲线(I1I2)本系统的设计就行利用PWM脉宽调制技术改变电压占空比来改变平均电枢电压来调速的。3硬件电路设计3.1 总体硬件电路设计本系统采用89C51控制输出数据,由单片机定时器直接产生PWM信号,送到直流电机,直流电机通过霍尔传感器测速电路,将脉冲重新送回单片机,从而实现对电机速度和转向的控制,达到直流电机调速的目的。53.2 8051单片机简介18051单片机的基本组成图3-1系统整体框图8051单片机由CPU和8个部件组成,它们都通过片内单一总线连接,其基本结构依然是通用CPU加上外围芯片的结构模式,但在功能单元的控制上采用了特殊功能寄存器的集中控制方法6。其基本组成如下图所示:图3-2 单片机内部结构图2CPU及部分部件的作用功能介绍如下中央处理器CPU:它是单片机的核心,完成运算和控制功能。内部数据存储器:8051芯片中共有256个RAM单元,能作为存储器使用的只是前128个单元,其地址为00H7FH。通常说的内部数据存储器就是指这前128个单元,简称内部RAM。内部程序存储器:8051芯片内部共有4K个单元,用于存储程序、原始数据或表格,简称内部ROM。定时器:8051片内有2个16位的定时器,用来实现定时或者计数功能,并且以其定时或计数结果对计算机进行控制。中断控制系统:该芯片共有5个中断源,即外部中断2个,定时/计数中断2个和串行中断1个。3.3 LCD1602液晶显示器1.LCD1602液晶显示器基本介绍图3-3 1602实物图LCD1602液晶模块是一种用5x7点阵图形来显示字符的液晶显示器,能够同时显示16x02即32个字符,(16列2行)。液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用7。表3-1引脚符号功能说明1VSS一般接地2VDD接电源(+5V)3V0液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。4RSRS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。5R/WR/W为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。6EE(或EN)端为使能(enable)端,下降沿使能。7DB0低4位三态、 双向数据总线 0位(最低位)8DB1低4位三态、 双向数据总线 1位9DB2低4位三态、 双向数据总线 2位10DB3低4位三态、 双向数据总线 3位11DB4高4位三态、 双向数据总线 4位12DB5高4位三态、 双向数据总线 5位13DB6高4位三态、 双向数据总线 6位14DB7高4位三态、 双向数据总线 7位(最高位)(也是busy flag)15BLA背光电源正极16BLK背光 电源负极5.寄存器选择控制表表3-2RSR/W操作说明00写入指令寄存器(清除屏等)01读busy flag(DB7),以及读取位址计数器(DB0DB6)值10写入数据寄存器(显示各字型等)11从数据寄存器读取数据3.4 功率放大驱动电路的设计功率放大驱动电路有多种,也可以直接用芯片其中较常用的芯片有IR2110和EXB841,为了有较高的性价比,且对于直流电机调速使用起来更加简便8,因此该驱动电路使用了H桥放大电路驱动,并且使得该集成电路具有较强的驱动能力和保护功能,且能控制电机的旋转方向。3.4.1 H桥驱动电路特点电路得名于“H桥式驱动电路”是因为它的形状酷似字母H。4个三极管组成H的4条垂直腿,而电机就是H中的横杠。H桥电路的“H”的意思是它实际电路在电路图上是一个字幕H的样式。如下图:图3-4 H桥电路图H桥是如何控制电机的呢,举个例子:你手里拿着一节电池,用导线将马达和电池两端对接,马达就转动了;然后如果你把电池极性反过来会怎么样呢?没有错,马达也反着转了。如图:图3-6 电机反转图3-5电机正转当Q1和Q4导通时电流从左上方流过电机流向右下方,电机的旋转方向认为正转的话;当Q2和Q3同时导通时电流从右向上方流过电机流向左下方,电机反转。注意:千万不能将同一侧的两个三极管同时导通,否则会烧坏电路。如果你将两个高位电路或者两个低位电路同时接通,你的马达会自动制动。这是因为当没有电源供给时,马达在自由转动的情况下是处于发电状态,同位的电路接通,相当于将马达的两端“短接”,那么马达会因为短路而相当与接了一个无限大功率的电炉即一个很大的负载,所以马达就会产生“电”制动;当你把马达两端悬空后,它就恢复自由了。图3-7 加入二极管的H桥为了以避免马达的反电动势的危害,我们仍然需要在晶体管两端接二极管,因为马达线圈在电路开闭瞬间产生的反向电动势通过会高过电源,这样对晶体管和电路会有很大的影响甚至烧毁零件。如图在两端接入二极管后半导体晶体管本身有导通电阻,在通过大电流时会明显发热,如果没有散热措施会很容易烧毁。这样就会限制电路功率的增加。Mosfets(金属氧化物半导体场效应晶体管),这里简称MOS管,由于结构和原理的不同,导通电阻远比普通三极管低,允许流过更大的电流。而且MOS管都内置有反向二极管来保护管子本身。所以采用MOS管连接H桥不但效率可以提高,电路也可以简化。使用MOS管搭建H桥,高位电路要用P沟道管;低位要用N沟道管。因为N沟道管比P沟道管便宜的多,所以有人用N沟道管在高位,加上削波电路来抑制反电动势。应用H桥的关键是四个电路开闭状态的准确。一旦在电源和地之间出现通路,毫无疑问会立刻产生短路,让你的晶体管变成一枚小炸弹。下面我们介绍一些H桥的集成电路,这样我们可以更容易更安全的使用H桥。常用H桥集成电路L293内置两个H桥,每个桥提供1A的额定工作电流,和最大2A的峰值电流。它能驱动的马达一般是不超过35毫米照片胶卷筒大小。L298内置两个H桥,每个桥提供1A的额定工作电流,和最大3A的峰值电流。它能驱动的马达不超过可乐罐大小。LMD18200内置1个H桥,工作电流23A,峰值电流6A。它驱动可乐罐大小的马达。3.4.2 H桥驱动电路的设计如下图:图3-8 H桥驱动电路的设计左端两个输入接单片机输入PWM脉冲波控制H桥三极管的导通截止,PWM脉冲由单片机P2.6、P2.7两个端口输出,其中由程序设定同时只有一个端口输出PWM脉冲波来控制电机的转动方向9。当PWM1为脉冲波时,PWM2为低电平,三极管Q2为截止状态,经上拉电源H桥右端高电平,右上方三极管导通,右下方三极管截止,当PWM1为高电平时Q1导通,H桥左端接地为低电平,左上方三极管截止,左下方三极管导通,电机有电流经左上右下流过,电机旋转,当PWM1为低电平时Q1截止,H桥左端为高电平,左上方三极管导通,左下方三极管截止,由于电机中储存能量,电机通过左上右下二极管放电续流,等下一个PWM脉冲周期供电。反之当PWM2为PWM脉冲波时,电机中有从左向右的电流,电机反转。3.5 电源电路的设计稳压电源的分类方法繁多,按输出电源的类型分有直流稳压电源和交流稳压电源;按稳压电路与负载的连接方式分有串联稳压电源和并联稳压电源;按调整管的工作状态分有线性稳压电源和开关稳压电源;按电路类型分有简单稳压电源和反馈型稳压电源。稳压电源电路分为线性稳压电源,集成稳压电源,晶体管稳压电源,交流稳压电源。本文介绍的是使用三端稳压集成电路78线性稳压电源3.5.1 芯片介绍图3-9 7805实物图7805三端稳压集成电路lm7805。电子产品中,常见的三端稳压集成电路有正电压输出的lm78 系列和负电压输出的lm79系列。顾名思义,三端IC是指这种稳压用的集成电路,只有三条引脚输出,分别是输入端、接地端和输出端。它的样子象是普通的三极管,TO- 220 的标准封装,也有lm9013样子的TO-92封装。用78/79系列三端稳压IC来组成稳压电源所需的外围元件极少,电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜。该系列集成稳压IC型号中的78或79后面的数字代表该三端集成稳压电路的输出电压,如7806表示输出电压为正6V,7909表示输出电压为负9V,因为三端固定集成稳压电路的使用方便,电子制作中经常采用10。在实际应用中,应在三端集成稳压电路上安装足够大的散热器(当然小功率的条件下不用)。当稳压管温度过高时,稳压性能将变差,甚至损坏。当制作中需要一个能输出1.5A以上电流的稳压电源,通常采用几块三端稳压电路并联起来,使其最大输出电流为N个1.5A,但应用时需注意:并联使用的集成稳压电路应采用同一厂家、同一批号的产品,以保证参数的一致。另外在输出电流上留有一定的余量,以避免个别集成稳压电路失效时导致其他电路的连锁烧毁。 在78 * 、79 * 系列三端稳压器中最常应用的是TO-220 和TO-202 两种封装。这两种封装的图形以及引脚序号、引脚功能如附图所示。 从正面看引脚从左向右按顺序标注,接入电路时脚电压高于脚,脚为输出位。如对于78*正压系列,脚高电位,脚接地,;对与79*负压系列,脚接地,脚接负电压,输出都是脚。如附图所示。 图3-10引脚图此外,还应注意,散热片总是和接地脚相连。这样在78*系列中,散热片和脚连接,而在79*系列中,散热片却和脚连接。7805典型应用电路图:78XX系列集成稳压器的典型应用电路如下图所示,这是一个输出正5V直流电压的稳压电源电路。IC采用集成稳压器7805,C1、C2分别为输入端和输出端滤波电容,RL为负载电阻。当输出电流较大时,7805应配上散热板。 图3-11 -5V电源图3-12 +5V电源3.5.2电源电路的设计电路图:图3-13 电源电路的设计由于电路中需要两个电压:12V和5V,电源中用了7812和7805两个三端集成稳压块,先用变压器220V12V将输出12V交流电,经过整流二极管全波整流,滤波后通过7812输出12V稳压直流电,再通过7805转化为5V直流电。图中D5、D6在电路中气保护作用,为了电路的稳定工作,在一般情况下,还需要接二极管作为保护电路,防止电路中的电容放电时的高压把集成稳压器烧坏。3.6 测速电路的设计测速是工农业生产中经常遇到的问题,学会使用单片机技术设计测速仪表具有很重要的意义。要测速,首先要解决是采样的问题。在使用模拟技术制作测速表时,常用测速发电机的方法,即将测速发电机的转轴与待测轴相连,测速发电机的电压高低反映了转速的高低。使用单片机进行测速,可以使用简单的脉冲计数法。只要转轴每旋转一周,产生一个或固定的多个脉冲,并将脉冲送入单片机中进行计数,即可获得转速的信息。本文用3144设计信号获取电路,通过电压比较器实现计数脉冲的输出,既可在单片机实验箱进行转速测量,也可直接将输出接到频率计或脉冲计数器,得到单位时间内的脉冲数,进行换算即可得电机转速。3.6.1脉冲信号的获得图3-14 3144实物图霍尔传感器是对磁敏感的传感元件,常用于开关信号采集的有CS3020、CS3040、OH3144等,这种传感器是一个3端器件,外形与三极管相似,只要接上电源、地,即可工作,输出通常是集电极开路(OC)门输出,工作电压范围宽,使用非常方便。如图1所示是CS3144的外形图,将有字面对准自己,三根引脚从左向右分别是Vcc,地,输出。使用霍尔传感器获得脉冲信号,其机械结构也可以做得较为简单,只要在转轴的圆周上粘上一粒磁钢,让霍尔开关靠近磁钢,就有信号输出,转轴旋转时,就会不断地产生脉冲信号输出11。如果在圆周上粘上多粒磁钢,可以实现旋转一周,获得多个脉冲输出。在粘磁钢时要注意,霍尔传感器对磁场方向敏感,粘之前可以先手动接近一下传感器,如果没有信号输出,可以换一个方向再试。这种传感器不怕灰尘、油污,在工业现场应用广泛。3.6.2硬件电路的设计图3-15 霍尔脉冲隔离霍尔传感器通过感应电机轴上的电磁铁磁场变化产生一个输出电压,一满足后续电路的触发信号,触发信号通过差分放大器和反相器产生一个满足单片机输入脉冲的方波信号,由于霍尔传感器输出的电压信号高电平在电源电压(11-12)V之间,低电平在0V左右,这个信号的电压值不符合单片机的借口要求,可以利用哟个三极管整形电路处理电压信号,使其满足单片机的接受要求,当三极管的输入为“1”时,三极管的发射极、集电极都正偏,三极管处于饱和状态,气输出约为“0”; 当三极管的输入为0时,三极管的发射极反偏,三极管处于截止状态,气输出电压约为+5V这样经过处理产生的方波即可满足单片机的要求。3.6.3 数据处理速度检测一般有三种方法:M法测速、T法测速、M/T法测速。1.M法测速:是在规定时间Tc内12,对位置脉冲信号是个数m1进行计数,从而得到转速的测量值,n =PN是每个位置周期所含有的信号脉冲数,适用于高速运行时的测速,低速时精度较低2.T法测速:测出相邻两个位置信号的间隔时间来计算转速的一种方法,而时间的测量是借助计数器对已知频率的时钟脉冲计数实现的,设时钟频率f,两个位置脉冲间的时钟脉冲个数为m2,则电机转子位置脉冲信号的周期T为T = n = = PN是每个位置周期所含有的信号脉冲数,适用于低速运行时的测速,高速时每个位置周期的时钟脉冲数m2小,测得的精度较低3.M/T法综合了以上两种方法的优点,既可在低速段可靠的测速,又在高速段具备较高的分辨能力,因此在较宽的转速范围内都有很好的检测精度。即在稍大于规定时间Tc的某一时间Td内,分别对位置信号的脉冲个数m1和高频时钟脉冲个数m2进行计数。于是:n = 由于调速关系本文采用M/T法测速以使测速的准确性,即在100个PWM周期内电机所转的转数,n = 60m1其中f = 100,m2 = 100,PN = 14系统软件部分设计软件由1个主程序和1个定时器中断程序,1个外部中断计数程序组成。4.1 主程序设计主程序是一个循环程序,其主要思路是,先设定好占空比初始值,出控制系数给PWM发生电路改变波形的占空比,进而控制电机的转速。其程序流程图如图所示。软件由1个主程序和1个定时器中断程序,1个外部中断计数程序组成。主程序是一个循环程序,其主要思路是由单片机P0口进行键盘扫描,根据按键输入信息选择进行操作的函数,进行控制电机。图4-1 主程序流程图4.2 定时器中断程序设计1程序思路:定时器程序通过选择判断来输出PWM脉冲波的高低电平,其中两个参数cycle、PWM_ON分别控制PWM脉冲波的周期和高电平的占空比。同时通过计数处理输出速度。2.中断程序流程图图4-2 定时器中断流程图4.3 PWM的基本原理及程序设计4.3.1 PWM的基本原理PWM(脉冲宽度调制)是通过控制固定电压的直流电源开关频率,改变负载两端的电压,从而达到控制要求的一种电压调整方法。PWM可以应用在许多方面,比如:电机调速、温度控制、压力控制等等。在PWM驱动控制的调整系统中,按一个固定的频率来接通和断开电源,并且根据需要改变一个周期内“接通”和“断开”时间的长短。通过改变直流电机电枢上电压的“占空比”来达到改变平均电压大小的目的,从而来控制电动机的转速13。也正因为如此,PWM又被称为“开关驱动装置”。如图2-8所示:图4-3 PWM原理图设电机始终接通电源时,电机转速最大为Vmax,设占空比为D= t1 / T,则电机的平均速度为Va = Vmax * D,其中Va指的是电机的平均速度;Vmax 是指电机在全通电时的最大速度;D = t1 / T是指占空比。由上面的公式可见,当我们改变占空比D = t1 / T时,就可以得到不同的电机平均速度Vd,从而达到调速的目的。严格来说,平均速度Vd 与占空比D并非严格的线性关系,但是在一般的应用中,我们可以将其近似地看成是线性关系。4.3.2 PWM信号发生程序设计思路利用单片机内部定时器中断产生PWM脉冲波,程序中通过两个参数控制占空比,根据中断次数控制输出高电平的占空比14。cycle和PWM_ON分别记录一个周期中断次数和高电平的中断次数如下图:图4-4 PWM信号软件设计思路这样就可以根据PWM_ON的值从1100控制占空比5系统仿真与调试5.1 系统仿真仿真软件选择Proteus ,在Proteus中画出系统电路图,当程序在Keil C中调试通过后,会生成以hex为扩展名的文件,这就是使系统能够在Proeus中成功进行仿真的文件。将些文件加载到单片机仿真系统中,验证是否能完成对直流电机的速度调节。若不成功,则重新回到软件调试步骤,进行软件调试。找出错误所在,更正后重新运行系统。硬件仿真电路的设计完全按照论文设计方案进行。在仿真的过程中也遇到了很多问题,比如元件选择、电路设计等,在元件选择方面,有的芯片是我以前学习的时候所没有遇到过的,所以在寻找和使用的过程中也遇到很多麻烦,但经过自己的努力,并借鉴从互联网上找到的资料,我逐渐掌握这些元件的使用方法和原理,为系统设计和仿真提供了良出的基础。另外,在进行仿真的时候,也经常出现程序没有错误了,但是仿真通不过的情况,这些大部分原因是在管脚定义上,很多系统仿真的问题都出在这。经过这段时间的努力,使我对仿真软件以及系统设计电路有了更深一步的认识,也为系统的成功奠定了基础。图5-1 仿真结果如图是在protues上的仿真结果,DUTYF是占空比,图中显示的是50%,STEP是指在按加速、减速键时改变的占空比大小的百分数,SPEED是通过测速显示的速度大小,每秒计算并刷新一次。5.2 软硬件调速5.2.1软件程序调试在程序编写的过程中,出现了很多问题,包括键盘扫描处理、PWM信号发生程序的控制、以及单片机控制直流电机的转动方向等问题,虽然问题不是很大,但是也让我研究了好长时间,在解决这些问题的时候,我不断向老师和同学请教,希望能通过大家一块的努力把软件编写的更完整,让系统的功能更完备。经过多天的努力探索,也经过老师的指导,大部分问题都已经解决,就是程序还是不能实现应该实现的功能,这让我很着急。后来经过一点一点的调试,并认真总结,发现了问题其实在编写中断处理程序时出现了错误,修改后即可实现直流电机调速的目的。总结这次软件调试,让我认识到了做软件调试的基本方法与流程:(1)认真检查源代码,看是否有文字或语法错误(2)逐段子程序进行设计,找出错误出现的部分,重点排查(3)找到合适的方法,仔细检查程序,分步调试直到运行成功(4)改进程序算法,提高程序执行效率,减少出错可能性5.2.2 程序在硬件上的调试虽说在protues上仿真时能正常运行了,硬件的制作完成后,结合硬件又发现了很多问题。(1) 因为单片机的问题,使复位电路上的电容烧坏,单片机运行出错(2) 因为程序算法问题,在电机转动时,出现停顿现象(3) 按键问题为了方便,硬件板与板这件用杜邦线相连硬件实物图(1)电源与驱动图5-2 电源与驱动电路(2)显示与键盘图5-3 键盘与显示(3)霍尔测速图5-4 霍尔脉冲转化电路结 论本系统研制历时近半年,通过和老师、同学充分合作共同努力已完成并验收。在直流电机调速系统的设计中,完成的是硬件设计、制作及调试实验,同时完成软件设计方面的工作。在硬件设计中主要工作是:设计硬件的结构框图,完成硬件的设计。如电源电路、驱动电路、接收放大电路设计及制作。在选择构成系统电路的元器件时,应着重考虑其是否会影响系统的稳定性。在硬件的制作过程中,应尽量减小电源的波动对系统的影响。受时间和经验限制,本系统有不足和需改进的地方:1更复杂的算法可以作研究尝试,但从实际效果考虑上,更好的办法可能是改进外围电路设计,本系统的外围电路设计还有很大的改善空间。4本系统只考虑了电机的速度控制的输出,没有反馈,没有考虑负载的情况,以后可以从系统反馈方面来考虑系统整体的设计。致 谢这次毕业设计,凝结了很多人的心血,在此我表示由衷的感谢。没有他们的帮助,我将无法顺利完成这次设计。 首先,我要特别感谢梁芬老师对我的悉心指导,在毕业设计期间梁老师指导我、帮助我收集文献资料,理清设计思路,完善操作方法,并对我所做的设计提出有效的改进方案。老师渊博的知识、严谨的作风、诲人不倦的态度和学术上精益求精的精神让我受益终生。作为一个本科生的毕业设计,由于经验的匮乏,难免有许多考虑不周全的地方,如果没有导师的督促指导,想要完成这个设计是难以想象的。因此,特别需要感谢曲培新老师给予的耐心细致的指导,在此,再一次向梁芬教师以及关心帮助我的教师同学表示最诚挚的谢意!其次,学校在这方面也给我们提供了很大的支持和帮助,学校领导比较重视,每个设计小组配有专门的指导老师,帮助我们能顺利完成整个设计。对于学校和老师为我的毕业设计所提供的极大帮助和关心,在此我致以衷心的感谢!最后,还要感谢同学四年来对我的关心与支持,感谢各位老师在学习期间对我的严格要求。同时也要感谢身边朋友的热心帮助,没有你们的关心与支持,我不可能这么快完成我的毕业设计!这几个月的岁月是我学生生涯中最有价值的一段时光,也将会成为我以后永远的美好的回忆,在这里有治学严谨而不失亲切的老师,也有互相帮助情同骨肉的同学,更有和谐、融洽的学习生活氛围,这里将是我永远向往的地方。借此论文之际,我想向所有人表达我的最诚挚的谢意,愿我们将来都越来越好。参考文献1张友德等,单片机原理应用与实验M,复旦大学出版社1992.2张毅刚,彭喜源,谭晓钧,曲春波.MCS51单片机应用设计M.哈尔滨工业大学出版社2001.1.3宋庆环,才卫国,高志,89C51单片机在直流电动机调速系统中的应用M。唐山学院,2008.44陈锟危立辉,基于单片机的直流电机调速器控制电路J,中南民族大学学报(自然科学版),2003.9.5李维军 韩小刚 李 晋,基于单片机用软件实现直流电机PWM调速系统J,维普资讯,2007.96曹巧媛.单片机原理及应用M.北京,电子工业出版社,1997.7刘大茂,严飞.单片机应用系统监控主程序的设计方法J.福州大学学报(自然科学福建农林大学硕士论文版),1998.2.9朱定华,戴汝平编著.单片机原理与应用M.清华大学出版社北方交通大学出版社,2003.8.11薛钧义 张彦斌编著. MCS51/96系列单片微型计算M.西安交通大学出版社,1997.812陈国呈 编著.PWM逆变技术及应用M.中国电力出版社.2007年7月13马忠梅 等编著.单片机的C语言应用程序设计(第4版)M,北京航天航空大学出版社.2007. 414刘昌华,易逵编著.8051单片机的C语言应用程序设计与实践M.国防工业出版社2007.9附录1系统设计总电路图附录2#include#define uchar unsigned char#define uint unsigned intsbit lcden=P22;sbit lcdrs=P20;sbit xie=P21;sbit forward=P26;sbit reverse=P27;bit flag=1,flag1=1;uchar speed,m1=0,m2=0;uchar tens,ones,hunds,step=9;uchar code table=DUTYF: %STEP: ;uchar code table1=SPEED: r/min ;uchar code table2=0123456789; /输入数字用 uchar num=0;uchar cycle=100;uchar PWM_ON=50;unsigned char const dofly=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f, 0x77,0x7c,0x39,0x5e,0x79,0x71;/0-F/*延时程序*键盘扫描用*/void delay1(uint i) /延时函数while(i-);/*- 键盘扫描程序-*/uchar keyscan(void) /键盘扫描函数,使用行列反转扫描法uchar cord_h,cord_l;/行列值中间变量P0=0x0f; /行线输出全为0cord_h=P0&0x0f; /读入列线值if(cord_h!=0x0f) /先检测有无按键按下delay1(100); /去抖if(cord_h!=0x0f) cord_h=P0&0x0f; /读入列线值 P0=cord_h|0xf0; /输出当前列线值 cord_l=P0&0xf0; /读入行线值 return(cord_h+cord_l);/键盘最后组合码 return(0xff); /返回该值/*正转反转调节函数*void roll(flag)if(flag)forward=P26;reverse=P27;elseforward=P27;reverse=P26;reverse=0;*/*延时程序液晶显*示器用*/void delay(uint z)uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);/*/void write_com(uchar com)/根据写时序图写出指令程序lcdrs=0;P1=com;delay(5);lcden=1;delay(5);lcden=0;void write_data(uchar date)/根据写时序图写出数据程序lcdrs=1;P1=date;delay(5);lcden=1;delay(5);lcden=0;/*自定义写入数据*用于写入速度*/void write_speed()write_com(0x80+0x46);hunds=speed/100;speed=speed%100;tens=speed/10;ones=speed%10;write_data(table2hunds);delay(50);write_data(table2tens);delay(50);write_data(table2ones);/*步长显示*/void write_step()write_com(0X80+0x0e);tens=step/10;ones=step%10;write_data(table2tens);delay(50);write_data(table2ones);/*占空比显示*/void write_duty()write_com(0X80+0x06);tens=PWM_ON/10;ones=PWM_ON%10;write_data(table2tens);delay(50);write_data(table2ones);/write_digital(tens,ones);/*步长输入*/void change(int value)if(flag1=1)step=value*10; /先输入十位elsestep=step+value; /然后是个位flag1=!flag1; /个位 十位 区分标志/*液晶显示器初始化*/void init()lcden=0; /使能端为低电平write_com(0x38);/显示模式设置write_com(0x0c);/开显示,显示光标,光标闪烁write_com(0x06);/地址指针自动+1且光标+1,写字符屏幕不会移动write_com(0X01);write_com(0X80+0x00);/初始化指针在显示屏的第二个字符位置/*定时器中断(开始)*/void InitTimer0(void) /定时器中断 TMOD = 0x01; /定时器1设置 10us in 12M crystal TH0 = 0x0FF; /赋初值 TL0 = 0x0CE; EA = 1; /总中断打开 ET0 = 1; /定时器中断打开 按开始键 开始计时 电机转动 TR0 = 1; /定时器开关打开EX1=1; /外部中断1开IT1=1; /外部中断1边沿触发,下降沿触发,IT1=0表示电平触发/*定时器设置函数(停止中断)*/void InitTimer1(void) /定时器中断/ TMOD = 0x01; /定时器1设置 0.1ms in 12M crystal/ TH0 = 0x0FC; /赋初值/ TL0 = 0x18; EA = 0; /总中断关闭

温馨提示

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

评论

0/150

提交评论