求计量论坛求1024核账号或邀请码码,谢谢!

拒绝访问 | www.gfjl.org | 百度云加速
请打开cookies.
此网站 (www.gfjl.org) 的管理员禁止了您的访问。原因是您的访问包含了非浏览器特征(d11b08-ua98).
重新安装浏览器,或使用别的浏览器豆丁微信公众号
君,已阅读到文档的结尾了呢~~
计量论坛介绍,计量论坛,国防计量论坛,中国计量论坛,中国计量学院,计量经济学,计量单位,计量泵,中国计量学院图书馆,计量法
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
计量论坛介绍
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='http://www.docin.com/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口&此条目暂无内容,欢迎您参与编辑,享受分享知识的乐趣。&&立即点击开始&优秀百科条目示范: ....
&|&相关影像
互动百科的词条(含所附图片)系由网友上传,如果涉嫌侵权,请与客服联系,我们将按照法律之相关规定及时进行处理。未经许可,禁止商业网站等复制、抓取本站内容;合理使用者,请注明来源于www.baike.com。
登录后使用互动百科的服务,将会得到个性化的提示和帮助,还有机会和专业认证智愿者沟通。
此词条还可添加&
编辑次数:4次
参与编辑人数:3位
最近更新时间: 19:04:31
贡献光荣榜
扫码下载APP查看: 3597|回复: 14
请问电能计量芯片CS5463增益如何校准?
&&最近在用这个芯片,碰到一些问题,请各位指点指点···
1. 在指定电压范围内输入交流信号到芯片的VIN±、IIN±脚。 例如:电压/电流通道最大输入电压为±250mV,
为适应更大的电压范围,系数取0.6, 则输入交流信号为150mV,实际上一般取110mV
2. 在串口上发0xa0命令(停止计算,中止A/D转换)
3. 在串口上发0xd6命令(电压通道AC增益校准命令)
4. 在串口上发0x1e命令, 读状态寄存器内的DRDY位。为1,则表示校准已完成,不为1则等待。
5. 校准完成(这时Vrms寄存器值近似等于0.6),在串口上发0x08命令,去读电压通道AC增益寄存器值并把它
存到存储器中
这是资料上关于电压AC增益的一段话, 按照他的要求,我给电压输入通道给150mV AC电压,然后执行AC增益校准, 可是问题出来了,校准后读出来的AC增益寄存器的值一直都是默认值 0x400000,如果Vrms的值是满量程的0.6我倒也没话说, 可是我读出来的是 0x95xxxx~0x96xxxx , (0xFFFFFF*0.6 = 0x999999).
我的程序应该没有问题, 因为用这个程序执行了DC偏移校准,能看到有效果,程序如下,等好了再把完整的程序发上来:
另外,还一个问题,读取到的Vrms 和Irms的0:16位数值不稳定,是硬件问题还是其他什么原因?
/****************************************************************************
* 名称:correct_cs5463()& & & & & & & &
* 功能:CS5463校准,将校准结果存入flash
* 入口参数:
* 出口参数:无
* 校准命令: 直流电压偏移: 0xD1---0x06& &直流电流偏移: 0xC9---0x02& &
& & & & & & & & & & & & 交流电压偏移: 0xD5---0x22& &交流电流偏移: 0xCD---0x20& &
*& & & & & & & & & & & & 交流电压增益: 0xD6---0x08& &交流电流增益: 0xCE---0x04
****************************************************************************/
void CS5463_Correct(u8 comm1, u8 comm2, u8 reg_indexh,u8 reg_indexl)
& & u8 a[3];
& & CS5463_Write_Nbytes(0xa0,0xfe,0xfe,0xfe); & & & & //停止AD转换
& & CS5463_Write_Nbytes(comm1,0xfe,0xfe,0xfe); & & & & //发校准命令& & & & 0xD1&&电压DC偏移校准&&0xC9&&电流通道DC偏移校准
& & while((a[0]&0x80) != 0x80)
& & & & & & CS5463_Read_Nbytes(0x1e,a,a+1,a+2); & & & & //等待校准完成& & 读状态寄存器
& & CS5463_Read_Nbytes(comm2,a,a+1,a+2);& & & & & & & & //读校准后的偏移值& & & & & & & & 电压:0x06&&电流:0x02
& & & & sys.reg[reg_indexh] = a[0];
& & & & sys.reg[reg_indexl] = (a[1] && 8);
& & & & sys.reg[reg_indexl] += a[2];
& & & & Reg_To_Eeprom(sys.reg[reg_indexh],reg_indexh);
& & & & Reg_To_Eeprom(sys.reg[reg_indexl],reg_indexl);
main() 函数里初始化,校准 :
& & & & CS5463_Init();
& & & & //CS5463_Correct(0xD1,0x06,VDCOFF_H,VDCOFF_L);& & & & & & & & // 电压DC偏移
& & & & //CS5463_Correct(0xC9,0x02,IDCOFF_H,IDCOFF_L);& & & & & & & & // 电流DC偏移
& & & & CS5463_Correct(0xD6,0x08,VGN_H,VGN_L);& & & & & & & & & & & & & & & & // 电压AC增益
& & & & //CS5463_Correct(0xD2,0x08,VGN_H,VGN_L);& & & & & & & & & & & & & & & & // 电压DC增益
& & & & //CS5463_Correct(0xCE,0x04,VGN_H,VGN_L);& & & & & & & & & & & & & & & & // 电流AC增益
& & & & //CS5463_Reset();
& & & & CS5463_Write_Nbytes(Vdcoff+WRITE_OFFSET,
& && && && && && &&&sys.reg[VDCOFF_H],(sys.reg[VDCOFF_L]&&8),
& && && && && && &&&(sys.reg[VDCOFF_L]&0xFF));& & & & & & & & //电压偏移
& & & & CS5463_Write_Nbytes(Idcoff+WRITE_OFFSET,
& && && && && && &&&sys.reg[IDCOFF_H],(sys.reg[IDCOFF_L]&&8),
& && && && && && &&&(sys.reg[IDCOFF_L]&0xFF));& & & & & & & & // 电流偏移
& & CS5463_Write_Nbytes(Vgn+WRITE_OFFSET,
& && && && && && &&&sys.reg[VGN_H],(sys.reg[IDCOFF_L]&&8),
& && && && && && &&&(sys.reg[VGN_L]&0xFF));& & & & & & & & & & & & // 电压增益
& & & & //CS5463_Write_Nbytes(Poff+WRITE_OFFSET,0x00,0x0d,0x4b);& & & & // 功率偏移
& & & & CS5463_Init();
主循环读取相关寄存器值:
& & & & switch (run_index)
& & & & & & & & & & & & {
& & & & & & & & & & & & & & & & case 0:& & & & & & & & & & & & & & & & // 30ms
& & & & & & & & & & & & & & & & & & & & CS5463_Read_Nbytes(Vrms,&buff[0],&buff[1],&buff[2]);
& & & & & & & & & & & & & & & & & & & & CS5463_Read_Nbytes(Irms,&buff[3],&buff[4],&buff[5]);
& & & & & & & & & & & & & & & & & & & &
& & & & & & & & & & & & & & & & & & & & CS5463_Read_Nbytes(Pactive,&buff[6],&buff[7],&buff[8]);
& & & & & & & & & & & & & & & & & & & & CS5463_Read_Nbytes(Vdcoff,&buff2[0],&buff2[1],&buff2[2]);
& & & & & & & & & & & & & & & & & & & & CS5463_Read_Nbytes(Idcoff,&buff2[3],&buff2[4],&buff2[5]);
& & & & & & & & & & & & & & & & & & & & CS5463_Read_Nbytes(Vgn,&buff2[6],&buff2[7],&buff2[8]);
呵呵呵呵,可以了,读到的值 0x90 0x57 0xaa&&接近0.6了& &之前程序的顺序写错了,导致没有校准,应该把偏置寄存器先设置好之后,再启动转换就可以了。
现在还一个问题就是0:16bit的值一直变。。。
算了一下,0:16bit 对应0.1mV&&波动也算正常
俺也在整理这个芯片,发现有零点漂移,但是也不知道怎么校正。
你好,可以加你QQ吗?我现在在做这个cs5463的,搞不定啊。。
上大学的时候搞过这个,这个芯片同志们用得怎么样,EMC好过嘛?
呵呵呵呵,可以了,读到的值 0x90 0x57 0xaa&&接近0.6了& &之前程序的顺序写错了,导致没有校准,应该把偏 ...
请问你上面的读取到一直为0X400000是不是在校验的时候,最后是先设置需要校验的偏置寄存器,然后启动ADC么,校验的时候需要启动ADC么?具体的校验过程是怎么样的,能说明一下么,最近在做这个,被校验绕晕了。谢谢!
请问你上面的读取到一直为0X400000是不是在校验的时候,最后是先设置需要校验的偏置寄存器,然后启动ADC ...
不好意思 ,太就了我以前的程序找不到了,我1楼贴的程序应该没什么问题,你试试吧~
校验你要先配置好外部电压,电流;然后停止ADC转换,再启动校准, (校准的时候芯片应该会自动启动ADC,你启动ADC的话就会干扰到校准);
好的,我再测试一下,谢谢!
刚涉足这款芯片,正在研究中
问下大神,是不是每个芯片校准后的值都不一样,使用在同一场合,要是这样,每个都要校准,岂不是很麻烦
芯片自身差异好像不是很大,主要是外部电路的差异
最近也在弄CS5463,想请教下,CS5463,在校准的时候,只有直流电流偏移有读数正常///直流电压偏移,交流电流偏移,交流电压偏移读数均为零///交流电流增益,交流电流增益都为400000是怎么回事呢?
CS5463我的毕业设计用的这个
CS5463我的毕业设计用的这个
想问下,你有遇到我描述的情况么?你在做的过程中有校准么?谢谢
阿莫电子论坛, 原"中国电子开发网"
, 原www.ourdev.cn, 原www.ouravr.com推荐这篇日记的豆列
&&&&&&&&&&&&
&(45089人关注)
&(58495人关注)
&(19591人关注)
&(25702人关注)
&(26662人关注)

我要回帖

更多关于 计量论坛邀请码 的文章

 

随机推荐