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

下载本文档

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

文档简介

题题 目目 直流电机调速系统设计(软件)直流电机调速系统设计(软件) 英文题目英文题目 DC Motor Speed Control System 作作 者者 声声 明明 本人以信誉郑重声明:所呈交的学位毕业设计(论文),是本人在指导教师指导 下由本人独立撰写完成的,没有剽窃、抄袭、造假等违反道德、学术规范和其他侵权 行为。文中引用他人的文献、数据、图件、资料均已明确标注出,不包含他人成果及 为获得东华理工大学或其他教育机构的学位或证书而使用过的材料。对本设计(论文) 的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本毕业设计(论文) 引起的法律结果完全由本人承担。 本毕业设计(论文)成果归东华理工大学所有。 特此声明。 毕业设计(论文)作者(签字): 签字日期: 年 月 日 本人声明:该学位论文是本人指导学生完成的研究成果,已经审阅过论文的全部 内容,并能够保证题目、关键词、摘要部分中英文内容的一致性和准确性。 学位论文指导教师签名: 年 月 日 摘要 摘摘 要要 电机在各个行业中都施展着非常重要的作用,各种重要的指标决定了其性能, 其中电机的转速就是电机的一个重要指标,因此进行电机的转速和调速方面的研究, 使它能够满足人们各方面的需求,已变得越来越重要,并且伴随着科学技术的不断 高速发展,如今 PWM 脉宽调制技术已成为了电机调速控制的一种新方法。 现在人们对各种控制系统功能的要求越来越高,电机调速也逐渐成为了许多人 钻研的课题,如今关于普通直流电机的调速问题已经出现了一些较为成熟稳定的方 式。本设计中主要研究用单片机控制 PWM 信号从而实现对直流电机转速进行控制的 方法。本设计中选用了四个三极管组成的 H 桥电路来作为电机的驱动系统,并且对 PWM 控制的原理、产生方式和如何经过软件编程来对 PWM 信号输出占空比进行调节, 从而调节其输出波形等均作了具体的论述。采用了一些按键来控制电机的运行状态。 还有,该设计采用了霍尔元件来测量直流电机的转速,通过处理后,再将测量出的 值发送到 LCD1602 液晶显示器上显示出来。 关 键 词 : 直 流 电 机 ; 单 片 机 ; P W M调 速 ; 霍 尔 元 件 ; 液 晶 显 示 ABSTRACT I ABSTRACT Motor plays an important role in all walks of our life. Various important indicators determines its performance.The motor rotation speed is one of the important indicators. So measuring the speed and speed regulating of the motor, making it satisfy peoples various needs has become more and more important.And with the development of the science and technology, PWM control has become a new way of motor speed control. Now people are more and more high to the requirement of control system. Motor speed control has become the research topic of many people. Now for the average DC motor speed regulation already have some relatively mature and stable methods. In this design, we mainly study the method of controlling the speed of DC motor by using single chip microcomputer to control the PWM signal. In this design, the driving system of the motor is H bridge circuit which is composed of four transistors, the principle and method of PWM control, and how to adjust the duty cycle of PWM output signal by software programming, so as to adjust the output signal waveform and so on, are explained in detail.Some buttons are used to control the running states of the motor. In addition, the system uses the Hall element to measure the speed of the DC motor. After processing, the measured value is displayed on the LCD by sent to the LCD1602 liquid crystal display. Key words:Dc motor; Single chip microcomputer; PWM speed regulation; Hall element; LCD 目录 目 录 摘 要.I ABSTRACT .II 绪 论.1 1. 课题的背景与意义 .1 2. 国内外发展概况 .1 3. 研究方法及工作内容 .2 1. 系统硬件电路部分设计.3 1.1 总体硬件电路设计 .3 1.2 直流电动机调速 .3 1.2.1 直流电机简介.3 1.2.2 直流电机调速系统.4 1.3 单片机电路设计 .4 1.3.1 STC89C52 单片机简介 .4 1.3.2 单片机最小系统.5 1.3.2.1 复位电路 .6 1.3.2.2 晶振电路 .6 1.4 测速电路设计 .6 1.4.1 霍尔传感器简介.6 1.4.2 霍尔传感器测速原理.7 1.5 液晶显示电路设计 .7 1.5.1 LCD1602 功能简介 .8 1.5.2 LCD1602 性能参数 .8 1.6 按键电路设计 .9 2. PWM 信号发生电路设计.10 2.1 PWM 控制的原理.10 2.2 H 桥驱动电路原理.10 2.3 系统驱动电路的设计 .11 3. 系统软件部分设计.13 3.1 系统软件总体设计 .13 3.2 主程序设计 .13 3.3 键盘扫描程序设计 .14 3.4 初始化程序设计 .14 3.5 LCD1602 设置和显示程序设计.16 3.5.1 LCD1602 指令和数据读写程序设计 .16 3.5.2 LCD1602 显示转速和占空比设置程序 .17 3.6 各中断程序设计 .19 3.6.1 定时器中断 0 程序设计.19 3.6.2 定时器中断 1 程序设计.20 3.6.3 外部中断 1 程序设计.21 目录 4. 系统软件的调试.22 4.1 主程序调试 .22 4.2 各子程序的调试 .22 结 论.23 致 谢.24 参考文献.25 附录 1 程序 .26 附录 2 硬件电路原理图 .31 绪论 0 绪 论 1. 课题的背景与意义 在现在的电子产品中,自动控制系统,电子仪器、家用电器、等等方面,直流 电机都得到了重要的应用。我们熟悉的录音机、电唱机、录相机、电子计算机等, 都不能少了直流电机。因此,直流电机的控制成为了一个很实用的技术。之前电动 机大多都使用由模拟电路构成的控制柜来控制,如今单片机已经开始代替模拟电路 作为电机控制器。现在电机控制器的发展方向越来越趋于多样性和复杂性,现有的 专用集成电路未必能满足严格的新产品开发要求,为此可考虑开发电机的新式单片 机控制器,所以研究直流电机的速度控制,有着非常重要的意义。 起初的电机电枢电压调节法采用的是串联电阻调速的方法,这种方法不但能耗大、 而且其调速不太稳定,慢慢的被其它的调速装置所替代了。在这之后,又出现了许多 种调速方法,例如,晶闸管、MOSFET、IGBT 等为主控元件的调速装置。随着电子技 术的不断发展,推动着直流电机的调速逐渐从模拟化向数字化转变,尤其是单片机技 术的开发与应用,让直流电机的调速技术迈入了一个新的阶段。那些采用传统的晶闸 管直流调速系统控制回路的硬件设置极为繁杂,安装调试很困难,相对的故障概率较 高,维修也较为困难和费时。而采用单片机控制的电机调速系统是通过软件编程来制 定控制方案,其控制器是由可编程功能模块组成的,能够简单方便的调节其结构和 参数,并且其工作稳定。 脉宽调制技术(PWM)是一种对模拟信号电平进行数字编码的方法,它不但能方 便的由软件编程来实现,并且从处理器到被控信号都是以数字的形式出现,不再需要 先将其进行数模转化,加上噪声对 PWM 的影响较小,这使得 PWM 技术逐渐的成为了 当前电机调速的主要方法。如今,有的人使用闭环控制来做,对检测量和目标量进行 计算,通过由单片机口发出的脉宽调制波形来调节直流电机电枢在周期内的通断时间 从而实现变电压调速;而另一些人则是使用模糊控制的方法,采用开环系统,通过改 变程序中的各参数来实现其所需的速度变化和控制。 我觉得设计这个直流电机调速系统,不管是从学习还是实践的角度,对于一名 自动化专业的大学生来说都会产生非常积极的作用,而且还有利于提高学习的热情。 2. 国内外发展概况 直流电机之所以适用于在大范围内平滑调速和许多需要正反转或速度控制等的 领域中,是因为直流电机具有良好的起动和制动性能。初期的直流电机控制大多是 使用了运算放大器和少量的数字电路来构成的,且是以模拟电路为基础的。这类控 绪论 1 制系统的硬件部分较复杂,并且功能较为单一、调试较困难,导致直流电机控制技 术的发展以及在各领域中的应用都受到了很大的阻碍。但是,随着单片机技术的发 展和创新,使得只通过软件方面的技术就可以方便的实现直流电机的许多控制功能, 这也使得直流电机的功能控制变的更加的灵活,并大大的提高了系统的整体性能。 通过使用单片机来做为直流电机的控制系统,不仅减少了成本,而且节约了人力和 时间,使得工作效率得到了很大的提高。 PWM 控制起初受到电力电子器件发展水平的限制,一直未能得以实现发展。在 上世纪 80 年代,全控型电力电子器件的出现及其快速的发展,PWM 技术才得到了真 正的应用。随着电力电子技术和各类方法的出现与发展,PWM 控制技术获得了很大 的发展。目前已经出现了很多种 PWM 控制技术和方法。上世纪 70 年代中期产生了直 流电机的 PWM 调速系统。起初只用在不可逆、小功率驱动中。近年来,因为晶体管 器件以及直流电机等技术的提高与发展,促进了 PWM 技术的快速发展。在国外,PWM 技术起初是用在军事以及空间技术应用中。它良好的性能满足军事应用中那些高精 度的系统的需求。近年来,逐渐应用到了民用领域中,例如自动化生产线以及机床 等广泛的领域中。 3. 研究方法及工作内容 本设计主要是利用单片机的定时器来产生 PWM 脉冲信号再经过电机的驱动电路 来对直流电机进行调速。通过霍尔元件测量电机转速把转速送给单片机再通过液晶 显示出来。通过设置的各个按键来操纵电机的运行、停止、加速、减速、正转、反 转等状态。本系统可以分为主控电路、电机驱动电路、液晶显示电路、按键控制电 路、测速模块、电源电路等,以硬件电路为基础,采用 PWM 调速方法,用 C 语言编 写程序,单片机通过程序来进行控制。当单片机上电后,系统进入准备状态。当按 动按钮后便开始执行其相应的程序,根据输出的高低电平决定直流电机的正反转, 再根据按下加减速按钮后执行的程序,调整输出高低电平的占空比,来控制高低电 平的延时时间,进而控制电压的大小来改变直流电机的转速。这样就可以实现用单 片机控制直流电机调速的基本功能了。 绪论 2 系统硬件电路部分设计 3 1. 系统硬件电路部分设计 1.1 总体硬件电路设计 本设计选用了 STC89C52 单片机来做为主控制器,由单片机来产生 PWM 输出信号, 传到直流电机中,直流电机旋转通过霍尔传感器测速电路将实时的电机转速传回系 统的单片机中,并通过 LCD1602 液晶显示模块将电机的转速和占空比显示出来,从 而实现对直流电机速度和转向的控制,实现直流电机调速系统设计所要求的目的和 功能。 图 1-1 系统整体设计框图 1.2 直流电动机调速 1.2.1 直流电机简介 直流电机就是将直流电能转化为机械能的电机。直流电动机的基本原理是往恒 定磁场的转子通电,电流会在磁场里受到力的作用,会使转子围绕着中心轴旋转, 这样电动机就转动起来了。 直流电机的主要优点是:a.宽调速范围,便于平滑调速;b.起动、制动和过载 转矩大;c.便于控制,可靠性较高。一般应用于对起动和调速性能要求较高的生产 机械中,比如大型机床、船舶机械、电力机车、造纸和纺织机械等都广泛的使用了 直流电机来作为原动机。 转速、占空比 显示模块 单 片 机 按键控制模块 电源模块 电机速度采集 电 机 驱 动 模 块 PWM 控制模块 系统硬件部分设计 4 系统硬件电路部分设计 5 1.2.2 直流电机调速系统 直流电机调速系统主要有以下几种方法: 1) 晶闸管-电动机系统(简称V-M系统) 它就是利用晶闸管整流装置取代了旋转变流机组,通过控制触发装置GT的控制 电压来移动触发脉冲的相位,可以改变平均的整流电压,从而实现了平滑调速,这 样的系统都称为V-M系统。 2) 直流脉宽调速系统(简称PWM调速系统) 它就是采用了脉宽调制的高频开关控制方法所形成的脉宽调制变换器-直流电动 机调速系统,简称PWM调速系统。 PWM控制技术就是对一系列脉冲的宽度进行调制的技术,即通过改变脉冲的宽度 来实现控制,从而等效地获得所需的波形。 与V-M系统相比,PWM系统具有许多优点: a. 主电路线路简单,需要的功率器件较少。 b. 开关频率较高,电流易于持续,谐波较少,电机损耗和发热情况都比较小。 c. 低速时性能较好,稳速精度较高,调速范围较宽。 d. 它与快速响应的电机相配合时,动态响应较快,动态抗扰能力较强,系统频 带较宽。 e. 功率开关器件工作在开关状态时,导通损耗较少,当开关频率合适时,开关 损耗较小,因此装置的效率较高。 f. 当直流电源用不控整流时,电网的功率因数高于相控整流器。 正因为以上的优点,所以直流PWM调速系统的应用范围广泛,特别是在中小容量 的高动态性能系统当中。 1.3 单片机电路设计 1.3.1 STC89C52 单片机简介 STC89C52型号的单片机是由宏晶科技公司推出的新一代具备高速、低功耗、超 强抗干扰能力的单片机,它的指令代码完全能够兼容传统的8051型单片机,它可以 任意选择12时钟机器周期或是6时钟机器周期。 其主要的特征性能如下: 1) 工作电压为3.3V5.5V(5V单片机)或是2.0V3.8V(3V单片机); 2) 工作频率范围为040MHz,相当于普通8051单片机的080MHz,其实际的工 作频率更可以达到48MHz; 3) 具有8K字节的用户应用程序空间; 4) 集成了512字节的RAM; 系统硬件部分设计 6 5) 具备EEPROM功能; 6)具有看门狗功能; 6) 一共有3个16位的定时器/计数器,即为定时器T0、T1、T2; 7) 其外部中断共有4路,下降沿中断或低电平触发电路,外部中断的低电平触 发方式可以唤醒单片机的Power down模式; 8) 具有通用异步串行口(UART),而且可以通过使用定时器软件来实现多个 UART; 10)工业级的工作温度范围为-40+85,商业级的则为075。 图1-2 STC89C52引脚图 1.3.2 单片机最小系统 单片机的最小系统,或是单片机最小应用系统,是指只运用最少的元件组成的 并能够直接运行的单片机系统。对于 51 系列的单片机来说,最小系统一般都包括了 这几个部分:单片机、晶振电路和复位电路。下图就是一个 51 单片机的最小系统电 路图:J2 STC89C52 系统硬件部分设计 7 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 RST 9 P3.0(RX D ) 10 P3.1(TX D ) 11 P3.2(IN T0) 12 P3.3(IN T1) 13 P3.4(T0) 14 P3.5(T1) 15 P3.6(WR) 16 P3.7(RD ) 17 X TA L2 18 X TA L1 19 G ND 20 (A 8)P2.0 21 (A 9)P2.1 22 (A 10)P2.2 23 (A 11)P2.3 24 (A 12)P2.4 25 (A 13)P2.5 26 (A 14)P2.6 27 (A 15)P2.7 28 PSEN 29 A LE/PRO G 30 EA/VPP 31 (A D 7)P0.7 32 (A D 6)P0.6 33 (A D 5)P0.5 34 (A D 4)P0.4 35 (A D 3)P0.3 36 (A D 2)P0.2 37 (A D 1)P0.1 38 (A D 0)P0.0 39 V CC 40 U 3 89C51/C52 12MHz C2230 C23 30 R27 10K + C1 10uF 12 34 K S RESET V CCV CC 1 2 3 4 5 6 7 8 9 J? CON 9 图 1-3 单片机最小系统图 C2 C3 30pf 30pf 系统硬件电路部分设计 8 1.3.2.1 复位电路 当单片机系统在运行过程当中受到了环境的干扰出现程序跑飞的情况时,按下 复位按钮后,其内部的程序就会自动复位从头开始执行。 在单片机系统中,系统上电启动的时候便会自动复位一次,当复位按键按下后 系统会再一次复位,若释放后再按下,系统还会继续进行复位操作。所以可以通过 复位按键的断开和闭合来在运行的系统当中控制其是否复位。 1.3.2.2 晶振电路 晶振就是晶体振荡器的简称。晶振就是用来给单片机提供工作信号脉冲的, 这 个脉冲就是单片机的工作速率。如用12MHz的晶振时,则单片机的工作速度就是每秒 12M。 1.4 测速电路设计 测速部分电路设计如下图所示: 图1-4 测速部分电路图 1.4.1 霍尔传感器简介 霍尔传感器 A3144 是由 Allegro Micro Systems 公司生产的宽温、开关 型霍尔效应传感器,其工作温度的范围可以达到-40 150。电压调整电路、 反相电源保护电路、温度补偿电路、微信号放大器、施密特触发器和 OC 门输出极以 及霍尔元件组成了其总体结构,通过上拉电阻可以将其输出接入到 CMOS 逻辑电路上。 它一共有两种封装的方法,分别是 3 脚贴片微型封装,其后缀是“LH”以及 3 脚直 插式的封装,其后缀是“UA”。 A3144E 系列的单极高温霍尔传感器是由差分放大器、稳压电源、霍尔电压发 生器、施密特触发器以及输出放大器组成的磁敏式传感电路。它是一种单磁极工作 形式的磁敏电路,适用于在矩形或者柱形的磁体下来进行工作。它的输入是磁感应 系统硬件部分设计 9 强度,输出则是一个数字电压的信号。其可以运用在汽车工业以及军事工程等领域 当中。 系统硬件电路部分设计 10 产品特点: 体积小、灵敏度高、响应速度快、精确度高、可靠性高、温度性能好。 典型应用: 非接触式开关、汽车点火器、刹车电路、位置及速度检测与控制、报警装置、 纺织控制系统。 图 1-5 霍尔传感器的接线图 1.4.2 霍尔传感器测速原理 本设计中测量电机转速首先就是要将电机的转速表现为单片机能够识别出来的 脉冲信号,从而进行脉冲计数来得到转速。这里选用了霍尔传感器来作为电机转速 检测的器件是因为霍尔传感器作为一种用来测量转速的传感器,它具有结构稳固、 体积小、重量轻、寿命长和安装便利等优点。当电机在转动时,带动了传感器动作, 产生出对应频率的脉冲信号,在经过信号处理后再将其输出到计数器或者其它的脉 冲计数装置当中,从而来实现对电机转速的测量。 1.5 液晶显示电路设计 液晶显示部分电路图如下图所示: GND 1 VCC 2 V0 3 RS 4 R/W 5 EN 6 D0 7 D1 8 D2 9 D3 10 D4 11 D5 12 D6 13 D7 14 A 15 K 16 U 3LCD _1602 R6 10K R7 1K D0 D1 D2 D3 D4 D5 D6 D7 RS EN V CC V CC V CC RW 图 1-6 液晶部分电路图 系统硬件电路部分设计 11 1.5.1 LCD1602 功能简介 LCD 1602 也被称作为 1602 字符型液晶显示屏。它是专门用来显示字母、数字 以及符号等的点阵型液晶模块,它由若干个或等点阵字符位构成,每一个75115 点阵字符位都能够显示一个字符。每位之间有一个点距的间隔,同时每行之间也有 一个间隔,这样既起到了字符间距的作用,又起到了行间距的作用。也正是由于这 样,它并不能够显示图形。LCD 1602 是指显示的内容形式为,即可以显示两216 行,每行有 16 个字符的液晶模块。 图 1-7 LCD 1602 引脚图 1.5.2 LCD1602 性能参数 下表为 LCD1602 的一些主要性能参数: 表 1-1 芯片的主要技术参数及应用配置 LCD1602 的各引脚如上图所示,它一共有 16 个引脚,各个引脚的功能说明如下: 1) VSS:电源的地; 2) VDD:电源的正极; 3) VL:液晶显示偏压信号,对比度的调整端,接地时为最高,接正电源时为最 低,可以接 10K 电位器来调整; 4) RS:寄存器选择,高电平时是选择数据寄存器,低电平时是选择指令寄存器; 显示容量162 个字符 芯片工作电压4.55.5V 工作电流 2.0mA(5.0V) 模块最佳工作电压 5.0V 字符大小2.954.35(WXH)mm 系统硬件电路部分设计 12 5) R/W:读/写选择,高电平时是读操作,低电平时是写操作; 6) E:使能端口,当该端口由高电平跳变为低电平时,液晶模块就开始执行命 令; 系统硬件电路部分设计 13 7) BLA:背光源的正极;BLK:背光源的负极; 8) D0D7:数据端口。 1.6 按键电路设计 单片机的键盘电路设计有两种:独立键盘和矩阵键盘。独立式键盘是将按键的 一端与单片机的 I/O 口相接,而按键的另一端接地。用这种接法时程序比较简单而 且系统更加的稳定;而矩阵式键盘接法的程序则比较复杂,但是占用单片机的 I/O 口较少。根据本电路设计的功能要求以及方便程度,这里选用了独立式的键盘来控 制。 独立式键盘的实现方法是利用单片机读取电平的高或低来判断是否有哪个按键 被按下。按键的一端接到单片机的 I/O 口,而另一端接地,程序开始的时候将此 I/O 口置于高电平,没有按键按下的时候该 I/O 口保持高电平。当一个按键被按下 时,其接的 I/O 口与地短路使 I/O 口变成了低电平。按键松开后,单片机的内部上 拉电阻使 I/O 口继续保持着高电平的状态。我们只需要在程序中查找此时 I/O 口的 电平状态就能够知道此时是否有按键被按下或松开了。 在单片机对键盘操作处理的时候会遇到一个重要的问题,那就是键盘的消抖。 该抖动是一种机械式的抖动,当按键按下时其内部的弹片会有一个轻微的跳动,会 经过一段短暂的时间才能完全的接触。抖动时间一般为 1020ms 之间,这种抖动对 于单片机来说是很漫长的。消除抖动的方法共有硬件消抖和软件消抖两种。其中硬 件消抖就是用电路来对抖动部分进行处理,从而来消除其抖动的影响。而软件消抖 并不是去掉按键的抖动,而是避开按键抖动的这部分时间,当按键稳定之后再对其 动作进行处理。 在本设计当中,为了方便与简洁我们选择了使用软件消抖的方法。具体的实现 方法是在当检测到按键按下时,程序中立即延时 1020ms 左右以避开抖动的这部分 时间。待延时结束之后再读单片机 I/O 口的值,如果值为 1,则表示延时不到 1020ms,可以将其视为干扰信号;若值为 0,则代表有按键按下,并继续执行相应 的程序。 该电路设计是用了按键接低的方式来读取按键的动作,在单片机初始时为高电 平,当有按键按下的时候,会给单片机一个低电平信号,然后单片机再对该信号进 行处理。 具体的硬件设计如下图所示: 系统硬件电路部分设计 14 12 34 K 1 zheng 12 34 K 2 fan 12 34 K 3 add 12 34 K 4 dec 12 34 K 5 stop P10 P11 P12 P13 P14 图 1-8 按键部分电路图 adddeczhengfanstart/stop PWM 信号发生电路设计 15 2. PWM 信号发生电路设计 2.1 PWM 控制的原理 PWM 控制就是一种对脉冲的宽度进行调制的技术。它通过产生矩形波并改变其 占空比来达到对脉冲宽度进行调制的目的。它是一种对模拟信号电平进行数字编码 的方式,通过使用高分辨率的计数器,调制其方波的占空比用来对模拟信号的电平 进行编码,同时又是一种通过微处理器的数字输出来控制模拟电路的一种非常奏效 而且方便的技术,其广泛的被应用于电机调速、温度和压力的控制等众多领域当中。 其模拟信号的值可以连续变化,它并没有限制其幅度以及时间的分辨率。 2.2 H 桥驱动电路原理 由于该设计的要求是要对电机进行转速和旋转方向的控制还要对电机以及电路 有一定的保护功能,所以电机驱动电路选用了 H 桥驱动电路。这样可以使调速更方 便,并且使电路有较强的驱动和保护能力。 之所以称之为 H 桥式驱动电路,是因为它的形状与英文中大写字母“H”相似。 该电路是由 4 个三极管和一个电机组成的,中间一个电机,两边是各两个三极管。 图 2-1 H 桥式驱动电路图 要使电机旋转起来,则必须是要让电路对角上的一对三极管都导通。而不同的 对角线上的两个三级管导通会改变电流的流向,从而改变电机的转向。 如上图所示,要使电机正转则必须使 Q1 和 Q4 导通。这时电流从电源正极流出 经过 Q1 后从左向右的流过电机,然后经过 Q4 流出到电源的负极,从而来驱动电机 朝顺时针方向旋转,此时电机正转。过程如下图所示: PWM 信号发生电路设计 16 图 2-2 H 桥驱动电机正转 反之,要使电机反转则要使 Q2 和 Q3 导通。这时电流流过 Q3 再经过电机,然后 从 Q2 流出,驱动电机朝逆时针方向转动,电机反转。过程如下图所示: 图 2-3 H 桥驱动电机反转 要注意的是,要确保电路中同侧的两个三极管不能同时导通。否则,电流会直 接流过两个三极管,没有流过负载,电流可能会过大而烧坏器件。 2.3 系统驱动电路的设计 本电机驱动电路的设计是基于 PWM 原理来设计的,将 PWM 技术与电机的驱动电 路相结合。具体的电路设计如下图所示: PWM 信号发生电路设计 17 M 1D J V CC b ce Q 3 S8050 b ce Q 6 S8050 b ce Q 4 S8550 b ce Q 5 S8550 R4 1K R5 1K D 1 4148 D 2 4148 D 3 4148 D 4 4148 R1 1K R2 1K b ce Q 1 S8050 b ce Q 2 S8050 V CC P34 P37 C4 104 图 2-4 电机驱动电路 该电路主要由 PNP 型三极管和 NPN 型三极管以及二极管、电阻等构成。PNP 型 的三极管是低电平输入时导通,NPN 型的三极管是高电平输入时导通。Q1 和 Q2 是 NPN 型三极管,当 Q1 和 Q2 导通时,Q3 和 Q6 是截止的,Q4 和 Q5 是导通的,此时电 机两端都是接地,电机不转。而当 Q1 和 Q2 截止时,Q3 和 Q6 是导通的,Q4 和 Q5 是 截止的,电机两端都接 VCC,电机也是不转的。但是当 Q1 导通,Q2 截止时,Q4 和 Q6 导通,Q3 和 Q5 截止,此时电流经 Q6 流向电机再经 Q4 流向地,电流逆时针流驱 动电机反转。同理,当 Q1 截止,Q2 导通时,Q3 和 Q5 导通,Q4 和 Q6 截止,此时电 流经 Q3 流向电机再经 Q5 流向地,电流顺时针流驱动电机正转。然后可以通过 PWM 输出控制电机的转速。图中的 4 个二极管为续流二极管,可以防止电机产生的反向 电动势以及晶体管产生的问题对整个电路的影响,起到保护和续流的作用。 系统软件部分设计 18 3. 系统软件部分设计 3.1 系统软件总体设计 软件和硬件要相互配合才能形成一个完整的系统,所以软件的编写不仅重要而 且要与硬件相匹配,这样才能充分发挥两者的作用,从而实现整个系统的功能。本 设计的软件程序设计通过用 KEIL 软件用 C 语言来编程。主要有主程序、LCD1602 定 义程序、初始化程序、键盘扫描程序、转速显示程序、占空比显示程序、中断程序 以及 PWM 占空比输出程序等部分组成。具体各部分的程序介绍如下。 3.2 主程序设计 主程序的设计主要是对系统各部分显示出的初始值、标志位以及电机的初始状 态等进行了设置,并有初始化子程序、键盘扫描子程序的调用,实时的检测按键等 部分的动作,以便及时的做出相应的程序动作。下图为主程序设计的流程图: 图 3-1 主程序流程图 部分程序如下所示: m=50; /占空比初始为 50 zhuansu=0; /转速初值为 0 flag=0; zheng=1; /设定电机初始为正转 while(1) keyscan(); /调用键盘扫描程序 设定占空比、转速初值 初始化标志位和电机状态 调用键盘扫描程序 调用初始化程序 开 始 是否有按键按下? 执行相应程序 Y N 系统软件部分设计 19 3.3 键盘扫描程序设计 键盘部分是由五个独立按键组成的,分别控制了电机的正转,反转,加速,减 速以及开始/停止这几个功能。在程序中用了五段 if 语句来分别判断五个按键的状 态,但由于按键本身按下时会有抖动对判断其是否真正按下有一定的干扰,所以在 程序中加了延时程序来避开按键的抖动,从而能判断按键是否真正地按下,以便进 行每个按键按下后设置的动作。其中加速和减速按键按下后的效果会显示在 LCD1602 上。其程序部分的流程图如下图所示: 图 3-2 键盘扫描程序流程图 3.4 初始化程序设计 在这部分的程序中由于后面用到了中断程序,所以在这里对单片机的定时器 0 和定时器 1 以及外部中断 1 进行了初始值、触发方式等的设置,以便后面执行程序 时能够有所依据和条件。然后对 LCD1602 的屏幕显示样式进行了初始化设置,并设 置了其初使时要显示出的字符内容和预留出的空位,为后面的显示内容设置提供基 础。程序的流程图如下图所示: 系统软件部分设计 20 图 3-3 初始化程序流程图 部分程序如下所示: write_com(0 x01); /lcd 初始化 write_com(0 x38); /设置为 2 行 5*7 显 示 write_com(0 x0c); /关闭显示光标 TMOD=0 x01; /选用定时器方式 1(16 位计数方式) TH1=0 xd8; TL1=0 xf0; /定时器装入初值 10ms EA=1; /开总中断 ET1=1; /定时器 1 开中断 TR1=1; /定时器 1 启动 EX1=1; /外部中断 1 开启 IT1=1; /外部中断 1 为下降沿触发方式 TH0=0 xff; TL0=0 x9c; /定时 100s ET0=1; /定时器 0 开中 断 TR0=1; /定时器 0 启动 write_com(0 x80); /从第一行第一位开 始显示 write_data(V); write_data(:); /显示“V:” write_com(0 x87); /从第一行第八位开 始显示 write_data(r); write_data(p); write_data(m); /显示“rpm” write_com(0 xc0); /从第二行第一位开 始显示 write_data(z); write_data(h); write_data(a); write_data(n); write_data(k); write_data(o); write_data(n); write_data(g); write_data(b); 1602 初始 化 中断初始化 设置 1602 初始显示状态并显 示 设置定时器初始状态 程序入口 返 回 系统软件部分设计 21 write_data(i); write_data(:); /显示“zhankongbi:” 系统软件部分设计 22 LCD1602 显示的第一行地址是从 0 x80 开始,第二行是从 0 xC0 开始的。定时器 方式 1 为用高低各 8 位共 16 位来表示设定值。其中,两个定时器的值的计算过程如 下: 该设计的晶振为 12MHz,所以一个机器周期为: s1s 10*12 12 6 (3- 1) 实际定时时间为: pc *TXT (3- 2) 其中 Tc 为所需计时的时间,X 为计数的次数,Tp 为机器周期。所以当计时时间 为 10ms 时,可求出 X: 10000 s1 ms10 p c T T X (3- 3) 再将 X 求补码,即求得定时器的计数初值: XX-2n)补( (3- 4) 因为选用了工作方式 1,则 n=16,即: 5553610000-65536-216XX)补( (3- 5) 再将 55536 分解成两个 8 位 16 进制数,求得高 8 位为 d8H 装入 THx,低 8 位为 f0H 装入 TLx 中。同理,可求得计时为 100s 时,高 8 位为 ffH,低 8 位为 9cH。 3.5 LCD1602 设置和显示程序设计 3.5.1 LCD1602 指令和数据读写程序设计 LCD1602 的使用需先向其发送指令,读取之后执行指令设置送进数据时所用的 地址位置,再读取数据并执行。其中写入指令和数据的程序框图如下图所示: 设置 1602 状 态 选择控制对象 执行指令 写指令/数据程序入口

温馨提示

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

评论

0/150

提交评论