您的当前位置:首页正文

毕业设计:直流电机PID调速系统

来源:一二三四网


毕业设计

题 目 直流电机PID调速系统II

学生姓名 学号

所在院(系) 专业班级 指导教师

2012年5月 日

直流电机PID调速系统

陕西理工学院毕业论文

[摘 要]本文主要研究了利用MCS-51系列单片机控制PWM信号从而实现对直流电机转速进行控制的方法。文章中采用了专门的芯片组成了PWM信号的发生系统,并且对PWM信号的原理、产生方法以及如何通过软件编程对PWM信号占空比进行调节,从而控制其输入信号波形等均作了详细的阐述。此外,本文中还采用了芯片IR2110作为直流电机正转调速功率放大电路的驱动模块,并且把它与延时电路相结合完成了在主电路中对直流电机的控制。另外,本系统中使用了霍尔元件对直流电机的转速进行测量,经过滤波电路后,将测量值送到单片机,并且最终作为反馈值输入到单片机进行PID运算,从而实现了对直流电机速度的控制。在软件方面,文章中详细介绍了PID运算程序,初始化程序等的编写思路和具体的程序实现。

[关键字]: PWM信号;霍尔元件;PID运算

The Design of Direct Current Motor speed

Regulation System Based On SCM

第 1 页 共 41 页

陕西理工学院毕业论文

XuHuanhuan

(Grade09,Class02, Major Automation , Electrical Engineering Dept,Shaanxi University of

Technology,Hanzhong723003,Shaanxi)

Tutor:WangChunxia

Abstract:This 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, IR2110 has been used as an actuating device of the power amplifier circuit which controls the speed of rotation of D.C. motor. What’s more, hall element is used in this system to measure the speed of D.C. motor. The result of the measurement is sent to MCS-51 single-chip computer after passing the filtering circuit, and finally the feedback single is stored in the single-chip computer and participates in a PIDcalculation. As for the software, this article introduces in detail the idea of the programming and how to make it..

Key words: PWM signal,hall element,PID calculation

目录

1. 引言………………………………………………………………6

第 2 页 共 41 页

陕西理工学院毕业论文

1.1开发背景………………………………………………………6 1.2选题的目的和意义……………………………………………6 1.3研究方法………………………………………………………6

2. 硬件电路设计……………………………………………………7

2.1 整体电路设计…………………………………………………7 2.1.1整体理论………………………………………………7 2.1.2整体简单结构图………………………………………7

2.2 系统电源………………………………………………………8 2.3 直流电机的调速原理…………………………………………8 2.4 单片机…………………………………………………………9

2.4.1 8052单片机的基本组成……………………………9 2.4.2 本次设计各端口利用情况…………………………9 2.4.3 单片机的扩充需要…………………………………10 2.4.3.1 地址锁存器……………………………………10

2.4.3.2 程序存储器……………………………………11 2.4.3.3 数据存储器……………………………………11 2.4.3.4 单片机扩展电路及分析………………………12 2.5 霍尔元件测速电路…………………………………………13 2.5.1 霍尔原理………………………………………………13 2.5.2 霍尔元件测速图………………………………………14 2.5.3霍尔矩形波滤波电路…………………………………15 2.6 直流电机驱动电路…………………………………………15

第 3 页 共 41 页

陕西理工学院毕业论文

2.6.1功率放大芯片的要求及选取…………………………16 2.6.1.1 设计要求………………………………………16 2.6.1.2 芯片选取………………………………………17 2.6.2驱动电路设计图………………………………………19 2.6.3 驱动过程分析…………………………………………19 2.7 键盘电路……………………………………………………22 2.7.1 独立式键盘连接原理…………………………………22 2.7.2 连接图…………………………………………………22 2.8 计数器电路…………………………………………………23 2.8.1 测量频率法……………………………………………23 2.8.2 带同步控制的频率测量………………………………24

3. 软件设计………………………………………………………24

3.1软件设计整体理论……………………………………………24 3.1.1 控制器公式分类………………………………………24 3.1.2 控制系统中的应用与图形解释………………………25 3.1.3 参数的调整……………………………………………29 3.1.4 PID的增量算法………………………………………30 3.2软件设计流程图………………………………………………31 3.3软件具体程序设计……………………………………………32

4. 系统调试………………………………………………………35

4.1 软件调试……………………………………………………35 4.2 系统仿真……………………………………………………36

第 4 页 共 41 页

陕西理工学院毕业论文

5. 结束语…………………………………………………………38 致谢……………………………………………………………39 参考文献………………………………………………………40

引言

第 5 页 共 41 页

1.陕西理工学院毕业论文

1.1开发背景

电动机在现代的工业中,是主要的驱动设备,尤其是直流电动机,由于它的平滑调速性和结构上的简单,使其成为许多电器,如洗衣机,电梯等的驱动 。而对于直流电机的控制,最流行的莫过于采用可控硅装置向电动机供电,即KZ—D拖动系统。起初的控制系统是发电机—电动机系统,相当的笨重。随着电力电子技术和单片机的成熟应用,使得直流电机调速系统从模拟化向数字化转变。而PWM脉宽调制,是现在应用最成熟的方法。它来源于电力电子的桥式电路,通过单片机可进行简单的模拟,而将它们结合起来,由电力电子元件组桥进行方向控制,而由单片机产生PWM波控制晶闸管的门极。调节占空比就能够控制电机的平均电压,从而控制电机的转速。

1.2选题的目的和意义

直流电动机调速应用于实际中各个方面,工业,家电等,因为它能够在一个相当大的范围内进行平滑调速。但是早起以模拟元件为控制装置的系统,由于模拟元件本身的缺陷,导致硬件复杂,功能简单,不灵活,误差大,无法实行精确的调速。单片机的应用解决了这个问题的一部分,误差可由许多完善的算法来解决,而且减小了硬件的复杂性。使得直流调速逐步由模拟化向数字化转变,使直流调速进入一个更加智能与可靠的新阶段。

1.3研究方法

本文主要研究了利用MCS-51系列单片机,通过PWM方式控制直流电机调速的方法。PWM控制技术以其控制简单、灵活和动态响应好的优点而成为电力电子技术最广泛应用的控制方式,也是人们研究的热点。由于当今科学技术的发展已经没有了学科之间的界限,结合现代控制理论思想或实现无谐振软开关技术将会成为PWM控制技术发展的主要方向之一。

本文就是利用这种控制方式来改变电压的占空比实现直流电机速度的控制。文章中采用了专门的芯片组成了PWM信号的发生系统,然后通过放大来驱动电机。利用霍尔元件测速电路测得电机速度,经过滤波电路得到直流电压信号,把电压信号反馈给单片机,在内部进行PID运算,输出控制量完成闭环控制,实现电机的调速控制。

2.硬件电路设计

第 6 页 共 41 页

陕西理工学院毕业论文

2.1整体电路设计

2.1.1整体理论

单片机直流电机调速简介:单片机直流调速系统可实现对直流电动机的平滑调速。PWM是通过控制固定电压的直流电源开关频率,从而改变负载两端的电压,进而达到控制要求的一种电压调整方法。在PWM驱动控制的调整系统中,按一个固定的频率来接通和断开电源,并根据需要改变一个周期内“接通”和“断开”时间的长短。通过改变直流电机电枢上电压的“占空比”来改变平均电压的大小,从而控制电动机的转速。因此,PWM又被称为“开关驱动装置”。本系统以89C52单片机为核心,通过单片机控制,C语言编程实现对直流电机的平滑调速。

系统控制方案的分析:本直流电机调速系统以单片机系统为依托,根据PWM调速的基本原理,以直流电机电枢上电压的占空比来改变平均电压的大小,从而控制电动机的转速为依据,实现对直流电动机的平滑调速,并通过单片机控制速度的变化。本文所研究的直流电机调速系统主要是由硬件和软件两大部分组成。硬件部分是前提,是整个系统执行的基础,它主要为软件提供程序运行的平台。而软件部分,是对硬件端口所体现的信号,加以采集、分析、处理,最终实现控制器所要实现的各项功能,达到控制器自动对电机速度的有效控制。 2.1.2整体简单结构图

2.2系统电源

第 7 页 共 41 页

陕西理工学院毕业论文

2.3直流电机的调速原理

图1所示电枢电压为Ua,电枢电流为Ia,电枢回路总电阻为Ra,电机常数 Ca,励磁磁通量是Φ。根据KVL方程:电机转速n=(Ua-IaRa)/CaΦ,其中,对于极对数p,匝数为N,电枢支路数为a的电机来说:电机常数Ca=pN/60a,意味着电机确定后,该值是不变的。而在Ua-IaRa中,由于Ra仅为绕组电阻,导致IaRa非常小,所以Ua-IaRa约等于Ua。由此可见我们改变电枢电压时转速n即可随之改变。而电枢电压由单片机控制。

本次选择的直流电机(所选电机的额定转速为2000转/分钟)为被控对象,以MCU为控制器设计一个转速反馈单闭环PID控制系统,使系统稳态误差为零,最大超调量小于10%

2.4单片机

2.4.1.8052单片机的基本组成

第 8 页 共 41 页

陕西理工学院毕业论文

8052单片机由CPU和8个部件组成,它们都通过片内单一总线连接,其基本结构依然是通用CPU加上外围芯片的结构模式,但在功能单元的控制上采用了特殊功能寄存器的集中控制方法。其基本组成如下图所示:

图2-2 8052基本结构图

中央处理器CPU:它是单片机的核心,完成运算和控制功能。

内部数据存储器:8052芯片中共有256个RAM单元,能作为存储器使用的只是前128个单元,其地址为00H—7FH。通常说的内部数据存储器就是指这前128个单元,简称内部RAM。

内部程序存储器:8052芯片内部共有8K个单元,用于存储程序、原始数据或表格,简称内部ROM。

定时器:8052片内有3个16位的定时器,用来实现定时或者计数功能,并且以其定时或计数结果对计算机进行控制。

中断控制系统:该芯片共有6个中断源,即外部中断2个,定时/计数中断3个和串行中断1个。

2.4.2 本次设计各端口利用情况

第 9 页 共 41 页

陕西理工学院毕业论文

8052单片机引脚图

2.4.3 单片机的扩充需要

由于本次设计按c语言编写设计,数据存储器,程序存储器都需要扩展来增大内存。以下是所选取的两种存储器和一个地址锁存器 2.4.3.1 地址锁存器

地址锁存器可以选择多种,有地址锁存功能的器件有74LS373、8282、74LS273等,8282是地址锁存器,功能与74LS373类似,但本系统选用74LS373作为地址锁存器,考虑到其应用的广泛性以及具有良好的性价比,成为目前在单片机系统中应该较广泛的地址锁存器。74LS373片内是8个输出带三态门的D锁存器。

当使能端呈高电平时,锁存器中的内容可以更新,而在返回低电平的瞬间实现锁存。如果此时芯片的输出控制端为低,也即是输出三态门打开,锁存器中的地址信息便可以通过三态门输出。其引脚图如图2-4所示:

第 10 页 共 41 页

陕西理工学院毕业论文

图2-4 74L373引脚图

2.4.3.2.程序存储器

存储器是单片机的又一个重要组成部分,其中程序存储器是单片机中非常重要的存储器,但由于其存储空间不足,常常需要对单片机的存储器空间进行扩展,扩展程序存储器常用芯片有EPROM(紫外线可擦除型),如2716(2KB)、2732(4KB)、2764(8KB)、27128(16KB)、27256(32KB)等,另外还有+5V电擦除E2PROM,如2816(2KB)、2864(8KB)等等。考虑到系统功能的可扩展性以及程序功能的扩展,本系统采用16KB的27128作为程序存储器扩展芯片,在满足系统要求的前提下还存有一定的扩展空间,是本系统最合适的程序存储器扩展芯片。27128的引脚图如图2-5所示:

图2-5 27128结构图

2.4.3.3.数据存储器

8052单片机有128B RAM,当数据量超过128B也需要把数据存储区进一步扩展。常

第 11 页 共 41 页

陕西理工学院毕业论文

用RAM芯片分静态和动态两种。静态RAM有6116(2KB)、6264(8KB)等,动态DRAM2164(8KB)等,另外还有集成IRAM和E2PROM。使用E2PROM作数据存储器有断电保护数据的优点。

数据存储器扩展常使用随机存储器芯片,用的较多的是Intel公司的6116容量为2KB和6264容量为8KB。本系统采用容量8KB的6264作为数据存储器扩展芯片。其引脚图如图2-6所示:

图2-6 6264引脚图 2.4.3.4 8052单片机扩展电路及分析

图2-7 8052单片机扩展电路及分析

接线分析:

P0.7---P0.0:这8个引脚共有两种不同的功能,分别使用于两种不同的情况。第

第 12 页 共 41 页

陕西理工学院毕业论文

一种情况是8051不带片外存储器,P0口可以作为通用I/O口使用,P0.7---P0.0用于传送CPU的I/O数据。第二种情况是8052带片外存储器,P0.7---P0.0在CPU访问片外存储器时先是用于传送片外存储器的低8位地址,然后传送CPU对片外存储器的读写数据。

P2.7---P2.0:这组引脚的第一功能可以作为通用的I/O使用。它的第二功能和P0口引脚的第二功能相配合,用于输出片外存储器的高8位地址,共同选中片外存储器单元,但是并不能像P0口那样还可以传送存储器的读写数据。

P3.7---P3.0:这组引脚的第一功能为传送用户的输入/输出数据。它的第二功能作为控制用,每个引脚不尽相同。

VCC为+5V电源线,VSS为接地线。

ALE/PROG:地址锁存允许/编程线,配合P0口引脚的第二功能使用,在访问片外存储器时,8052CPU在P0.7---P0.0引脚线上输出片外存储器低8位地址的同时还在ALE/PROG线上输出一个高电位脉冲,其下降沿用于把这个片外存储器低8位地址锁存到外部专用地址锁存器,以便空出P0.7---P0.0引脚线去传送随后而来的片外存储器的读写数据。

______________________EA/VPP:允许访问片外存储器/编程电源线,可以控制8051使用片内ROM还是片外

________ROM。如果EA=1,那么允许使用片内ROM;如果EA=0,那么允许使用片外ROM。

XTAL1和XTAL2:片内振荡电路输入线,这两个端子用来外接石英晶体和微调电容,即用来连接8051片内OSC的定时反馈电路。石英晶振起振后,应能在XTAL2线上输出一个3V左右的正弦波,以便于8052片内的OSC电路按石英晶振相同频率自激振荡,电容C1、C2可以帮助起振,调节它们可以达到微调fOSC的目的。

2.5 霍尔元件测速电路

2.5.1霍尔原理

转速是工程上一个常用的参数,旋转体的转速常以每分钟的转数来表示。其单位为r/min。转速的测量方法很多,由于转速是以单位时间内的转数来衡量的,因此采用霍尔元器件测量转速是较为常用的一种测量方法。

霍尔元件是利用霍尔效应实现磁电转换的一种传感器。具有灵敏度高、线性度好、稳定性高、体积小耐高温等特性。霍尔器件是有半导体材料制成的一种薄片,器件的长、

第 13 页 共 41 页

陕西理工学院毕业论文

宽、高分别为l、b、d。若在垂直于薄片平面(沿厚度d)方向施加外加磁场B,在沿l方向的两个端面加以外电场,则有一定的电流经过。由于电子在磁场中运动,所以将受到一个洛仑磁力,其大小为:fl=qVB 式中:fl――洛仑磁力,q――载流子电荷,V――载流子运动速度,B――磁感应强度。这样使电子的运动轨迹发生偏移,在霍尔元器件薄片的两个侧面分别产生电子积聚或电荷过剩,形成霍尔电场,霍尔元器件两个侧面间的电位差UH称为霍尔电压。 霍尔电压大小为:UH=RH×I×B/d(mV)

式中:RH ---霍尔常数,d---元件厚度,B---磁感应强度,I---控制电流 。设KH= RH/d ,则UH=KH×I×B (mV)

KH为霍尔器件的灵敏系数(mV/mA/T),它表示该霍尔元件在单位磁感应强度和单位控制电流下输出霍尔电动势的大小。

应注意,当电磁感应强度B反向时,霍尔电动势也反向。若控制电流保持不变,则霍尔感应电压将随外界磁场强度而变化,根据这一原理,可以将一块永久磁钢固定在电动机的转轴上转盘的边沿,转盘随被测轴旋转,磁钢也将跟着同步旋转,在转盘附近安装一个霍尔元件,转盘随轴旋转时,霍尔元件受到磁钢所产生的磁场影响。

霍尔转速传感器就是通过磁力线密度的变化,在磁力线穿过传感器上的感应元件时,产生霍尔电势。霍尔转速传感器的霍尔元件在产生霍尔电势后,会将其转换为交变电信号,最后传感器的内置电路会将信号调整和放大,输出矩形脉冲信号,其频率和转速成正比,测出脉冲的周期或频率即可计算出转速。

它是一种硅单片集成电路,器件的内部含有稳压电路、霍尔电势发生器、放大器、史密特触发器和集电极开路输出电路,具有工作电压范围宽、可靠性高、外电路简单<输出电平可与各种数字电路兼容等特点。

霍尔转速传感器的主要工作原理是霍尔效应,也就是当转动的金属部件通过霍尔传感器的磁场时会引起电势的变化,通过对电势的测量就可以得到被测量对象的转速值。霍尔转速传感器的主要组成部分是传感头和齿圈,而传感头又是由霍尔元件、永磁体和电子电路组成的。

2.5.2霍尔元件测速图

第 14 页 共 41 页

陕西理工学院毕业论文

通往定时器T2端口P1.0

2.5.3霍尔矩形波滤波电路

由霍尔电路出来的单向脉动直流波,是由强度不变的直流成分和一个以上的交流成分叠加形成的。为了使脉动直流电变得较为平稳,把其中的交流成分滤掉,叫做滤波。滤波有电容滤波、电感滤波等。本系统中对直流电采用电容滤波的方式,使得直流电压变得更加平稳,调速更加精确。电路图如图2-15所示:

图2-16 滤波电路

2.6直流电机驱动电路

第 15 页 共 41 页

陕西理工学院毕业论文

2.6.1 功率放大芯片的要求及选取 2.6.1.1 设计要求

这部分是开关电源的灵魂,是连接控制单元与功率管的桥梁。控制单元出来的电平一般无法直接驱动功率管,需要有一个电平的转换及电流驱动;对于驱动电路而言,功率管的栅极即为负载,一般的功率管栅源之间有一个寄生电容,故驱动电路的负载是一个容性负载,若驱动电流不够,或提高频率,方波会产生畸变,无法达到设计目的。因此功率电子的驱动是整个设计的重点,也是难点。

开关稳压电源中的功率开关管要求在关断时能迅速关断,并能维持关断期间的漏电流近似等于零;在导通时要求能迅速导通,并且维持导通期间的管压降也近似等于零。开关管趋于关断时的下降时间和趋于导通时的上升时间的快慢是降低开关晶体管损耗功率,提高开关稳压电源效率的主要因素。要缩短这两个时间,除选择高反压、高速度、大功率开关管以外,主要还取决于加在开关管栅极的驱动信号。驱动波形的要求如下:

a. 驱动波形的正向边缘一定要陡,幅度要大,以便减小开关管趋于导通时的上升时间;

b.在维持导通期间内,要能保证开关管处在饱和导通状态,以减小开关管的正向导通管压降,从而降低导通期间开关管的集电极功率损耗;

c. 当正向驱动结束时,驱动幅度要减小,以便使开关管能很快地脱离饱和区,以减小关闭储存时问;

d. 驱动波形的下降边缘也一定要陡,幅度要大,以便减小开关管趋于截止时的下降时间。理想的驱动波形如图1所示。其中图1(a)是漏极电压和电流波形图,图1(b)是栅极驱动信号波形图。

第 16 页 共 41 页

陕西理工学院毕业论文

2.6.1.2芯片选取

功率放大驱动芯片有多种,其中较常用的芯片有IR2110和EXB841,但由于IR2110具有双通道驱动特性,且电路简单,使用方便,价格相对EXB841便宜,具有较高的性价比,且对于直流电机调速使用起来更加简便,因此该驱动电路采用了IR2110集成芯片,使得该集成电路具有较强的驱动能力和保护功能。

芯片IR2110性能及特点:

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

第 17 页 共 41 页

陕西理工学院毕业论文

产品成本和减少体积。

② IR2110是一种双通道高压、高速电压型功率开关器件栅极驱动器,具有自居浮动电源,驱动电路十分简单,只用一个电源可同时驱动上下桥臂。但是IR2110芯片有他本身的缺陷,不能产生负压,在抗干扰方面比较薄弱,以下详细结合实验介绍抗干扰技术。

③ 芯片功能简介 IR2110包括:逻辑输入、电平转换、保护、上桥臂侧输出和下桥臂侧输出。逻辑输入端采用施密特触发电路,提高抗干扰能力。输入逻辑电路与TTL/COMS电平兼容,其输入引脚阈值为电源电压Vdd的10%,各通道相对独立。由于逻辑信号均通过电平耦合电路连接到各自的通道上,允许逻辑电路参考地(VSS)与功率电路参考地(COM)之间有-5 V~+5 V的偏移量,并且能屏蔽小于50 ns脉冲,这样便具有较理想的抗噪声效果。两个高压MOS管推挽驱动器的最大灌入或输出电流可达2 A,上桥臂通道可以承受500 V的电压。输入与输出信号之间的传导延时较小,开通传导延时为120 ns,关断传导延时为95 ns。电源VCC典型值为15 V,逻辑电源和模拟电源共用一个15 V电源,逻辑地和模拟地接在一起。输出端设有对功率电源VCC的欠压保护,当小于8.2 V时,封锁驱动输出。

④IR2110具有很多优点:自举悬浮驱动电源可同时驱动同一桥臂的上、下两个开关器件,驱动500 V主电路系统,工作频率高,可以达到500 kHz;具有电源欠压保护相关断逻辑;输出用图腾柱结构,驱动峰值电流为2 A;两通道设有低压延时封锁(50 ns)。芯片还有一个封锁两路输出的保护端SD,在SD输入高电平时,两路输出均被封锁。IR2110的优点,给实际系统设计带来了极大方便,特别是自举悬浮驱动电源大大简化了驱动电源设计,只用一路电源即可完成上下桥臂两个功率开关器件的驱动。 ⑤ IR2110的引脚图以及功能

IR2110将输入逻辑信号转换成同相低阻输出驱动信号,可以驱动同一桥臂的两路输出,驱动能力强,响应速度快,工作电压比较高,是目前功率放大驱动电路中使用最多的驱动芯片。其结构也比较简单,芯片引脚图如下所示:

第 18 页 共 41 页

陕西理工学院毕业论文

图2-12 IR2110引脚图

2.6.2驱动电路设计图

PWM波由P1.1端口引出

2.6.3驱动过程分析

产生高压侧门极驱动电压的前提是低压侧必须有开关的动作,在高压侧截止期间低压侧必须导通,才能够给自举电容提供充电的通路。因此在这个电路中,Q1、Q4或者Q2、Q3是不可能持续、不间断的导通的。我们可以采取双PWM信号来控制直流电机的正转以及它的速度。

将IC1的HIN端与IC2的LIN端相连,而把IC1的LIN端与IC2的HIN端相连,这样就使得两片芯片所输出的信号恰好相反。

第 19 页 共 41 页

陕西理工学院毕业论文

在HIN为高电平期间,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导通且Q1截止。此时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。设电源电压为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在0—1之间变化,因此λ在±1之间变化。如果我们联系改变λ,那么便可以实现电机正向的无级调速。

当λ=0.5时,Vout=0,此时电机的转速为0; 当0.5<λ<1时,Vout为正,电机正转;

第 20 页 共 41 页

陕西理工学院毕业论文

当λ=1时,Vout=V,电机正转全速运行。

系统电路经过单片机控制的PWM信号产生电路送来的PWM信号,经过功率放大电路,形成输出电压的波形图如下图如示:

第 21 页 共 41 页

陕西理工学院毕业论文

2.7 键盘电路

2.7.1 独立式键盘电路原理

图2-14 输出电压波形 独立式键盘虽然占用的端口比较多,但程序简单,又由于此次设计属于小系统,故可以在编程简单的情况下,将硬件稍微做的复杂一些。P1.1,P1.2,P1.3,P1.4是四个编码开关,当按键按下时,端口电压被拉到0,当按键弹起时,端口电压为1.故按以上顺序形成如下编码:0101,0100,0011,0010,0001,1111,1001,1010,1011,1100,1101 ,对应 –v, -0.8v. -0.6v,-0.4v ,-0.2v ,0v ,0.2v, 0,4v, 0.6v, 0.8v, v.( v为正向最大速度,-v为反向最大速度 )。P3.2口为中断口,当编码开关按照需求合下后,即速度设定好后,将中断开关按下,形成外部中断,CPU读取P1.1---P1.4口的值,对应开启一种PWM波,对应一种电枢电压,对应一种速度。

这种设计将键盘的操作,分成两大部分:选取速度和确定速度。因为这种键盘电路,在选取速度时,需要拨动好几个开关,如果不将中断独立出来,每拨一次,都会形成一次中断,也就是说选取了一种速度。那么在选取一个速度时,出现多种速度,由于惯性,某些编码形成的特殊组合速度,可能会对电机造成威胁。

2.7.2 连接图

第 22 页 共 41 页

陕西理工学院毕业论文

2.8计数器电路

2.8.1测量频率法

测量频率法的最简单的接口电路,就是直接运用52单片机的两个定时/计数器,一个作为定时,一个作为计数,这样就能得出电机转动的速率。此次毕设采用T/C2作为计数器,T/C1作为定时器,在T/C1定时时间里,对频率脉冲进行计数,T/C2的计数值便是单位时间里的脉冲个数。

在计数时会出现如下图所示的脉冲丢失情况。第一个丢失的脉冲,是由于开始检测时脉冲宽度小于机器周期T;第二个丢失的脉冲是由于脉冲的负跳变在定时之外。定时时间内出现脉冲丢失,将引起测量精度降低。脉冲频率越低,这种错误将会越大。显然,对于较低频率的脉冲测量不适合采用测量频率法。

第 23 页 共 41 页

陕西理工学院毕业论文

2.8.2带同步控制的频率测量

未··解决第一个脉冲丢失,可用门电路实现计数开始与脉冲上升沿的同步控制

控制时,首先P1.6发一个清零负脉冲,使U1,U2两个D触发器复位,其输出封锁与门G1,G2.接着由P1.7发一个启动正脉冲,其有效上升沿使U1=1,门G1被开放。之后,被测脉冲上升沿通过G2送T1计数;同时,U2输出的高电平INT0=1,定时器1的门控GATE有效,启动T/C1开始定时。直到定时结束,从P1.6发一负脉冲,清零U2,封锁G2,停止T/C2计数,完成一次频率采样过程。

3.软件设计

3.1软件设计整体理论

3.1.1控制器公式分类

在实际应用中,可以根据受控对象的特性和控制的性能要求,灵活地采用不同的控制组合,构成:

第 24 页 共 41 页

陕西理工学院毕业论文

比例(P)控制器

比例+积分(PI)控制器

比例+积分+微分(PID)控制器

式中

式中

3.1.2控制系统中的应用与图形解释

在单回路控制系统中,由于扰动作用使被控参数偏离给定值,从而产生偏差。自动控制系统的调节单元将来自变送器的测量值与给定值相比较后产生的偏差进行比例、积分、微分(PID)运算,并输出统一标准信号,去控制执行机构的动作,以实现对温度、压力、流量、也为及其他工艺参数的自动控制。

比例作用P只与偏差成正比;积分作用I是偏差对时间的积累;微分作用D是偏差的变化率;

第 25 页 共 41 页

陕西理工学院毕业论文

比例(P)控制

比例控制能迅速反应误差,从而减少稳态误差。除了系统控制输入为0和系统过程值等于期望值这两种情况,比例控制都能给出稳态误差。当期望值有一个变化时,系统过程值将产生一个稳态误差。但是,比例控制不能消除稳态误差。比例放大系数的加大,会引起系统的不稳定。

图2比例(P)控制阶跃响应

积分(I)控制

在积分控制中,控制器的输出与输入误差信号的积分成正比关系。

为了减小稳态误差,在控制器中加入积分项,积分项对误差取决于时间的积分,随着时间的增加,积分项会增大。这样,即使误差很小,积分项也会随着时间的增加而加大,它推动控制器的输出增大使稳态误差进一步减少,直到等于零。

积分(I)和比例(P)通常一起使用,称为比例+积分(PI)控制器,可以使系统在进入稳态后无稳态误差。如果单独用积分(I)的话,由于积分输出随时间积累而逐渐增大,故调节动作缓慢,这样会造成调节不及时,使系统稳定裕度下降。

第 26 页 共 41 页

陕西理工学院毕业论文

图3积分(I)控制和比例积分(PI)控制阶跃相应

微分(D)控制

在微分控制中,控制器的输出与输入误差信号的微分(即误差的变化率)成正比关系。的时候,抑制误差的作用也很大;在误差接近零时,抑制误差的作用也应该是零。由于自动控制系统有较大的惯性组件(环节)或有滞后(delay)组件,在调节过程中可能出现过冲甚至振荡。解决办法是引入微分(D)控制。

图4微分 (D)控制和比例微分(PD)控制阶跃相应

第 27 页 共 41 页

陕西理工学院毕业论文

总结: PI比P少了稳态误差,PID比PI反应速度更快并且没有了过冲。PID比PI有更快的响应和没有了过冲。 图5 增益常数(系数) Kp KI KD 上升时间 减少 减少 很小变化 表1

过冲 增大 增大 减小 建立时间 很小变化 增加 减少

稳态误差 减小 消除 很小变化 第 28 页 共 41 页

陕西理工学院毕业论文

图6 典型的PID控制器对于阶跃跳变参考输入的响应

3.1.3参数的调整

应用PID控制,必须适当地调整比例放大系数KP,积分时间TI和微分时间TD,使整个控制系统得到良好的性能。

最好的寻找PID参数的办法是从系统的数学模型出发,从想要的反应来计算参数。很多时候一个详细的数学描述是不存在的,这时候就需要实际地调节PID的参数.

Ziegler-Nichols方法

Ziegler-Nichols方法是基于系统稳定性分析的PID整定方法.在设计过程中无需考虑任何特性要求,整定方法非常简单,但控制效果却比较理想。

具体整定方法步骤如下:

1. 先置I和D的增益为0,逐渐增加KP直到在输出得到一个持续的稳定的振荡。

2. 记录下振荡时的P部分的临界增益Kc,和振荡周期Pc,代到下表中计算出KP,Ti, Td。

Ziegler-Nichols整定表

第 29 页 共 41 页

陕西理工学院毕业论文

表2

3.1.4 PID的增量算法

控制器的第k-1个采样时刻的输出值为:

增量式PID控制算法公式为:

其中

第 30 页 共 41 页

陕西理工学院毕业论文

如果计算机控制系统采用恒定的采样周期T,一旦确定A、B、C,只要使用前后三次测量的偏差值,就可以由(2-6)求出控制量。

增量式PID控制算法与位置式PID算法(2-4)相比,计算量小得多,因此在实际中得到广泛的应用。

位置式PID控制算法也可以通过增量式控制算法推出递推计算公式:

这就是目前在计算机控制中广泛应用的数字递推PID控制算法。

3.2软件设计流程图

第 31 页 共 41 页

陕西理工学院毕业论文

3.3软件具体程序设计

#include #include #include #include

#define uchar unsigned char #define uint unsigned int #define A 5 uchar msn=A; bit idata tf=0; int k1,k2,k3,k4,P1; sbit k1=P1 ^2 ; sbit k2=P1^3 ;

sbit k3=P1^ 4; /* 一排硬件键盘开关 */ sbit k4=P1^ 5;

sbit P1_0=P1^6; /*控制计数端口*/ sbit P1_1=P1^7;

sbit P1=P1^1; /* pwm输出端口*/

void delay_ms(unsigned int m) /1ms延迟*/ {

unsigned int a,b; for(a=m;a>0;a--) for(b=5340;b>0;b--); }

void speed_set(void) interrupt 1 /*键盘中断,优先级最高1级中断,使用INT0非*/ int speed;

speed=k1*8+k2*4+k3*2+k4*1 switch(speed)

第 32 页 共 41 页

陕西理工学院毕业论文

{ case 5:percent=0;break; /*0101,-1v*/

case 8: percent=1000;break; /*0100,-0.8v , percent为percent次1ms 高电平*/ case 3: percent= 2000;break; /*0011,-0.6v*/ case 2: percent=3000;break; /*0010,-0.4v*/ case 1: percent=4000; break; /* 0001,-0.2v*/ case 15: percent=5000;break; /*1111,0v停止*/ case 9: percent=6000;break; /* 1001,0.2v*/ case 10: percent=7000;break; /*1010,0,4v*/ case 11: percent=8000;break; /* 1011 ,0.6v*/

case 12: percent=9000;break; /*1100 ,0.8v*/ }

void main() /*主函数*/ {

TMOD=0x11; /*00010001,T1定时,T0定时*/ TCON=0x54; /*01010100*/ EA=1; IE= 0xAF

/*开中断,10101111*/

case 13: percent=10000;break; /*1101,1v*/

IP=FD /*11111101将定时器T/C0设为低优先级,其余优先级遵循硬件顺序*/ P1=1;

TH0=(65536-1000)/256; /*每次只定时1ms*/ TL0=(65536-1000)%256; //1ms TR0=1; }

void time0(void) interrupt 4 using 1 { int time=1;

uchard period=10000; /*周期不变,为10ms,即计数10000次,Tcy=1us*/ uchar percent

TH0=(65536-1000)/256; /*每次只定时1ms,重装初值*/ TL0=(65536-1000)%256; //1ms

第 33 页 共 41 页

陕西理工学院毕业论文

if(++time=percent) p1=0; /*控制脉冲次数来形成可变,更长的PWM波*/ else if(time=10000) {time=0;p1=1;}

delay_ms (5000) /*等待机器缓5秒*/ rate=(10/A)*count(); /*计算每秒的速度*/

(int)percent1=(((rate/60)/2000)+1)*5000; /*将速度转化成一个percent值*/ percent=percent+ IncPIDCalc(percent1); }

typedef struct PID /* PID参数定义*/ {

int SetPoint=percent; /*目标 Desired Value*/

int NextPoint=percent1

long SumError; /*累计误差*/

double Proportion; /*比例常数 Proportional Const*/ double Integral; /*积分常数 Integral Const*/ double Derivative; /*微分常数 Derivative Const */ int LastError; //Error[-1] int PrevError; //Error[-2] } ;

static PID sPID; static PID *sptr = sPID;

int IncPIDCalc(int NextPoint) /* PID增量计算程序*/ {

register int iError, iIncpid; /*当前误差*/ iError = sptr->SetPoint - NextPoint; /*增量计算*/ iIncpid = sptr->Proportion * iError /*E[k]项*/ - sptr->Integral * sptr->LastError /*E[k-1] *项/ + sptr->Derivative * sptr->PrevError; /*E[k-2]项*/

sptr->PrevError = sptr->LastError; /*存储误差,用于下次计算*/ sptr->LastError = iError; return(iIncpid); /*返回增量值*/

第 34 页 共 41 页

陕西理工学院毕业论文

}

uint count(void) /*对反馈矩形波计数,并计算速率的程序,T1定时,T2计数*/ { P1_0=0;P1_0=1; /*产生清0用负脉冲*/ T2MOD=0x08; /*对计数器T2初始化*/ T2CON=0x00

TH1=0x3c; TL1=0xb0; /*T/C1定时器100ms*/ TH2=0x00; TL2=0x00; /*T/C2计数器*/

TF2=1;TF1=1;TR2=1; TR1=1;EA=1; /*启动T/C,开中断*/ P1_1=0; P1_1=1; /*产生启动正脉冲*/ While (tf!=1); /*等待500ms定时到*/ P1_0=0; P1_0=1; /*产生负脉冲,封锁G2*/ TR2=0;TR1=0; /*关T/C*/ return(TH2*256+TL2); /*返回计数值*/ }

Void timer1(void) interrupt 2 using 1 /*100ms定时中断服务*/ {TH1=0x3c; /*重置初值*/ TL1=0xb0; msn--;

if (msn==1){msn=A;tf=1;} }

Void timer2(void) interrupt 3{}

4.系统调试

4.1软件调试

在程序编写的过程中,出现了很多问题,包括键盘扫描处理、PWM信号发生电路的控制、以及单片机控制直流电机的转动方向等问题,虽然问题不是很大,但是也让我研究了好长时间,在解决这些问题的时候,我不断向老师和同学请教,希望能通过大家一

第 35 页 共 41 页

陕西理工学院毕业论文

块的努力把软件编写的更完整,让系统的功能更完备。经过多天的努力探索,也经过老师的指导,大部分问题都已经解决,就是程序还是不能实现应该实现的功能,这让我很着急。后来经过一点一点的调试,并认真总结,发现了问题其实在编写中断处理程序时出现了错误,修改后即可实现直流电机调速的目的。总结这次软件调试,让我认识到了做软件调试的基本方法与流程:

(1)认真检查源代码,看是否有文字或语法错误

(2)逐段子程序进行设计,找出错误出现的部分,重点排查 (3)找到合适的方法,仔细检查程序,分步调试直到运行成功

4.2系统仿真

仿真软件选择Proteus ,在Proteus中画出系统电路图,当程序在Keil C中调试通过后,会生成以hex为扩展名的文件,这就是使系统能够在Proteus中成功进行仿真的文件。将些文件加载到单片机仿真系统中,验证是否能完成对直流电机的速度调节。若不成功,则重新回到软件调试步骤,进行软件调试。找出错误所在,更正后重新运行系统。硬件仿真电路的设计完全按照论文设计方案进行。在仿真的过程中也遇到了很多问题,比如元件选择、电路设计等,在元件选择方面,有的芯片是我以前学习的时候所没有遇到过的,所以在寻找和使用的过程中也遇到很多麻烦,但经过自己的努力,并借鉴从互联网上找到的资料,我逐渐掌握这些元件的使用方法和原理,为系统设计和仿真提供了良出的基础。另外,在进行仿真的时候,也经常出现程序没有错误了,但是仿真通不过的情况,这些大部分原因是在管脚定义上,很多系统仿真的问题都出在这。经过这段时间的努力,使我对仿真软件以及系统设计电路有了更深一步的认识,也为系统的成功奠定了基础。

第 36 页 共 41 页

陕西理工学院毕业论文

上面展示了PWM 的变化总过程,PWM 的占空比从正向最小开使增大,代表直流电机从开始正向加速。当到达最大的占空比时,即图形(4),pwm反向成负的最小占空比,即图像(5),表示电机的反相旋转。实际中电机需要一定的时间进行缓冲换向。随着占空比的依次增大,开始反向加速

第 37 页 共 41 页

陕西理工学院毕业论文

5. 结束语

本文所述的直流电机闭环调速系统是以低价位的单片微机8052为核心的,而通过单片机来实现电机调整又有多种途径,相对于其他用硬件或者硬件与软件相结合的方法实现对电机进行调整,采用PWM软件方法来实现的调速过程具有更大的灵活性和更低的成本,它能够充分发挥单片机的效能,对于简易速度控制系统的实现提供了一种有效的途径。而在软件方面,采用PLD算法来确定闭环控制的补偿量也是由数字电路组成的直流电机闭环调速系统所不能及的。曾经也试过用单片机直接产生PWM波形,但其最终效果并不理想,在使用了少量的硬件后,单片机的压力大大减小,程序中有充足的时间进行闭环控制的测控和计算,使得软件的运行更为合理可靠。

第 38 页 共 41 页

陕西理工学院毕业论文

6. 致谢

这次毕业设计,凝结了很多人的心血,在此我表示由衷的感谢。没有他们的帮助,我将无法顺利完成这次设计。

首先,我要特别感谢王春侠老师对我的悉心指导,在毕业设计期间王老师指导我、帮助我收集文献资料,理清设计思路,完善操作方法,并对我所做的设计提出有效的改进方案。老师渊博的知识、严谨的作风、诲人不倦的态度和学术上精益求精的精神让我受益终生。作为一个本科生的毕业设计,由于经验的匮乏,难免有许多考虑不周全的地方,如果没有导师的督促指导,想要完成这个设计是难以想象的。因此,特别需要感谢王春侠老师给予的耐心细致的指导,在此,再一次向王春侠教师以及关心帮助我的教师同学表示最诚挚的谢意!

其次,学校在这方面也给我们提供了很大的支持和帮助,学校领导比较重视,每个设计小组配有专门的指导老师,帮助我们能顺利完成整个设计。对于学校和老师为我的毕业设计所提供的极大帮助和关心,在此我致以衷心的感谢!

最后,还要感谢同学三年来对我的关心与支持,感谢各位老师在学习期间对我的严格要求。同时也要感谢身边朋友的热心帮助,没有你们的关心与支持,我不可能这么快完成我的毕业设计!这几个月的岁月是我学生生涯中最有价值的一段时光,也将会成为我以后永远的美好的回忆,在这里有治学严谨而不失亲切的老师,也有互相帮助情同骨肉的同学,更有和谐、融洽的学习生活氛围,这里将是我永远向往的地方。借此论文之际,我想向所有人表达我的最诚挚的谢意,愿我们将来都越来越好。

第 39 页 共 41 页

陕西理工学院毕业论文

参考文献

[1]李建忠,余新拴,吴耀华.单片机原理及应用(第二版)[M].西安电子科技大学出版社,2011.291. [2]谭浩强.C程序设计(第三版)[M].清华大学出版社,2007.20. [3]阎石.数字电子技术基础(第五版)[M].高等教育出版社,2010.3. [4]张友德.单片机原理应用与实验[M].复旦大学出版社,1992.42.

[5]张毅刚,彭喜源,谭晓钧,曲春波. MCS-51单片机应用设计[M].哈尔滨工业大学出版社,2001.35. [6]宋庆环,才卫国,高志.89C51单片机在直流电动机调速系统中的应用[M].唐山学院,2008.57 [7]陈 锟,危立辉.基于单片机的直流电机调速器控制电路[J].中南民族大学学报,自然科学版,2003.5.

[8]李维军 韩小刚 李 晋.基于单片机用软件实现直流电机PWM调速系统[J].维普资讯,2007.32. [9]曹巧媛.单片机原理及应用[M].北京电子工业出版社,1997.56.

[10]刘大茂,严飞.单片机应用系统监控主程序的设计方法[J].福州大学学报,自然科学福建农林大学硕士论文版,1998.3.

[11]朱定华,戴汝平.单片机原理与应用[M].清华大学出版社北方交通大学出版社,2003.29. [12]http://www.dianzi9.cn/danpianji/200808/10-846.html

[13]薛钧义, 张彦斌. MCS—51/96系列单片微型计算[M].西安交通大学出版社,1997.152. [14]陈国呈.PWM逆变技术及应用[M].中国电力出版社,2007.78.

[15]马忠梅 .单片机的C语言应用程序设计(第4版)[M].北京航天航空大学出版社,2007.43. [16]刘昌华,易逵.8051单片机的C语言应用程序设计与实践[M].国防工业出版社,2007.90.

第 40 页 共 41 页

因篇幅问题不能全部显示,请点此查看更多更全内容

Top