基于AT89C51单片机控制的双闭环直流调速系统

更新时间:2023-03-08 18:58:26 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

摘 要

随着时代的进步和科技的发展,电机调速系统在工农业生产、交通运输以及日常生活中起着越来越重要的作用,因此,对电机调速的研究有着积极的意义。长期以来,直流电机被广泛应用于调速系统中,而且一直在调速领域占居主导地位。

本设计是基于单片机控制的PWM直流电机调速系统,系统以STC89C51单片机为核心,以130小直流电机为控制对象,以L298N为H桥驱动芯片实现电动机的转速反馈控制。调节PWM 占空比从而控制电机两端电压,以达到调速的目的。用4*4键盘输入有关控制信号及参数,并在12864 LED上实时显示输入参数及动态转速。系统的硬件设计部分包括按键模块、电动机驱动模块、STC89C51单片机系统、光电门测速模块、保护电路、供电电源和直流电机。系统的软件部分包括键盘控制程序设计、显示程序设计、主控程序设计。整个系统实现了单片机控制电机的启制动、正反转、速度调节的效果。

关键词:STC89C51单片机;直流电机;PWM ;占空比

I

Abstract

With the progress of the times and the development of science and technology, motor speed control system in the industrial and agricultural production, transportation and daily life plays an increasingly important role, therefore, the study of motor speed has a positive meaning. Long-term since, the DC motor is widely used in the control system, and has been in control field to dominate.

The design is based on the single chip microcomputer control of PWM DC motor speed control system, the system uses STC89C51 single chip microcomputer as the core, with 130small DC motor as control object, with L298N H bridge driver chip to realize the motor speed feedback control. Regulation of the PWM duty cycle to control the motor voltage at both ends, so as to achieve the purpose of speed. With 4*4 keyboard input control signal and parameters, and in 12864LED real-time display input parameters and dynamic speed. System hardware design part comprises a key module, motor drive module, STC89C51 singlechip system, photoelectric door gun module, protection circuit, power supply and a DC motor. System software includes keyboard control program design, program design, main control program design. The entire system to achieve the single-chip microcomputer to control the motor start and brake, reverse, speed regulating effect.

Keywords :STC89C51 single chip microcomputer;DC motor;PWM;Duty ratio

II

目 录

摘 要 .................................................................................................................. I Abstract ............................................................................................................ II 1 引言 ............................................................................................................... 1 1.1 直流调速系统概况 .................................................................................... 1 1.2 设计目的和意义 ........................................................................................ 2 1.3 国内外发展现状 ........................................................................................ 3 1.4 设计要求和内容 ........................................................................................ 3 2 直流调速原理分析与方案确定 ................................................................... 4 2.1 直流PWM调速系统原理分析 ................................................................ 4 2.2 方案论证和选择 ........................................................................................ 6 3 系统硬件设计 ............................................................................................. 10 3.1 按键控制模块 .......................................................................................... 10 3.2 电动机驱动模块 ...................................................................................... 11 3.4 STC89C51单片机系统 ......................................................................... 16 3.5 光电门测速模块 ...................................................................................... 17 3.6 保护电路 .................................................................................................. 18 3.7 供电电源 .................................................................................................. 18 3.8 直流电动机的说明 .................................................................................. 18 3.9 系统总体设计电路图 .............................................................................. 19 4 系统软件设计 ............................................................................................. 21 4.1 键盘控制程序设计 .................................................................................. 21 4.2 显示程序设计 .......................................................................................... 23 4.3 主控程序设计 .......................................................................................... 25 5 实物的直流调速实现与调试 ..................................................................... 29 结 论 ............................................................................................................... 33 参考文献 ......................................................................................................... 34 致 谢 ............................................................................................................. 35

1

1 引言

1.1 直流调速系统概况

现代工业的电力拖动一般都要求局部或全部的自动化,因此必然要与各种控制元件组成的自动控制系统联系起来,而电力拖动则可视为自动化电力拖动系统的简称。在这一系统中可对生产机械进行自动控制。

随着近代电力电子技术和计算机技术的发展以及现代控制理论的应用,自动化电力拖动正朝着计算机控制的生产过程自动化的方向迈进。以达到高速、优质、高效率地生产。在大多数综合自动化系统中,自动化的电力拖动系统仍然是不可缺少的组成部分。另外,低成本自动化技术与设备的开发,越来越引起国内外的注意。特别对于小型企业,应用适用技术的设备,不仅有益于获得经济效益,而且能提高生产率、可靠性与柔性,还有易于应用的优点。自动化的电力拖动系统更是低成本自动化系统的重要组成部分[1]。

在如今的现实生活中,自动化控制系统已在各行各业得到广泛的应用和发展,其中自动调速系统的应用则起着尤为重要的作用。虽然直流电机不如交流电机那样结构简单、价格便宜、制造方便、容易维护,但是它具有良好的起、制动性能,宜于在广泛的范围内平滑调速,所以直流调速系统至今仍是自动调速系统中的主要形式。现在电动机的控制从简单走向复杂,并逐渐成熟成为主流。其应用领域极为广泛,例如:军事和宇航方面的雷达天线、火炮瞄准、惯性导航等的控制;工业方面的数控机床、工业机器人、印刷机械等设备的控制;计算机外围设备和办公设备中的打印机、传真机、复印机、扫描仪等的控制;音像设备和家用电器中的录音机、数码相机、洗衣机、空调等的控制。

随着电力电子技术的发展,开关速度更快、控制更容易的全控型功率器件

MOSFET和IGBT成为主流,脉宽调制技术表现出较大的优越性:主电路线路简单,

需要用的功率元件少;开关频率高,电流容易连续,谐波少,电机损耗和发热都较小;低速性能好,稳速精度高,因而调速范围宽;系统快速响应性能好,动态抗扰能力强;主电路元件工作在开关状态,导通损耗小,装置效率较高;近年来,微型计算机技术发展速度飞快,以计算机为主导的信息技术作为一崭新的生产力,正向社会的各个领域渗透,直流调速系统向数字化方向发展成为趋势[2]。

1

1.2 设计目的和意义

直流电动机具有良好的起动、制动性能,宜于在大范围内平滑调速,在许多需要调速或快速正反向的电力拖动领域中得到了广泛的应用。从控制的角度来看,直流调速还是交流拖动系统的基础。早期直流电动机的控制均以模拟电路为基础,采用运算放大器、非线性集成电路以及少量的数字电路组成,控制系统的硬件部分非常复杂,功能单一,而且系统非常不灵活、调试困难,阻碍了直流电动机控制技术的发展和应用范围的推广。随着单片机技术的日新月异,使得许多控制功能及算法可以采用软件技术来完成,为直流电动机的控制提供了更大的灵活性,并使系统能达到更高的性能。采用单片机构成控制系统,可以节约人力资源和降低系统成本,从而有效的提高工作效率[3]。

传统的控制系统采用模拟元件,虽在一定程度上满足了生产要求,但是因为元件容易老化和在使用中易受外界干扰影响,并且线路复杂、通用性差,控制效果受到器件性能、温度等因素的影响,故系统的运行可靠性及准确性得不到保证,甚至出现事故。

目前,直流电动机调速系统数字化已经走向实用化,伴随着电子技术的高度发展,促使直流电机调速逐步从模拟化向数字化转变,特别是单片机技术的应用,使直流电机调速技术又进入到一个新的阶段,智能化、高可靠性已成为它发展的趋势。

1.3 国内外发展现状

电力电子技术、功率半导体器件的发展对电机控制技术的发展影响极大,它们是密切相关、相互促进的。近30年来,电力电子技术的迅猛发展,带动和改变着电机控制的面貌和应用。驱动电动机的控制方案有三种:工作在通断两个状态的开关控制、相位控制和脉宽调制控制,在单向通用电动机的电子驱动电路中,主要的器件是晶闸管,后来是用相位控制的双向可控硅。在这以后,这种半控型功率器件一直主宰着电机控制市场。到70和80年代才先后出现了全控型功率器件GTO晶闸管、GTR、

POWER-MOSFET、IGBT和MCT等。利用这种有自关断能力的器件,取消了

原来普通晶闸管系统所必需的换相电路,简化了电路结构,提高了效率,提高了工作频率,降低了噪声,也缩小了电力电子装置的体积和重量。后来,谐波成分大、功率因数差的相控变流器逐步由斩波器或PWM变流器所代替,明显地扩大了电机控制

2

开关的速度很快,稳定性也极佳,是一种广泛采用的PWM调速技术。

兼于方案三调速特性优良、调整平滑、调速范围广、过载能力大,因此本设计采用方案三。

2.2.3 PWM调速工作方式

方案一:双极性工作制。双极性工作制是在一个脉冲周期内,单片机两控制口各输出一个控制信号,两信号高低电平相反,两信号的高电平时差决定电动机的转向和转速。

方案二:单极性工作制。单极性工作制是单片机控制口一端置低电平,另一端输出PWM信号,两口的输出切换和对PWM的占空比调节决定电动机的转向和转速。由于单极性工作制电压波开中的交流成分比双极性工作制的小,其电流的最大波动也比双极性工作制的小,所以我们采用了单极性工作制。

2.2.4 PWM调脉宽方式

调脉宽的方式有三种:定频调宽、定宽调频和调宽调频。我们采用了定频调宽方式,因为采用这种方式,电动机在运转时比较稳定,并且在采用单片机产生PWM脉冲的软件实现上比较方便。

2.2.5 PWM软件实现方式

方案一:采用定时器做为脉宽控制的定时方式,这一方式产生的脉冲宽度极其精确,误差只在几个us。

方案二:采用软件延时方式,这一方式在精度上不及方案一,特别是在引入中断后,将有一定的误差。故采用方案一。

2.2.6 编程语言的选择

在单片机应用系统开发中,常用的编程语言有汇编语言和C语言两种。这两种开发语言都具有各自的特点。以下就这两种开发语言的特点分别作简介并根据实际开发情况,选择适合的开发语言。

汇编语言的特点:可直接操纵系统的硬件资源,从而可以编写高质量的编码。但是采用汇编语言编写比较复杂的数值计算程序相对比较困难,又因汇编语言源程序的

8

可读性远不如高级语言,如果想修改程序功能,得花费心思重新阅读程序,效率不是很高。

C语言的特点:C语言程序的优点是可读性与可移植性好,程序开发周期短;

使用C语言编程更符合人的思维方式和思考习惯,编写代码效率高,维护方便;采用C语言易于开发复杂的单片机应用程序,有利于单片机产品的重新选型和应用程序的移植,大大提高了单片机软件的开发速度。

目前,在单片机的开发中,C语言得到越来越多的应用,而汇编语言也在很多环境下具有优势。实际应用中,要根据具体情况来选择开发语言。C语言不仅仅是在软件开发上,而且具体应用在单片机以及嵌入式系统开发上。本设计中首先对系统初始化,读取预置电压,预存电压值为10V,并将其发送给LCD显示电压。各部分软件的设计综合利用了C语言中结构式语句,函数的定义与调用,逻辑判断以及循环控制,充分体现C语言的简洁紧凑、运算符丰富、数据结构丰富以及可移植性高等优点。因此采用C语言编写程序[9]。

9

3 系统硬件设计

系统设计框图如下图所示,硬件电路结构初步设想由以下8部分组成:显示器、按键、供电电源、驱动电路、STC89C51单片机、直流电动机、光电门测速电路、保护电路。驱动电路部分采用了L298芯片作为驱动模块、H桥电路为功率放大电路所构成的电路结构。控制部分采用C语言编程控制,STC89C51芯片的定时器产生PWM脉冲波形,通过调节波形的宽度来控制电动机两端电压,便能够实现对电机速度的控制。硬件系统电路设计框图如图3.1所示。

供电电源 保护电路 显示器 STC89C51 光电门测速电路 按键 电动机 单片机PWM模拟发生器 3.1系统设计框图

电动机驱动电路

3.1 按键控制模块

系统里采用4*4矩阵键盘控制面板作为输入转速和控制电动机启停、正反转、置零和调节速度的模块。键盘的实物照如图,在具体操作过程中,它可以用来录入转速,A键控制电动机启停,B键控制电动机的正反转,*键可以置零。具体的调试在后面章节会做介绍。

图3.2键盘控制面板

10

3.2 电动机驱动模块

本次设计的驱动芯片为L298。L298N是ST公司生产的一种高电压、大电流电机驱动芯片。该芯片采用15脚封装。主要特点是:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;额定功率25W。内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器线圈等感性负载;采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。使用

L298N芯片驱动电机,该芯片可以驱动一台两相步进电机或四相步进电机,也可以

驱动两台直流电机。其实物图如图3.3。其内部框图如图3.4所示[10]。

图3.3 L298实物图

图 3.4 L298内部结构图

L298N 为SGS-THOMSON Microelectronics 所出产的双全桥步进电机专

用驱动芯片,内部包含4通道逻辑驱动电路,可同时驱动2个直流电机,内含二个

H-Bridge 的高电压、大电流双全桥式驱动器,每桥的三级管的射极是连接在一起的,

相应外接线端可用来连接外设传感电阻。L298芯片是具有15个引出脚的多瓦数直

11

插式封装的集成芯片。它接收标准TTL逻辑准位信号,可驱动46V、2A以下的电机,且可以直接透过电源来调节输出电压;此芯片可直接由单片机的IO端口来提供模拟时序信号。

使用直流驱动器可以驱动两台直流电机。分别为M1和M2。引脚A,B可用于输入PWM脉宽调制信号对电机进行调速控制。(如果无须调速可将两引脚接5V,使电机工作在最高速状态,既将短接帽短接)实现电机正反转就更容易了,输入信号端IN1接高电平输入端IN2接低电平,电机M1正转。(如果信号端IN1接低电平,

IN2接高电平,电机M1反转。)控制另一台电机是同样的方式,输入信号端IN3

接高电平,输入端IN4接低电平,电机M2正转。(反之则反转),PWM信号端A控制M1调速,PWM信号端B控制M2调速。如表3.1所示[11]。

表3.1 L298驱动电动机各个管脚信号高低

输入PWM信号改变脉宽可调速 电机 旋转方式 控制端IN1 控制端IN2 控制端IN3 控制端IN4 调速端A 正转 M1 反转 停止 正转 M2 反转 停止

高 低 低 / / 低 低 高 低 / / 低 / / / 高 低 / / / / 低 高 / 高 高 高 / / / 调速端B / / / 高 高 高 本驱动电路由L298芯片来驱动和控制电机,L298其实就是一个全桥驱动电路。驱动电路原理如图3.5所示。

12

(a)

以我们就采用M1的电机控制就可以了。

(b)

图3.5 驱动电路原理图

分别为L298 两桥的使能端,若为高电平则对应的桥处于工作状态。我们要控制电

机运动只需单片机送出一个信号就可以了。由于这次设计只要控制一个直流电机,所

本次设计采用的L298有很强的驱动能力驱动电流可达2A。 图中ENA和ENB

13

3.3 显示模块设计

液晶显示模块是 128×64 点阵的汉字图形型液晶显示模块,可显示汉字及图形,内置 8192个中文汉字(16×16 点阵)、128 个字符(8×16 点阵)及 64×256 点阵显示 RAM(GDRAM)。可与 CPU 直接接口,提供两种界面来连接微处理机:

8位并行及串行两种连接方式。具有多种功能:光标显示、画面移位、睡眠模式等。

实物图如图3.6。

图3.6 128×64 点阵的汉字图形型液晶显示器

在本次设计中需要显示黑线数量、运行的状态等一些数字、字母和汉字信息,因此使用12864比较合适。它是一种图形点阵液晶显示器,主要由行驱动器、列驱动器及128×64全点阵液晶显示器组成,可完成汉字(16×16)显示和图形显示。共有20个引脚,由于本次使用的是串口通信,不需要使用并口数据接线端口,因此在图中省略了。12864液晶显示器外观管脚图如图3.7[12]。

自带中文字库12864液晶2019181716151413121110987654321

图 3.7 12864管脚图

14

管脚说明如下:

(1)1脚VSS,模块的电源地。 (2)2脚VDD,模块的电源正端。 (3)3脚V0,LCD驱动电压输入端。

(4)4脚RS,并行的指令/数据选择信号;串行的片选信号。 (5)5脚R/W,并行的读写选择信号;串行的数据口。 (6)6脚E,并行的使能信号;串行的同步时钟。 (7)7~14脚DB0~DB7数据0~7。

(8)15脚PSB并/串行接口选择H-并行;L-串行。 (9)16脚NC空脚。

(10)17脚RST,复位低电平有效。 (11)18脚VEE,LCD驱动负电压输入端。 (12)19脚A背光源正极(5V)。 (13)20脚K背光源负极(0V)。

用带中文字库的128×64显示模块时应注意以下几点:

1、欲在某一个位置显示中文字符时,应先设定显示字符位置,即先设定显示地

址,再写入中文字符编码。

2、显示ASCII字符过程与显示中文字符过程相同。不过在显示连续字符时,

只须设定一次显示地址,由模块自动对地址加1指向下一个字符位置,否则,显示的字符中将会有一个空ASCII字符位置。

3、当字符编码为2字节时,应先写入高位字节,再写入低位字节。 4、模块在接收指令前,向处理器必须先确认模块内部处于非忙状态,即读取BF标志时BF需为“0”,方可接受新的指令。

5、“RE”为基本指令集与扩充指令集的选择控制位。当变更“RE”后,以后

的指令集将维持在最后的状态,除非再次变更“RE”位,否则使用相同指令集时,无需每次均重设“RE”位。

在本次设计中,显示器显示电机的设定速度和实际速度,通过按键的控制,在显示器上都会出现转速的相应调整。显示器的功能实现由程序的控制而来[13]。

15

3.4 STC89C51单片机系统

STC89C51单片机学习板是一款基于8位单片机处理芯片STC89C52RC的

系统。其功能强大,可以实现单片机开发的多种要求,学习、开发者可以根据需要选配多种常用模块,达到实验及教学的目的。

STC89C51系列单片机是宏晶科技推出的新一代超强抗干扰、高速、低功耗的

单片机,指令代码与传统8051单片机完全兼容[14]。

图3.8 STC89C51管脚图

单片机各功能部件的运行都是以时钟控制信号为基准,有条不紊地一拍一拍地工作,因此时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。电路中的电容C1和C2典型值通常选择为30pF左右。对外接电容的值虽然没有严格的要求,但电容的大小会影响振荡器的频率高低,振荡器的稳定性和起振的快速性,晶振的频率越高则系统的时钟频率也越高,单片机的运行速度也越快。本设计采用频率为12MHZ,微调电容C1和C2为30pF的内部时钟方式,电容为瓷片电容。

XTAL1RESETRESETXTAL2

图3.9时钟电路 图3.10 复位电路

该电路采用按键手动复位。按键手动复位为电平方式。其中电平复位是通过RET

端经电阻与电源VCC接通而实现的,当时钟频率适用于12MHZ时,C取100uF,

R取10K,为保证可靠复位,在初识化程序中应安排一定的延迟时间[15]。

16

3.5光电门测速模块

光电门测速用途:广泛用于电机转速检测,位置检测,脉冲计数等。它的实物模型如下图,它的工作电压为DC 3-5V,并且具有以下的特点: 1、具有信号输出指示 2、单路信号输出 3、输出有效信号为低电平 4、灵敏度不可调

5、可用于工件计数、电机测速 6、电路板输出开关量

图3.11 光电门测速模块图

在系统里面,通过电动机的转页上的缺口切断光电门测速装置所发出的光线可以达到给定转速信号的作用。转页上共有两个缺口,光电门通过发出的红外光被截断的频率从而知道电动机的转动频率。通过系统计数和对比控制从而给出较准确的转速。

本系统用到了光电耦合器,光电耦合器可以抑制尖脉冲和各种杂讯干扰信号。光电耦合器之所以在传输信号的同时能够有效得抑制尖脉冲和各种杂讯干扰,使得通道上的信号杂讯比大为提高,主要有以下几方面的原因:

1、光电耦合器的输入阻抗很小,只有几百欧姆,而干扰源的阻抗较大,通常为105-106欧姆。据分压原理可知,即使干扰电压的幅度较大,但馈送到光电耦合器

输入端的杂讯电压会很小,只能形成很微弱的电流,由于没有足够的能量而不能使二极管发光,从而被抑制掉了。

2、光电耦合器的输入回路与输出回路之间没有电气联系,也没有共地;之间分

布电容极小,而绝缘电阻又很大,因此回路一边的各种干扰杂讯都很难通过光电耦合器馈送到另一边去,避免了共阻抗耦合的干扰信号的产生。

3、光电耦合器可以起到很好的安全保障作用,即使当外部设备出现故障,甚至

17

输入信号短接时,也不会损坏仪表。因为光电耦合器件的输入回路和输出回路之间可以承受几千伏的高压。

4、光电耦合器的回应速度极快,其回应延迟时间只有10微秒,适于对回应速

度要求很高的场合[16]。

图3.12 光电耦合器

3.6 保护电路

在实物中采用保险管做为保护电路,在电动机运行过程中,如果出现特殊情况,电动机供电电流过大,会导致保险管里的保险丝熔断,这时候保险管会自动切断保护电路,达到保护整个系统的功能。

图3.13 保险管

3.7 供电电源

本系统采用稳定的直流电源供电,ST89C51单片机的供电电压为+5V,直流电动机的供电电压为+5V。由外面所接的变压器转变220V交流电成为稳定的直流电而来。可以为单片机和直流电动机提供稳定的直流电压[17]。

3.8直流电动机的说明

本系统采用130微型直流电机,直流电机为系统里的被控对象,我们的目的是实现它的启停、正反转和调速的功能。它的一些数据参数如下表:

18

表3.2 130电机数据表

电 压 工作范围 3-6V 额定电压 5V CONSTANT 空 载 转 数 r/min 8000 最 大 效 率 下 电 流 A 0.2 力 矩 g.cm 10 功 率 w 0.9 电 流 转 数 A 0.15 r/min 5000 采用PWM进行直流电机调速,其实就是把波形作用于电机驱动电路的使用端,因此有必要对电机驱动电路进行介绍。

V2 图3.14 H桥式电机驱动电路 V3 M V1 V4 上图所示为一个典型的直流电机控制电路。电路得名于“H桥式驱动电路”是因为它的形状酷似字母H。4个三极管组成H的4条垂直腿,而电机就是H中的横杠。电路中,H桥式电机驱动电路包括4个三极管和一个电机。要使电机运转,必须导通对角线上的一对三极管。根据不同三极管对的导通情况,电流可能会从左至右或从右至左流过电机,从而控制电机的转向。 当V1管和V3管导通时,电流就从电源正极经V1从左至右穿过电机,然后再经V3回到电源负极。该流向的电流将驱动电机顺时针转动。当三极管V1和V3导通时,电流将从左至右流过电机,从而驱动电机按特定方向转动。当三极管V2和V4导通时,电流将从右至左流过电机,从而驱动电机沿另一方向转动[18]。 3.9 系统总体设计电路图

系统总体电路如下图,系统由STC89C51单片机控制模块、按键面板、显示模块、直流电机驱动模块、保护电路、速度检测模块、直流电动机和供电电源这几个部分组成。系统实现了控制电动机的启停、正反转、复位和调节速度的功能。系统电路整体的原理是通过单片机给定PWM波形信号,使驱动模块驱动电机的运转,通过

19

调节PWM波的占空比,使得电动机的平均供电电压得到控制,从而调节电动机的转速,在系统里,转速反馈模块会及时反应实际转速,通过和设定转速的比较,单片机会调节实际转速,使其和设定转速越来越趋近,这就是转速反馈控制达到的效果[19]。

图3.15 系统总体设计电路图

20

4 系统软件设计

在直流调速系统中,对三个部分进行编写程序,分别为键盘控制程序、显示程序和主电路控制程序,这三个程序分别实现了键盘的按键控制功能、显示电动机转速的功能和整个系统的运行控制功能。下面我对这三大程序分别进行设计介绍并给出设计流程图[20]。

4.1 键盘控制程序设计

键盘控制流程图如下图所示,编写的程序经过初始化、识别是否有键入,经过接受指令和数据,进行分析并作出处理,然后传达给单片机。下面还给出了部分键盘控制设计的程序。

图4.1 键盘控制程序流程图

结束 键入信号可执行?键入信号可执行? Y 处理信号 调键值译码程序 N N 有键入信号?有键入信号? Y 置低电平 开始开开 初始化

21

部分键盘控制设计程序:

#include\ bit key_flag,flag_1; uchar flag; void delay_ms(uint z) { }

uint x; uchar y; for (x=z;x>0;x--) for (y=250;y>0;y--); {

case 0xee:num = 1;flag++;flag_1=1; case 0xde:num = 2;flag++;flag_1=1; case 0xbe:num = 3;flag++;flag_1=1; case 0x7e:num = 10; break; break; break; }

while(temp != 0xf0); do {

temp = temp & 0xf0; break;

temp = DUAN_KOU; }

while(temp != 0xf0);

22

{

}

case 0xeb:num = 7;flag++;flag_1=1; case 0xdb:num = 8;flag++;flag_1=1;

break; return num;

4.2 显示程序设计

显示程序流程图如下图所示,编写的程序经过初始化、清屏进入串口驱动模式,经过接受指令和数据,进行分析读取字符串,然后在显示屏上正确显示出来。下面还给出了部分显示设计的程序。

读取并显示字符串 调用译码子程序 写指令和数据 清屏,串口驱动模式 开始 初始化

检测显示状态正确否? Y 显示成功

图4.2显示程序流程图

N

23

部分显示设计的程序:

#include\

void write(bit start, unsigned char ddata); void sendbyte(unsigned char bbyte); void delaynms(unsigned int di); void lcdinit(void); {

delaynms(100); PSB=0; CS=1;

write(0,0x30); write(0,0x02); write(0,0x06); write(0,0x0c); write(0,0x01); }

void clr_12864()

void write(bit start, unsigned char ddata)

RESET=0; delaynms(1); RESET=1;

if(x==1)

write(0,0x80+y); else if(x==2)

write(0,0x90+y); else if(x==3)

write(0,0x88+y); write(0,0x98+y); //pos=x+y;

//sendbyte(0xf8);delaynms(5);sendbyte(pos);delaynms(2);

24

else if(x==4)

} { }

void print(uchar *str)

while(*str!='\\0') { }

write(1,*str); str++; if(x==1)

write(0,0x80+y); else if(x==2)

write(0,0x90+y); else if(x==3)

write(0,0x88+y); else if(x==4)

write(0,0x98+y); //pos=x+y;

//sendbyte(0xf8);delaynms(5);sendbyte(pos);delaynms(2);

4.3 主控程序设计

主控程序流程图如下图所示,编写的程序经过初始化、通过给定初值,使定时器中断得以控制,从而产生相应的PWM波形,使驱动芯片动作,控制电动机的正转、反转和停止,在这个过程里,速度检测反馈模块会把实时转速反馈给单片机,从而知道与设定转速是否相符,达到转速反馈控制的目的[21]。下面还给出了部分设计的程序。

25

N N 检测转速与给定相符吗? Y Y 运转正常 控制电机实时正转、反转和停止 反馈信号给单片机 产生PWM控制波 定时器中断控制 初始化 开始 给定初值 驱动芯片开始动作

需要重新给定初值吗? 需要重新给定初值吗?需要重新给定初值吗? N N 结束图4.3 主控程序流程图

Y

部分主控程序设计:

#include\#include\

uint counter,sheding,timer,PWM,TS,ZF,PK,keynum,keynum1,keynum2,temp;

26

uchar qian,bai,shi,ge; extern uchar flag; extern bit flag_1;

uchar digit[] ={%uchar table[4]; sbit P01=P0^1; sbit P02=P0^2; void Init_Timer1(void) {

TMOD |= 0x10 | 0x40; TH1=0xFF; TL1=255; ET1=1; TR1=1; } void Init_Timer0(void) {

TMOD |= 0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%6; ET0=1; TR0=1; } void main(void) {

P01=0; P02=0; write(1,digit[ge]); Init_Timer1(); Init_Timer0();

TS=70;

27

结 论

设计是学生理论联系实际的桥梁,是对课本知识的扩展和补充,是我们体察工程实际问题复杂性、学习和工作的又一次尝试。此次设计使我充分认识到生产的灵活性和多变性。设计中培养了我们发现问题、解决问题的能力,在自我分析和理解的基础上再经过指导老师的指导,经过半年多的不懈努力,此次毕业设计终于是完成了。

我深深的体会到,毕业设计不同于平时的作业,在设计中需要自己做出决策,即自己确定方案、选择流程、查取资料、进行过程和设备计算,并对自己的选择做出论证和核算,经过反复的分析比较,择优选定最理想的方案和合理的设计。为了写好这一毕业设计,我查阅了很多的参考资料,参照了同类工程处理设计的成功经验,根据本设计的具体情况和要求,做出了符合实际要求的、能够解决实际问题的设计。同时,通过此次毕业设计,培养了我分析和解决设计实际问题的能力。我相信这种严谨的学习方法、正确的设计思想、实事求是、严肃认真和高度责任感的工作作风对以后的工作和学习是大有裨益的。

本次完成的单片机控制PWM直流调速系统的设计能够实现通过单片机

STC89C51产生PWM信号对130直流电动机的转速控制。在设计中,通过对系

统各大模块的分析应用,使自己的设计基本达到了实现直流电动机调速的要求。由于时间和经费的限制,本次设计基本上完成了硬件部分的设计、产生PWM控制信号关键软件部分的设计和实物模型。从而形成了一个比较完整的基于单片机控制PWM直流调速系统,达到了预期的目标。

目前,PWM直流调速系统已经在日常生活中应用比较频繁,但通过本次设计,我还是学到和巩固了很多以前没掌握或粗浅了解的知识,使我对PWM直流调速系统有了更深次的了解和掌握,并通过本次硬件和软件的设计,相信能够为我以后的工作提供相当宝贵的经验和基础。

33

参考文献

[1] 何耀三.电气传动的微机控制[M].重庆:重庆大学出版社,1997 [2] 王兆安.电力电子技术[M].北京:机械工业出版社,2005

[3] 陈伯时.电力拖动自动控制系统[M].北京:机械工业出版社出版,2001 [4] 康华光.电子技术基础模拟部分[M].北京: 高等教育出版社, 1999 [5] 张深.直流无刷电机原理及应用[M].北京:机械工业出版社出版,1996 [6] 杜坤梅.电机控制技术[M].哈尔滨:哈尔滨工业大学出版社,2002

[7] 吴守箴.电气传动的脉宽调制控制技术[M].北京:机械工业出版社出版,2004 [8] 沈红卫.单片机应用系统设计实例与分析[M].北京:北京航空航天大学出版社,2003 [9] 张洪润.单片机应用技术教程(第二版)[M].北京:北京清华大学出版社,2003 [10] 付家才.单片机控制工程实践技术[M].北京:化学工业出版社,2003 [11] 付晓光.单片机原理与实用技术[M].北京:清华大学出版社,2004 [12] 韩志军.单片机应用系统设计[M].北京:机械工业出版社出版,2004 [13] 李朝青.单片机原理与接口技术[M].北京:北京航空航天大学出版社,2006 [14] 钟富昭.8051单片机典型模块设计与应用[M].北京:人民邮电出版社,2007 [15] 孟庆涛.图解电子控制电路[M].北京:人民邮电出版社,2006

[16] 薛钧义.MCS-51/96系列单片微型计算机及其应用[M].西安:西安交通大学出版社,1997 [17] 李广第.单片机基础(修订版)[M].北京:北京航空航天大学出版社,2001

[18] 陈光东.单片微型计算机原理与接口技术(第二版)[M].武昌:华中科技大学出版社,1999 [19] 张靖武.单片机系统的PROTEUS设计与仿真[M].北京:电子工业出版社,2007 [20] 谢维成.单片机原理与应用及C51程序设计[M].北京:清华大学出版社,2006

[21] Allen2 Bradley Company.1771 DeviceNet Scanner User Manual [M].New York:Allen2 Bradley Company , 1997

34

致 谢

本文是在导师刘丽老师的悉心指导下完成的。自做毕业设计以来,导师以渊博的学识和严谨、求实的工作态度指导和帮助我完成设计,在整个设计过程中,最让我佩服的是刘老师对工作的态度和对学生的耐心以及对学识的一丝不苟,特别是刘老师一方面要完成繁重的教学任务,一方面又不辞辛劳、细心指导我们。在此,我向刘老师表示最衷心的感谢。

在设计的过程中我遇到了许多的困难,尤其是相关程序的设计,刘老师和其他老师给了我很大启发和帮助。使我明白并掌握了在电路设计过程中解决问题的方法和技巧。最后在电路图纸的绘制阶段,我也学会了许多,能够更加熟练的操作常用的仿真软件,遇到困难时可以更加理智的去克服。在不断的完善这个设计的过程中也不断的完善了自我。

最后,我要对四年来辛勤培养我的电气工程系的领导和老师在此表示衷心的感谢,对评审本设计和参加同学答辩的老师表示诚挚的敬意。由于时间仓促,知识有限,本设计难免存在不足之处,在此敬请各位老师批评指正。谢谢!

感谢在大学学习期间与我一起度过的所有老师和同学们,这段难忘的时光是我一生的财富。

35

本文来源:https://www.bwwdw.com/article/wq96.html

Top