直流电机远程测控系统的设计学士学位论文(编辑修改稿)内容摘要:

乱飞到某双字节指令,若取指令时刻落在操作数上,误将操作数当作操作码,程序将出错。 若失控的程序进入“死循环”,通常采用“看门狗”技 术使程序脱离“死循环”。 通过不断检测程序循环运行时间,若发现程序循环时间超过最大循环运行时间,则认为系统陷入“死循环”,需进行出错处理。 下面介绍一种看门狗电路的设计方法。 看门狗技术是一种常用的抗干扰措施 ,和其它抗干扰技术相比它采用的是一种亡羊补牢的办法 ,即只在其它抗干扰方法失效后采用的一种补救方法。 看门狗的基本功能是这样的 :在计算机运行时 ,独立于 CPU 之外的看门狗通过检测计算机的状态信号 ,监视微机的运行 ,一旦发现 CPU 的运行不正常 (出现程序跑飞、死循环等情况 ),它就会发出复位信号 ,强制计算机重新 启动。 该直流调速控制系统所设计的看门狗电路如图 21所示。 由计数器 4060 和一个 NPN 晶体管组成。 计数器 4046 的技术周期 T 为 T=*R5*C2= ,如果不对计时器计数进行干预,则 4060 的第 13 位有输出,需要时间为 左右。 单片机正常工作时,只要在 内从 口送出一个负脉冲,便可复位看门狗,使看门狗电路对系统不起作用。 在两个负脉冲间隔内, 应保持维高电平,这时 4046 的脚 12 由R3 拉低,计数器正常计数。 如果程序跑飞,则最大可能是从 口不能按时发出复位计数器的脉 冲,4060 便一直计数直到 Q13 有计数值输出,其高电平脉冲输出 2 和上电复位 1 通过或门电路去复位 AT89C51 单片机。 电路中晶体管 T1起到反向的作用,用来隔离单片机复位时从 口产生的正脉冲,以便使看门狗对系统复位时,单片机得到充分的复位脉冲。 用计数器实现看门狗电路的好处在于控制时限定是明确,有利于软件的编程。 本系统的看门狗程序用定时中断方法实现,定时间隔为 即在。 北方民族大学学 士学位论文 直流电机远程测控系统的设计 9 图 21 看门狗电路 直流电机硬件电路设计 直流电机驱动 在电机控制系统中,速度调 节主要通过改变电枢电压的大小来实现。 它采用脉冲宽度调制技术,其工作原理是:通过改变“接通脉冲”的宽度,使直流电机电枢上电压的“占空比”改变,从而改变电枢电压的平均值,控制电机的转速。 常见的 PWM 驱动系统的主电路 (功率放大器 )结构有: H 型和 T 型。 下面以H 型结构为例说明 PWM 单极式驱动的电路工作原理, 如图 22 示。 图 22 直流电机 H 型驱动电路 图 22中,“ PWM”标号端是可调脉冲宽度的脉冲序列,通过调节脉冲宽度,北方民族大学学 士学位论文 直流电机远程测控系统的设计 10 改变电机两端电压的占空比,使电机两端的电压的平均值和流过电机电流的有效值随脉 冲宽度的变化而变化。 导通的脉冲宽度与平均电压和有效电流成正比。 脉冲调制的调制周期为 10ms。 图 22中,电阻 R3 和 R4为拉电阻,起上拉电流的作用,由于“ PWM”端输入的电压和电流难以驱动两个功率三极管,所以必须采用 R R4 上拉电阻。 “ N1”、“ N2”端口是直流电动机用旋转编码器测出来的两个脉冲序列,它们的相位有一定的相位差如图 23 所示。 把“ N1”、“ N2”端口输出的两个脉冲序列经过与门可以得到一个脉冲序列 N,然后接到单片机的 INT0 中断口,再经过软件处理就能测出电机的转速。 当编码脉冲序列 N 的下降沿 到达 INT0 中断口,单片机发生中断,进入中断程序,先停止定时器 T0 计数,读出 TH0 和 TL0 的计数值,然后重新给 TH0、 TL0 赋值为 0,并启动定时器 T0,最后退出中断,等待下一次中断。 图 23 编码脉冲 本文单片机的晶振频率 fosc = ,采用定时器 T0 对旋转编码脉冲序列 N的两个相邻脉冲计数。 设计时周期为 Tosc,定时器 T0 的计数个数为 m,由于旋转编码器的光栅数 Z为 5,则可以得到电机转速与计数个数 m 的关系。 12oscosc fT  (21) oscT mT (22) 15os mT (23) 由式 (21)、 (22)、 (23)可得电机转速 n 5*12oscfn m (24) 即: 1843200n m (25) “ ” 、 “ ” 、 “ ” 、 “ ” 标号端分别连接单片机 (98C51)北方民族大学学 士学位论文 直流电机远程测控系统的设计 11 的 、 、 、 输出口,“ GATE0”是 与 的异或门输出。 为电机正转控制口, 为电机反转控制口, 为电 机正转到停止时的控制口, 为电机反转到停止时的控制口。 下面来介绍一下电机的工作原理 电机正转时, 为 ” 1” ,也就是高电平, 、 、 为“ 0”,也就是为低电平。 则 GATE0 就为高电平,此时, Q Q的三极管的门极端都为高电平, Q3 三极管导通,当 PWM 为高电平时, Q2三极管也导通,电流由电源正极经 Q3 三极管,然后经电机,再经 Q2 三极管,最后到达电源负极,形成回路。 电机从正转到停止时, 为高电平, 、 、 为低电平。 GATE0就为低电平,时 8253 定时 器 /计数器的 T/C1 停止计时, OUT1 就输出高电平使 PWM一直为高电平。 此时, Q4 三极管的门极端为高电平,在电机反电动势的驱动下Q4 三极管导通,电流由电机的正极,经 Q4 三极管,再经 D2 续流管,最后到达电机负极,形成回路,起到制动作用。 电机反转时, 为高电平, 、 、 为低电平。 则 GATE0 就为高电平,此时, Q Q的三极管的门极端都为高电平, Q1 三极管导通,当 PWM为高电平时, Q4 三极管也导通,电流由电源正极经 Q1 三极管,然后经电机,再经 Q4 三极管,最后到达电源负极,形成回路。 电机从反转到停止时, 为高电平, 、 、 为低电平。 GATE0就为低电平,时 8253 定时器 /计数器的 T/C1 停止计时, OUT1 就输出高电平使 PWM一直为高电平。 此时, Q2 三极管的门极端为高电平,在电机反电动势的驱动下Q2 三极管导通,电流由电机的负极,经 Q2 三极管,再经 D4 续流管,最后到达电机正极极,形成回路,起到制动作用。 脉宽的调制变换器 脉 宽调制变换器的作用是:用脉冲宽度调制的方法,把恒定的直流电源电压调制成周期一定、宽度可变的脉冲电压序列,从而可以改变平均电压的 大小,一调节电机转速。 这里需要两个定时器,一个用于脉冲固定周期定时,一个用于脉冲宽度调节定时。 虽然 89C51 单片机有两定时器 /计数器,但一个要用来做波特率发生器,一个用来做电机测转速时的计数。 所以需要扩展定时器。 本文采用8253 定时器 /计数器,它有 3个独立的 16位 定时 /计数器。 1 8253 定时器 /计数器 [2] 8253 芯片加电后,其工作方式是不确定的,为了正常工作,要对芯片进行初始化。 初始化的工作有两点: ,以选择计数器北方民族大学学 士学位论文 直流电机远程测控系统的设计 12 (三个之一 ),确定其工作方式 (六种方式之一 ),指定计数器计数初值的长度和装入顺序以及计数值的码制 (BCD 码或二进制码 )。 字的要求写入计数初值。 工作方式命令字的格式如下: D7 D6 D5 D4 D3 D2 D1 D0 SC1 SC0 RL1 RL0 M2 M1 M0 BCD D7D6(SC1CC0):用于选择计数器 : a) D5D4(RL1RL0):用来控制计数器 /写的字节数及读写高低字节的顺序; b) D3— D1(M2— M0):用来选择计数器的工作方式; c) D0(BCD):用来指定计数器的码制,是按二进制数还是按 BCD 码计数。 (1) 方式 1的工作特点: a) 可重复触发。 计数到零后,不用再次送计数值,只要给它触发脉冲,即可产生一个同样宽度的单稳脉冲。 b) 计数过程中,若装入新的计数初值,则当前输出不受影响。 只有再次触发后,计数才开始按新值 输出脉冲宽度。 c) 计数过程中,外部的 GATE 触发沿提前到来,则下一个 CLK 脉冲下降沿,计数器开始重新计数,这将使输出单稳脉冲比原先设定的计数值加宽了。 图 24 8253 的方式 1 时序波形 图 25 8253 的方式 2 时序波形 (2)方式 2的工作特点: a) 计数器写入控制字和计数初值后,如 GATE 一直处于高电平,那么,在下一个脉冲开始计数器计数。 不用重复置数。 计数器能够连续工作,输出 OUT 是输入 CLK 的 n(初值 )分频。 北方民族大学学 士学位论文 直流电机远程测控系统的设计 13 b) 计数过程可由 GATE 信号控制。 GATE 变低将使计数暂停且 OUT 立 即为高;在 GATE 变高后的下一个 CLK 下降沿计数器重新从初值开始计数。 c) 计数过程中可改变初值。 如果 GATE 一直处于高电平,则重装计数初值不影响现行计数过程;下一个过程,才按新值计数。 2 脉宽调制电路 脉宽调制电路是采用 8253 定时器 /计数器中的两个定时器 /计数 (T/C0 和T/C1)。 其中 T/C0 采用方式 2— 脉冲发生器,用于定时调制周期, T/C1 采用方式1— 程序可控单稳,用于定时可调的脉宽。 如图 26 所示, CLK 是 10kHZ 的方波,由于调制周期 T 为 10ms,所以计数器 T/C0 的初值应赋值 100。 通过 改变计数器T/C1 的计数值可以改变调制脉冲的宽度,从而改变电机的转速。 如果计数器 T/C1的计数值为 n是时,设对应定时器时间为 Ton,当计数值 n 越大, Ton 也越大,计数值 n 越小, Ton 也越小。 由于计数器 T/C1 采用方式 1,在计数期间 OUT1 输出地电平,计数完后才输出高电平,所以在一个脉冲周期 T 内 0 到 Ton 时间内OUT1 输出低电平, Ton 到 T 时间内输出高电平。 这里值得注意的是:计数器 T/C1的计数值 n不应大于 100,也就是说定时时间 Ton 不可以大于脉冲周期 T,否则会使 OUT1 一直输出低电平,从而使电机失去控制。 图 26 脉宽调制电路 下面介绍一下工作原理: 不管电机是正转还是反转, 和 的异或门输出 GATE0 都是高电平,此时,计数器 T/C0 开始对 10kHZ 的方波计数,当计数器 T/C0 从 100 减到 1 之前,OUT0 一直为高电平,当减到 1后, OUT0 出现一个周期的低电平,然后回到高电平,计数器 T/C0 又从 100 开始减,周而复始的循环。 当 OUT0 从低电平到高电平北方民族大学学 士学位论文 直流电机远程测控系统的设计 14 的上升沿时,计数器 T/C1 就开始计数。 在计数期间 OUT1 输出为低电平,从计数完到下一个上升沿到来之前, OUT1 输出为高电平。 如图 27所示,计数 器 T/C0计数初值 10,计数器 T/C1 调制值为 2。 图 27 脉宽调制电路时序波形 单片机软件设计 上一节我们介绍了直流电机驱动的硬件图 (PWM变换器 )和 PWM脉宽调制电路及其工作原理。 这一节将介绍单片机程序流程图及汇编程序代码,也称软件。 硬件和软件是本系统的最重要组成部分。 只有硬件没有软件就如同是 一个人 只有身体没有 思想 ,什么事都干不了。 如果 只有软件没有硬件 ,再好 的 创意 也没法实现,所以 硬件与软件 之间不可分割的一个整体。 这节我们介绍单片机的程序主要包括:主程序、串口中断程序、外部 INT0 中断程 序、定时器 T0 中断程序。 主程序 主程序主要功能: (1) 程序初始化; (2) 接收上位机 (PC)发到单片机的数据,并对数据进行处理翻译成控制命令; (3)实现随时对直流电动机上的旋转编码器产生的两个相邻脉冲之间的时间进行定时,并调用一个子程序,算出转速大,然后根据要求发送到上位机; (4)根据控制命令对直流电动机进行相应的控制操作。 1 主程序流程图 主程序流程图,如图 28所示: 北方民族大学学 士学位论文 直流电机远程。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。