毕业设计(论文)-基于单片机的直流电机调速系统_第1页
毕业设计(论文)-基于单片机的直流电机调速系统_第2页
毕业设计(论文)-基于单片机的直流电机调速系统_第3页
毕业设计(论文)-基于单片机的直流电机调速系统_第4页
毕业设计(论文)-基于单片机的直流电机调速系统_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

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

文档简介

I 摘 要 本文主要研究了 MCS-51 系列单片机控制 PWM 信号从而实现对直流电机转 速进行控制的方法。文章中采用了专门的芯片组成了 PWM 信号的发生系统,并 且对 PWM 信号的原理、产生方法以及如何通过软件编程对 PWM 信号占空比进行 调节,从而控制其输入信号波形等均作了详细的阐述。 此外,本文中还采用了芯片 IR2110 作为直流电机正转调速功率放大电路 的驱动模块,并且把它与延时电路相结合完成了在主电路中对直流电机的控制。 另外,本系统中使用了速度传感器对直流电机的转速进行测量,经过滤波电路 后,将测量值送到 A/D 转换器,并且最终作为反馈值输入到单片机进行 PID 控 制运算,从而实现了对直流电机速度的控制。在软件方面,文章中详细介绍了 PI 运算程序,初始化程序等的编写思路和具体的程序实现。 关键词关键词: PWM 信号,速度传感器,PID 控制 II 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. Whats more, tachogenerator is used in this system to measure the speed of D.C. motor. The result of the measurement is sent to A/D converter after passing the filtering circuit, and finally the feedback single is stored in the single-chip computer and participates in a PI calculation. As for the software, this article introduces in detail the idea of the programming and how to make it. KeyKey words:words: PWM signal,tachogenerator,PI calculation III 目录 摘摘 要要 .I ABSTRACT.II 目录目录.III 第一章第一章 绪论绪论.1 1.1 开发背景.1 1.2 选题的目的和意义.1 1.3 调速方法.2 1.4 总体设计思路.4 第二章第二章 总体硬件电路设计总体硬件电路设计.5 2.1 系统总体设计框图.5 2.2 8051 扩展电路设计.5 2.2.1 8051 单片机简介.5 2.2.2 单片机系统中所用其他芯片选型.7 2.2.3 8051 单片机扩展电路及分析.10 2.3 PWM 信号发生电路设计.11 2.3.1 PWM 的基本原理 .11 2.3.2 PWM 发生电路主要芯片的工作原理 .12 2.3.3 PWM 信号发生电路设计及分析 .14 2.4 主电路设计.15 2.4.1 芯片 IR2110 性能及特点.15 2.4.2 IR2110 的引脚图以及功能.16 2.4.3 延时保护电路.16 2.4.4 主电路及分析.16 2.5 电源电路设计.18 2.6 键盘输入电路.20 2.7 显示电路.22 2.7.1 LCD 介绍.22 2.7.2 TS1620 引脚与功能.23 2.8 数据采集、闭环反馈电路设计.24 2.8.1 PC817 光电耦合器.24 2.8.2 闭环反馈电路及分析.25 IV 2.8.3 TL431 介绍.26 2.9 系统总体电路设计.27 第三章第三章 系统软件部分的设计系统软件部分的设计.28 3.1 PI 转速调节器原理图及参数计算.28 3.2 主程序设计.29 3.3 PI 控制算法子程序设计.30 3.4 键盘输入程序设计.31 3.4.1 按键识别方法。.31 3.4.2 按键方法程序框图.32 3.4.3 键盘功能处理.33 3.5 LCD 显示程序设计.34 3.6 PWM 占空比调节程序设计.35 3.7 反馈电路程序设计.36 第四章第四章 系统其他相关技术系统其他相关技术.38 4.1 抗干扰技术.38 4.2 软件调试 .39 4.3 系统仿真 .39 第五章第五章 结论结论.40 致谢致谢.41 参考文献参考文献.42 附录附录 1 程序清单程序清单.43 1 第一章 绪论 1.1 开发背景 现代工业生产中,电动机是主要的驱动设备,目前在直流电动机拖动系统 中已大量采用晶闸管(即可控硅)装置向电动机供电的 KZD 拖动系统,取代了 笨重的发电动一电动机的 FD 系统,又伴随着电子技术的高度发展,促使直流 电机调速逐步从模拟化向数字化转变,特别是单片机技术的应用,使直流电机 调速技术又进入到一个新的阶段,智能化、高可靠性已成为它发展的趋势。直 流电机调速基本原理是比较简单的(相对于交流电机) ,只要改变电机的电压就 可以改变转速了。改变电压的方法很多,最常见的一种 PWM 脉宽调制,调节电 机的输入占空比就可以控制电机的平均电压,控制转速。 PWM 控制的基本原理很早就已经提出,但是受电力电子器件发展水平的制 约,在上世纪 80 年代以前一直未能实现。直到进入上世纪 80 年代,随着全控 型电力电子器件的出现和迅速发展,PWM 控制技术才真正得到应用。随着电力 电子技术、微电子技术和自动控制技术的发展以及各种新的理论方法,如现代 控制理论、非线性系统控制思想的应用,PWM 控制技术获得了空前的发展,到 目前为止,已经出现了多种 PWM 控制技术。 1.2 选题的目的和意义 直流电动机具有良好的起动、制动性能,宜于在大范围内平滑调速,在许 多需要调速或快速正反向的电力拖动领域中得到了广泛的应用。从控制的角度 来看,直流调速还是交流拖动系统的基础。早期直流电动机的控制均以模拟电 路为基础,采用运算放大器、非线性集成电路以及少量的数字电路组成,控制 系统的硬件部分非常复杂,功能单一,而且系统非常不灵活、调试困难,阻碍 了直流电动机控制技术的发展和应用范围的推广。随着单片机技术的日新月异, 使得许多控制功能及算法可以采用软件技术来完成,为直流电动机的控制提供 了更大的灵活性,并使系统能达到更高的性能。采用单片机构成控制系统,可 以节约人力资源和降低系统成本,从而有效的提高工作效率。 2 传统的控制系统采用模拟元件,虽在一定程度上满足了生产要求,但是因 为元件容易老化和在使用中易受外界干扰影响,并且线路复杂、通用性差,控 制效果受到器件性能、温度等因素的影响,故系统的运行可靠性及准确性得不 到保证,甚至出现事故。 目前,直流电动机调速系统数字化已经走向实用化,伴随着电子技术的高 度发展,促使直流电机调速逐步从模拟化向数字化转变,特别是单片机技术的 应用,使直流电机调速技术又进入到一个新的阶段,智能化、高可靠性已成为 它发展的趋势。 1.3 调速方法 直流电动机的转速 n 和其他参量的关系可表示为 aaa E U -I R C n (1) 式 a U-电枢供电电压(V) a I-电枢电流(A) -励磁磁通()Wb R -电枢回路总电阻() E C-电势系数, pN C 60 E a ,p 为电磁对数,a 为电枢并联支路数,N 为 导体数。 由式 1 可以看出,式中 a U a R三个参量都可以成为变量,只要改变其中 一个参量,就可以改变电动机转速,所以直流电动机有三种调速方法: (1)改变电枢回路总电阻 a R (2)改变电枢供电电压 a U (3)改变励磁磁通。 本设计采用的是大功率半导体器件的直流电动机脉宽调速方法,其方法就 3 是通过脉宽调制(PWM)调整脉冲的宽度来实现电压大小的变化。 “脉冲宽了” 指的是高电平时间长了,低电平时间短了,是通过改变电机电枢电压接通时间 和通电周期的比值(即占空比)来控制电机速度,这种方法称为脉冲宽度调制 (Pulse Width Modulation)简称 PWM。即供电电压是宽度可调的脉冲电压, 当脉冲最宽时,相当于直流电,功率最大,转速最高。脉冲宽度减脉冲频率并 没有变。脉宽调制并不是直接调整电机的速度,而是改变电机的功率或扭矩。 扭矩大了,换向加快,转速就提高了。 调速原理如图 1 所示。通过控制脉冲占空比来改变电机的电枢电压。改变 占空比的方法有 3 种: (1)定宽调频法,这种方法是保持不变,只改变,这样周期(即频率)也 1 t 2 t 改变; (2)调宽调频法,保持不变,而改变,这样也使周期(即频率)改变; 2 t 1 t (3)定频调宽法,这种方法是使周期(即频率)不变,而同时改变和。 1 t 2 t 由于前二种方法是改变周期(或频率) ,当控制频率与系统的固有频率接近 时,将会引起振荡,用的比较少,因此本系统用的是定频调宽法。在脉冲作用 下,当电机通电时,速度增加。电机断电时,转速逐渐减小。只有按一定规律, 改变通电时间,即可实现对转速的控制。 图图 1.11.1 。 4 1.4 总体设计思路 单片机直流电机调速简介:单片机直流调速系统可实现对直流电动机的平 滑调速。PWM 是通过控制固定电压的直流电源开关频率,从而改变负载两端的 电压,进而达到控制要求的一种电压调整方法。在 PWM 驱动控制的调整系统中, 按一个固定的频率来接通和断开电源,并根据需要改变一个周期内“接通”和 “断开”时间的长短。通过改变直流电机电枢上电压的“占空比”来改变平均 电压的大小,从而控制电动机的转速。因此,PWM 又被称为“开关驱动装置” 。 本系统以 89C51 单片机为核心,通过单片机控制,C 语言编程实现对直流电机 的平滑调速。 系统控制方案的分析:本直流电机调速系统以单片机系统为依托,根据 PWM 调速的基本原理,以直流电机电枢上电压的占空比来改变平均电压的大小, 从而控制电动机的转速为依据,实现对直流电动机的平滑调速,并通过单片机 控制速度的变化。本文所研究的直流电机调速系统主要是由硬件和软件两大部 分组成。硬件部分是前提,是整个系统执行的基础,它主要为软件提供程序运 行的平台。而软件部分,是对硬件端口所体现的信号,加以采集、分析、处理, 最终实现控制器所要实现的各项功能,达到控制器自动对电机速度的有效控制。 5 第二章 总体硬件电路设计 2.1 系统总体设计框图 本系统采用键盘输入,LCD 显示。89C51 单片机控制输出数据,由 PWM 信号 发生电路产生 PWM 信号,送到直流电机,直流电机通过测速电路,滤波电路, 和 A/D 转换电路交数据重新送回单片机,进行 PI 运算,从而实现对电机速度和 转向的控制,达到直流电机调速的目的。 图图 2-12-1 系统总体设计图系统总体设计图 6 2.2 8051 扩展电路设计 2.2.1 8051 单片机简介 18051 单片机的基本组成 8051 单片机由 CPU 和 8 个部件组成,它们都通过片内单一总线连接,其基 本结构依然是通用 CPU 加上外围芯片的结构模式,但在功能单元的控制上采用 了特殊功能寄存器的集中控制方法。其基本组成如下图所示: 图图 2-22-2 80518051 基本结构图基本结构图 2CPU 及部分部件的作用功能介绍如下 中央处理器 CPU:它是单片机的核心,完成运算和控制功能。 内部数据存储器:8051 芯片中共有 256 个 RAM 单元,能作为存储器使用的 只是前 128 个单元,其地址为 00H7FH。通常说的内部数据存储器就是指这前 128 个单元,简称内部 RAM。 内部程序存储器:8051 芯片内部共有 4K 个单元,用于存储程序、原始数 据或表格,简称内部 ROM。 定时器:8051 片内有 2 个 16 位的定时器,用来实现定时或者计数功能, 并且以其定时或计数结果对计算机进行控制。 中断控制系统:该芯片共有 5 个中断源,即外部中断 2 个,定时/计数中断 2 个和串行中断 1 个。 38051 单片机引脚图 7 图图 2-32-3 80518051 单片机引脚图单片机引脚图 2.2.2 单片机系统中所用其他芯片选型 1地址锁存器 地址锁存器可以选择多种,有地址锁存功能的器件有 74LS373、8282、74LS273 等,8282 是地址锁存器,功能与 74LS373 类似,但本 系统选用 74LS373 作为地址锁存器,考虑到其应用的广泛性以及具有良好的性 价比,成为目前在单片机系统中应该较广泛的地址锁存器。74LS373 片内是 8 个输出带三态门的 D 锁存器。 当使能端呈高电平时,锁存器中的内容可以更新,而在返回低电平的瞬间 实现锁存。如果此时芯片的输出控制端为低,也即是输出三态门打开,锁存器 中的地址信息便可以通过三态门输出。其引脚图如图 2-4 所示: 8 图图 2-42-4 74L37374L373 引脚图引脚图 2程序存储器 存储器是单片机的又一个重要组成部分,其中程序存储器是单片机中非常 重要的存储器,但由于其存储空间不足,常常需要对单片机的存储器空间进行 扩展,扩展程序存储器常用芯片有 EPROM(紫外线可擦除型) ,如 2716(2KB) 、 2732(4KB) 、2764(8KB) 、27128(16KB) 、27256(32KB)等,另外还有5V 电擦除 E2PROM,如 2816(2KB) 、2864(8KB)等等。考虑到系统功能的可扩展 性以及程序功能的扩展,本系统采用 16KB 的 27128 作为程序存储器扩展芯片, 在满足系统要求的前提下还存有一定的扩展空间,是本系统最合适的程序存储 器扩展芯片。27128 的引脚图如图 2-5 所示: 图图 2-52-5 2712827128 结构图结构图 3数据存储器 9 8051 单片机有 128B RAM,当数据量超过 128B 也需要把数据存储区进一步 扩展。常用 RAM 芯片分静态和动态两种。静态 RAM 有 6116(2KB)、6264(8KB)等, 动态 DRAM2164(8KB)等,另外还有集成 IRAM 和 E2PROM。使用 E2PROM 作数据存 储器有断电保护数据的优点。 数据存储器扩展常使用随机存储器芯片,用的较多的是 Intel 公司的 6116 容量为 2KB 和 6264 容量为 8KB。本系统采用容量 8KB 的 6264 作为数据存储器 扩展芯片。其引脚图如图 2-6 所示: 图图 2-6 6264 引脚引脚图图 图图 2-6 6264 引脚引脚图图 10 2.2.3 8051 单片机扩展电路及分析 图图 2-72-7 80518051 单片机扩展电路及分析单片机扩展电路及分析 接线分析: 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:这组引脚的第一功能可以作为通用的 I/O 使用。它的第二功 能和 P0 口引脚的第二功能相配合,用于输出片外存储器的高 8 位地址,共同选 中片外存储器单元,但是并不能像 P0 口那样还可以传送存储器的读写数据。 P3.7-P3.0:这组引脚的第一功能为传送用户的输入/输出数据。它的第 二功能作为控制用,每个引脚不尽相同。 VCC为+5V 电源线,VSS为接地线。 11 ALE/:地址锁存允许/编程线,配合 P0 口引脚的第二功能使用,在 _ PROG 访问片外存储器时,8051CPU 在 P0.7-P0.0 引脚线上输出片外存储器低 8 位 地址的同时还在 ALE/线上输出一个高电位脉冲,其下降沿用于把这个片 _ PROG 外存储器低 8 位地址锁存到外部专用地址锁存器,以便空出 P0.7-P0.0 引脚 线去传送随后而来的片外存储器的读写数据。 /VPP:允许访问片外存储器/编程电源线,可以控制 8051 使用片内 ROM _ EA 还是片外 ROM。如果=1,那么允许使用片内 ROM;如果=0,那么允许使 _ EA _ EA 用片外 ROM。 XTAL1 和 XTAL2:片内振荡电路输入线,这两个端子用来外接石英晶体和微 调电容,即用来连接 8051 片内 OSC 的定时反馈电路。石英晶振起振后,应能在 XTAL2 线上输出一个 3V 左右的正弦波,以便于 8051 片内的 OSC 电路按石英晶 振相同频率自激振荡,电容 C1、C2 可以帮助起振,调节它们可以达到微调 fOSC 的目的。 2.3 PWM 信号发生电路设计 2.3.1 PWM 的基本原理 PWM(脉冲宽度调制)是通过控制固定电压的直流电源开关频率,改变负载 两端的电压,从而达到控制要求的一种电压调整方法。PWM 可以应用在许多方 面,比如:电机调速、温度控制、压力控制等等。 在 PWM 驱动控制的调整系统中,按一个固定的频率来接通和断开电源,并 且根据需要改变一个周期内“接通”和“断开”时间的长短。通过改变直流电 机电枢上电压的“占空比”来达到改变平均电压大小的目的,从而来控制电动 机的转速。也正因为如此,PWM 又被称为“开关驱动装置” 。如图 2-8 所示: 12 图图 2-82-8 PWMPWM 方波方波 设电机始终接通电源时,电机转速最大为 Vmax,设占空比为 D= t1 / T,则 电机的平均速度为 Va = Vmax * D,其中 Va指的是电机的平均速度;Vmax 是指电 机在全通电时的最大速度;D = t1 / T 是指占空比。 由上面的公式可见,当我们改变占空比 D = t1 / T 时,就可以得到不同的 电机平均速度 Vd,从而达到调速的目的。严格来说,平均速度 Vd 与占空比 D 并非严格的线性关系,但是在一般的应用中,我们可以将其近似地看成是线性 关系。 2.3.2 PWM 发生电路主要芯片的工作原理 1数据比较器 具有数据比较功能的芯片有 74LS6828,74LS6838 等 8 位数值比较器,4 位 数值比较器 4585 等。本 PWM 发生电路通过两片 4 位数值比较器 4585 就可实现 PWM 信号的产生,因此选用 4585 作为信号发生电路。芯片 4585 的引脚图: 图图 2-9 4585 引脚引脚图图 13 2串行计数器 系统 PWM 信号发生电路中还使用到一片串行计数器,有串行计数功能的芯 片有 4024、4040 等,它们具有相同的电路结构和逻辑功能,但 4024 是 7 位二 进制串行计数器,而芯片 4040 是一个 12 位的二进制串行计数器,所有计数器 位为主从触发器,计数器在时钟下降沿进行计数。当 CR 为高电平时,它对计数 器进行清零,由于在时钟输入端使用施密特触发器,故对脉冲上升和下降时间 没有限制,所有的输入和输出均经过缓冲。本系统使用 4040 作为串行计数器, 芯片 4040 的引脚图如图 2-11 所示: 2.3.3 PWM 信号发生电路设计及分析 图图 2-11PWM2-11PWM 信号发生电路信号发生电路 PWM 波可以由具有 PWM 输出的单片机通过编程来得以产生,也可以采用 PWM 专用芯片来实现。当 PWM 波的频率太高时,它对直流电机驱动的功率管要求太 高,而当它的频率太低时,其产生的电磁噪声就比较大,在实际应用中,当 PWM 波的频率在 18KHz 左右时,效果最好。在本系统内,采用了两片 4 位数值 比较器 4585 和一片 12 位串行计数器 4040 组成了 PWM 信号发生电路。 两片数值比较器 4585,即图上 U2、U3 的 A 组接 12 位串行 4040 计数输出 端 Q2Q9,而 U2、U3 的 B 组接到单片机的 P1 端口。只要改变 P1 端口的输出 值,那么就可以使得 PWM 信号的占空比发生变化,从而进行调速控制。 图图 2-10 4040 引脚引脚图图 14 12 位串行计数器 4040 的计数输入端 CLK 接到单片机 C51 晶振的振荡输出 XTAL2。计数器 4040 每来 8 个脉冲,其输出 Q2Q9 加 1,当计数值小于或者等 于单片机 P1 端口输出值 X 时,图中 U2 的(AB)输出端保持为低电平,而当计 数值大于单片机 P1 端口输出值 X 时,图中 U2 的(AB)输出端为高电平。随着 计数值的增加,Q2Q9 由全“1”变为全“0”时,图中 U2 的(AB)输出端又 变为低电平,这样就在 U2 的(AB)端得到了 PWM 的信号,它的占空比为(255 -X / 255)*100%,那么只要改变 X 的数值,就可以相应的改变 PWM 信号的占空 比,从而进行直流电机的转速控制。 使用这个方法时,单片机只需要根据调整量输出 X 的值,而 PWM 信号由三 片通用数字电路生成,这样可以使得软件大大简化,同时也有利于单片机系统 的正常工作。由于单片机上电复位时 P1 端口输出全为“1” ,使用数值比较器 4585 的 B 组与 P1 端口相连,升速时 P0 端口输出 X 按一定规律减少,而降速时 按一定规律增大。 2.4 主电路设计 功率放大驱动芯片有多种,其中较常用的芯片有 IR2110 和 EXB841,但由 于 IR2110 具有双通道驱动特性,且电路简单,使用方便,价格相对 EXB841 便 宜,具有较高的性价比,且对于直流电机调速使用起来更加简便,因此该驱动 电路采用了 IR2110 集成芯片,使得该集成电路具有较强的驱动能力和保护功能。 2.4.1 芯片 IR2110 性能及特点 IR2110 是美国国际整流器公司利用自身独有的高压集成电路以及无闩锁 CMOS 技术,于 1990 年前后开发并且投放市场的,IR2110 是一种双通道高压、 高速的功率器件栅极驱动的单片式集成驱动器。它把驱动高压侧和低压侧 MOSFET 或 IGBT 所需的绝大部分功能集成在一个高性能的封装内,外接很少的 分立元件就能提供极快的功耗,它的特点在于,将输入逻辑信号转换成同相低 阻输出驱动信号,可以驱动同一桥臂的两路输出,驱动能力强,响应速度快, 15 工作电压比较高,可以达到 600V,其内设欠压封锁,成本低、易于调试。高压 侧驱动采用外部自举电容上电,与其他驱动电路相比,它在设计上大大减少了 驱动变压器和电容的数目,使得 MOSFET 和 IGBT 的驱动电路设计大为简化,而 且它可以实现对 MOSFET 和 IGBT 的最优驱动,还具有快速完整的保护功能。与 此同时,IR2110 的研制成功并且投入应用可以极大地提高控制系统的可靠性。 降低了产品成本和减少体积。 2.4.2 IR2110 的引脚图以及功能 IR2110 将输入逻辑信号转换成同相低阻输出驱动信号,可以驱动同一桥臂 的两路输出,驱动能力强,响应速度快,工作电压比较高,是目前功率放大驱 动电路中使用最多的驱动芯片。其结构也比较简单,芯片引脚图如下所示: 图图 2-122-12 IR2110IR2110 引脚图引脚图 2.4.3 延时保护电路 利用 IR2110 芯片的完善设计可以实现延时保护电路。 IR2110 使它自身可对输入的两个通道信号之间产生合适的延时,保证了加 到被驱动的逆变桥中同桥臂上的两个功率 MOS 器件的驱动信号之间有一互琐时 间间隔,因而防止了被驱动的逆变桥中两个功率 MOS 器件同时导通而发生直流 电源直通路的危险。 16 2.4.4 主电路及分析 从上面的原理可以看出,产生高压侧门极驱动电压的前提是低压侧必须有 开关的动作,在高压侧截止期间低压侧必须导通,才能够给自举电容提供充电 的通路。因此在这个电路中,Q1、Q4 或者 Q2、Q3 是不可能持续、不间断的导 通的。我们可以采取双 PWM 信号来控制直流电机的正转以及它的速度。 将 IC1 的 HIN 端与 IC2 的 LIN 端相连,而把 IC1 的 LIN 端与 IC2 的 HIN 端 相连,这样就使得两片芯片所输出的信号恰好相反。 在 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 17 = ( 2 t1 T ) V / T = ( 2D 1 )V 定义负载电压系数为 ,= Vout / V, 那么 = 2D 1 ;当 T 为常 数时,改变 HIN 为高电平的时间 t1,也就改变了占空比 D,从而达到了改变 Vout 的目的。D 在 01 之间变化,因此 在1 之间变化。如果我们联系改 18 变 ,那么便可以实现电机正向的无级调速。 当 =0.5 时,Vout=0,此时电机的转速为 0; 当 0.5negsum) k2=possum-negsum; /存储结果 CY=0; temp1=k3+k1; /误差积累, if(CY=1) /16 位判断。 UK=0 xfe; else UK=k1+k3; else UK=1; P3=UK; 33 3.4 键盘输入程序设计 3.4.1 按键识别方法。 判断是否有键按下。 延时去除按键抖动。 再判断是否真的按下。 是真的按下,则执行按键处理程序。 等待按键释放。 在第 2 步中一般在软件上调用一个延时子程序来完成,实际也是一个 For 循环语句;在第 5 步中一般在软件上是用一个 While 循环语句判断等待按键发 生变化而退出该循环。这两步在主程序中执行要消耗 CPU 很多时间,使得 CPU 的利用率不高。对于实时性要求比较高的情况不建议使用这种方法解决按键问 题。为了提高 CPU 利用率,可以采用硬件扩展键盘识别专用芯片来完成,但这 样会造成成本的上升以及 CPU 或专用芯片的资源浪费。 为了考虑提高 CPU 的效率和充分利用 CPU 的资源等因素,可将第 2 步和第 5 步的延时和等待过程用其他方式来代替。具体实现方法如下: (1)定义一个按键是否成功按下标志变量 KeyCounter;等于 1 表示 按下成功,等于 0 表示不成功。 (2)定义一个软计数器加 1 的整型变量 KeyCounter。 (3)所有直接采用 While 循环语句或 For 循环语句的部分采用 If 语 句代替。 按键识别过程的方法步骤如下: (1) 判断按键是否按下。 (2) 若按下,则判断 KeyFlag 标志是否为 0。 (3) 若 KeyFlag 标志为 0,则 KeyCounter 软计数器加 1。 (4) 判断 KeyCounter 软计数是否到一定的数值(这一过程实际上是按键 去抖动处理)。 (5) 若 KeyCounter 计到一定数值上,则判断按键是否真的按下。 (6) 若按键真的按下,则置 KeyFlag 为 1,表示按键按下成功。 34 (7) 开始进行按键对应功能的处理过程。 (8) 判断按键是否释放。 (9) 若按键释放,则清 KeyFlag 为 0,同时清 KeyCounter 软计数器为 0。 3.4.2 按键方法程序框图 该按键识别过程的新方法程序框图如图 3.6 所示。在整个过程中没有出现 循环语句,从而使得主程序运行模块的效率得提高,保证了 CPU 的实时性。 图 3.4 按键识别方法程序框图 本实例中,CPU 对电机启动、停止控制键(RUNSTOPKEY) 、电机方向切换键 (DIRKEY)和键盘按键(PWMKEY)的识别方法与 4.3.4 相同,只是在框图中的 “按键功能处理”不同而已。 3.4.3 键盘功能处理 程序中改变 PWM 信号的占空比就可以改变电机的运转速度,由 ECCP 模块 35 产生的周期是 2ms,占空比可调的方波信号,通过设置 ECCP 模块可以得到高电 平可调的数值范围在 0-250 之间,程序中定义 MotorPWMData 变量用来存储该数 值。将该变量参数传给 Motor_Control()即可实现对电机速度的控制。而键 盘调节的是 PWM 信号的占空比,其数值变化范围 0-100 之间,需要将 0-100 之 间的占空比数值转成 0-250 之间的数值。 开 始 初始化 键盘扫描 数据读入 CPU 处理 控制和显示信息输出 结束 是否有键按下 图 3.5 键盘功能处理框图 3.5 LCD 显示程序设计 LCD 显示驱动单独做成一个源程序文件和头文件,可以方便以后其他模块 或其他应用程序的调用。在 LCD 显示驱动模块中主要是 LCD 初始化函数 LCD_Initize()、写 LCD 命令函数 Write_LCD_Command()、写 LCD 数据函数 Write_LCD_Data()和 LCD 字符的显示函数 LCD_Dispstr()。 1 1 LCDLCD 初始化函数初始化函数 36 LCD 模块在系统上点必须进行初始化,主要包括对接口数据的总线长度、 显示行数、字体类型和光标的模式控制等。整个初始化过程如图 3.10 所示。 图 3.10 LCD 初始化框图 3.6 PWM 占空比调节程序设计 通过软硬件结合方式,有效的实现 PWM 信号的发生与调节,其程序框图如 下: 37 3.7 反馈电路程序设计 反馈电路将电机的实际转速进行实时反馈,提高了电机的控制精度,程序优 化了硬件电路,实现其实时可调性 38 图 3.4 A/D 转换流程图 图 3.5 PI 反馈程序流程图 39 第四章 系统其他相关技术 4.1 抗干扰技术 针对直流电机运行环境恶劣、干扰严重的特点,从系统的硬件设计、软件 设计等多方面进行抗干

温馨提示

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

评论

0/150

提交评论