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

下载本文档

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

文档简介

1、 学校代码: 11059 学 号:0905074010 hefei university 毕毕业业论论文文(设设计计) b ba ac ch he el lo or r d di is ss se er rt ta at ti io on n 论文题目: 基于单片机的直流电机 pwm 调速系统 学位类别: 工 学 学 士 学科专业: 自 动 化 作者姓名: 马 明 全 导师姓名: 台 德 艺 完成时间: 2013 年 5 月 25 日 单片机控制的单片机控制的 pwm 直流电机调速系统设计直流电机调速系统设计 中中 文文 摘摘 要要 脉宽调制( pwm)具有调速精度高,响应速度快,调速范围宽和

2、损耗低的特点, 逐渐成为直流电机控制的主流技术, 并获得了广泛应用。 本系统采用 stc89c52 单片机作为系统的中央处理器,采用红外光电耦合器测量 电动机的转速,用矩阵键盘实现直流电机的速度设定及启动、停止、方向和加减速度 的控制,采用 qc12864 液晶显示屏幕实现电机实时转速、设定转速及转动状态的显示。 经测试:系统 稳定、灵活, 调速范围为 500-2000 转/每分,pwm 波调整步长为 1, 对应的电机转速的调整步长为10r/min。 关键词关键词: 直流电机直流电机; 调速;调速; stc89c52;pwm the design of pwm controlled dc mo

3、tor speed control system based on single chip abstract pulse width modulation (pwm) with high precision speed control, fast response, wide speed range and low loss characteristics, has become the mainstream technology to dc motor control ,and access to a wide range of applications. the system used s

4、tc89c52 microcontroller as the systems central processor, using infrared optocouplers to measure the motor speed, when matrix keyboard dc motor speed setting and start, stop, direction and control of acceleration and deceleration, using qc12864 lcd screen to achieve real-time speed of the motor, set

5、 the speed and rotational state of the display. tested: the system stable, flexible, speed range of 500-2000rev/minute, pwm wave adjustment in steps of 1, the corresponding adjustment of the motor speed in steps of 10rev/minute. keyword: dc motor; governor; stc89c52; pwm 目目 录录 第一章 前言.1 1.1 课题选择的背景 .

6、1 1.2 课题选择的意义 .1 1.3 国内外发展现状 .2 1.4 pwm 变频调速发展前景.3 1.5 课题研究内容及目标 .3 1.6 本章小结 .3 第二章 系统总体方案设计.4 2.1 设计的任务和要求.4 2.2 系统分析与选择 .4 2.2.1 控制器模块 .4 2.2.2 显示模块的分析与选择 .4 2.2.3 测速传感器的分析与选择 .4 2.2.4 pwm 实现方案论证.5 2.2.5 键盘的方案分析与选择 .6 2.2.6 输入输出通道的分析 .7 2.2.7 驱动模块的分析与选择 .7 2.3 系统硬件组成及各模块功能 .7 2.4 本章小结 .9 第三章 系统硬件设

7、计.10 3.1 cpu 主控制模块 .10 3.2 电源电路 .12 3.3 h 桥驱动电路.13 3.4 键盘部分 .14 3.5 电机测速电路的设计 .15 3.6 显示模块 .15 3.7 整体电路设计 .17 3.8 本章小结 .17 第四章 系统软件设计.18 4.1 主程序 .18 4.2 键盘扫描子程序 .19 4.3 pwm 信号发生程序.21 4.4 测速子程序 .22 4.5 显示子程序 .23 4.6 本章小结 .24 第五章 系统调试与分析.25 5.1 软件调试 .25 5.2 仿真软件调试 .26 5.3 硬件调试 .29 5.4 调试故障及原因分析.29 5.5

8、 本章小结 .30 总 结.31 参考文献.32 致 谢.33 附 录.34 附录 a 系统原理图 .34 附录 b 系统实物图.35 附录 c 部分程序.36 第一章第一章 前言前言 1.1 课题选择的背景课题选择的背景 直流电机是最常见的一种电机,它已经广泛应用于交通、化工、航空、机械 等领域中。早期的直流电机控制均以模拟电路为基础,采用运算放大器,非线性 集成电路以及少量的数字电路组成,控制系统的硬件复杂,而且系统非常不灵活, 功能单一,调试困难,阻碍了直流电机控制技术的发展和应用范围的推广。 pwm 控制技术是利用半导体器件的关断和导通,把直流电压变成电压脉冲列, 控制电压脉冲的周期和

9、宽度以达到变压目的,或控制电压脉冲的周期和宽度以达 到变压变频目的的一种控制技术。近年来,电气传动的 pwm 控制技术已成为电气 传动自动控制技术的热点之一。 随着近代电力电子技术和计算机技术的发展以及现代控制理论的应用,单片 机成为了直流电机调速不可或缺的部分之一。单片机具有体积小、功能强、重量 轻、抗干扰能力强、控制灵活、应用方便、价格低廉等特点,而被广泛应用于直 流电机调速系统。在实际应用中,电机是把电能转化为机械能的主要设备,因此 要求其具有较好的能量转换效率和能够根据生产工艺的要求调整转速。电机调速 性能对提高产品质量,提高劳动生产率和节省电能有着决定性的影响。所以,电 机调速一直是

10、研究的热点。 1.2 课题选择的意义课题选择的意义 直流电机具有良好的启动性能和调速特性,虽然各种类型的电机层出不穷, 然而在电子仪器设备、自动控制领域等方面,直流电机的应用仍然占有突出地位。 直流电机调速平滑,过载能力强,调速范围广,抗冲击负载能力强,可实现频繁 的无极快速起动、制动、加/减速和正/反转。为了满足生产过程自动化系统各种 不同的特殊要求,从而对直流电机提出了较高的要求,改变电枢回路电阻调速、 改变电压调速等技术已远远不能满足现代科技的要求,通过 pwm 方式控制直流电 机调速的方法就应运而生。 pwm 直流电动机调压调速系统拥有需用的功率元件少、控制方便、线路简单、 开关频率高

11、、低速性能好、稳速精度高及调速范围宽、控制方式多样化、能与数 字速度给定信号直接接口等优点,在工厂企业得到广泛的应用,有利于国家工业 化的发展。通过学习并熟练掌握这个调速系统,对今后的工作有非常重要的意义。 本课题是以单片机为主要控制核心,针对直流电机的调速系统进行设计,通 过本次毕业设计培养了我综合运用所学的知识和技能解决问题的能力,巩固和加 深对所学知识的理解;培养了我探索研究的习惯和工作能力。 1.3 国内外发展现状国内外发展现状 控制直流电机调速大致有下面几种方法:第一,最初的直流调速系统是采用 恒定的直流电压向直流电机供电,通过改变电枢回路中的电阻来实现调速。第二, 30 年代末,出

12、现了发电机电动机,人们开始配合采用电机扩大机、电磁放大器、 闸流管等控制器件来实现调速。第三,随着 1957 年世界上第一支晶闸管的诞生, 人们开始采用晶闸管整流装置调速。 近些年随着微型计算机、集成电路、新型电子器件及新的传感器的成熟应用, 直流电动机控制装置也继续向前发展。在微机直流电气传动控制系统的应用中, 倾向于数字化、智能化的思路,极大地促进了电气传动的发展。近年来,一些先 进国家已推出大规模使用微机控制为核心的直流电气传动设备1。 数字直流调速装置,在技术上它可以成功地完成从一个给定的信号,经过调 整参数设置,最后实现触发脉冲的数字化。使用一个通用的硬件平台和一系列的 附加软件程序

13、来控制一定功率和电流的直流电动机,一台控制器可以通过参数设 定和使用相应软件对很多被控对象进行控制,强大的通讯功能使得其可以很容易 与 plc 等其他通讯设备构成整个工业控制过程系统,并具有操作简单、抗干扰能 力强等特点,特别是方便和灵活的调试方法、完善的保护功能和整个控制器的小 型化,使模拟直流调速系统的不完善、调试不方便、笨重等不足之处完全克服, 另外数字控制系统还具有迅速排除故障、速度快、精度高、易于维护等优点,所 以它具有广阔的应用前景1。 目前我国的晶闸管直流调速系统也得到了迅速的发展和广泛的应用,已广泛 应用于我国的各个部门。我国关于数字直流调速系统的研究主要有:综合性最优 控制,

14、补偿 pid 控制,pid 算法优化。随着 pwm 技术的发展,我国直流电机调速 也正在向着脉宽调制方向发展。目前我国大部分数字化控制直流调速装置还是依 靠进口。但由于进口设备价格昂贵,也给出了国产全数字控制直流调速装置的发 展空间,所以国内许多科研单位、大专院校和厂家也都在开发全数字直流调速装 置1。 1.4 pwm 变频调速发展前景变频调速发展前景 20 世纪末,随着微电子控制技术、电力电子功率变换技术的成熟应用,交流 电动机变频调速技术以得到了惊人的发展。展望 21 世纪,交流电动机变频调速 技术将会有更大发展。 (1) 在变频控制电路方面:随着变频装置已经实现了数字化控制,控制技 术的

15、微电子数字化将是今后的发展趋势。变频装置的数字化技术是从 20 世纪 80 年代中期开始逐步发展到 16 位、32 位微处理器,目前普遍采用 dsp2。 (2) pwm 及多电平技术:随机 pwm 技术为消除机械和电磁噪音提供了一种新 的最佳途径,盲目地提高工作频率已经渐渐被随机 pwm 技术取代。由于 pwm 逆变 器的开关损耗随着功率和频率的增加而迅速增加,这就限制了 pwm 逆变器的高频 化和大功率,因此,在这些方面人类还有大量的工作。目前提高开关频率的一个 方法是采用谐波技术及在此基础上发展起来的软开关技术。在大功率装置方面, 除尽量采用优化 pwm 模式外,多电平逆变器也越来越受到人

16、们的重视,这样开关 损耗问题将转化为多管串联后的均压问题2。 1.5 课题研究内容及目标课题研究内容及目标 根据基于单片机的直流电机 pwm 调速系统要求确定整体的设计方案,完成单 片机控制的 pwm 直流电机调速系统的设计。该系统需要能实现用软件产生 pwm 信 号,并且实线对电机启动和停止、加速和减速、正传和反转的控制,同时还可以 实现电机转速的设定;最后在显示器上显示直流电机的实时转速、设定转速和转 动状态。经分析及设计,该系统将主要由输入模块、中央处理模块、显示器、电 机驱动模块和测速元件部分组成。 1.6 本章小结本章小结 本章节主要分析了直流电机 pwm 调速系统研究的背景和研究的

17、目的及意义; 并且介绍了直流电机控制系统的国内外研究现状及发展情况;pwm 变频调速的发 展前景;以及本课题的主要研究内容及预期目标做了简要说明。 第二章第二章 系统总体方案设计系统总体方案设计 2.1 设计的任务和要求设计的任务和要求 设计一个基于单片机的直流电机调整系统,要求用 pwm 方式控制电机的转速, 用独立式按键控制电机的起运,停止,正转,反转,在键盘和上位机设定电机的 转速和方向。完成直流电机和单片机接口电路的设计和系统软件的设计。本设计 的控制对象为直流电机,控制器为键盘,控制量为电机转速,显示量为电机实时 转速、转动方向和设定转速。 2.2 系统系统分析分析与选择与选择 根据

18、题目要求系统模块可以划分为:中央处理器模块、显示电路模块、控制 模块、电机测速模块及电机驱动模块。为很好的实现各模块功能,分别对每个模 块的设计方案进行了分析及选择。 2.2.1 控制器模块 根据题目要求,控制器主要功能有:产生初始的 pwm 波;接收来自控制模块 和测速模块的信号并加以分析处理;将信号的处理结果输出至显示模块和驱动模 块,前者以显示电机设定转速、实时转速及电机转动方向,后者以控制电机的运 转状态。对控制器的选择我们做出以下选择: 采用 stc89c52 作为本系统的中央处理装置。单片机不仅具有很好算术运算 能力,而且编程时灵活、自由度大。同时又具有功耗低、体积小、技术成熟和价

19、 格低廉等优点。因此,在本设计中采用 stc89c52 作为系统的中央控制器。 2.2.2 显示模块的分析与选择 本设计中要求实现电机的正反转及转速的设定,正反转的状态及电机转速的 设定值都需要用显示器进行显示,所以采用液晶显示屏幕作为系统的显示器,同 时液晶显示屏(lcd)具有功耗小、轻薄短小无辐射危险,平面直角显示以及影 象稳定不闪烁,可视面积大,画面效果好,抗干扰能力强,并可灵活的实现多种 状态。 2.2.3 测速传感器的分析与选择 对电机转速的测量,依据当今技术及本设计的现状,大致有以下三种可以执 行的测量方式。 方案一:使用测速发电机测速,电机的输出电动势 e 和转速 n 成线性关系

20、, 即 e=kn,其中 k 是常数。当改变旋转方向时,输出电动势的极性也相应改变。 方案二:采用霍尔传感器测速,霍尔元件是磁敏元件,在被测的旋转体上装 一个磁体,当电机旋转时,每当磁体经过霍尔元件,霍尔元件就发出一个信号, 经放大整形得到脉冲信号,送至单片机进行运算。 方案三:采用红外光电耦合器测速,发射管发射信号,接收管接受到信号时 输出脉冲。电机转动时,每转半圈 out 端输出一个上脉冲,然后用单片机在单位 时间里面来采集上升源的个数,这样就完成速度的采集。 经比较,方案一中测速发电机的安装不如方案二中霍尔元件安装方便,准确 率也没方案二的高,并且方案二不需要 a/d 转换,测量值直接可以

21、被单片机接收。 但方案二中霍尔传感器的采购不是很方便,价格比较也比较昂贵,方案三中硬件 电路简单,器件采购方便,更重要的是它具有方案二的几乎所有的优点,故选择 方案三。 方案三中具体的记数方法是通过单片机记数时间 s(秒)内的脉冲数 n,从 而计算得到每分钟的转速:m=n/s60。同时还可以采用定时的方法:通过定时 器记录脉冲的周期 t,这样每分钟的转速:m=60/t。比较两个计数方法,方法一 的误差主要是1 误差(量化误差),假设电机的最低设计转速为 120 转/分, 则记数时间 s=1s,所以其误差的绝对值|=|(n1)/s60-n/s60=60(转/分) ,误差计算公式表明,增大记数时间

22、可以提高测量精度,但这样做却增大了速度 采样周期,会降低系统控制灵敏度。而方法二所产生的误差主要是标准误差,并 且使采样时间降到最短,误差 =60/(t1)-60/t,设电机速度在 120 6000 转/分之间,那么 0.01st0.5s,代入公式得:0.00024|0.6(转 /分)。由此明显看出,方法二在测量精度及提高系统控制灵敏度等方面优于方法 一,所以在这里我采用方法二进行计数。 2.2.4 pwm 实现方案论证 (1)pwm 调速工作方式 方案一:双极性工作制。在一个脉冲周期内,来自单片机两个端口的两个控 制信号电平高低相反,这样两个控制信号的高电平时差控制着电动机的转向和转 速。

23、方案二:单极性工作制。pwm 波的占空比取决于单片机的一个端口,另一个 端口为低电平,两个输出口的切换控制着电机的正反转,pwm 占空比控制着电机 的转速。 由于单极性工作制相较于双极性工作制具有电流最大波动小和电压波中的交 流成分小的优点,所以我们本系统采用单极性工作制3。 (2) pwm 调脉宽方式 调脉宽的方式有三种:定频调宽、定宽调频和调宽调频。我们采用了定频调 宽方式,因为采用这种方式,电动机在运转时比较稳定,不会与单片机中的其他 频率产生冲突,并且在单片机产生 pwm 脉冲的软件实现上也比较方便3。 (3) pwm 软件实现方式 方案一:采用软件延时的方式,此方式的缺点是在引入中断

24、之后,将会有一 定的误差。 方案二:采用定时器作为脉宽控制的定时方式,此方式产生的脉冲宽度极其 精确,最大误差只能达到几个微秒,综合考虑我们采用方案二4。 2.2.5 键盘的方案分析与选择 键盘是单片机不可缺少的输入设备和实现人机对话的纽带。常用的键盘有独 立式键盘和行列式键盘等。 方案一:独立式键盘 独立式键盘与单片机进行接口时,键盘接口使用的 i/o 线和键盘的数量相等, 其特点为其按键的数量比较少,且键盘中各按键工作时不会相互干扰。因此可以 依据设计需要实现对按键的灵活编码。这种形式的键盘结构简单,且按键识别比 较容易。独立键盘的缺点是需要占用比较多的 i/o 口线,当单片机应用系统键盘

25、 中需要的按键比较少或 i/o 口线比较富余时,可以采用这种类型的键盘。 方案二:行列式键盘 行列式键盘是用 n 条 i/o 线作为行线,m 条 i/o 线作为列线组成的键盘,按 键在行线和列线的每个交叉点上,按键中按键的个数是 m*n 个。这种形式的键盘 结构,能够有效的提高单片机系统中 i/o 的利用率,行列式键盘适用于按键输入 多的情况5。 本设计不仅要求对电机的转速进行设定,而且要求实现电机的启动、停止、 加速、转速、正转和反转控制,势必需要至少十个以上的按键,又根据以上的论 述,故采用方案二,以提高单片机系统中 i/o 的利用率,从而节省了单片机系统 中的 i/o 端口。 2.2.6

26、 输入输出通道的分析 由于选用了红外光电耦合器进行测速,微处理器采集的信号是脉冲信号,故 无需经过 a/d 转换就可以输入到单片机中。由于采用 pwm 控制直流电机的电枢 电压,单片机的输出信号通过驱动进行放大后就是电机的电枢电压,从而通过控 制 pwm 波的占空比来控制电机的转速。 2.2.7 驱动模块的分析与选择 本设计的核心部分就是对小型直流电动机进行可逆的 pwm 调速控制。要实现 这些功能,基本上采用的是由四个开关管构成的 h 型桥式驱动电路。对于小功率 直流电机驱动有 h 桥式驱动和 l298 驱动两种方法,l298 驱动芯片虽然简单,驱 动能力也较强,但由于其价格昂贵,且本设计中

27、电机属于小功率直流电机,h 桥 式驱动电路就足以驱动,并且价格便宜,故而本设计采用 h 桥式驱动作为小功率 直流电机的驱动模块6。 2.3 系统硬件组成系统硬件组成及各模块功能及各模块功能 本调速系统主要是由:单片机、驱动电路、直流电机、测速元件、接口电路、 显示器和输入控制模块等部分组成。硬件电路组成框图如图 2.1 所示: 单片机 矩阵键盘 输入模块 显示模块 控制及 驱动电路模块 直流电机 红外 测速模块 图 2.1 直流电机调速系统硬件 本调速系统各模块的功能分析如下: 中央控制模块:这部分电路的核心部件是 stc89c52 单片机,它的功能总得 来说分为三个方面,一、通过内部程序设定

28、出初始 pwm 信号,输送给桥式驱动 从而控制电机运行;二、接受来自键盘和红外光电接收管的信号再加以分析和处 理;三、对处理的结果进行输出,如控制七段数码管的显示和点亮发光二极管。 输入控制模块:这一部分主要是利用带中断的矩阵键盘来实现对直流电机的 控制。由矩阵键盘十六个按键中的十个键实现对转速的分级设定(0 键按下设定 转速为 0,1 键按下设定转速为 5,2 键按下设定转速为 25,3 键按下设定转速为 40,4 键按下设定转速为 60,5 键按下设定转速为 80,6 键按下设定转速为 100,7 键按下设定转速为 120,8 键按下设定转速为 135,9 键按下设定转速为 150。其中

29、转速单位为 r/min),另外六个按键分别实现电机的开始、停止、加速、减速、 正转和反转的六种控制。 驱动模块:采用 h 桥式驱动来驱动电机及实现电机的正反转。驱动接受来自 p2.0 和 p2.1 口的 pwm 波,然后用来驱动直流电机。本设计中驱动的是小功率直 流电机,所以对驱动的驱动能力要求不是太高,一般的桥式驱动既能满足要求。 测速模块:采用红外光电耦合器测速,发射管发射信号,接收管接受到信号 时输出脉冲。电机转动时,每转半圈 out 端输出一个上脉冲,然后用单片机在单 位时间里面来采集上升源的个数,这样就完成速度的采集。 显示模块:本设计采用液晶显示屏(lcd)作为本设计的显示模块。液

30、晶显 示屏上显示的内容包括:电机的(正转或反转)、电机的设定转速及电机的实时 转速。 2.4 本章小结本章小结 本章主要介绍了直流电机调速系统的方案分析与选择,应用了适合于该系统 的电机调速控制方案和总体设计方案;在器件的选择方面也做了比较具体的说明; 最后又详细介绍了各个模块实现的具体功能。在本章最后完成了基于单片机 pwm 直流电机调速系统的硬件组成框图设计。 第三章第三章 系统硬件系统硬件设计设计 本章将基于上一章为基础对硬件系统各部分作进一步的分析,并且对硬件各 部分电路加以分析和呈现。下面将分别对 cpu 主控制模块、电源、pwm 波形产生 部分、电机驱动部分、键盘输入部分、测速部分

31、及显示部分进行设计。 3.1 cpu 主控制模块主控制模块 本系统选用 stc89c52 单片机作为主控制器。主要功能包括三个方面:接受 外界信号、处理接受信号和输出控制信号。外界信号主要指来自独立式键盘和红 外光电耦合器接收管的信号;处理接受信号就是对接受的信号进行作用分析,并 作出相应处理;输出信号包括输出 pwm 波控制电机转动和使数码管显示电机实时 转速。 stc89c52 单片机内部资源很丰富,不需要扩展芯片。在用 stc89c52 单片机 设计系统时,首先要构成一个最小系统,单片机才能正常工作,即将单片机接上时 钟(晶振)电路和复位电路。下面介绍单片机的设计部分分析: (1)单片机

32、 stc89c52 stc89c52 单片机是 msc-51 系列产品的升级版,有世界著名半导体公司 atmel 在购买 msc-51 设计结构后,利用自身优势技术闪存生产技术对旧技术 进行改进和扩展,同时使用新的半导体生产工艺,最终得到成型产品。与此同时, 世界上其他的著名公司也通过基本的 51 内核,结合公司自身技术进行改进生产, 推广一批如 51f020 等高性能单片机7。 stc89c52 片内集成 256 字节程序运行空间、8k 字节 flash 存储空间,支持 最大 64k 外部存储扩展。根据不同的运行速度和功耗的要求,时钟频率可以设置 在 0-33m 之间。片内资源有 4 组 i

33、/o 控制端口、3 个定时器、8 个中断、软件设 置低能耗模式和断电保护。可以在 4v 到 5.5v 宽电压范围内正常工作。不断发展 的半导体工艺也让该单片机的功耗不断降低。同时,该单片机支持计算机并口下 载,简单的数字芯片就可以制成下载线,仅仅几块钱的价格让该型号单片机畅销 10 年不衰。根据不同场合的要求,这款单片机提供了多种封装,本次设计根据最 小系统有时需要更换单片机的具体情况,使用双列直插 dip-40 的封装。如图 3.1 所示: 图 3.1 dip-40 封装 stc89c52 引脚图 (2)复位电路及时钟电路 复位电路和时钟电路是维持单片机最小系统运行的基本模块。复位电路通常

34、分为两种:上电复位和手动复位。如图 3.2 所示: rst 单单单 c1 r1 gnd vcc rst 单单单 c2 r2 gnd vcc r3 s? sw-pb 上电复位 手动复位 图 3.2 复位电路图 有时系统在运行过程中出现程序跑飞的情况,在程序开发过程中,经常需要 手动复位。所以本系统中选用手动复位的方式。 程序的运行速度取决于时钟的频率,而且高频率时钟的应用还可以实现更高 的信号的采样率。然而采用高时钟的代价是功耗大,同时对系统级运行环境都比 较高。本系统中单片机本身用于控制,不需要太高频率的时钟,所以选择适当频 率的时钟,同时适当频率的晶振有利于选频信号强度的准确度。本系统选取

35、11.095mhz 无源晶振接入 xtal1 和 xtal2 引脚,并联 2 个 20pf 陶瓷电容帮助起振。 最小系统如图 3.3 所示: 图 3.3 stc89c52 最小系统 3.2 电源电路电源电路 由于整个系统都是用单片机、小型电机和各类芯片以及电阻、电容组成的, 其工作电压为+5v,不需要负电压,所以可采用三端固定集成稳压器 lm2940 稳压 芯片。lm2940 为输出电压固定的低压差三端稳压器;其输入电压为 7.2v,输出 电压 5v,输出电流为 1a;输出电流为 1a 时,最小输入输出电压差小于 0.8v;最 大输入电压为 26v,输入电压范围比较大;工作温度也比较大,可以在

36、-40 至 +125 摄氏度范围内正常工作;内含静态电流降低电路、电流限制、过热保护、电 池反接和反插入保护电路。鉴于以上这些优点和其适合于本设计的要求,故采用 lm2940 作为整个系统的供电芯片。其中输入电压为直流 7.2v,后接 1uf 和 22uf 电容进行滤波。电源模块电路图如图 3.4 所示。 图 3.4 电源电路 3.3 h 桥驱动电路桥驱动电路 h 桥式电机驱动电路包括一个电机和四个三极管,要使电机运转,就必须导 通对角线上的一对三极管。根据不同三极管对电流的导通情况,电流会从左至右 或从右至左流过电机,从而控制电机的转向。 在本设计中采用 h 桥功率驱动电路,h 桥功率驱动电

37、路可应用于步进电机、 直流电机及交流电机等的驱动。直流电机控制使用 h 桥驱动电路(图 3.5),当 pwm1 为低电平时,通过对 pwm2 输出占空比不同的矩形波使三极管 q1 和 q6 同时 导通而 q5 截止,从而使电机的正向转动及实现了转速的控制;同理,当 pwm2 为高电平,通过对 pwm1 输出占空比不同的矩形波使三极管 q2 和 q5 同时导通而 q6 截止,从而使电机反向转动及实现转速的控制8。 图 3.5 h 桥的电机驱动电路 3.4 键盘部分键盘部分 在第二章已经选用了 4*4 矩阵键盘作为该系统的输入设备,由矩阵键盘十六 个按键中的十个键实现对转速的分级设定,另外六个按键

38、分别实现电机的开始、 停止、加速、减速、正转和反转的六种控制。其与单片机的接口电路如图 3.6 所 示。 图 3.6 矩阵键盘电路硬件图 3.5 电机测速电路的设计电机测速电路的设计 理论上,是先将转速转化为某一种可以方便测量的电量来进行测量,如电压、 电流等。在我的设计中采用了另外的一种方法,就是将直流电机的转速测量转化 换为电机脉冲频率的测量。基于这一思想,采用了三极管输出型红外光电耦合器。 如图 3.7 所示,在电机转轮上安装一个旋转挡板,这样,电机每转一圈,三级管 (红外接收头)透光导通两次,out 端输出一个上脉冲,然后用单片机来计数单 位时间上升沿的个数,这样就完成了直流电机转速的

39、测量9。 图 3.7 电机测速电路 3.6 显示模块显示模块 本设计采用 12864 lcd 显示屏作为显示设备,12864 是单片机应用系统中常 用的显示设备。 128x64 是指四位/八位并行、两线或三线串行的接口方式,内部 包含国标一、二级简体中文字符点阵图形液晶显示模块,其显示分辨率为 12864,这意味着水平可显示 128 个点,垂直可显示 64 点,12864lcd 内置 8192 个 16*16 点汉字和 128 个 16 *8 点 ascii 字符集。使用该模块灵活的接口方 式和简单、方便的操作指令,可构成全中文人机交互式图形界面,不仅可以显示 84 行 1616 点阵汉字,还

40、可以显示图形。12864lcd 相较于其他液晶显示设备 具有硬件电路和显示程序简单的优势,且价格也略低于相同的模块图形点阵液晶 显示模块10。 图 3.8 12864 与单片机的硬件连接图 从 12864 与单片机的硬件连接图 3.8 中可以看出,本次设计采用的 12864 工 作在并行模式,液晶模块和单片机的连接除了 p0 口的并行 8 位数据线外,还有 rs,rw,e 等几根线,其中 r/s 是指令和数据寄存器的选择控制线(串行模式下为 片选),r/w 是读写控制线(串行模式下是数据线),e 是使能线(串行模式下为时 钟线)。通过这几根控制线和数据线,再结合它的时序图,就可以编写出相应的

41、驱动程序。本次设计主要是单片机写数据到液晶屏,所以此处只介绍单片机写数 据到液晶屏的时序图,并行模式下的写时序图如图 3.9。根据这个时序图,就可 以把写数据或者写命令写到 lcd12864 液晶的子程序。 图 3.9 并行模式的写时序图 3.7 整体电路设计整体电路设计 整体电路设计部分见附录 a 所示。 3.8 本章小结本章小结 本章开始介绍了该系统中所用的微控制器 stc89c52 在本设计中的功能及其 最小系统的组成,又详细介绍了 h 桥式驱动的功能、电路图等等;接着分别介绍 了在该系统中矩阵键盘和 lcd 显示器与单片机的接口电路及红外测速元件的电路 图,并给出了直流电机 pwm 调

42、速系统的整体硬件图。 第四章第四章 系统软件设计系统软件设计 本软件程序在 keil vision2 软件编程环境下,根据超声波测距的公式采 用 c 语言将其分为主程序、定时中断子程序、速度测量子程序、显示子程序和键 盘子程序。在这些程序中,以速度测量子程序和定时中断子程序为核心。 4.1 主程序主程序 由于本设计没有限制编程方式,所以我选用了自己最熟悉的 c 语言编程。c 语言简洁、紧凑,使用方便、灵活、具有结构化的控制语句,语法限制不太严格, 程序设计自由度大,与汇编相比,c 语言的移植性较好。在设计编程时要尽量向 结构化、模块化方向编写,部分程序清单见附录 c。本章将对单片机控制的 pw

43、m 直流电机调速系统的程序做具体分析。本节是对主程序的流程作分析,具体流程 图如图 4.1 所示: 程序入口 停止键是否按下 y 数据初始化 中断初始化 调用测速子程序 调用键盘子程序 调用显示子程序 结束 n 图 4.1 直流电机调速系统主流程 在图 4.1 中可以看出首先对数据初始化然后对中断初始化。对控制直流电机 的方向信号和选通信号的引脚置 0(通电时电机不启动,直至启动键按下后才启 动,启动后的转向是正转);接着就要对显示子程序中用到的数据寄存单元和测 速子程序中用到的数据寄存器和时间寄存器清零;设定 t0 的工作方式及定时时 间,开中断,并让 t0 开始工作;最后执行键盘扫描子程序

44、。以后就循环着执行 测速子程序、显示子程序和键盘扫描子程序,直至停止键按下11。 4.2 键盘扫描子程序键盘扫描子程序 在第二章中我们已经选择了用矩阵键盘作为本系统的输入控制模块,由矩阵 键盘十六个按键中的十个键实现对转速的设定,另外六个按键分别实现电机的开 始、停止、加速、减速、正转和反转的六种控制。 键盘的按键方式分为非接触式和接触式两种,而在单片机应用系统中一般是 用机械式触点。在本系统中按键 s 未按下时,p1.x 口输入为高电平,按键 s 按下 后,对应的 p1.x 口的输入为低电平。因为按键是机械触点,所以按键闭合或断 开时均会有抖动现象,此时 p1.x 口输入端的输出波形如图 4

45、.2 所示。虽然这种 抖动只是毫秒级,但是计算机的处理速度是微秒级的,所以这种抖动现象对计算 机来说影响还是很大的。所以在键盘使用中必须解决抖动问题12。 图 4.2 键盘按下时的抖动现象 常用的去抖动方法有两种:软件方法和硬件方法。而在单片机中一般使用软 件方法,因此本设计采用软件去抖动解决问题。软件解决抖动方法:如果检测到 p1.x 口为低电平时,先等待一段时间,即延时 10ms 或更长时间,当 p1.x 口仍为 低电平,那么即可认为对应的按键 s 被按下。关于按键释放的后沿一般不对其进 行处理,这里就不多做说明。 本设计采用的是查询工作法,软件设计时直接在主程序中插入键盘子程序, 主程序

46、每执行一次,键盘子程序就执行一次。如果没有键按下就跳过键识别,直 接执行主程序;如果有键按下,则执行键盘子程序,得到按键编码值,然后对编 码值进行处理,对电机进行相应操作。处理完以后再继续执行主程序。 图 4.3 为键盘子程序的流程图。主程序中已经对电机初始转速进行了设定, 当启动键按下时,单片机会把初始设定的电机转速送至 h 桥从而电机转动,然后 单片机一直检测矩阵键盘是否有按键按下,若无电机转速及方向将保持不变,有 则进入键盘中断子程序,进入后再检测到底是哪个键按下,若是电机状态键(代 表电机加速、减速、正转和反转的按键)按下,则对应改变 pwm 占空比或者电机 转向,若是设定转速键(设定

47、电机分级转速的按键)按下,单片机则调用程序分 析出设定的转速值,然后和当前单片机测量的电机实时转速值进行比较,再去改 变 pwm 的占空比。于此同时单片机还会检测停止键是否按下,若有则电机将停止 转动。 图 4.3 键盘子程序流程图 4.3 pwm 信号发生程序信号发生程序 本设计采用的 stc89c52 单片机用软件方法来模拟输出 pwm 波形,具体流程 图见下图 4.4。 相对与用硬件方法实现 pwm 信号,用软件方法实现 pwm 信号具有成本低、限 制少、实现便捷等优点。但是实现高性能的软件 pwm 信号,也不是容易的事情。 实现软件 pwm 信号的最大难题是死区的大小,就是 pwm 的

48、最少分辨时间;其次是 程序的效率问题。用软件实现 pwm 信号,常用两种方法:一种是用定时器控制 pwm 输出,此种方法的死区时间最少占 5 个指令周期,分辨率比较低。第二种是 应用指令延时实现 pwm 的输出,此种方法的分辨率可以达到一个指令周期,但是 程序较为复杂。理论上,把这两种方法结合起来,根据不同的占空比,采用相应 合适的方式可以比较好的解决死区与效率的问题13。 图 4.4 就是应用延时的方法实现 pwm 波形输出的流程图。在本设计中,把单 片机每 50 个机器周期作为 pwm 波形的基本周期,采用定频调宽的方法去改变 pwm 的占空比。定时器 t0 确定 pwm 波的频率,t1

49、确定高电平的所占时间,这样改变 t1 的初值就可以改变 pwm 的占空比。详细程序见附录 c。 停止 t1,pwm 置 0 入口 启动 t1,pwm 置 1 初始化 t1 和 t0 初始化 t0 和 t1 返回 t1 入口 返回 t0 入口 返回 图 4.4 产生 pwm 信号的流程图 4.4 测速子程序测速子程序 测速也是是本设计的主要功能,使用测速元件对速度进行测量,并通过显示 器显示,使人们可以直观地观察调速的结果。实现测速功能的程序流程图见图 4.5。 对于小型直流电机速度的测量,比较常用的是采用脉冲发生器来检测速度。 通常可以使用以下两种方法:1、m 法,在一定的时间间隔 t 内,对

50、脉冲发生器中 脉冲计数,从而得到与电机转速成正比的脉冲量的值 m;2、t 法,通过对脉冲发 生器的脉冲周期进行测量来计算电动机转速的一种测量方法,对脉冲周期测量时 借助频率已经确定的时钟脉冲技术。对于这两种测速方法,m 法适用于对高速的 检测,速度越高误差越小,测量数据越精确,反之,误差就越大;t 法则适用于 低转速的检测。本系统中因为电机转速基本停留在高速状态,故本设计采用 m 法 测速。 在图 4.5 测速功能程序流程图中可以看出,利用单片机进行转速的测量比较 简单。本设计中转速的检测,实际上是应用了两个中断服务子程序,分别是 t0 中断和 int0 中断。在图 4.5 中可见,int0

51、中断执行的功能就是外部每输入一个 脉冲,r0 寄存器就加 1。t0 中断的作用就是给定一个时间间隔 t,在 t 内应用 int0 中断对外部脉冲进行计数,时间到就送出 r0 的数值,并对其进行清零。本 设计测速模块中应用了一片挡板,所以电机每转一圈,就会产生两个脉冲,因此 我们只需要定时 0.5s 就可以得到电机 1s 的转速了。另外程序中的测速子程序, 就是对转速数据进行 bcd 码的转换并且显示14。 中断入口 关定时器 初始化 t0 r=10? 保存 t0 值 r0、r2 清零 开定时器 中断返回 r2+1 t0 中断 测速子程序 int0 中断 中断入口 入口 将速度转换成 bcd 码

52、 返回 r0 加 1 中断返回 n y 图 4.5 测速功能程序流程图 4.5 显示子程序显示子程序 本系统采用 12864lcd 显示电机设定转速、实时转速和正反转状态。开始后 将 12864lcd 初始化,然后分别写入行地址和列地址,再输入要显示的内容,便 可以显示出来15。其程序流程图如图 4.6 所示。 入口 lcd初始化 写入行地址 写入列地址 写入显示数据 返回 图 4.6 12864 显示程序流程图 4.6 本章小结本章小结 本章主要是对该设计的软件部分进行设计,主要包括:系统的主程序、键盘 扫描子程序、pwm 信号产生子程序、调速子程序和显示子程序。相应的每个程序 的清单在附录

53、 c 中可见。 第五章第五章 系统调试与分析系统调试与分析 5.1 软件调试软件调试 软件的调试是是采用 keil c51 软件来调试程序的,keil c51 软件提供丰富 的库函数和功能强大的集成开发调试工具,全 windows 界面。另外重要的一点, 只要看一下编译后生成的汇编代码,就能体会到 keil c51 生成的目标代码效率 非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能 体现高级语言的优势。keil c51 编译器由 uvision2 集成开发环境与编辑器和调 试器以及 c51 编译器组成。其中 uvision2 集成开发环境中的工程(project)是由

54、源文件、开发工具选项以及编程说明三部分组成的,编辑器和调试器包括源代码 编辑器、断点设置、调试函数语言、变量和存储器。 keil c51 软件调试程序界 面如图 5.1 所示16。 图 5.1 keil c51 软件调试程序 使用 keil c 软件工具时,项目开发流程和其它软件开发项目的流程极其相 似。通过软件模块化的设计思想利用模块化调试,通过观察存储单元数据的变化, 编译程序查找并解决程序的语法和逻辑错误,具体的开发流程和调试步骤如下: (1) 创建一个项目,从器件库中选择目标器件,配置工具设置。 (2) 用 c 语言或汇编语言创建源程序。 (3) 用项目管理器生成应用。 (4) 把系统

55、的各个模块在仿真软件中逐个调试,如中断模块、显示模块、数据处 理模块等,如有错误,修改源程序中的错误。 (5) 把各个模块组合起来,进行编译、测试,并连接应用。 5.2 仿真软件调试仿真软件调试 仿真软件的调试是采用 proteus professional 单片机仿真软件界面,这个 仿真软件功能很强大,可以仿真各种各样的运作系统,仿真是建立在一种理想状 态下的运行,在上面介绍的 keil 软件中把源程序写好后生成 hex 格式的导入仿 真软件中的微处理器就可以运行了。以下是我做的基于单片机的直流电机 pwm 调 速系统中正转、反转、加速、减速及转速设定的调试结果。 正转时: 图 5.2 电机

56、正转仿真图 从上面仿真图可以看出当开始键或者正转键按下时,电机开始处于正转状态, 并在 lcd 液晶显示屏上显示出来,告知操作者电机处于正转状态。 反转时: 图 5.3 电机反转仿真图 从上面仿真图可以看出当开始键或者正转键按下时,电机开始处于反转状态, 并在 lcd 液晶显示屏上显示出来,告知操作者电机处于正转状态。 加速时: 图 5.4 电机加速仿真图 从上面仿真图可以看出当加速键按下时,电机转速增大,同时 lcd 液晶显示 屏上显示的转速也相应增大。 减速时: 图 5.5 电机减速仿真图 从上面仿真图可以看出当减速键按下时,电机转速减小,同时 lcd 液晶显示 屏上显示的转速也相应减小。

57、 设定转速时: 图 5.6 电机转速设定仿真图 从上面仿真图可以看出当相应的转速设定键按下时,lcd 液晶屏上开始显示 转速的设定值,同时电机的实际转速也慢慢变化直至和设定值相等,然后上下浮 动在设定值附近。 通过以上仿真软件的仿真可以发现在这种理想状态下,调试出的各种结果和 预想的结果基本一致。 5.3 硬件调试硬件调试 该课题的硬件电路部分占了整个过程很大的比例。单片机系统电路、液晶显 示电路、按键控制电路、电机驱动来电路是本次设计的主要硬件电路,其中时钟 模块电路为附加功能电路。单片机最小系统、测速模块及驱动模块硬件电路简单, 只要保证连接线路没问题,则能实现其功能。下面主要介绍按键控制

58、电路和显示 电路在本次设计调试的方法与过程。 步骤是先焊接各个模块,每个模块焊接结束以后,再进行模块的单独测试, 以确保在整个系统能正常的工作。模块的单独测试我采用的是用软件辅助的方法, 针对每个单独的模块采用相应的程序检测每个模块能否实现其功能。 在对按键控制的硬件调试时,采用的是每个按键点亮一个发光二级管的思想。 先将按键模块、电源及单片机最小系统连接好,并依据连接图写好相应的程序, 然后把程序下载到单片机内,按下按键看其控制的二极管能否点亮,如果能则说 明此按键焊接正确,不能则说明此按键焊接存在问题,然后进行检测及修改。就 这样反复调试直至每个按键能点亮相应二极管。 在对显示模块的调试时

59、,采用的是在程序中写入一段需要显示的内容,再把 显示器、电源及单片机最小系统连接起来,然后下载程序至单片机,观察显示器 能否把需要显示的内容显示出来,如果能则说明显示模块能正常工作,不能则检 测及修改,直至显示器能显示设定的内容。 5.4 调试故障及原因分析调试故障及原因分析 本节就基于单片机的直流电机 pwm 调速系统的设计过程中遇到的故障和调试 方面出现的问题作一概要的叙述。 (1)线路错误 在实际焊硬件电路时,由于线路较多,经常会发生电路焊接错误的情况,比 如单片机最小系统刚开始就不能下载程序,查找原因后发现是单片机使能端口没 有给正 5v 电压,在使能端给正 5v 电压后,单片机最小系

60、统便能正常工作了。 (2)电机低速转动时有明显跳动现象 当电机低速转动时,电机运行很不平滑,经过查找资料发现脉冲频率对电动 机转速有影响,脉冲频率低连续性差,电动机转动时会有明显跳动现象;脉冲频 率高连续性好,但带负载能力差脉冲频率低则反之。 经实验发现,脉冲频率在 40hz 以上,电动机转动平稳,但加负载后,速度 下降明显,低速时甚至会停转;脉冲频率在 10hz 以下,电动机转动有明显跳动 现象。经实验证明,脉冲频率在 15hz-30hz 时效果最佳,于是我便把 pwm 波的频 率调制至 20hz。 5.5 本章小结本章小结 本章详细介绍了直流电机调速系统的硬件调试、软件调试及仿真软件调试的

温馨提示

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

评论

0/150

提交评论