直流电机远程PWM 调速及在恒温控制中的应用

时间:2011-01-17

     1 引言

  众所周知, 要实现直流电机的远程调速控制及温度检测, 信号传输问题无疑是重要的, 传统的模拟控制法,不仅难以满足远程传输需求, 而且电路过于复杂。采用计算机技术、总线技术和通讯技术, 不仅可以使整个系统变得简单,而且有利于实现分布式集散控制,提高智能化控制水平。本文介绍一种以8051 系统为主控制器的远程恒温控制解决方案,它采用RS-485 总线解决直流电机PWM调速(制冷)、温度检测和PC 通讯等环节的信号传输问题。系统采用全数字设计方案, 结构简单。当该系统以单片机为主控制器单独工作时监控距离可以达到1.2km,如果与微机联网使用,则监控距离可以增加到2.4km。

  2 控制原理及硬件结构

  该系统硬件结构如图1 所示,它是一个8051 单片机控制系统,控制“对象”为直流电机,工作时根据现场温度调节直流电机转速, 直流电机转速影响制冷系统制冷量,从而达到温度自动调节目的。温度检测采用DB18B20数字温度传感器,直流电机采用PWM 调速。直流电机和温度传感器通过RS-485 总线与单片机系统实现信息交换,单片机系统通过RS-485 总线经USB 接口与PC 实现信息交换, 从而达到远程监控目的。

  单片机系统是以8051 为的交互式测控系统,系统所有接口电路地址及数据总线由74LS373 和74LS138提供。单片机系统任务包括以下几个方面:

  , 通过RS - 4 8 5 总线向直流电机驱动器输出PWM 调速信号;第二,通过RS-485 总线对数字温度传感器DB18B20写入初始化命令;第三,温度传感器所检测的现场温度经RS-485 总线反馈给单片机,并据此调节PWM 信号输出;第四, 实时显示现场温度;第五, 通过人机接口设置给定温度、电机调速范围等参数;第六,通过RS-485 总线向PC 机反馈温度等信息;第七,接受PC 系统控制指令,根据控制指令完成相应的处理。

  下面对图1 所示系统各主要电路作如下说明:

控制系统硬件结构

图1 控制系统硬件结构。

  2.1 人机界面与人机系统

  人机界面为矩阵式键盘和数码管,它以8279 为主要接口芯片(其它芯片如图所示),占用8051 一个外部中断源(INT0),人机系统的基本任务包括温度设置、电机调速范围设置、启停控制和温度显示等。根据图1 所示硬件,通过8051 外部中断(INT0)处理程序和定时器(T0)中断处理程序相互配合完成人机系统的基本功能。

  2.2 输入输出(IO)通道

  输入输出通道是以8255 为主要接口芯片的控制信号或反馈信息传输通道,PWM 调速信号输出、温度传感器初始化命令输出和现场温度读取等均通过8255 进行。

  8255PA 口作为控制信号输出通道,PB 口作为反馈信息输入通道,PC 口作为输出/ 输入使能控制。三个端口每一位定义详情见后续软件部分。

  为了实现IO 信号的远距离传输, 采用RS-4 8 5 总线,图2 所示是专门为此设计的电路原理图(仅画出其中一路,下同),其中,图2(a)是PWM 信号输出接口,由图可见, 计算机一侧和终端设备( 伺服驱动器) 各使用一片MAX488,计算机一侧MAX488 为发送器,终端设备一侧MAX488 为接收器。图中TLP-521 是计算机系统与外设进行电气隔离所必需的环节。图2(b)是专为温度传感器DS18B20 设计的远程传输接口,由于DS18B20 是一款单总线、可编程数字温度传感器,该传感器涉及初始化命令或参数写入和工作之中的温度读取问题, 因此,远程传输接口必须被设计成双向I O 口, 通过两片MAX485 和两片MAX488 实现信息的半双工传输要求,这里两片MAX488 用于终端MAX485(右侧)使能控制。

  对DS18B20 的读写操作由8255PC 口相应的控制位作使能控制,即,当8051 执行对DS18B20 的写入操作时,首先使PC0=1、PC1=0,然后使数据从PA 口输出;当8051执行对DS18B20 的读操作时,首先使PC0=0、PC1=1,然后使数据从PB 口输入。

远距离传输接口电路原理图

图2 远距离传输接口电路原理图。

  需要指出的是, 图2 所示的电路结构, 实现了信号的全硬件、远程、无条件传输目的,避免了终端使用微处理器,具有硬件软件简单、实时性好、系统扩展容易等特点。特别是温度检测通道,由于采用的是单总线温度传感器DS18B20,仅使用一条4 芯双绞线屏蔽电缆,就可以很好地满足在1.2km 范围之内的多点分布式温度测控需求。对于PWM 信号传输通道,可以根据实际需要选择屏蔽电缆,如4 台直流电机只需使用一条8 芯双绞线屏蔽电缆。对于控制对象数量较多时,可以通过扩展8255 芯片,解决IO 通道不足问题。

  2.3 PC 机通讯接口

  8051 系统与PC 机通讯,采用“RS-485+USB”接口信息传输方案,如图1 所示。这里,用8051 串口线TxD、RxD 通过“TTL/RS-485 → RS-485/TTL → USB 接口”等环节,实现了8051 系统与PC 之间的远程通讯需求,从而扩大了控制范围。

  在进行电路设计时,“T T L/ RS - 4 8 5 → RS - 4 8 5 /TTL”变换可以采用两片MAX488,并将其连接成全双工模式,限于篇幅这里不再画出;USB 接口选用PL2303,如图3 所示,直接将来自“RS-485/TTL”电路的TTL电平(TxD、RxD)变为USB 信号,优点是占用8051 资源少、编程简单。

USB 通讯接口电路原理图

图3 USB 通讯接口电路原理图。

  3 应用程序设计

  应用程序包括8051 对目标系统(电机与温度检测)的监控程序和8051 与微机的通讯控制,现分别说明如下:

  3.1 监控程序

  该部分程序是应用软件的部分,包括一个主程序和两个中断处理程序。为了使整个程序结构清晰和易于功能扩展, 采用“存储管理”的编程思想, 对于程序中使用频繁、实时性要求的变量定义在8051内部RAM,对于需要占用大量存贮空间或访问频度较低的变量, 尽可能放在外扩的数据存贮器上( 图1 未画出),对于信息处理过程所使用的临时变量,尽可能使用通用寄存。

  监控程序必须具有温度设置、基于温度的PWM 调速和温度显示等基本功能,这实际上涉及的是人机交互处理和基于温度的PWM 信号处理。根据图1 所示电路结构和基本功能要求,可以认为,它是一个基于8051 中断源INT0 和T0 的中断处理系统, 即,需要设计两个中断处理程序INT0 和T0,其中,INT0 中断处理任务是按键识别与处理,完成温度设置、系统启停、显示切换等工作;T0 中断处理主要任务是调节直流电机转速, 它是根据传感器所测得温度与给定温度的比较情况,通过调整有关参数,使输出PWM 波形占空比发生变化达到调速目的,具体方法详见后述。主程序主要完成系统初始化和显示等任务, 包括以下几个方面:

  (1) 监控程序使用的所有变量的定义及初始化;(2) 8279 和8255 初始化;(3) 8051 中断系统初始化;(4) DS18B20 初始化、温度读取、温度显示;(5) 控制变量的判断及处理。

  这里, ( 4 ) - ( 5 ) 应该被设计成一个循环执行的程序结构。

  3.2 通讯程序

  通讯程序主要功能是实现8051 与PC 的数据交换。

  8051 利用其串口线RxD 和TxD 实现与PC 的数据收发工作, 这些交换数据包括:

  (1) 8051 向PC 发送的温度信息;(2) 8051 接收来自PC 的控制指令,这些控制指令通过8051 串口中断处理程序处理。

  在PC 方面,需要编写基于PL2303 的USB 驱动程序和面向8051 的人机界面,限于篇幅在此不作细述。

  4 PWM 导通率调整及温控软件算法

  根据上面所述可以知道,调节8051 输出PWM 波占空比大小是实现直流调速的前提,而直流调速主电路使得受控于PWM 波的功率开关导通率发生变化,从而实现了直流电机的PWM 调速。现在假设功率开关一个通断周期时间为T _ timer , 在一个周期内的导通时间为t _ on ,则导通率,因此, PWM 调速实际上就是用软件方法对变量t _ on 或T _ timer进行调节,而调节依据则是被测点的实际温度与设定温度的比较情况。

  下面首先介绍基于8051 定时中断的导通率调节方法,然后进一步介绍如何根据温度比较情况调节导通率。

  在导通率公式中, T _ timer 所允许的值取决于功率开关元件的工作频率、直流电机调速范围和执行定时中断处理程序所需时间等因素,而T _ timer所允许的值则取决于直流电机电枢电流连续性和转速脉动量。

  导通时间t _ on 由程序控制, 其值在0 ~ T _ timer之间变化。在进行导通率δ 调节的算法设计时, 既可以使T _ timer为常量, t _ on 为变量,也可以使T _ timer为变量, t _ on 为常量,或者使T _ timer 和t _ on 均为变量。实际上,由于T _ timer所允许的值和值分别受上述因素限制, 设计时在综合考虑上述因素后取常量,此时t _ on 则成为导通率d 调节的手段了。

  下面以工作于6MHz 的8051 为例,说明导通率δ调节及计算方法。

  根据8051 定时计算公式,当定时器/ 计数器工作于“定时、方式1”时, 我们不难推导出定时中断周期为:


  其中, c T 为8051 定时器/ 计数器在编程时的定时常数,如果功率开关元件的开关频率f Hz vt = 4000 ,则定时中断周期T _timer = 250ms ,此时= *11 c T 。

  t _ on 的确定,可以采用软件延时方法实现,假设控制功率开关元件通断的驱动电路采用负逻辑驱动,cyc _ times为延时程序控制循环次数的一个参数,则定时中断处理程序进行通断操作的流程如图4(a )所示,此时t _ n = 4 * cyc _ times 。

程序流程图

图4 程序流程图。

  据此,可以推导出在开关频率f Hz vt = 4000 条件下,导通率,其中cyc _ times = 1 ~ 62整数。

  下面进一步讨论如何根据温度比较情况调节导通率的问题。众所周知,在控制论中一种所谓的“PID”调节算法被人们广泛使用,这种方法是建立在输出量的高检测和比较基础上的差值控制理论,由于算法繁杂往往计算工作量大, 对于低速CPU 往往应用受限。本文介绍的温度调节不采用PID 算法,它采用的是一种所谓的“直接比较”控制方法(称之为“DC”法),它是以一定的周期比较两个变量的大小关系(而非实际差值),来决定输出量调整方向(增加或减小或保持),而且当比较结果不等于零时, 对输出量的调整不是到位,而是逐次增加或减小(如固定“加1”或“减1”),从而极大地简化了控制算法。采用“DC”算法的温控处理程序流程图(一个基于8051T0 中断处理程序)如图4(b)所示,在该流程图中, T 和g T 分别为实际温度和给定温度,我们只要将T 和g T 进行简单的比较,就能够实现直流电机PWM 调速导通率δ的调整,算法如下:

  当Tg - T > 0 g 时,将变量“cyc _ times ”加1(在还没有达到值时);当Tg - T < 0 g 时,将变量“cyc _ times ”减(在还没有达到值时);当T g- T = 0 g 时,保持变量“cyc _ times ”值不变显然, 根据上述导通率公式:,只要变量cyc _ times 发生了变化,导通率d 必定也随之发生改变, 从而达到调速目的。

  显而易见,上述调整方法并不是根据Tg - T 的实际差值(偏差)来计算应有的cyc _ times 调整量,而是仅仅比较两者的大小关系来决定cyc _ times 调整方向,而且每个T _ timer周期cyc _ times 调整量仅为1。由此可见,只要T T g - 有偏差, 特别是, 当偏差较大时, 往往需要经过多个T _ timer 周期之后才能消除这种偏差。


  
上一篇:浪涌保护器的概述及其在浪涌抑制器件中的应用
下一篇:增强高功率D类音频放大器设计中的性能和可靠性

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料