电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>电子论文>电源技术论文>高精度正弦全自动激励信号源的设计与实现

高精度正弦全自动激励信号源的设计与实现

2008-12-02 | rar | 333 | 次下载 | 免费

资料介绍

在许多工程测量中,都需要某种固定频率的正弦信号作为激励源,如利用模拟传感器的输出情况对所研制的监测系统、检测单元进行功能的验证:或者进行采集量程的标定工作等。在这些情况下,直接采用一个性能优越的信号发生器固然可以满足工作要求,但是这又带来了新的问题,一方面信号发生器是外配仪器,增加了系统的成本,另一方面也不便于自动化测量。利用D/A转换器加高阶滤波器的方式也可实现以上功能要求,但是在windows操作平台下,对软件技术提出了更高的要求。本文在科研项目的研究工作中恰好遇到了这样一个问题,在信号的检测与标定工作中需要一个120Hz、峰值从0.01V到10V可调的、失真小于1%的高精度正弦激励信号。本文采用常规的电路实现了这个功能。 

2.原理与实现过程简述

  本科研项目是基于PC-104总线的某型飞机发动机参数的检测系统,该系统需要一个用于飞机振动校准的激励信号给定单元。经仔细分析技术指标的要求,该单元需要一个幅值从0.01伏到10伏可调,且给定幅值稳定、波形失真小、频率为120Hz的交流信号源,幅值给定以0.01伏为一个间隔。如果我们利用砖码称重的原理,能很快地完成这一功能。显然,信号激励中只需要小数点后两位,即正弦信号峰值变化范围从10mV到10V,它有一位整数位、两位小数位。如果我们集中实现一个120Hz的高精度正弦波振荡器,然后从中取5伏、4伏、2伏、和l伏的“砖码”信号,可以通过电子开关组合,再用加法器形成l伏到10伏之间的任意一个峰值,类似地用0.5伏、0.4伏、0.2伏和0.1伏的“砖码”信号可以形成0.1伏到0.9伏的正弦信号,用0.05伏、0.04伏、0.02伏和0.01伏的“砝码”信号可以形成0.01伏到0.09伏的正弦信号,这三组“砝码”信号组合在一起则可以给出峰值从0.01伏到10伏、幅值变化台阶为0.01伏的任一峰值的正弦激励信号,完全可以满足工程的需要。 
  根据上述分析,我们设计出如图1所示的硬件框图。在图1中,正弦波信号源选用MAX038芯片,其输出正弦波频率可以在较宽的范围内调节,该芯片内部的结构设计可以保证向外提供失真度小于1%的正弦信号;为了提高信号的比例精度,所有的分压电阻全部定制,阻值精度可达千分之一;运放选用低漂移运放LM124;电子开关选用高性能的MAX4536的4路单刀单掷开关;另外,考虑到电子开关导通后有几十欧姆的压降,为了减小其影响,在加法器中反馈电阻与累加电阻均选择为几十千欧左右,进一步削弱电子开关导通电阻在比例加法器中的影响。由于以上措施的作用,可以大幅度提高电路在实际使用中的性能。 
  在图1所示电路中,电子开关为译码后控制,一位控制码控制一路开关,因此电子开关的控制共需要12个数字量输出接口,这在笔者所采用的嵌入式系统中是不允许的,因为没有这么多的资源,为了进一步满足系统的要求,采用单并转换技术,用三片4位移位寄存器CT1194串联组成一个12位的移位寄存器,框图如图2所示。 
  图1中,12个电子开关共有4096种组合,其每种组合对应着一个特定大小的正弦交流信号,这些电子开关的控制,虽然需要12个I/O口,但只要借助于图2的串入并出移位寄存器,我们通过数据口DATA1和时钟口CLK两个输出口可以把4096种组合的任意一种送到Q1到Q12上,从而用两个I/O口实现了12路电子开关的控制。而在笔者所用的PC-104的I/O卡中,其外扩I/O口是用8255实现的,由于8255的C口具有位控功能〈位置位或位清零〉,则从C口中任取两位作为移位寄存器的数据端口和时钟端口,在12个脉冲上升沿作用下,可以将任意一个12位二进制数送到Q1到Q12口,从而完成对电子开关的期望控制,在图l中Vout处得到所希望幅值大小的定频正弦波。 

3.实现过程 

  为了获得激励信号所需要的幅值,本单元使用PC.104的I/O模块的C口的位控功能对电子开关进行控制。首先在控制面板上给出激励信号所需的幅值,然后将此值利用5421码序列进行编码,所谓5421码是指码制相应位的权值分别为5、4、2、1,即相应位为1时所代表的十进制值分别是5、4、2、1。具体的编码规则如表1所示。对激励所需幅值编码后,将所得二进制编码按由低到高的顺序输入移位寄存器,该编码由寄存器并行输出给电子开关的控制端,控制开关的开闭,从而控制加法器的输出结果,获得所需幅值的正弦激励信号。控制过程的流程图如图3所示,为了更详细地介绍此流程的实现过程,下面举例进行说明。 砝码\十进制数 对应于激励实际需要的数值 
0 1 2 3 4 5 6 7 8 9 
5 0 0 0 0 0 0 0 0 1 1 
4 0 0 0 0 1 1 1 1 0 1 
2 0 0 1 1 0 0 1 1 1 0 
1 0 1 0 1 0 1 0 1 1 0 
输出编码 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x0B 0x0C 
转换后输出给电子开关,对输出进行控制 
4.例子 

  例如需要一个f(t)=3.95sin240πtV的正弦激励信号,按照软件框图获得此激励信号的方法如下。在开始编程之前,首先进行端口分配,I/O模块C口的地址为Address,设C2为RD的控制口,C3为DATA的控制口,C4为CLK的控制口。程序首先要将移位寄存器复位,即对C口的C2位进行操作,如下所述: 
Ootp(Address,0x04); //使C2口输出0 
Delay(0.01); 
Outp(Address,0x05); //使C2口输出1 
Delay(0.01); 
输入幅值为:3.956,即a=3.956:则b=100*3.956=395.6,四舍五入得396; 
396除以10取余得6,所以C1=6: 
396整除lO得到39,39除以10取余得到9,所以C2=9; 
396整除100得到3,所以C3=3。 
将C1、C2、C3按照5421码序列进行编码,编码规则见表1,根据表1的规则转换后,得: 
C1’=0000 0110=0x06 
C2’=0000 1100=0x0C 
C3’=0000 0011=0x03 
将C1’的数值赋予d1(即1=0000 0110);将C2’左移4位后,变成0000 1100 0000,赋予d2(即d2=0000 1100 0000);将C3’左移8位后,变成0011 0000 0000,赋予d3(即将上面得到的12位二进制数的每一位依次赋与数组。然后分12次将数组中的数据作为控制信号输入到寄存器中,得到相应的控制权值,用来控制输出正弦激励信号幅值的大小。C3为DATA的控制口,C4为CLK的控制口,具体实现过程如下: 
当输出数据bit[I]=1时: 
outp(Address,0x08); //脉冲信号为低电平。 
Delay(0.01); 
Outp(Address,0x07); //位操作置1。 
Delay(0.01); 
Outp(Address,0x09); //脉冲信号为高电平。 
当输出数据bit[I]=0时: 
oout(Address,0x08); //脉冲信号为低电平。 
Delay(0.01); 
Outp(Address,0x06); //位操作置0. 
Delay(0.01); 
Outp(Address,0x09); //脉冲信号为高电平。 

5.结束语 

  本单元利用常规电路实现了固定频率的正弦信号的给定功能。它能得到从10mV到10V之间任意幅值的正弦信号,对所需激励信号的频率及幅值的要求,精度能达到1%,且正弦信号的失真度也不超过1%。本检测单元己在基于PC.104总线的某型飞机发动机参数的检测系统中为飞机振动校准提供了激励信号,经调试完全能满足本文所述的各种参数要求。
下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1电子电路原理第七版PDF电子教材免费下载
  2. 0.00 MB  |  1490次下载  |  免费
  3. 2单片机典型实例介绍
  4. 18.19 MB  |  93次下载  |  1 积分
  5. 3S7-200PLC编程实例详细资料
  6. 1.17 MB  |  27次下载  |  1 积分
  7. 4笔记本电脑主板的元件识别和讲解说明
  8. 4.28 MB  |  18次下载  |  4 积分
  9. 5开关电源原理及各功能电路详解
  10. 0.38 MB  |  11次下载  |  免费
  11. 6100W短波放大电路图
  12. 0.05 MB  |  4次下载  |  3 积分
  13. 7基于AT89C2051/4051单片机编程器的实验
  14. 0.11 MB  |  4次下载  |  免费
  15. 8基于单片机的红外风扇遥控
  16. 0.23 MB  |  3次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234313次下载  |  免费
  3. 2PADS 9.0 2009最新版 -下载
  4. 0.00 MB  |  66304次下载  |  免费
  5. 3protel99下载protel99软件下载(中文版)
  6. 0.00 MB  |  51209次下载  |  免费
  7. 4LabView 8.0 专业版下载 (3CD完整版)
  8. 0.00 MB  |  51043次下载  |  免费
  9. 5555集成电路应用800例(新编版)
  10. 0.00 MB  |  33562次下载  |  免费
  11. 6接口电路图大全
  12. 未知  |  30320次下载  |  免费
  13. 7Multisim 10下载Multisim 10 中文版
  14. 0.00 MB  |  28588次下载  |  免费
  15. 8开关电源设计实例指南
  16. 未知  |  21539次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935053次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537791次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420026次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234313次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191183次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183277次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138039次下载  |  免费