碧波液压网 欢迎你,游客。 登录 注册

基于单片机PIC16F877A的瞬时流量信号的PWM转换及其远传

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

  

  通常瞬时流量值为模拟量,或经流量传感器后变为脉冲量,首先要把这个模拟量或脉冲量转换为PWM 信号,PWM 信号更利于微机控制,然后再将此信号处理送至电压/电流转换电路,变换成电流信号远传,因为工业控制系统中,常用电流方式传输信号,电流信号适合于长距离传输,传输中信号衰减小,抗干扰能力强。因此,大量的常规工业仪表以电流方式互相配接。但是,一般的D/A转换器输出信号大多是电压方式,因此,D/A转换器的输出常常需要配接V/I转换器。

  1 PWM波形输出

  PWM 波形的生成有很多方式,本文重点讨论基于单片机 PI-Cl6F877A 的 PWM 波形的产生。PICl6F877A 内置了 CCP 模块,所谓的CCP 模块是指捕捉/比较/脉宽调制模块,这个模块可以提供外部信号捕捉、内部比较输出以及PWM 输出这三种功能。PICl6F877A中有两个CCP 模块(CCPl,CCP2)。与CCP 模块工作模式有关的主要控制寄存器为CCP2CON。

  CCP 模块在 PWM 工作方式输出脉冲宽度可调的信号时,脉冲的周期和工作循环周期是与内部的定时器比较产生的,搭配PWM 使用的是TMR2 定时器。如图2 所示,PWM 的输出有一个时基(即周期)和一个保持为高电平的时间,PWM的频率就是周期的倒数。

  PWM 的周期可以向 TMR2 的周期寄存器 PR2 写入来设定,它可由下式计算:

  PWM 周期 = ((PR2) +1) ×4×Tos c× (TMR2 前分频值)

  通过写入CCPR2L寄存器和CCP2CON控制器的bit5 和bit4 位可以得到PWM 的高电平时间设定值,分辨率可达10 位:由8 位的CCPR2L 值(作为 10 位中的高 8 位) 和控制寄存器 CCP2CON 中的bit5 和 bit4 (作为 10 位中的低 2 位) 组成,用下式可以计算 PWM 的高电平时间:

  PWM 高电平时间=CCPR2L:CCP2CON(bit5:bit4)×Tos c×(TMR2 前分频值)

  当把CCP2 模块设置位PWM操作时,要做如下几步:

  1) 向 PR2 寄存器写入以设定 PWM 周期;

  2) 向 CCPR2L 和控制寄存器 CCP2CON 中的 bit5 和 bit4 两位写入以设定PWM高电平时间;

  3) 通过对 TRISC 的 bit1 位清零以设定 CCP2 引脚为输出状态;

  4) 通过向 T2CON 写入以使 TMR2 使能;

  5) 设定 CCP2 模块为 PWM 操作。

  输出PWM信号是为了得到一个电压信号,然后转换为4~20mA电流,实现信息远传。并且,PWM 波形占空比为0%时,对应输出电流为 4mA;当 PWM 波形占空比为 100%时,对应输出电流为 20m A。而 PWM 的占空比是由瞬时流量决定的,当流量为 0 时,PWM波形占空比为 0%;当流量为满度 (指流量最大瞬时流量值) 时,PWM 波形占空比为 100%,即 PWM 波形的高电平时间应该和得到的瞬时流量成比例。

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签: PWM 流量
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论