基于单片机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 波形的高电平时间应该和得到的瞬时流量成比例。
相关文章
- 2022-09-27振子框架式微机械陀螺的有限元模拟
- 2024-01-21电容式微加速度计的闭环检测技术研究
- 2021-11-01基于CC2430的无线传感器网络节点设计
- 2022-03-06调度自动化系统容灾备份策略揭示
- 2022-01-06基于us/OS-Ⅱ操作系统的断路器控制器研制
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。