涡轮流量计校准新型信号发生器

  涡轮流量计由于具有测量精度高、 重复性好、 抗干扰能力强等优点, 在各种流体的测量中获得广泛应用[ 1-2] 。 其测量原理是在管道中心安放一个涡轮 , 当流体通过管道时 , 冲击涡轮叶片 , 对涡轮产生驱动力矩, 使其克服摩擦力矩和流体阻力矩而产生旋转。 在一定的流量范围内, 对一定的流体介质粘度, 涡轮的旋转角速度与流体流速成正比。 当涡轮叶片切割由磁钢产生的磁力线时, 引起磁通变化[ 3] , 经前置放大器放大、 整形后, 产生与流速成正比的脉冲信号, 送入显示仪表进行计数和显示 , 这样根据单位时间内的脉冲数和累计脉冲数即可求出瞬时流量和累积流量。 对于上述原理的涡轮型流量仪在开发、 生产和出厂校准鉴定中均需要一种输出频率连续可调的高频率精度的信号源 , 来模拟传感器在不同流速下输出的脉冲信号 , 因此开发一种高精度的频率可调的信号发生器尤为必要。
  直接数字合成 (DDS) 技术是一种从参考频率源生成多种频率的数字控制方法, 具有频率分辨率高、 输出频点多、产生任意波形等特点, 是一种理想的设计信号发生器解决方案[ 4] 。
 
1、DDS 技术工作原理:
   基于 DDS 技术的信号发生器由相位累加器、 波形 ROM 、 D /A 转换器和低通滤波器构成, 如图 1 所示。 在固定频率的参考时钟下, 通过改变每个参考时钟脉冲所代表的相位间隔(即图 1 中 M) 来改变输出频率。 其中波形存储器一般为只读存储器, 它用来存储波形幅度量化编码值, 可以为任意波形。当 1 个参考时钟脉冲到来时, 锁存在相位增量寄存器中的频率控制字 M 就和 N 位相位累加器的输出相加。 相位累加器的输出被锁存后, 它就作为波形存储器的一个寻址地址, 该地址对应的波形存储器中的内容就是一个波形合成点的幅度值, 经 D /A 转换将其转换为模拟采样值, 再经低通滤波器滤波后得到符合要求的模拟信号。当下一个时钟到来时, 相位累加器的输出又加一次频率控制字, 使波形存储器的地址处于所合成波形的下一个幅值点上。***终, 相位累加器检索到足够的点就构成了整个波形[ 5-7] 。

图 1  DDS 工作原理图
图 1  DDS 工作原理图

  若参考时钟频率为 f c , 相位累加器的字长是 N , 则 DDS输出频率的大小为: f out =M ×f c /2N , 其中 M 是频率控制字,其大小由外部控制电路设定。 当参考时钟频率 f c 与相位累加器的位数 N 固定时, 输出频率 f out 的大小就由 M 来确定, M=2N ×f out / f c , 因此 M 值改变则输出频率随之改变。 当 M =1 时, DDS 所能产生信号的较低频率为 f out = f c /2N , 这是 DDS 的频率分辨率。
 
2、新的频率控制字 M 的求解算法:
2. 1、常用的频率控制 M 的求解方法:

 
  设参考时钟频率 f c =2 f Hz , 相位累加器位数为 N , 要求信号发生器输出频率范围 aH z ~ f Hz , 频率变化的分辨力即步距为 tH z, 则可选的输出频率数有 ( f – a) /t +1 个, 即 aH z, ( a +t) Hz , (a +2t) Hz , …, (f – t ) H z, f H z。 下面来分析频率控制字 M 的求取方法。
 
  方法一:首先利用手工计算这 ( f – a) / t +1 个频率对应的写向频率寄存器的值 M , 把这 (f – a) /t +1 个 N 位二进制数存储到系统存储器中, 信号发生器接受频率设定值后从 (f – a) / t+1 个数中找出对应的值写向频率寄存器。
  此方法的优点是设定频率的精度可达 DDS 芯片的频率分辨力即 f c /2N , 精度较高。 但系统设计时需要计算的数据量大, 频率设定速度低, 系统需要的存储空间大。
 
  方法二:利用公式 M =2N × fout / f c , 编程后用软件计算。即先计算 f out =tHz 时对应的写向频率寄存器的值 M1 并对其取整得 M1’ , 则某一频率下写向频率寄存器的值 M =B ×M1 ’ , 其中 B (=1, 2 , 3……) 为某一频率对 tHz 的倍数。
 
  此算法的优点是编程简单, 不需要手工计算大量数值, 不需要占大量存储空间。 但设定频率有误差累积效应, 随着频率增加, 设定频率的误差 Δ= (M1 – M1  ) ×B / M1 H z 也在增加。 如当 fc =2M Hz , N = 28 , t = 0. 1Hz, 输出频率为 1kHz 时, 其误差约为 31Hz , 这样大的误差在仪表校准应用中是不允许的。

2. 2、新的频率控制字 M 的求解算法:
 
为解决 2. 1 中两种方法的缺点, 本文设计了一种新方法,既可以在不降低频率设定速度情况下节省大量存储空间, 又可以显著降低设定频率的误差。
 首先分别计算出输出频率为 M 1{t , 2t , …, 9tHz}, M
 
2{10t , 20t , …, 90tHz}, M 3{100t , 200t , …, 900tHz},  …,
 
Mi  {10i – 1 ×t , 10i – 1 ×2t, …, 10i – 1 ×9t H z}, …, Mq  {10q- 1

×t , 10 ×2t, …, 10 q- 1 ×9t }( q =   log f   , 即 q 为以 10
  10  
q – 1           t    
                 

 
为底 f /t 的对数向上取整) 时对应的写入寄存器的值 M (四舍五入后保留的整数), 并将其存入 q 个数组 M1 , M2 , …, Mi , …, Mq 中, 则可通过下面步骤获得设定频率为 mHz 时需写入寄存器的 M 值:
 
(1) 先求出 m 为步距 t 的倍数 B :B =m /t , 则 B 的***大值为 f /t (f 为***大输出频率)。
 
(2) 将 B 表示为:B =n1 +n2 ×10 +n3 ×102 + …+ni × 10i – 1 +…np ×10p – 1 , 当 1 ≤i <p 时, 0 ≤ni ≤9 , 1 ≤np ≤9。

(3) 则设定频率为 mHz 时需写入寄存器的 M 值可分别从

M1 中从取 M1 [ n1] , 从 M2  中取 M2 [ n2] , 从
M3 中取 M3 [ n3] , …, 从 Mi  中取 Mi [ ni ] ,
…, 从 Mp 中取 Mp [ np] 相加即可, 即:M
=M1  [ n1] + M2  [ n2]  + M3  [ n3]  +… +
Mi [ ni ]  +…+Mp  [ np] 。 (若 ni  =0, 则不

 
从 Mi  中取值)。
 因每组数据均采用手工计算, 故求某组数据中频率对应的 M 值 (四舍五入后保留的整数) 时***大误差为 0. 5 , 此时对应的输出频率误差为:Δ≤0. 5 × f c /2N = 0. 5t /M1’ Hz , 所以本算法***大的输出频率误差为:q ×Δ=0. 5 ×t ×q/ M1 ’ H z。
 本方法优点:(1) 需写入内存的数据少, 只需写入 q 组, 即 9×q 个 N 位二进制数;(2) 频率设定速度快, 因只需从内存的 q 组数据中查找指定值, 比方法一中从 (f – a) /t +1 个数据中查找指定值速度快;(3) 本方法显著降低了方法二中的误差累积效应 (因为 q 的值很小), 输出频率误差小, 精度高。

3、信号发生器的实现:
3. 1、信号发生器的硬件实现:

 系统由微控制器、 键盘、 显示、 信号发生电路、 信号幅值调整电路及电源部分组成, 如图 2 所示。 其中微控制器部分由 M SP 430F135 和复位电路组成;信号发生电路由直接数字合成器芯片 A D9833 、 有源晶体振荡器及运算放大器调整电路组成;幅值调整电路由运算放大器、 模拟开关 HCF 4051 及 3 个三极管组成;键盘由功能键、 确认键、 左移键、 上箭头键、 下 箭头键组成;显示部分由两片 74LV C07 组成的信号电平转换电路和 LCM 1602D 液晶显示模块组成;电源部分由+18V 、 +5V 和+3. 3V 三种电源组成;三种电压各由一片 DC – DC 转换芯片及其外围电路组成的升压或降压电路获得;三种电源均由 2 节串联的锂电池供电。
图 2  系统硬件组成框图
图 2  系统硬件组成框图
  微控制器通过 5 个 I /O 口线与 5 个键盘信号相连;微控制器的 11 个 I /O 口线经过两片 74LV C07 及电阻组成的电平转换电路, 实现对显示的控制与驱动, 可以显示频率、 信号幅值等;微控制器作为主机通过三线制 SPI 接口与信号发生电路部分的 AD9833 通讯, 向 A D9833 写入控制命令字及频率设定值 M ;信号发生电路输出信号送入信号幅值调整电路;微控制器通过 3 个 I /O 口线选择 HCF 4051 的模拟导通通道, 从而调整信号的放大倍数, 得到不同幅值的信号。
 具体工作过程:由 2. 2 中方法求得的数据存储于微控制器的存储器中 , 系统上电启动后, 通过键盘设定要输出的频率值、 信号波形、 信号幅值, 微控制器根据频率设定值从相应数组中取数并计算得 M 值 ;微控制器通过三线制 SPI 通信接口将信号波形命令字及 M 值写入 AD9833, 通过 3 个 I /O 口线选定所需幅值;以上设定完成后 , 微控制器通过三线制 SPI 通讯接口向 AD9833 写入启动命令, 则 A D9833 就会输出所需频率信号, 该信号经过幅值调整电路后, 即得到***终所需信号。 系统的信号发生电路和幅值调整电路分别如图 3 、 4 所示。
图 3  信号发生电路
图 3  信号发生电路
图 4  幅值调整电路
图 4  幅值调整电路
3. 2、信号发生器的软件实现:
3. 2. 1、软件总体设计控制器的主要工作是响应键盘输入、 刷新液晶显示及控制波形输出。 首先控制器进入默认的工作状态, 此时若有按键按下, 则响应按键;通过按键输入所需的频率、 幅度和波形参数;控制器再根据输入的频率计算出频率控制字;***后根据频率控制字、 幅度和波形参数控制输出对应波形。
 
3. 2. 2、信号发生软件设计 AD9833 是可编程 DDS 信号发生器, 内部具有 2 个 28 位频率寄存器, 2 个 12 位相位寄存器。 工作时, 需先写入 16 位工作模式命令字, 确定工作状态并选中频率寄存器和相位寄存器, 然后写入 1 个或 2 个字频率控制字, 控制输出频率, ***后写入相位控制字, 则 DDS 信号发生器就可以根据模式控制字输出相应的波形。 其中频率控制字是根据键盘输入的频率值,由设计的算法得到。 波形的幅度值由单片机根据键盘输入设定对应幅值调整电路得到。
 
3. 2. 3、键盘输入软件设计键盘处理过程:有键按下则产生按键中断, 在中断中识别按键并得到对应的键值;主函数中若键值不为零则执行按键处理程序。按键处理程序中根据按键的不同执行对应的操作, 实现参数的选择, 数据的增、 减、 待调数据的左、 右移等操作。 对不同参数能限定输入数据的范围, 防止输入超出的范围,***后按下确认键, 设置生效, 系统按新设定的参数运行。

3. 2. 4 液晶显示软件设计系统工作模式分为正常工作模式 (波形输出模式) 和参数设置模式。 在不同模式下,液晶显示器显示不同的界面, 以方便用户使用。在波形输出模式下, 关闭液晶的光标和字符闪烁, 并在行显示当前幅度, 第二行显示当前频率, 高位为 0 不显示。 若为参数设置模式, 开启光标, 且即将被修改的数据字符处于闪烁状态。 默认从参数的较低一位数据进行修改, 通过上下键改变参数每一位的数值, 通过左移键选择被修改参数的数据位, 若数据位到达该参数的***高位再按左移键, 则又回到该参数的较低位。

4、结束语:
 直接频率合成技术以其高稳定性、 宽频带等诸多特点在各个领域获得广泛应用。 本文根据 DDS 技术的工作原理, 对频率控制字的求解设计了一种新的算法, 该算法既可以在不降低频率设定速度情况下节省大量存储空间, 又可以显著降低设定频率的误差。 结合该频率控制字的求解算法, 以微控制器 M SP430F135 为主控电路,设计了一种新型的频率连续可调的信号发生器,该信号发生器具有精度高、 频率连续可调、 响应速度快、 输出信号频谱稳定等特点, 可较好应用于脉冲型流量计的出厂校准上。

相关新闻

返回顶部
0517-8699 6066 欢迎来电咨询
Hello. Add your message here.