直流电机远程测控系统的设计学士学位论文.doc

上传人:laozhun 文档编号:4029818 上传时间:2023-04-01 格式:DOC 页数:67 大小:1.51MB
返回 下载 相关 举报
直流电机远程测控系统的设计学士学位论文.doc_第1页
第1页 / 共67页
直流电机远程测控系统的设计学士学位论文.doc_第2页
第2页 / 共67页
直流电机远程测控系统的设计学士学位论文.doc_第3页
第3页 / 共67页
直流电机远程测控系统的设计学士学位论文.doc_第4页
第4页 / 共67页
直流电机远程测控系统的设计学士学位论文.doc_第5页
第5页 / 共67页
点击查看更多>>
资源描述

《直流电机远程测控系统的设计学士学位论文.doc》由会员分享,可在线阅读,更多相关《直流电机远程测控系统的设计学士学位论文.doc(67页珍藏版)》请在三一办公上搜索。

1、北方民族大学学士学位论文 论文题目: 直流电机远程测控系统的设计 院(部)名 称: 电气信息工程学院 学 生 姓 名: 杨 智 专 业: 电气工程及其自动化 学 号: 20060293 指导教师姓名: 张 新 闻 论文提交时间: 2010年5月20号 论文答辩时间: 2010年5月29号 学位授予时间: 北方民族大学教务处制摘 要 本文的设计任务是实现直流电机的远程测控,主要从一下几方面进行设计:1、89C51单片机为控制器对直流电动机进行控制和监测。89C51单片机主要是对直流电动机进行正转、反转、加速、减速、停止等控制,并对电机的转速随时进行监测,等上位机需要时随时发送给上位机。直流电动机

2、的驱动电路是采用H型桥式可逆PWM变换器,通过脉宽调制技术来控制电机的转速。2、利用VB编写上位机与单片机的串口通信程序。为了实现更加远距离的通信,本文采用RS-485串行通信口实现上位机与单片机进行通信,从而达到电机远程测控的目的。由于一般的上位机机只有RS-232串行通信,所以这里需要进行RS-232与RS-485转换。还用VB编写驱动监控界面,对电机的运行状态进行显示、监控、报警等。3、用VB、Proteus实现串口通信的联调仿真 利用Serialnull软件建立虚拟串口,把上位机中的通信串口与单片机中的通信串口连接起来,实现仿真。关键词:直流调速;单片机;串口通信;RS-485ABST

3、RACTThis design task is to realize remote control of DC motors, mainly about the design aspects:1、89C51 Single chip microcomputer of the DC motor control and monitoring。89C51 monolithic integrated circuits is in a direct motor, back, with the accelerating, decelerating, stop and wait for the control

4、 of the motor drive any monitoring as needed, such upper machines are sent to the upper machine.A direct motor driven circuit from the h the reciprocal change in patterns of pwm, through the wide modulation control motors techniques to speed.2、The use of VB with the upper machine monolithic integrat

5、ed circuits of the serial communication procedures.In order to achieve greater distance, and in the RS -485 of work had begun to implement a computer communicate with monolithic integrated circuits, and so achieve the purpose of the tracking control.Because of the upper machine only RS-232 the seria

6、l communication, so it will require RS-232 and RS-485 transformation.With VB write a driver of the interface to monitor, electrical performance of the state on display, monitoring and alarm.3、Using VB, Proteus joint simulation Serial Communication Use serialnull software set up a virtual string mout

7、h, the upper of monolithic integrated circuits of the string mouth and communications serial connection, the realization of emulation.KEY WORDS: DC motor speed; an one - chip computer; Serial Communication; RS-485目 录第1章直流调速驱动和测速设计11.1直流脉宽调速驱动电路11.1.1 PWM控制原理11.1.2 PWM调速系统21.2 直流电机转速测量41.2.1 旋转编码器51.

8、2.2 周期法测速6第2章单片机硬件与软件设计82.1 看门狗电路82.2 直流电机硬件电路设计92.2.1 直流电机驱动92.1.2 脉宽的调制变换器111 8253定时器/计数器112 脉宽调制电路132.3 单片机软件设计142.3.1 主程序141 主程序流程图142 主程序162.3.2 串口中断程序191 串口中断程序流程图192 串口中断程序202.3.3 外部INT0中断程序211 外部INT0中断程序流图212 外部INT0中断程序212.3.4 定时器T0中断程序222.3.5 4字节除子程序22第3章 串口通信设计253.1 RS-485串行接口253.1.1 TTL与R

9、S-485电平转换253.1.2 RS-232与RS-485电平转换273.2 VB串口通信MSComm控件283.2.1 MSComm控件处理通信的方式293.2.2 MSComm控件的属性291 CommPort属性292 Input属性293 Output属性304 PortOpen属性305 Setting属性303.3 电机驱动监控程序的设计313.3.1电机监控程序设计思路313.3.2电机监控程序功能简介323.3.3界面设计和代码编写331 主窗体332 串口设置窗体373 口运行表窗体384 特性曲线窗体39第3章VB与Proteus的联调仿真414.1 串行端口的设置414

10、.1.1 Proteus串行端口的设置414.1.2 VB串行端口的设置414.1.3 Serialnull端口的设置424.2 VB与Proteus的联调42第4章总 结44致 谢45参考文献46附录1 系统图47附录2 英文原文51附录3 中文翻译57第1章 直流调速驱动和测速设计直流电动机具有良好的起、制动性能,宜于在大范围内平滑调速,在许多需要调速或快速正反向的电力拖动领域中得到了广泛的应用。近年来,虽然高性能交流调速技术发展很快,交流调速系统正逐步取代直流调速系统,但直流调速系统毕竟在理论上和、实践上都比较成熟,而且从控制的角度来看,它是交流调速系统的基础1。随着半导体技术的进步,电

11、力电子技术飞速发展,使直流电机的传动技术得到改进,以往普遍采用的三种基本调速方法:(1) 改变电枢的供电电压; (2) 改变电枢回路总电阻;(3) 改变励磁磁通。变压调速是直流调速系统的主要方法,调节电枢供电电压需要有专门的可控的直流电源。近年来,直流斩波器或脉宽调制(PWM)控制技术已成为自动控制领域的热点之一。1.1直流脉宽调速驱动电路PWM系统在很多方面有较大的优越性:主电路简单,需要的功率器件少;开关频率高,电流容易连续,谐波少,电机损耗及发热都较小;低速性能好,稳速精度高,调速范围宽,可达1:10000左右;若与快速响应的电机配合,则系统频带宽,动态响应快,动态抗扰能力强;功率开关器

12、件工作在开关状态,导通损耗小,当开关频率适当时,开关损耗也不大,因而装置效率高1。1.1.1 PWM控制原理 (a) (b)图1-1 PWM 斩波器工作原理电路及其输出波形直流斩波的功能是将某一直流电变为另一需要的固定电压或可调电压的直流电。直流斩波电路采用的脉宽调制(Pulse Width Modulation-PWM)控制技术,实际上就把直流电压“斩”成一系列脉冲,改变脉冲的占空比来获得所需的输出电压。直流斩波电路用PWM 斩波器实现。以下简述一下PWM 斩波器的工作原理。PWM 斩波器工作原理电路及其输出波形如图1-1 所示1。假设V1先导通T1秒, 然后又关断T2秒,如此反复进行,可得

13、到图2-1b 的波形图。则电机电枢端的平均电压Ua 为(1-1)式。 (1-1)设=T1/T,定义为占空比。设定输入电压Ud不变,越大, 电机电枢端的平均电压Ua 越大,反之也成立。因此改变值就可以达到调压的目的。改变有三种方法:第一种就是保持开关管导通时间T1不变,使其关断时间T2在0 到 之间变化,这叫定宽调频;第二种就是使开关管关断时间T2不变,使其导通时间T1在0 到 之间变化,这叫调宽调频;第三种就是保持开关管导通和截止的总时间(也就是周期)T 一定,使管子导通时间T1在0 到T 间变化,这叫定频调宽。1.1.2 PWM调速系统在直流电机伺服系统中,速度调节主要通过改变电枢电压的大小

14、来实现。它采用脉冲宽度调制技术,其工作原理是:在固定的脉冲周期内,通过改变“接通脉冲”的宽度,使直流电机电枢上电压的“占空比”改变,从而改变电枢电压的平均值,控制电机的转速1。图1-2 PWM驱动系统调速常见的PWM 驱动系统的主电路(功率放大器)结构有:H 型和T 型。下面以H 型结构为例说明PWM单极式驱动的电路工作原理,如图1-2示。在图1-2 VD1、VD2、VD3、VD4 为续流二极管, 用来保护VT1、VT2、VT3、VT4 三极管,VT2、VT4交替导通调制脉冲宽度,控制平均电压。VT1、VT3的导通控制电机的转向。当VT2 、VT3截止VT1 、VT4导通电机正转,VT1 、V

15、T4截止VT2、VT3导通电机反转,如图1-3所示。(a) (b)图1-3 电机运行三极管导通情况VT1为控制正转三极管,VT2为控制反转三极管,当VT2截止VT4导通电机正转,在 0 t Ton 期间,Ub4为正VT4导通,电流Id经VT1到电机,然后经VT4流通形成回路,电机两端电压Uab = +Us ;在Ton t T期间,Ud4为负或零VT4截止,直流电机两端没有电压,也没有电流,电机只能靠惯性转动。当VT4截止VT2导通电机反转,在 0 t Ton 期间,Ub2为正VT2导通,电流Id经VT3到电机,然后经VT2流通形成回路,电机两端电压Uab = +Us ;在Ton t T期间,U

16、d2为负或零VT2截止,直流电机两端没有电压,也没有电流,电机只能靠惯性转动。单极式控制可逆PWM变换器的输出平均电压为 (1-2)单极式控制可逆PWM变换器具有制动能力,若电机从正转到停止时,转向控制三极管VT1、VT3都截止了,此时使Ub2为正VT2导通,在反电动式的作用下VT2导通,电流由A端经VT2,在经VD4到B端,最到电机形成回路,达到制动的目。若电机从反转到停止时,转向控制三极管VT1、VT3都截止了,此时使Ub4为正VT4导通,在反电动式的作用下VT3导通,电流由B端经VT4,在经VD2到A端,最到电机形成回路,达到制动的目。经上面分析可得,单极式可逆PWM变换器在不同工作状态

17、下的导通器件和电流回路与方向,如表1-1所示。表1-1 电机工作状态 期间工作状态0TonTonT电 机正 转导通器件VT1 VT4VT1 电流回路1没有回路正 向制 动导通器件VT2 VD4电流回路A-VT2-VD4-B电 机反 转导通器件VT3 VT2VT3 电流回路3没有回路反 向制 动导通器件VT4 VD2电流回路B-VT4-VD2-A在直流电机的调速过程中,当对功率三极管进行控制时,不能同时导通VT1、VT2和VT3、VT4,否则将导致直流电源短路,造成直流电源烧坏,甚至更严重的后果。所以在控制功率三极管导通时,要采用特定的保护外围电路,以提高调速系统的可靠性和安全性。1.2 直流电

18、机转速测量转速检测有模拟和数字两种检测方法: (1) 模拟测速:采用测速发电机,其输出电压不仅表示了转速的大小,还包含了转速的方向,在调速系统中,转速的方向也是不可缺少的。因此必须经过适当的变换,将双极性的电压信号转换为单极性电压信号,经A/D 转换后得到的数字量送入微机,如图1-4所示: 图1-4 测速发电机转换电路(2) 数字测速:数字测速具有测速精度高、分辨能力强、受器件影响小等优点,被广泛应用于调速要求高、调速范围大的调速系统和伺服系统。数字测速现在广泛采用旋转编码器测,如图1-5所示:图1-5 光电码盘转换电路1.2.1 旋转编码器1光电式旋转编码器是转速或转角的检测元件,旋转编码器

19、与电动机相连,当电动机转动时,带动编码转动,便发出转速或转角信号。旋转编码器可分为绝对式和增量式两种。绝对式编码器在码盘上分成刻上表示角度的二进制数码或循环码,通过接收器将该数码送入计算机。绝对式编码器常用于检查转角,若需得到转速信号,必须多转角进行微分处理。增量式编码器在编码盘上均匀的刻上一定数量的光栅,如图1-6所示,当电动机转动时,码盘随之转动。通过光栅的作用,持续不断地开放或封闭光通路,因此,在接收装置的输出端便得到频率与转速成正比的方波脉冲序列,从而可以计算转速。 图1-6 增量式编码器上述脉冲序列正确地反映了转速的高低,但不能鉴别转向。为了获得转速的方向,可增加一对发光与接收装置,

20、使两对发光与接收装置错开光栅节距地1/4,测两组脉冲序列A和B的相位相差90。正转时A相超前B;反转时B相超前A相。采用简单的鉴相路就可以分辨出转向,如图1-7所示。 图1-7 区分旋转方向的A/B两组脉冲序列若旋转编码器的码盘的光栅数位N,则转速分辨率位1/N,常用的旋转编码器光栅数有1024、2048、4096等。再增加光栅数将大大增加转速编码器的制作难度和成本。采用旋转编码的数字测速方法有三种:M法、T法和M/T法。1.2.2 周期法测速在编码器两个相邻输出脉冲的时间间隔内,用一个计数器对已知频率为f0高频时钟脉冲进行计数,并由此计算转速,这里测速时间缘于编码器输出脉冲的周期,所以称周期

21、法,也称为T法测速。如图1-8所示,在T法测速中,准确的测速时间Tt是用所得的高频时钟脉冲个数M2计算出来的,即Tt=M2/ f0,则电机的转速为。如图1-8 T法测速 (1-3)式中 M2为PLG每转输出的脉冲个数。分辨率是用来衡量一种测速方法对测转速变化的分辨率能力的,在数字测速方法中,用改变一个计数字所对应的转速变化量来表示分辨率,用Q表。如果当被测转速由n1变为n2时,引起计数值改变了一个字,则该测速方法的分辨率是 (1-4)Q越小,说明该测速方法的分辨率能力越强。T法测速的分辨率 (1-5)经化简可得 (1-6)T法测速误差率 (1-7) 经化简可得 (1-8)低速时,编码器相邻脉冲

22、间隔时间长,测得的高频时钟脉冲个数M2多,所以误差率小,测速精度高,故T法测速适用于低速段。 第2章 单片机硬件与软件设计随着计算机技术尤其是单片微型机技术的发展,由于单片机则具有快速及灵活的控制特点,所以人们已越来越多地采用单片机来对一些工业控制系统中如温度、流量、压力、电机等参数进行检测和控制。2.1 看门狗电路“看门狗”技术可由硬件实现,也可由软件实现。CPU取指令过程是先取操作码,再取操作数。当PC受干扰出现错误,程序便脱离正常轨道“乱飞”,当乱飞到某双字节指令,若取指令时刻落在操作数上,误将操作数当作操作码,程序将出错。若失控的程序进入“死循环”,通常采用“看门狗”技术使程序脱离“死

23、循环”。通过不断检测程序循环运行时间,若发现程序循环时间超过最大循环运行时间,则认为系统陷入“死循环”,需进行出错处理。 下面介绍一种看门狗电路的设计方法。看门狗技术是一种常用的抗干扰措施,和其它抗干扰技术相比它采用的是一种亡羊补牢的办法,即只在其它抗干扰方法失效后采用的一种补救方法。看门狗的基本功能是这样的:在计算机运行时,独立于CPU之外的看门狗通过检测计算机的状态信号,监视微机的运行,一旦发现CPU的运行不正常(出现程序跑飞、死循环等情况),它就会发出复位信号,强制计算机重新启动。该直流调速控制系统所设计的看门狗电路如图2-1所示。由计数器4060和一个NPN晶体管组成。计数器4046的

24、技术周期 T为T=2.2*R5*C2=0.44ms ,如果不对计时器计数进行干预,则4060的第13位有输出,需要时间为1.8s左右。单片机正常工作时,只要在1.8s内从P1.4口送出一个负脉冲,便可复位看门狗,使看门狗电路对系统不起作用。在两个负脉冲间隔内,P1.4应保持维高电平,这时4046的脚12由R3拉低,计数器正常计数。如果程序跑飞,则最大可能是从P1.4口不能按时发出复位计数器的脉冲,4060便一直计数直到Q13有计数值输出,其高电平脉冲输出 2和上电复位1通过或门电路去复位AT89C51单片机。电路中晶体管T1起到反向的作用,用来隔离单片机复位时从P1.4口产生的正脉冲,以便使看

25、门狗对系统复位时,单片机得到充分的复位脉冲。用计数器实现看门狗电路的好处在于控制时限定是明确,有利于软件的编程。本系统的看门狗程序用定时中断方法实现,定时间隔为1.8s即在1.8s内喂一次看门狗。图2-1 看门狗电路2.2 直流电机硬件电路设计2.2.1 直流电机驱动在电机控制系统中,速度调节主要通过改变电枢电压的大小来实现。它采用脉冲宽度调制技术,其工作原理是:通过改变“接通脉冲”的宽度,使直流电机电枢上电压的“占空比”改变,从而改变电枢电压的平均值,控制电机的转速。常见的PWM 驱动系统的主电路(功率放大器)结构有:H 型和T 型。下面以H 型结构为例说明PWM单极式驱动的电路工作原理,

26、如图2-2示。图2-2 直流电机H 型驱动电路图2-2中,“PWM”标号端是可调脉冲宽度的脉冲序列,通过调节脉冲宽度,改变电机两端电压的占空比,使电机两端的电压的平均值和流过电机电流的有效值随脉冲宽度的变化而变化。导通的脉冲宽度与平均电压和有效电流成正比。脉冲调制的调制周期为10ms。图2-2中,电阻R3和R4为拉电阻,起上拉电流的作用,由于“PWM”端输入的电压和电流难以驱动两个功率三极管,所以必须采用R3、R4上拉电阻。“N1”、“N2”端口是直流电动机用旋转编码器测出来的两个脉冲序列,它们的相位有一定的相位差如图2-3所示。把“N1”、“N2”端口输出的两个脉冲序列经过与门可以得到一个脉

27、冲序列N,然后接到单片机的INT0中断口,再经过软件处理就能测出电机的转速。 当编码脉冲序列N的下降沿到达INT0中断口,单片机发生中断,进入中断程序,先停止定时器T0计数,读出TH0和TL0的计数值,然后重新给TH0、TL0赋值为0,并启动定时器T0,最后退出中断,等待下一次中断。图2-3 编码脉冲本文单片机的晶振频率fosc = 11.0592MHz,采用定时器T0对旋转编码脉冲序列N的两个相邻脉冲计数。设计时周期为Tosc,定时器T0的计数个数为m,由于旋转编码器的光栅数Z为5,则可以得到电机转速与计数个数m的关系。 (2-1) (2-2) (2-3)由式(2-1)、(2-2)、(2-3

28、)可得电机转速n (2-4)即: (2-5) “P1.0”、 “P1.1” 、“P1.2” 、“P1.3”标号端分别连接单片机(98C51)的P1.0、P1.1、P1.2、P1.3输出口,“GATE0”是P1.0与P1.1的异或门输出。P1.0为电机正转控制口,P1.1为电机反转控制口,P1.2为电机正转到停止时的控制口,P1.3为电机反转到停止时的控制口。下面来介绍一下电机的工作原理电机正转时,P1.0为”1”,也就是高电平,P1.1、P1.2、P1.3为“0”,也就是为低电平。则GATE0就为高电平,此时,Q2、Q3、的三极管的门极端都为高电平,Q3三极管导通,当PWM为高电平时,Q2三极

29、管也导通,电流由电源正极经Q3三极管,然后经电机,再经Q2三极管,最后到达电源负极,形成回路。电机从正转到停止时,P1.2为高电平,P1.0、P1.1、P1.3为低电平。GATE0就为低电平,时8253定时器/计数器的T/C1停止计时,OUT1就输出高电平使PWM一直为高电平。此时,Q4三极管的门极端为高电平,在电机反电动势的驱动下Q4三极管导通,电流由电机的正极,经Q4三极管,再经D2续流管,最后到达电机负极,形成回路,起到制动作用。电机反转时,P1.1为高电平,P1.0、P1.2、P1.3为低电平。则GATE0就为高电平,此时,Q1、Q4、的三极管的门极端都为高电平,Q1三极管导通,当PW

30、M为高电平时,Q4三极管也导通,电流由电源正极经Q1三极管,然后经电机,再经Q4三极管,最后到达电源负极,形成回路。电机从反转到停止时,P1.3为高电平,P1.0、P1.1、P1.2为低电平。GATE0就为低电平,时8253定时器/计数器的T/C1停止计时,OUT1就输出高电平使PWM一直为高电平。此时,Q2三极管的门极端为高电平,在电机反电动势的驱动下Q2三极管导通,电流由电机的负极,经Q2三极管,再经D4续流管,最后到达电机正极极,形成回路,起到制动作用。2.1.2 脉宽的调制变换器脉宽调制变换器的作用是:用脉冲宽度调制的方法,把恒定的直流电源电压调制成周期一定、宽度可变的脉冲电压序列,从

31、而可以改变平均电压的大小,一调节电机转速。这里需要两个定时器,一个用于脉冲固定周期定时,一个用于脉冲宽度调节定时。虽然89C51单片机有两定时器/计数器,但一个要用来做波特率发生器,一个用来做电机测转速时的计数。所以需要扩展定时器。本文采用8253定时器/计数器,它有3个独立的16位定时/计数器。1 8253定时器/计数器28253芯片加电后,其工作方式是不确定的,为了正常工作,要对芯片进行初始化。初始化的工作有两点:1.向控制寄存器写入方式控制字,以选择计数器(三个之一),确定其工作方式(六种方式之一),指定计数器计数初值的长度和装入顺序以及计数值的码制(BCD码或二进制码)。2.向已选定的

32、计数器按方式控制字的要求写入计数初值。工作方式命令字的格式如下:D7D6D5D4D3D2D1D0SC1SC0RL1RL0M2M1M0BCD D7D6(SC1CC0):用于选择计数器: a) D5D4(RL1RL0):用来控制计数器/写的字节数及读写高低字节的顺序; b) D3D1(M2M0):用来选择计数器的工作方式; c) D0(BCD):用来指定计数器的码制,是按二进制数还是按BCD码计数。 (1) 方式1的工作特点:a) 可重复触发。计数到零后,不用再次送计数值,只要给它触发脉冲,即可产生一个同样宽度的单稳脉冲。b) 计数过程中,若装入新的计数初值,则当前输出不受影响。只有再次触发后,计

33、数才开始按新值输出脉冲宽度。c) 计数过程中,外部的GATE触发沿提前到来,则下一个CLK脉冲下降沿,计数器开始重新计数,这将使输出单稳脉冲比原先设定的计数值加宽了。图2-4 8253的方式1时序波形图2-5 8253的方式2时序波形 (2)方式2的工作特点:a) 计数器写入控制字和计数初值后,如GATE一直处于高电平,那么,在下一个脉冲开始计数器计数。不用重复置数。计数器能够连续工作,输出OUT是输入CLK的n(初值)分频。b) 计数过程可由GATE信号控制。GATE变低将使计数暂停且OUT立即为高;在GATE变高后的下一个CLK下降沿计数器重新从初值开始计数。c) 计数过程中可改变初值。如

34、果GATE一直处于高电平,则重装计数初值不影响现行计数过程;下一个过程,才按新值计数。2 脉宽调制电路脉宽调制电路是采用8253定时器/计数器中的两个定时器/计数(T/C0和T/C1)。其中T/C0采用方式2脉冲发生器,用于定时调制周期,T/C1采用方式1程序可控单稳,用于定时可调的脉宽。如图2-6所示,CLK是10kHZ的方波,由于调制周期T为10ms,所以计数器T/C0的初值应赋值100。通过改变计数器T/C1的计数值可以改变调制脉冲的宽度,从而改变电机的转速。如果计数器T/C1的计数值为n是时,设对应定时器时间为Ton,当计数值n越大,Ton也越大,计数值n越小,Ton也越小。由于计数器

35、T/C1采用方式1,在计数期间OUT1输出地电平,计数完后才输出高电平,所以在一个脉冲周期T内0到Ton时间内OUT1输出低电平,Ton到T时间内输出高电平。这里值得注意的是:计数器T/C1的计数值n不应大于100,也就是说定时时间Ton不可以大于脉冲周期T,否则会使OUT1一直输出低电平,从而使电机失去控制。图2-6 脉宽调制电路下面介绍一下工作原理:不管电机是正转还是反转,P1.0和P1.1的异或门输出GATE0都是高电平,此时,计数器T/C0开始对10kHZ的方波计数,当计数器T/C0从100减到1之前,OUT0一直为高电平,当减到1后,OUT0出现一个周期的低电平,然后回到高电平,计数

36、器T/C0又从100开始减,周而复始的循环。当OUT0从低电平到高电平的上升沿时,计数器T/C1就开始计数。在计数期间OUT1输出为低电平,从计数完到下一个上升沿到来之前,OUT1输出为高电平。如图2-7所示,计数器T/C0计数初值10,计数器T/C1调制值为2。图2-7 脉宽调制电路时序波形2.3 单片机软件设计上一节我们介绍了直流电机驱动的硬件图(PWM变换器)和PWM脉宽调制电路及其工作原理。这一节将介绍单片机程序流程图及汇编程序代码,也称软件。硬件和软件是本系统的最重要组成部分。只有硬件没有软件就如同是一个人只有身体没有思想,什么事都干不了。如果只有软件没有硬件,再好的创意也没法实现,

37、所以硬件与软件之间不可分割的一个整体。这节我们介绍单片机的程序主要包括:主程序、串口中断程序、外部INT0中断程序、定时器T0中断程序。2.3.1 主程序主程序主要功能:(1) 程序初始化;(2) 接收上位机(PC)发到单片机的数据,并对数据进行处理翻译成控制命令;(3)实现随时对直流电动机上的旋转编码器产生的两个相邻脉冲之间的时间进行定时,并调用一个子程序,算出转速大,然后根据要求发送到上位机;(4)根据控制命令对直流电动机进行相应的控制操作。1 主程序流程图主程序流程图,如图2-8所示:开始程序初始化T1作波特率发生器,赋初值并启动T0作内部计数器测转速,赋初值串口初始化,选择方式1允许接

38、收8253定时/计数器初始化T/C0采用方式2,T/C1采用方式1开串口、定时器T0、外部INT0中断开始主循环计算转速向串口发送执行正转控制执行反转控制执行停止控制执行加速控制执行减速控制是否测速是否正转是否反转是否停止是否加速是否减速YYYYYNNNNN图2-8 主流程图2 主程序;=;单片机晶振为Fosc = 11.0592MHz;=;参数存放地址;-DI EQU 31H ;PWM调制值地位值NG EQU 32H ;转速高地址ND EQU 33H ;转速低地址DM EQU 34H ;接收代码缓存地址JS EQU 35H ;转速计数值位置;=;=程序开始=ORG 0000H LJMPSTA

39、RT ORG03H LJMPZHONGD ; ORG0BH LJMPDINGS ORG23HLJMPCHUANK;-初始化开始- ORG30HSTART:MOVSP,#50H CLR P1.0 CLR P1.1 CLR P1.2 CLR P1.3 MOV DI,#32H ; MOV NG,#0FFH MOV ND,#0FFH MOV DM,#0FFH MOV JS,#00H MOV TMOD,#21H ;T1为9600波特率发生器 MOV TL1,#0FDH ;波特率初值设置,并启动 MOV TH1,#0FDH ; SETB TR1 ;开启波特率 MOV TL0,#00H ;用于周期法测速 M

40、OV TH0,#00H ; MOV R0,#03H ;8253方式字控制地址 MOV A,#14H ;计数器0,工作方式2 MOVX R0,A MOV A,#52H ;计数器1,工作方式1 MOVX R0,A MOV R0,#00H ;计数器0赋初值地址 MOV R1,#01H ;计数器1赋初值地址 MOV A,#64H ;0.1s定时(1kHZ 计100次)低字节 MOVX R0,A ;计数器0赋低字节初值 MOV A,#DI MOVX R1,A ;计数器1赋低字节初值MOV SCON,#50H ;设串口方式1,并开启CLR TR0 ;T0禁止计时SETB ES ;允许串口中断SETBIT0 ;INT0设为边沿中断SETBEA ;开中断SETB ET0S

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号