




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数字式电压真有效值检波器 摘要:本设计以msp430f149单片机为核心,采用数字式真有效值检 测方法对任意波形的有效值进行精确测量。前端信号处理电路包括由 运放组成的大信号信号衰减电路,由ad7533和0p27组成的可编程放 大器对小信号进行放大,由运放组成的绝对值电路,经过处理后的信 号输入msp430的ad转换端口和频率捕捉测量端口,利用软件进行频 率测量和信号采集、峰值、有效值的计算,并利用12864液晶对信号 频率、峰值、信号类型、有效值进行显示。硬件部分方案综述:测量交流信号有效值最常用的是平均值响应方法。其测量原理是利用平均值 ac/dc转换器获得平均值电压v,再根据正弦波有效值
2、与平均值的确定关系,得 到被测信号的有效值vrms。但是这种方法仅适用丁不失真的止弦波,假如被测 信号存在失真,或者为方波、矩形波、三角波、锯齿波等非正弦波形这种方法 就不再成立。而真有效值法在理论上可以求取任意波形信号的真有效值。真有效值的定义式为:%力经离散化处理并简化为:%=需£,(町对于不同畸变率的正弦波,如果n取足够大,一般取n二2k, k二1 ,2 ,就能保 证准确测量。一、方案选择:方案一:強拟有效值检波器。由交流信号有效值公式(1)可知,有效值检波器应当首先 把输人的瞬时电压平方,然后在一定平均时间内取平均值再开方,再在电表上指 示输人信号的均方根值。用模拟乘法器来实
3、现平方器,后继一个运放组成的积分 器或rc电路进行平均值运算,再用一个乘法器进行开根号运算以组成有效值检 波器,若用高质量乘法器和平方根器,则系统误差可以降低至满量程的土 0.1%o 利用此方法,还可以实现出色的带宽和高速精度。图1.模拟真有效值检波器原理图方案二数字式有效值检波器由a / d转换器、数字信号处理器二犬部分组成。a /d 转换器把交流信号转换成数字信号,送入数字信号处理器后,再按有效值的计算 公式算出有效值,可见有效值的性能取决于a/d的性能。a/d的最主要指标有位 数和转换速度,ad的位数乂和检波器的线性工作范围和精度有关,数字式有效 值检波器是按照有效值计算公式设计的,它受
4、温度的影响很小,其带宽由a/d 采样的速度所决定,只要输人信号的频率小于a/d采样频率的一半,就可以得 岀准确的有效值能。图2.数字有效值检波器原理图综合分析,由于方案一硬件电路相对复杂,电路板的制作、焊接、调试等工 作量大,而且精度不容易保证,而方案二的数字式有效值检波器有如下优点:1、 线性工作范围大,且随a/d的位数提高而提高2、稳定性好,温度变化影响小 3、可以同吋显示信号的有效值、峰值、峰峰值。又考虑到可以采用msp430内部的12位ad进行数模转换,精度高,而且转换速率高,减少硬件电路,节省 成本。故采用方案二。二、ad转换器的选择方案一:采用msp430内部ado内部ad的主要特
5、点是:12位高精度,大于200ksps 的采样率,软件设定采样保持时间,参考电压软件可编程,adc核和参考电压 模块可以独立关闭,便于控制。方案二采用外部ad转换器ad7810cad7810是美国模拟器件公司(analog devices) 生产的一种低功耗10位高速串行a/d转换器。该产品有8脚dip和soic两 种封装形式,并带有内部时钟。它的外围接线极其简单,ad7810的转换时间 为2ps,采用标准spi同步串行接口输出和单一电源(2.7v5.5v)供电。在自 动低功耗模式下,该器件在转换吞吐率为iksps时的功耗仅为27pw,因此特 点适合于便携式仪表及各种电池供电的应用场合使用。方
6、案最初选择方案二,但是在调试ad7810的过程中,发现ad始终不工作, 在经过了多次调试失败后,最终选择方案一。三、信号前端处理处理因为输入到msp430单片机的信号电压值必须限制到03v,所以要采用必要 的前端处理电路对信号进行衰减、放大、取绝对值运算,使输入到msp430单片 机的信号满足幅值要求。方案一:采用多路反馈电阻加模拟开关选择的方式,对信号进行处理。优点是可以根 据需要灵活的对输入信号放大或者衰减,只需改变反馈电阻阻值即可。但是由于 反馈电阻阻值不连续和模拟开关的导通电阻不确定造成放大倍数或者衰减倍数 很难精确的达到设定值。方案二采用t型电阻网络da转换器ad7533加运放0p2
7、7组成可编程电压放大器,由 于da内部电阻阻值精确,且放大倍数容易由单片机端口进行控制。木设计采用方案二,如果输入信号电压峰值在2v以下,经过绝对值处理后, 由msp430单片机的ad直接对未经处理的小信号进行采样,如果输入信号大于 2v,采用另一个量程,先对信号衰减1/3,经过绝对值处理后再输入msp430单片 机的ad端口进行采样,采样信号存在数组中,然后找出采样信号峰值,由单片 机端口输出合适电平,将信号放大至需要的倍数,从而构成一个闭环控制系统, 提咼前端信号处理电路的精确性和稳定性。header 2p4p?h.u1io9k rr8v齡v2/ adop27aqr9header 0eit
8、2it31t41t51t6it71t8it9egndad7533cnvl)l>0ut1out2前缩信号放人电路图3.大信号衰减及小信号放大电路四、信号正值化因为输入到单片机ad的信号不能有负值。所以采用绝对值电路对信号进行正值 化处理。方案一:利用运放组成的加法电路在输入信号上叠加一个正的直流信号,但是由于输入交 流信号的幅值不可事先预知,所以叠加的直流信号的大小不好确定。而且叠加直 流信号后信号有效值发生变化,使测量引入误差。方案二:利用运放组成的绝对值电路进行正值化,绝对值电路与输入信号的极性,幅值无 关,并且交流信号取绝对值后有效值不发生变化,所以采用方案二。r2res220kvc
9、ciode in4148r4rcs220k5 u3adc8res220kp27wr6 1res210kdiode 1n4148箴3!_1rcs22阱p35 u4adop27aqheader 38r7 ires210kvcc -9vvcc.-9v绝对值电路邙n值关系耍准确)图4.绝对值电路五、电源稳压模块:运放和da工作需要稳定的电源,所以采用三端稳压器件l7809和l7909产 生稳定的正负9v电源,整个电路板采用正负9v供电,简化了电源模块的设计。u6 vcc 9v7909c4 w -9v图5正负9v稳压模块c60ufvcc_-9v header 3六、显示模块采用12864液晶进行显示。1
10、2864是一种图形点阵液晶显示器,它主要由行驱 动器/列驱动器及128(行)x64(列)全点阵液晶显示器组成.可完成图形显示, 也可以显示8x4个(16x16点阵)汉字.与cpu接口采用8位数据总线并行输入 输出和8条控制线,七种指令,便于单片机控制。七、器件选择在可编程放人模块和绝对值模块用到的运放都采用op27.op27是低噪声,精 密运放,失调电压小,转换速率快、共模抑制比高,频率特性好,各参数均适合 本设计。da采用ad7533, ad7533是一款低成本、低功耗、10位、四象限乘法dac。 ad7533能够与ttl或cmos育接接口,方便与msp430的接口设计,采用5 v 至15
11、v电源供电,并且基准电压输入可以为正极性或负极性,因此应用非常灵 活。软件编程思路:软件部分附录程序:#include <msp430xl4x.h>#define uint unsigned int#define uchar unsigned char#define lcd.cs bito#define lcd_dat bit1#define lcd_sck bit2#define wr bit2#define rs bit1与lcd显示有关的数据定义uchar flag=o; uint str2=0); float count=0;p1.2为频率捕捉端口,当上升沿触发捕捉时,fl
12、ag置为1. /当两次捕捉发生吋,存储定吋器的值根据定时器的差值和系统时钟计算出信号频率。uint results8001=0;uint ad_num=0;uint res_max=0;float ad=0;float sum-0;定义一个大数组,存储信号一个周期ad转换值釆样信号点的个数离散釆样信号的最大值离散采样信号最大值对应的模拟电压值记录所有采样信号对应的模拟电压值的平方和uint temp=0x03ff;控制da放大倍数的端口值float beishu=0;信号放大倍数/容*容*容*和細容*容*容*容*容*容*系统时钟初g台化睿* */void int_clk()uchar i;bc
13、sctl1&=xt2off; 打开 xt 振荡器bcsctl2|二selm1+sels;/mclk 8m and smclk 8mdoifg1 &二ofifg;清除振荡错误标志for(i = 0; i < 100; i+)_nop();延时等待while (ifg1 & ofifg) != 0); /如果标志为1继续循环等待ifg1 &二ofifg;严* 定时器捕捉功能初女台化 */void int_cap()p1sel=oxo4;tacctl11 二cmo+scs+cap+ccie;tactl| 二 tassel1+mc1;选择p12作为捕捉的输入端子上
14、升沿触发捕捉,同步模式、使能中断/*延时 | ms 函 数*/选择smclk吋钟作为计数脉冲,不分频void delay_lms(void) uchar i;_nop();*/*延时 nms 函数*/void delay_nms(uint n) uint i = 0;for(i = n;i > 0;i)delay_lms();/* */uchar synch=()xfe; /lcd 显示同步字void get_clk()p3dir|=lcd_sck;_nop();p3out&二lcd_sck;_nop();_nop();_nop();_nop();_nop();p3out|=lc
15、d_sck;_nop();_nop();_nop();_nop();_nop();_nop();_nop();void inport(uchar com,uchar dat)/com= 1 ,rs= 1 ,com=0,rs=0; uchar i,temp;p3dir|=lcd_dat;p3dir|=lcd_cs;p3out| 二 lcd_cs;temp=synch;temp&=wr;if(com)temp|=rs;elsetemp&=rs;for(i=0;i<=7;i+)if(temp«i)&0x80) p3out|=lcd_dat; elsep3out
16、&二 lcd_dat;get_clk();delay_nms(600); temp=dat&oxfo;for(i=0;i<=7;i+)if(temp«i)&0x80) p3out|=lcd_dat; elsep3out&二 lcd_dat;get_clk();delay_nms(200);temp=dat & oxof;temp=temp«4;for(i=0;i<=7;i+)if(temp«i)&0x80) p3out|=lcd_dat; elsep3out&二lcd_dat;get_clk();
17、 delay_nms(200); p3out|=lcd_dat; p3out&二 lcd_cs;void int_lcd()inport(0x00,0x30);inport(0x00,0x01);inport(0x00,0x02);inport(0x00,0x0c);inport(0x00,0x06);/ 上上上 上丄立立立匕立匕上匕立立匕立匕 b2上 / *t* 彳.彳.彳.彳.彳.<t*<t* *t* <t»<t*哼 哼 哼 哼 哼*t*/void dispstring (uchar xuchar y,uchcir *msg) x 为哪一行,y 为
18、哪 -列。msg 为汉字if(x=o) x=0x80;else if(x=l) x=0x90;else if(x=2) x=0x88;else x=0x98;y=x+y; inport(oxoo,y); while (*msg)inport(0x01 ,*msg+);/ 卜” «x> ” «x> ”j “/j *tw<t« rt» rt» »t* rtw *t« »t* rtw rtw »t* <tw : rtw: rtw »tw*:»tw 丫丫 * <t
19、» 丫 <t» 丫 »tw <t» <t» <t» <t» <t» /*lcd 浮 m 数显示函数*/ print_float(float data)uint temp;float a;uchar “0,al ,a2q3,a4,a5,a6,a7;temp=data;a=data-temp;ao=temp/10000;al=(temp-a0* 10000)/1000;a2=(temp-a0* 10000-a1*1000)/100;temp=(temp-ao* 10000-a 1 *
20、 1000)-a2* 100;a3=temp/10;a4=temp%10;temp 二 a* 1000;a5=(temp)/100;temp=temp-a5* 100;a6=temp/10;a7 二 temp% 10; inport(0x01 ,a0+0x30); inport(0x01 ,a 1 +0x30);inport(0x01 ,a2+0x30); inport(0x01 ,a3+0x30); inport(0x01 ,a4+0x30); inport(0x01,');inport(0x01 ,a5+0x30); inport(0x01 ,a6+0x30); inport(0x
21、01 ,a7+0x30);1 /itw/int_adc()p6sel |= 0x02;选择 ad 通道 p6adc 12ctl0二adc 12on+msc+sht0_2+ref2_5v+refon; 采样保持时间为 16个adc12clk,参考电压开启,选择2.5v adc12ctl1二shp+conseq_2;单通道多次转换模式adc12mctl0 =sref_1+inch;/ ref+=ref2_5v, channel = aladc 121e = 0x01;/使能转换中断adc12ctl0 |= enc;/ 使能 ad 转换器ad_max()uint order=0;for(order=
22、0;order<800;order+)if(resultsorder>res_max) res_max=resultsorder;/* */土 土 土 土 土 丄 丄丄* 丄丄* 丄 *1#*1# 丄* *1# 丄 *1# 丄 *1# 丄* *1# 士 *1# 士 *1# 士 *1# 士 *1# 士 *1# 卜士 士 士 士 士 士 士 士 士 士 士 士 /fvt* "t°<r%<r% <rw t"s*s*s"?"?"7"7"?"? <r*<r%<r%&l
23、t;r%<r%/容*容*容*容*容*容*容*容*容*容*扌空制 da 的端口初女台化函数*水*水*水*容*容*容*容*容*容*容/int_port()p3sel 二 0;p4sel&二!(bit0+bit1);p3dirlroxff;p4dir-lrbrro+bitp30utiioxrp40utllbrro+bit0 p p p-: t t* : : : : : : 【*【*【*【*【*【* *卞養鶯養鶯養養養養沃da z=b&3凹b®逐as8逐ams医彗daicm)(adc12ctl0iiadc12sc- adc12ctl0c&h adc12sc; =
24、4=.m®滞 wh二e (1)-if瓮 lnumv=750)-dinto;adlmax()w>r壽血® if(reslmaxv3500) temp"0x03fn else if(resmaxc200)cdmphresmax、4;e-seamp=reslmax、3.2 八 beishuh 1024.0二emp 八 p30utaqmprpoxoofd; p4outa?mpvv8)<&0x0003);adlnumupresimaxupbreak;pxav av av av av)一-rxr :»r?r ?:><匸匚' 匸
25、匚rt .rerfritpt pg pitpitpg u ititit 7* a 7* a 7* a *7* a. 7* a a. 7* a. 7* a. 7* a. *7* a. 7* a a a a a a kr kr kr k< << kr*和久日野就再汁韶姦”弱齊医齊*showlbeishu()dispss.ng (30亲遷.); prinlfloa5024.0、temp)一 delaynms(200);一*氓*氓*氓*氓沃氓沃氓沃氓沃氓沃氓沃*沃许沃许沃*沃许沃*许*许*许*许*弘八*!#】 *!#】 .t.wa . a/ a/ a/ a.showlpinlv()(
26、inport(oxoooxol); inport(oxopox80);pritnlfloh(cou=xinport(0x01,'h*); inport(0x01,'z*); delay_nms(200);show_ad_max()ad=(res_max*2.5/4095.0);/ 显示电压峰值 dispstring (1,o,m 峰值“);inport(0x01/:');print_float(ad/beishu); inport(0x01?v');delay_nms(200);ad=o;show_samp_num()dispstring (2,0,”采样点“)
27、;/显示采样点数 inport(0x01,':*);print_float(ad_num);delay_nms(200);show_ad_rms() dispstring (3,0,”有效值”);/显示电压有效值 inport(0x01,':);print_float(sum/beishu);delay_nms(200);#pragma vector=adc_vector interrupt void adc12isr (void)读取ao转换结果ad_num+;resultsad_num= adc12mem0; inport(0x00,0x80);f2%l2z 1* 2z 1
28、 1 1 1«f>«f«f> 1 «f>«f#«f> «f> «f> «f> «f> «f> /j rt* rtw etw ryw rtw rtw rt* ryw rtw ryw rtw rtw rtw rtw rt« rtw rtw rtw etw rtw rtw rtw rtw ryw rtw ryw rtw ryw rtw ryw rtw ryw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw etw rtw etw rtw etw rtw etw rtw etw rtw etw rtw etw / 严*古宦
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高中体育学生试题及答案
- 高架车考试试题及答案
- 今年公务员面试题及答案
- 德州社工考试试题及答案
- 重点小学考试试题及答案
- 广东公务员面试题及答案
- 养猪考试试题答案
- 欧盟市场准入与合规性要求分析试题及答案
- 金融保险会计试题及答案
- 法语考验试题答案及解析
- 大学生就业形势与就业政策课件
- 氧气吸入操作评分标准(中心供氧)
- 2024仁爱版初中英语单词表(七-九年级)中考复习必背
- 100以内进退位加减法口算题(20000道 可直接打印 每页100道)
- 电动给水泵技术规范
- 三笔字训练教程课件
- (完整word)2019注册消防工程师继续教育三科试习题及答案
- 钢筋加工棚搭设验收表
- 蓝色简约公安警察工作汇报PPT模板课件
- 汽车维修技能大赛开幕式致辞
- 中心试验室运行管理实施方案
评论
0/150
提交评论