




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、题 目直流电机调速系统设计(软件)-英文题目dc motor speed control syste_m作者声明本人以信誉郑重声明:所呈交的学位毕业设计(论文),是本人在指导教师指导下 由本人独立撰写完成的,没有剽窃、抄袭、造假等违反道德、学术规范和其他侵权行为。 文中引用他人的文献、数据、图件、资料均已明确标注出,不包含他人成果及为获得东 华理工大学或其他教育机构的学位或证书而使用过的材料。对木设计(论文)的研究做 出重要贡献的个人和集体,均已在文中以明确方式标明。本毕业设计(论文)引起的法 律结果完全由本人承担。本毕业设计(论文)成果归东华理工大学所有。特此声明。毕业设计(论文)作者(签字
2、):签字日期:年月 曰木人声明:该学位论文是木人指导学生完成的研究成果,已经审阅过论文的全部内 容,并能够保证题目、关键词、摘耍部分中英文内容的一致性和准确性。学位论文指导教师签名:摘要电机在各个行业中都施展着非常重要的作用,各种重要的指标决定了其性能,其 中电机的转速就是电机的一个重要指标,因此进行电机的转速和调速方面的研究,使 它能够满足人们各方面的需求,己变得越来越重要,并且伴随着科学技术的不断高速 发展,如今nra脉宽调制技术己成为了电机调速控制的一种新方法。现在人们对各种控制系统功能的要求越来越高, 电机调速也逐渐成为了许多人钻 研的课题,如今关于普通直流电机的调速问题已经出现了一些
3、较为成熟稳定的方式。 木设计中主要研宄用单片机控制p丽信号从而实现对直流电机转速进行控制的方法。 本设计中选用了四个三极管组成的h桥电路来作为电机的驱动系统,并ii对pwm控制 的原理、产生方式和如何经过软件编程来对pwm信号输出占空比进行调节,从而调节 其输出波形等均作了具体的论述。采用了一些按键来控制电机的运行状态。还有,该 设计采用了霍尔元件来测量直流电机的转速,通过处理后,再将测量出的值发送到lcd 1602液晶显示器上显示出来。关键词:直流电机;单片机;pwm调速;霍尔元件;液晶显示abstractmotor plays an important role in all walks
4、of our life. various important indicatorsdetermines its performance.the motor rotation speed is one of the important indicators. someasuringthe speed andspeed regulating ofthe motor,making it satisfypeoples variousneedshas become more and more important.and with the development of the science and te
5、chnology,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 speedcontrol has become the research topic of many people. now for the average dc motor speedregulation already have some relatively mature and stable method
6、s. in this design,we mainlystudy the method of controlling the speed of dc motor by using single chip microcomputer tocontrol the pwm signal. in this design, the driving system of the motor is h bridge circuit whichiscomposed of fourtransistors, the principle and method of pwmcontrol,and howto adjus
7、t theduty cycle of pwm output signal by software programming, so as to adjust the output signalwaveform and so on, are explained in detail.some buttons are used to control the running statesof the motor. in addition, the system uses the hall element to measure the speed of the dc motor.after process
8、ing,the measured value is displayed on the lcd by sent to the lcd 1602 liquidcrystal display.key words:dc motor; single chip microcomputer; pwm speed regulation;hall element; lcd目 录m . iabsiract.iig i仑.11.课题的背景与意义.12.国内外发展概况.13.研允方法及工作内容.21.系统硬件电路部分设计.31.1总体硬件电路设计.31.2直流电动机调速.31.2. 1直流电机简介.31.2.2直流电
9、机调速系统.41.3单片机电路设计.41.3. 1 stc89c52单片机简介.41.3.2单片机最小系统.51.3. 2. 1复位电路.61.3. 2. 2晶振电路.61.4测速电路设计.61.4. 1霍尔传感器简介.61.4.2霍尔传感器测速原理.71.5液晶显示电路设计.71.5. 1 lcd1602功能简介.8lcd1602性能参数.81.6按键电路设计.92.pwm信号发生电路设计.102. 1 pwm控制的原理.102.2h桥驱动电路原理.102.3系统驱动电路的设计.113.系统软件部分设计.133.1系统软件总体设计.133.2主程序设计.133.3键盘扫描程序设计.143.4
10、初始化程序设计.143.5 lcd 1602设置和显示程序设计.163.5.1lcd1602指令和数据读写程序设计.163.5.2lcd1602显示转速和占空比设置程序.173.6各中断程序设计.191定时器中断0程序设计.193.6.2定时器屮断1程序设计.203.6.3外部中断1程序设计.214.系统软件關试.224. 1主程序调试.4.2各子程序的调试.结论.致谢.参考文献.附录 1 程序.附录2硬件电路原理图.23错误!未定义书签。.24.25.30绪论1. 课题的背景与意义在现在的电子产品中,自动控制系统,电子仪器、家用电器、等等方面,直流电 机都得到丫重要的应用。我们熟悉的录音机、
11、电唱机、录相机、电子计算机等,都不 能少了直流电机。因此,直流电机的控制成为了一个很实用的技术。之前电动机大多 都使用由模拟电路构成的控制柜来控制,如今单片机已经开始代替模拟电路作为电机 控制器。现在电机控制器的发展方向越来越趋于多样性和复杂性,现有的专用集成电 路未必能满足严格的新产品开发要求,为此可考虑开发电机的新式单片机控制器,所 以研宄直流电机的速度控制,有着非常重要的意义。起初的电机电枢电压调节法采用的是串联电阻调速的方法,这种方法不但能耗 大、而且苏调速不太稳定,慢慢的被其它的调速装置所替代了。在这之后,又出现了 许多种调速方法,例如,晶闸管、mosfet、igbt等为主控元件的调
12、速装置。随着电 子技术的不断发展,推动着直流电机的调速逐渐从模拟化向数字化转变,尤其是单片 机技术的开发与应用,让直流电机的调速技术迈入了一个新的阶段。那些采用传统的 晶闸管直流调速系统控制回路的硬件设置极为繁杂,安装调试很网难,相对的故障概 率较高,维修也较为困难和费时。而采用单片机控制的电机调速系统是通过软件编程 来制定控制方案,其控制器是由可编程功能模块组成的,能够简单方便的调节其结构 和参数,并且其工作稳定。脉宽调制技术(pwm)是一种对模拟信号电平进行数字编码的方法,它不但能方便 的由软件编程来实现,并且从处理器到被控信号都是以数字的形式出现,不再需要先 将其进行数模转化,加上噪声对
13、pwm的影响较小,这使得pwm技术逐渐的成为了当前 电机调速的主要方法。如今,有的人使用闭环控制来做,对检测量和目标量进行计算, 通过由单片机u发出的脉宽调制波形来调节直流电机电枢在周期内的通断吋间从而 实现变电压调速;而另一些人则是使用模糊控制的方法,采用开环系统,通过改变程序 中的各参数来实现其所需的速度变化和控制。我觉得设计这个直流电机调速系统,不管是从学习还是实践的角度,对于一名自 动化专业的大学生来说都会产生非常积极的作用,而且还有利于提高学习的热情。2. 国内外发展概况直流电机之所以适用于在大范围a平滑调速和许多需要正反转或速度控制等的 领域中,是因为直流电机具有良好的起动和制动性
14、能。初期的直流电机控制大多是使 用了运算放大器和少量的数字电路来构成的,且是以模拟电路为基础的。这类控制系 统的硬件部分较复杂,并且功能较为单一、调试较困难,导致直流电机控制技术的发 展以及在各领域中的应用都受到了很大的阻碍。但是,随着单片机技术的发展和创新, 使得只通过软件方面的技术就可以方便的实现直流电机的许多控制功能,这也使得直 流电机的功能控制变的更加的灵活,并大大的提高了系统的整体性能。通过使用单片 机来做为直流电机的控制系统,不仅减少了成本,而ii节约了人力和时间,使得工作 效率得到了很大的提高。pwm控制起初受到电力电子器件发展水平的限制,一直未能得以实现发展。在上 世纪80年代
15、,全控型电力电子器件的出现及其快速的发展,pwm技术才得到了真正 的应用。随着电力电子技术和各类方法的出现与发展,pwm控制技术获得了很大的发 展。目前已经出现丫很多种pwm控制技术和方法。上世纪70年代中期产生了直流电 机的pwm调速系统。起初只用在不可逆、 小功率驱动中。 近年来, 因为晶体管器件以 及直流电机等技术的提高与发展, 促进了pwm技术的快速发展。在国外,pwm技术起 初是用在军事以及空间技术应用中。它良好的性能满足军事应用中那些高精度的系统 的需求。近年来,逐渐应用到丫民用领域屮,例如自动化生产线以及机床等广泛的领 域中。3.研究方法及工作内容木设计主要是利用单片机的定时器来
16、产生pwm脉冲信号再经过电机的驱动电路 来对直流电机进行调速。通过霍尔元件测量电机转速把转速送给单片机再通过液晶显 示出来。通过设置的各个按键来操纵屯机的运行、停止、加速、减速、正转、反转等 状态。本系统可以分为主控电路、电机驱动电路、液晶显示电路、按键控制电路、测 速模块、电源电路等,以硬件电路为基础,釆用p丽调速方法,用c语言编写程序, 单片机通过程序来进行控制。当单片机上电后,系统进入准备状态。当按动按钮后便 开始执行其相应的程序,根据输出的高低电平决定直流电机的正反转,再根据按丁加 减速按钮后执行的程序,调整输出高低电平的占空比,来控制高低电平的延时时间, 进而控制电压的大小来改变直流
17、电机的转速。这样就可以实现用单片机控制直流电机 调速的基本功能了。1.系统硬件电路部分设计1.1总体硬件电路设计木设计选用了stc89c52单片机来做为主控制器,由单片机来产生pwm输出信号, 传到直流电机屮,直流电机旋转通过霍尔传感器测速电路将实时的电机转速传回系统 的单片机中,并通过lcd1602液晶显示模块将电机的转速和占空比显示出来,从而实 现对直流电机速度和转向的控制,实现直流电机调速系统设计所要求的目的和功能。单- pwm控制模块转速、占空比显示模块片按键控制模块-机a电机速度采集-电机电源模块图 1-1系统整体设计框图1.2直流电动机调速1.2.1 直流电机简介直流电机就是将直流
18、电能转化为机械能的电机。直流电动机的基本原理是往恒定 磁场的转子通电,电流会在磁场里受到力的作用,会使转子围绕着中心轴旋转,这样 电动机就转动起来了。直流电机的主要优点是:a.宽调速范围,便于平滑调速;b.起动、制动和过载转 矩大;c.便于控制,可靠性较高。一般应用于对起动和调速性能耍求较高的生产机械 中,比如大型机床、船舶机械、电力机车、造纸和纺织机械等都广泛的使用了直流电 机来作为原动机。驱动模块1-2.2 直流电机调速系统直流电机调速系统主要有以下几种方法:1)晶闸管-电动机系统(简称v-m系统)它就是利用晶闸管整流装置取代了旋转变流机组,通过控制触发装置gt的控制电 压来移动触发脉冲的
19、相位,可以改变平均的整流电压,从而实现了平滑调速,这样的 系统都称为v-m系统。2)直流脉宽调速系统(简称pwm调速系统)它就是采用了脉宽调制的高频开关控制方法所形成的脉宽调制变换器-直流电动 机调速系统,简称pwm调速系统。pwm控制技术就是对一系列脉冲的宽度进行调制的技术,即通过改变脉冲的宽度 来实现控制,从而等效地获得所需的波形。与v-m系统相比,pwm系统具有许多优点:a.主电路线路简单,需要的功率器件较少。b.开关频率较高,电流易于持续,谐波较少,电机损耗和发热情况都比较小。c.低速时性能较好,稳速精度较高,调速范围较宽。d.它与快速响应的电机相配合时,动态响应较快,动态抗扰能力较强
20、,系统频 带较宽。c.功率开关器件工作在开关状态时,导通损耗较少,当开关频率合适时,开关 损耗较小,因此装置的效率较高。f.当直流电源用不控整流时,电网的功率因数高于相控整流器。正因为以上的优点,所以直流pwm调速系统的应用范围广泛,特别是在中小容量 的高动态性能系统当屮。1.3单片机电路设计1.3.1 stc89c52 单片机简介stc89c52型号的单片机是由宏晶科技公司推出的新一代具备高速、低功耗、超强 抗干扰能力的单片机,它的指令代码完全能够兼容传统的8051型单片机,它可以任意 选择12时钟机器周期或是6时钟机器周期。其主要的特征性能如下:1)工作电压为3.3v5.5v (5v单片机
21、)或是2.0v3.8v (3v单片机);2)工作频率范围为040mllz,相当于普通8051单片机的080mhz,其实际的工 作频率更可以达到48mhz;3)具有8k字节的用户应用程序空间;4)集成了512字节的ram;5)具备eeprom功能;6)具有看门狗功能;6)一共有3个16位的定时器/计数器,即为定时器to、tl、t2;7)其外部中断共有4路,下降沿中断或低电平触发电路,外部中断的低电平触发 方式可以唤醒单片机的power down模式;8)具有通用异步串行口(uart),而且可以通过使用定时器软件来实现多个uart; 10)工业级的工作温度范围为-40+85c,商业级的则为075c
22、。图 1-2 stc89c52 引脚图1.3.2 单片机最小系统单片机的最小系统,或是单片机最小应用系统,是指只运用最少的元件组成的并 能够直接运行的单片机系统。对于51系列的单片机来说,最小系统一般都包括了这 几个部分:单片机、品振电路和复位电路。不图就是一个51单片机的最小系统电路图:图 1-3单片机最小系统图34333231302928272625242322vccj212345678912345678939t2/p1.ot2ex/p1 . 1 p 1. 2 p 1. 3 p 1. 4.p 1. 5 p 1. 6 p 1. 7rstrxd/p3. otxd/p3.1into/p3, 2
23、int1/p3. 3to/p3.4t1/p3,5wr/p3,6 rd/p3.txtal2xtal 1vss140vcc239p o. o/ado333p o. 1/ad1437p o. 2/ad2536po.3/ad3s3 5po. 4./ad4.7c/03 4po.5/ad5sh3 3po.6/ad69n3 2po.7/ad71 o00kon3 1ea113 0ale/prog12ul2 9psen13ho2sp 2. 7/a1 51 427p 2. e/al 4152 6p 2. 5/a1 3162 5p 2. 4/a1 21t24p 2. 3/a1 11823p2.2/a1o1922p2
24、.1/a9202 1p 2. o/aslbpi.0pl.1p1.2p1.3p1.4pi.5p1.6p1.7rstp3.cxrxd)p3. 1(txd)p3.2dnro)p3.3(1 nt 1)p3.4to)p3.5(ti)p3.(vwr)i7(rp)xtal2xtaijgne)89c51/c52vcc(ado)po.o(ad1)r).1(aec)r).2(acb)r).3(atm)p0.4(ad5)p0.5(ad6)k).6(ap7)h),7ra7vppale/progpsen(a15)p2.7(a14)p2.6(a13)p2.5(a12)r2.4(a11)p2.3(a1o)p2.2( 八9)
25、p2.1(a8)p2.o40383736351.3.2. 1 复位电路当单片机系统在运行过程当中受到了环境的干扰出现程序跑飞的情况时,按下复 位按钮后,其内部的程序就会自动复位从头开始执行。在单片机系统中,系统上电启动的时候便会自动复位一次,当复位按键按下后系 统会再一次复位,若释放后再按下,系统还会继续进行复位操作。所以可以通过复位 按键的断开和闭合来在运行的系统当中控制其是否复位。1.3. 2. 2 晶振电路晶振就是晶体振荡器的简称。晶振就是用来给单片机提供工作信号脉冲的,这个 脉冲就是单片机的工作速率。如用12mhz的晶振时,则单片机的工作速度就是每秒12m。1.4测速电路设计测速部分电
26、路设计如下图所示:r3- 1 1-10ku4霍尔e-lvccl_-il图 1-4 测速部分电路图1.4.1 霍尔传感器简介霍尔传感器a3144是由allegro micro systems公司生产的宽温、开关型 霍尔效应传感器,其工作温度的范围可以达到_40c150c。电压调整电路、反 相电源保护电路、温度补偿电路、微信号放大器、施密特触发器和0c门输出极以及 霍尔元件组成了其总体结构,通过上拉电阻可以将其输出接入到cmos逻辑电路上。 它一共有两种封装的方法,分别是3脚贴片微型封装,其后缀是“lh”以及3脚直插 式的封装,其后缀是“ua”。a3144e系列的单极高温霍尔传感器是由差分放大器、
27、稳压电源、霍尔电压发 生器、施密特触发器以及输出放大器组成的磁敏式传感电路。它是一种单磁极工作形 式的磁敏电路,适用于在矩形或者柱形的磁体下来进行工作。它的输入是磁感应强度, 输出则是一个数字电压的信号。其可以运用在汽车工业以及军事工程等领域当中。产品特点:体积小、灵敏度高、响应速度快、精确度高、可靠性高、温度性能好。典型皮用:非接触式开关、汽午点火器、刹车电路、位置及速度检测与控制、报警装置、纺 织控制系统。1.4.2 霍尔传感器测速原理本设计中测量电机转速首先就是耍将电机的转速表现为单片机能够识别出来的 脉冲信号,从而进行脉冲计数来得到转速。这里选用了霍尔传感器来作为电机转速检 测的器件是
28、因为霍尔传感器作为一种用来测量转速的传感器,它具有结构稳固、体积 小、重量轻、寿命长和安装便利等优点。当电机在转动时,带动了传感器动作,产土 出对应频率的脉冲信号,在经过信号处理后再将其输出到计数器或者其它的脉冲计数 装罝当中,从而来实现对电机转速的测量。1.5液晶显示电路设计液晶显示部分电路图如下图所示:图 1-6 液晶部分电路图图 1-5霍尔传感器的接线图vccr610klblcd 1602r71kr71k寸一5一一9qicmitsii寸q01 s6 s5 0gnh寸sd1.5.1 lcd1602 功能简介lcd 1602也被称作为1602字符型液晶显示屏。它是专门用来显示字母、数字以 及
29、符号等的点阵型液晶模块,它由若干个5x7或5x11等点阵字符位构成,每一个点 阵字符位都能够显示一个字符。每位之间冇一个点距的间隔,同吋每行之间也有一个 间隔,这样既起到了字符间距的作用,又起到了行间距的作用。也正是由于这样,它 并不能够显示图形。lcd 1602是指显示的内容形式为16x2,即可以显示两行,每行 有16个字符的液晶模块。lcd 16021.5.2lcd1602 性能参数下表为lcd 1602的一些主要性能参数:表 1-1芯片的主要技术参数及应用配置显示容量16x2个字符芯片工作电压4. 55. 5v工作电流2. 0ma (5. 0v)模块最佳工作电压5. 0v字符大小2.95
30、x4. 35 (wxh) mmlcd1602的各引脚如上图所示,它一共有16个引脚,各个引脚的功能说明如下:1) vss:电源的地;2) vdd:电源的正极;3) vl:液晶显示偏压信号,对比度的调整端,接地时为最高,接正电源吋为最 低,可以接10k电位器来调整;4) rs:寄存器选择,高电平时是选择数据寄存器,低电平时是选择指令寄存器;5) r/w:读/写选择,高电平时是读操作,低电平时是写操作;6) e:使能端1_1,当该端u由高电平跳变为低电平时,液晶模块就开始执行命令;7) bla:背光源的正极;blk:背光源的负极;8) dod7:数据端口。1.6按键电路设计单片机的键盘电路设计有两
31、种:独立键盘和矩阵键盘。独立式键盘是将按键的一 端与单片机的i/o口相接,而按键的男一端接地。用这种接法时程序比较简单而且系 统更加的稳定:而矩阵式键盘接法的程序则比较复杂,但是占用单片机的1/0口较少。 根据木电路设计的功能要求以及方便程度,这里选用了独立式的键盘来控制。独立式键盘的实现方法是利用单片机读取电平的高或低来判断是否冇哪个按键 被按下。按键的一端接到单片机的1/0口,而另一端接地,程序开始的时候将此1/0口置于高电平,没有按键按下的时候该i/o口保持高电平。当一个按键被按下时,其 接的i/o口与地短路使i/o u变成了低电平。按键松开后,单片机的内部上拉电阻 使i/o门继续保持着
32、高电平的状态。我们只需要在程序屮查找此时i/o门的电平状态 就能够知道此时是否有按键被按下或松开了。在单片机对键盘操作处理的时候会遇到一个重要的问题,那就是键盘的消抖。该 抖动是一种机械式的抖动,当按键按下时其内部的弹片会有一个轻微的跳动,会经过 一段短暂的时间才能完全的接触。抖动时间一般为ioiohks之间,这种抖动对于单片 机来说是很漫长的。消除抖动的方法共有硬件消抖和软件消抖两种。其中硬件消抖就 是用电路来对抖动部分进行处理,从而来消除其抖动的影响。而软件消抖并不是去掉 按键的抖动,而是避幵按键抖动的这部分时间,当按键稳定之后再对其动作进行处理。在本设计当中,为了方便与简洁我们选择了使用
33、软件消抖的方法。具体的实现方 法是在当检测到按键按丁时,程序屮立即延时l(t20nis左右以避开抖动的这部分时 间。待延时结束之后再读单片机i/o口的值,如果值为1,则表示延时不到l(t20ms,可以将其视为干扰信号;若值为0,则代表有按键按下,并继续执行相应的程序。该电路设计是用了按键接低的方式来读取按键的动作,在单片机初始时为高电 平,当有按键按下的时候,会给单片机一个低电平信号,然后单片机再对该信号进行 处理。具体的硬件设计如下图所示:adddeczhengfanstart/stop图 1-8按键部分电路图2.pwm信号发生电路设计2.1 pwm控制的原理pwm控制就是一种对脉冲的宽度进
34、行调制的技术。它通过产生矩形波并改变其占 空比来达到对脉冲宽度进行调制的目的。它是一种对模拟信号电平进行数字编码的方 式,通过使用高分辨率的计数器,调制其方波的占空比用来对模拟信号的电平进行编 码,同时乂是一种通过微处理器的数字输出来控制模拟电路的一种非常奏效而且方便 的技术,其广泛的被应用于电机调速、温度和压力的控制等众多领域当中。其模拟信 号的值可以连续变化,它并没有限制其幅度以及时间的分辨率。2. 2 h桥驱动电路原理由于该设计的要求是耍对电机进行转速和旋转方向的控制还要对电机以及电路 有一定的保护功能,所以电机驱动电路选用了h桥驱动电路。这样可以使调速更方便, 并且使电路有较强的驱动和
35、保护能力。之所以称之为n桥式驱动电路,是因为它的形状与英文中大写字母“n”相似。 该电路是由4个三极管和一个电机组成的,中间一个电机,两边是各两个三极管。+ +图 2-1 h桥式驱动电路图要使电机旋转起来,则必须是要让电路对角上的一对三极管都导通。而不同的对 角线上的两个三级管导通会改变电流的流向,从而改变电机的转向。如上图所示,要使电机正转则必须使q1和q4导通。这吋电流从电源正极流出经 过q1后从左向右的流过电机,然后经过q4流出到电源的负极,从而来驱动电机朝顺 时针方向旋转,此时电机正转。过程如下图所示:qi01图 2-2 h桥驱动电机正转反之,要使电机反转则要使q2和q3导通。这时电流
36、流过q3再经过电机,然后 从q2流出,驱动电机朝逆时针方向转动,电机反转。过程如下阁所示:图 2-3 h桥驱动电机反转耍注意的是,耍确保电路中同侧的两个三极管不能同时异通。否则,电流会直接 流过两个三极管,没有流过负载,电流可能会过大而烧坏器件。2.3系统驱动电路的设计本电机驱动电路的设计是基于pwm原理来设计的,将pwm技术与电机的驱动电路 相结合。具体的电路设计如下图所示:该电路主要由pnp型三极管和npn型三极管以及二极管、电阻等构成。pnp型的 三极管是低电平输入时导通,npn型的三极管是高电平输入时导通。q1和q2是npn型三极管,当q1和q2导通时,q3和q6是截止的,q4和q5是
37、导通的,此时电机两 端都是接地,电机不转。而当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个二极管为续流二极管,可以防止电机产生的反向电动势以及 晶体管产生的问题对整个电路的影响,起到保护和续流的作用。3.系统软件部分设计3.1系统软件总体设计软
38、件和硬件要相互配合才能形成一个完整的系统,所以软件的编写不仅重要而且 要与硬件相匹配,这样才能充分发挥两者的作用,从而实现整个系统的功能。本设计 的软件程序设计通过用keil软件用c语言来编程。主要有主程序、lcd 1602定义程 序、初始化程序、键盘扫描程序、转速显示程序、占空比显示程序、中断程序以及p丽占空比输出程序等部分组成。具体各部分的程序介绍如下。3.2主程序设计主程序的设计主要是对系统各部分显示出的初始值、标志位以及电机的初始状态 等进行了设置,并有初始化子程序、键盘扫描子程序的调用,实时的检测按键等部分 的动作,以便及时的做出和应的程序动作。下图为主程序设计的流程图:(ff 始)
39、设定占空比、转速初值初始化标志位和电机状态调用初始化程序-调用键盘扫描程序n是否有按键按下?y执行相应程序图 3-1主程序流程图部分程序如下所示:m=5o;/占空比初始为50 zheng=l;zhuansu=0;/转速初值为0while(l)/设定电机初始为正转/调用键盘扫描程序flag=0;keyscan();3.3键盘扫描程序设计键盘部分是由五个独立按键组成的,分别控制了电机的正转,反转,加速,减速 以及开始/停止这几个功能。在程序中用了五段if语句来分别判断五个按键的状态, 但由于按键本身按下时会有抖动对判断其是否真正按下有一定的干扰,所以在程序中 加了延时程序来避开按键的抖动,从而能判
40、断按键是否真正地按下,以便进行每个按 键按下后设置的动作。其中加速和减速按键按下后的效果会显示在lcd1602上。其程 序部分的流程图如下图所示:图3-2键盘扫描程序流程图3.4初始化程序设计在这部分的程序中由于后面用到了中断程序, 所以在这里对单片机的定时器0和定时器1以及外部中断1进行了初始值、触发方式等的设置,以便后而执行程序时 能够有所依据和条件。然后对lcd1602的屏幕显示样式进行了初始化设置,并设置了 其初使时要显示出的字符内容和预留出的空位,为后面的显示内容设置提供基础。程 序的流程图如下图所不:(程序 ac1 )71602 初始化w设置定吋器初始状态中断初始化设置 1602
41、初始示状态并 55 示图 3-3初始化程序流程图部分程序如下所示:write_com(0 x01);/led初始化write_data(,:);/显示“v: ”write_com(0 x38);/设置为2行5*7显示write一com(0 x87);/从第一行第八位开write_com(oxoc);/关闭显示光标始显不tmod=ox01;/选用定时器方式1 (16write_data(r);位计数方式)write一datafp1);thl=0 xd8;write_data(,m,);/显示“rpm”tll=0 xf0;/定吋器装入初值10mswrite一com(oxco);/从第二行第一位开e
42、a=1;/开总屮断始显不et1 = 1;/定时器1开中断write-datacz);tr1 = 1;/定时器1启动write_data(h);ex1=1;/外部屮断1开启write_data(la,);it1 = 1;/外部中断1为下降沿触发方式write一data(n);tho=oxff;write_data(k);tl0=0 x9c;/定时100 u swrite_data(,o,);et0=l;/定时器0开中断write_data(nf);tro=1;/定时器0启动writedatafg);write_com(0 x80);/从第一行第一位开write_data(b);始显不write一
43、data(i);write_data(,v,);write_data(,:);显示zhankongbi:lcd1602显示的第一行地址是从0 x80开始,第二行是从oxco开始的。定时器方 式1为用高低各8位共16位来表示设定值。其中,两个定时器的值的计算过程如下:该设计的晶振为12mhz,所以一个机器周期为:实际定时时间为:rc= x *tp其屮tc为所需计时的时间,x为计数的次数,tp为机器周期。所以当计时时间 为10ms时,可求出x:再将55536分解成两个8位16进制数,求得高8位为d8h装入thx,低8位为foh装入tlx中。同理,可求得计时为100 us时,高8位为ffh,低8位为
44、9ch。3.5 lgd1602设置和显示程序设计3.5.1 lcd1602 指令和数据读写程序设计lcd1602的使用需先向其发送指令,读取之后执行指令设置送进数据吋所用的地 址位置,再读取数据并执行。其屮写入指令和数据的程序框图如下图所示:写指令/数据程序入口设置 1602 状态选择控制对象执行指令1212*106ms = lus(3-1)(3-2)x=zl=12=ioooo rpms再将x求补码,即求得定吋器的计数初值:(x)补= 2n-x因为选用了工作方式1,则n=16,即:(x)补=216-% =65536-10000 = 55536(3-3)(3-4)(3-5)图 3-4 lcd16
45、02 指令和数据读写程序流程图部分程序如下所示:void write_com(uchar com) /向1602写控其屮lcd 1602的引脚rs为0时是输入指令,为1时是输入数据;引脚en为使能 端口,为1时是读取信息,当+0(下降沿)时执行指令。因为在硬件电路中,是将单片机的p0.0-p0.7引脚和lcd1602的d0-d7引脚相连的,所以在程序中是将指 令和数据的传送与接收和单片机的p0口相关联的。3.5.2lcd1602 显示转速和占空比设置程序该部分程序的程序流程图如下图所示:程序入口 j设置 1602 显示地址(在第几行的第几位显示)计算转速/占空比执行显示程序v显示图 3-5 l
46、cd1602显示转速和占空比程序流程图void write_data(uchar date)/向1602写数制指令rs=o;/输入指令p0=com;delay(5);en=l;/读取信息delay(5);en二0;/执行指令rs=l;/输入数据p0=date;delay(5);en=l;/读取信息delay(5);en=0;/执行指令程序执行说明:该程序设置转速是从lcd1602的第一行第三位开始依次往后显示 的,然后将两秒内测得的转速乘以30得到每分钟(60s)的转速。如果要显示的转速 是12345转,则执行的结果是分别将每一位依次计算显示,从万位开始计算,12345除以10000取得数为1
47、,显示在万位和应的位置;再计算千位,12345除以10000取 余数为2345,再除以1000取得数为2,显示在千位的位置上;计算百位,12345除 以10000取余数为2345,再除以1000取余数345,再除以100取得数3,显示在百 位上;计算十位,12345除以10000取余数为2345,再除以1000取余数345,再除 以100取余数45,再除以10取得数4,显示在十位上;最后计算个位,12345除以10000取余数为2345,再除以1000取余数345,再除以100取余数45,再除以10取余数5,显示在个位上。因为lcd1602是以ascii码的形式显示的,所以显示时都 耍加上个0
48、 x30,从而变为ascii码的形式在屏幕上显示出来,这样就在屏幕上显示 出了转速12345。如果显示的不是五位数字,则算出哪位等于0,就把那位空出来不 显示,显示后几位数。程序执行说明:该程序设置了占空比是从lcd 1602的第二行第十二位开始往后显 示。如if(zhuansu/l 00二二0)write_data(f*);elsewrite_data(zhuansu% 10000% 1000/100+0 x30);/如果转速百位为0则显示空格,否 则正常显示if(zhuansu/10=0)write_data( );elsewrite_data(zhuansu% 10000% 1000%
49、100/10+0 x30);/如果转速十位为0则显示空 格,否则正常显示write_data(zhuansu% 10000% 1000% 100%10+0 x30);/显示个位占空比显示部分程序如下所示:write_com(0 xcb);if(m/100=0)write一data(r); elsewrite_data(m/100+0 x30);/如果占空比百位为0则显示空格,否则正常显示if(m/10=0)write_data();elsewrite_data(m% 100/10+0 x30);/如果占空比十位为0则显示空格,否则正常显示write一data(m% 100% 10+0 x30)
50、;/显示个位转速显示部分的程序如下所示:write_com(0 x82);zhuansu=zhuansuhi30;/将两秒内的计数乘以30得到转每分if(zhuansu/l 0000=0)write一data( );elsewrite_data(zhuansu/10000+0 x30);/如果 转速万位为0则显示空格,否则正常 显示if(zhuansu/l 000=0)write_data( );elsewrite_data(zhuansu% 10000/1000+0 x30);/如i转速千位为o则显示空格,否则正 常显示果显示的占空比为100,则先计算百位,100除以100取得数1,显示在百
51、位 上;再计算十位,100除以100取余数0,除以10取得数0,显示在十位上;最后计 算个位,100除以100取余数0,除以10取余数0,显示在个位上。因为lcd1602是 以ascii码显示的,所以每位都要加个0 x30,从而变成以ascii码的形式在屏幕上 显示出来,这样就在屏幕上显示出了占空比100。如果要显示的占空比不是三位,则 算出哪位等于0,就把那位空出来不显示,显示后几位数。3.6各中断程序设计3.6.1 定时器中断 0 程序设计在初始化的程序中设置了定时器0的初值以及开中断和定时器0开启的指令,在 定时时间到后便会进入这部分程序执行。本部分程序的设计主要是通过定时器0的计 时、
52、预设的标志位与占空比的比较来控制单片机的输出占空比,从而达到利用pwm技术控制电机转速的功能要求。具体的程序流程图如下图所示:图 3-6 定时器中断 0程序流程图程序中利用定时器0计时来使标志位flagjl自加1,然后利用该标志位与此时 的占空比m做比较。定时器记一次为ioops,占空比最大为100,则一个周期就为10ms,此周期频率不变。如果小于m,则让单片机口继续输出来改变输出时间的占空比,从而控制电机的转速;如果大于或等于m时则停止单片机口的输出,稳定转速。 在过程中还会判断电机是否开启,若开启,则判断电机是正转还是反转,不同方向时 牢片机的输出口不一样;若电机未启动,则将停止单片机的输
53、出。部分程序如下所示:thooxff;if(fan=l)/电机反转tl0=0 x9c;/定时100 usflag_l+;if(flag_l99)续输出pwm信号flag_l = l;if(kai=l)/如果kai=l电机启动out= 1;out 1=0;if(zheng=l)/电机正转else/大于m则输出为0if(flag_lm)/小于占空比m则继续输出pwm信号out二1;outl = l;out=0;outl = l;1telse/大于m则输出为0jif(kai=0)/kai=0电机停止转动,输出为0out=l;outl=l;out= 1;outl = l;3.6.2 定时器中断 1 程
54、序设计这部分程序是为计算显示转速设计的。在初始化程序中设有定时器1的初值、开 启中断和定时开始的指令,定吋器1定时结束后便进入该中断程序。采用定吋中断1的方式编程,用定时器1和一个标志位來计时。定时器定时时间为10ms,flag为定 时次数,每次定时一次加1,最大为200,也就是一个定时周期为2s。测这段时间的 转速,然后通过调用转速显示程序算出每分钟的转速并显示出来。其流程图如下所示:中断程序入口d定时器 1定时标志位 flag 自加nflag=200?y +调用显示转速程序图 3-7定时器中断 1 程序流程图3.6.3 外部中断 1 程序设计该部分程序的执行是由初始化程序中的外部中断指令控
55、制的,设置了为下降沿触 发方式。当电机启动,霍尔元件检测到一次转速后产生下降沿变化,这时触发该中断 程序,转速标志位自加。单片机外部中断1引脚与霍尔元件相连,主要是用来配合硬 件电路屮的霍尔元件进行转速测量的。下图为该程序的流程图:屮断程序入口 j转速标志位自加(pij图 3-8 外部中断 1 程序流程图4.系统软件的调试整个系统的调试过程可以分为软件调试和硬件调试两部分,其屮软件调试是硬件 进行调试的基础。硬件调试是利用硬件系统进行的,一些调试仪器包括万用表、示波 器等,来检测硬件系统中是否存在着问题与故障。而软件调试则是通过编译、调试以 及运行程序来查找程序中存在的语法错误和逻辑错误的部分
56、并加以改正的过程。4. 1主程序调试在主程序的调试过程屮,出现了一些问题。编译后出现了包括子程序调用的错误、函数名未定义、初值没设完整的一些错误。再次对照子程序,补全了要设的初值,修 改了子程序调用后。再次编译就没有出现这类错误和警告了。4.2各子程序的调试程序编写完成后, 在进行各子程序编译时有错误,出现了变量未定义的情况。在 修改/之后,将程序下到硬件上运行后,发现lcd1602液晶屏上显示有时会出现乱码 的情况。在经过了单步运行以及咨询之后发现在显示的时候,由于是两行显示,所以 在显示函数执行完之后第二行会占用第一行的显示位罝,导致乱码。于是在该程序之 后加上一条指向液晶屏最后一个空地址
57、的语句后,再编译运行,发现液晶屏实现了正 常的显示。还有,在将程序下到硬件中进行调试时,有时会出现按下键后没反应的情况。在 查了资料后发现是疏忽掉了按键去抖这一重要的问题。由于按键的机械结构,内部的 小弹片会有跳动,导致了抖动,需要在程序中加入延时程序来避开这一抖动时间,并 进行再次的按键动作确认,再执行。按键的抖动时间一般为10ms-20nis左右。下图为 按键在闭合和断开时电压的抖动波形阁:图 4-1闭合与断开时的电压抖动波形图在经过了程序修改后,再次编译下载到硬件中,按下按键后实现了程序中设置的 对应动作。结论本次毕业设计是由两人一起完成的,虽然有软件和硬件设计的区分,但在设计过 程中还
58、是需要大家一起互和讨论,互和建议,结合两者来一起综合设计。在这儿个月 的工作学习中,通过查询资料以及求教老师同学加深了对木次设计的理解并拟定了最 终的设计方案与思路。本次电机调速系统设计硬件部分的功能要求要对直流电机进行包括速度、转向以 及开始停止等在内的功能控制。据此采用了最简便的主控电路、电机驱动电路、液晶 屏显示电路、按键控制电路、测速元件模块、电源电路等模块来设计。各部分原件经 过讨论后选择如下:主控电路选用了stc89c52单片机来控制,因为该芯片功能齐全 能满足该设计的功能;电机驱动电路采用h桥驱动电路,因为这样可以方便的通过单 片机输出高低电平、pwm对电机的转速以及转向的控制;
59、液晶显示电路采用了较晋遍, 较好用的lcd 1602来作为电机转速以及占空比的显示载体;按键控制电路用了五个按 键来分别控制电机的正转、反转、加速、减速、开始/停止功能;测速模块选用了霍 尔元件来测速;电源模块用了dc电源插口以及自锁开关组成,为直流5v供电。同时,本次设计的软件部分采用了方便的c语言编程。软件编程也分为了儿个部 分,主要有主程序、定义端口、延时、键盘动作、lcd1602显示、中断、定时器使用 以及p丽输出控制以及转向控制等部分。各部分相互调用,呼应配合,充分利用单片 机以及各元件的引脚功能,在编程中正确配置应用, 经过多次的求教以及不断的调试 最终与硬件相配合基本实现了本设计
60、耍求的功能。当然,木次的设计还存在着许多的不足之处。例如,没有实现电机的过载保护功 能、在控制电机转速上等都还冇缺陷。 总体的设计还可以更完善, 希望能在以后的过 程屮, 不断学习改正。想要完成一个完整的设计并不是一个简单的过程,它需要扎实的基础和熟练的用 各方面的知识相配合以及团队之间的相互合作与信任才能实现。通过这段时间的设计 学习,无论在硬件还是软件方面都学到了很多,进一步的扩展了我的知识领域,进一 步的提升了我的专业能力,锻炼了从单一模块到整体系统的设计与调试能力。同时也 意识到了很多的不足之处,并认识到了一些缺点。例如,对过往学习的知识掌握不够 等。另外,不管做什么事都需要有严谨、认
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年金融会计学专业岗位职业技能基础知识考试题库含答案
- 工程项目的社会影响评估方法试题及答案
- 2025新进厂职工安全培训考试试题新
- 水电水利工程的成本控制试题及答案
- 行政管理公共关系学的热点问题
- 2025-2030年电热板行业投资机会及风险投资运作模式研究报告
- 2025年市政工程管理者试题及答案
- 2025企业合同专用章管理规程
- 2025年建筑行业中合同管理与企业成本控制策略研究
- 公共关系教育的重要性与策略试题及答案
- 万达商家入驻商场合同(2024版)
- 【课件】初心与使命-时代的美术担当+课件-高中美术人美版(2019)美术鉴赏
- DLT 722-2014 变压器油中溶解气体分析和判断导则
- 北师大版五年级下册英语教案
- 铝合金薄板的热处理工艺与性能的研究
- 四川省成都市郫都区2023-2024学年数学五下期末调研试题含解析
- 四年级数学思维训练题
- DB63T 2286-2024 电化学储能电站消防设施要求
- DZ/T 0432-2023 煤炭与煤层气矿产综合勘查规范(正式版)
- DB43-T 2927-2024 中医护理门诊建设与管理规范
- 2024年沈阳市高三数学第三次模拟联考试卷附答案解析
评论
0/150
提交评论