新闻中心

EEPW首页 > 电源与新能源 > 设计应用 > PWM调速在恒温控制中的应用

PWM调速在恒温控制中的应用

作者:时间:2011-11-03来源:网络收藏
2.3 PC 机通讯接口

本文引用地址:http://www.amcfsurvey.com/article/178446.htm

  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 未画出),对于信息处理过程所使用的临时变量,尽可能使用通用寄存。

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

  (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 周期之后才能消除这种偏差。


上一页 1 2 下一页

关键词: 应用 控制 恒温 调速 PWM

评论


相关推荐

技术专区

关闭