矿石收音机论坛

 找回密码
 加入会员

QQ登录

只需一步,快速开始

搜索
楼主: holts

LCR表的制作

  [复制链接]
     
发表于 2020-11-10 09:32:49 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

     
发表于 2020-11-10 13:07:25 | 显示全部楼层
本帖最后由 435788A 于 2020-11-10 13:17 编辑

看看我做的输出波形,黄色的是PA5经过运放后输出的波形,红色的是PA4经过运放后输出的波形,电溶同样是用200P。从下向上一格500mV
1khz.JPG
捕获9k.JPG
25k.JPG
49k.JPG
97k.JPG

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

     
发表于 2020-11-10 14:30:20 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

     
发表于 2020-11-11 10:31:09 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

     
发表于 2020-11-11 11:03:06 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

     
发表于 2020-11-11 12:51:09 | 显示全部楼层
本帖最后由 435788A 于 2020-11-11 13:10 编辑

不好意思以上上传的图片c11、c12的一端没有焊接,以上上传的图片无效
捕获1k.JPG
捕获9k.JPG
捕获25k.JPG
捕获49k.JPG
捕获97k.JPG

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2020-11-11 13:00:32 | 显示全部楼层
矿坛铁粉 发表于 2020-11-11 11:03
我看了一下你放在github上的东东,不是鹅版的,而是许老师那版的。

lcr.png

多年前搞过许老师电桥,收集了些资料,原理都是相通的,所以懒得再开新仓库了,我建了新分支,放一起方便.

你可以点分支,切换到miniLCR查看,
也可以用命令  git clone -b miniLCR 拉到本地慢慢看.
回复 支持 反对

使用道具 举报

     
发表于 2020-11-11 13:36:28 | 显示全部楼层
这次重新焊接上了再测得到的波形,1K和9KHz正弦很好,今天上传的附件数量有限
25k.JPG
49k.JPG
97k.JPG

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

     
发表于 2020-11-11 14:16:20 | 显示全部楼层
LRC对喜欢DIY者是中福音。
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2020-11-11 14:44:01 | 显示全部楼层
本帖最后由 holts 于 2020-11-11 15:00 编辑
435788A 发表于 2020-11-11 13:36
这次重新焊接上了再测得到的波形,1K和9KHz正弦很好,今天上传的附件数量有限


这样看来,只有97K的有改善空间,其余的哪三个波型差不多了,200R的电阻改为150R波型会不会更好点?

和矿坛铁粉,简单的讨论了下,两个改善方向,一个是提高可用量程范围,确保整个范围内精度尽可能均衡,另一个是算法上增加多点校正,确保精度在1-2%之间,并尽可能向1%靠近,在这样的成本控制下能做到这两点,我就很满足了.

如果精度要进一步提高,就必须增加小信号放大,成本和复杂度就上去了,这个版本的升级版uRLC就是按这样的思路做的(不过uRLC不开源无爱),我把uRLC的原理图放上来,供大家参考.


uRLC_1.2.1.pdf (170.48 KB, 下载次数: 185)

我们要考滤的是在尽量不增加成本,不改硬件的情况下,通过软件的优化尽可能提升它的性能,让参与的人,一块板子可以玩三年,原作者就是这样的,它的板子三年不变,变的是软件,这除了考滤对对参与者的投入保护,更多的是专注,这种专注值得我们学习.

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

     
发表于 2020-11-11 15:47:59 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

     
发表于 2020-11-11 16:22:11 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2020-11-11 16:45:37 | 显示全部楼层
本帖最后由 holts 于 2020-11-11 16:47 编辑
矿坛铁粉 发表于 2020-11-11 16:22
大概看了一下uRLC的电路,和你的鹅版RLC差别很大,相互之间应该没有关联。
uRLC和许老师的电路相似, ...


uRLC就是一群玩鹅版RLC的人,玩透以后,另起炉灶搞的, 成本200以内,精度不如许老师的,性价比不高.
回复 支持 反对

使用道具 举报

     
发表于 2020-11-11 19:53:44 | 显示全部楼层
厉害啊,可惜已经买了电桥了不然就跟着做了
回复 支持 反对

使用道具 举报

     
发表于 2020-11-12 12:27:18 | 显示全部楼层
本帖最后由 435788A 于 2020-11-12 12:55 编辑

在程序里看到  #define SINE_OFFSET (2047)  ,在603版本里是   #define SINE_OFFSET 900        ,这个应该就是中点电压,再看adc中断里面有
while(i++ < N/2 )
        {
                int dat = ( (*buf++) - SINE_OFFSET);

                re += ((int)(*cos++)*dat);
                im -= ((int)(*sin++)*dat);
        }
这样,12位的ADC变成了32位有符号数
再到void measure(cplx * Z , int rounds)函数
在603版本:
while(rounds-- >0 )
        {
                runRound();
                mAcc[0].Re += mData[0].Re;
                mAcc[0].Im += mData[0].Im;
                mAcc[1].Re += mData[1].Re;
                mAcc[1].Im += mData[1].Im;
                mAcc[2].Re += mData[2].Re;
                mAcc[2].Im += mData[2].Im;

        }

        Z->Re = (mAcc[2].Re - mAcc[0].Re); // V
        Z->Im = (mAcc[2].Im - mAcc[0].Im);
        cplxMul(Z,&R);
        I.Re = (mAcc[0].Re - mAcc[1].Re); // I
        I.Im = (mAcc[0].Im - mAcc[1].Im);
        cplxDiv(Z,&I);
在620B12版本:
while(r-- >0 )
        {
                runRound();
                mAcc[0].Re += mData[0].Re;
                mAcc[0].Im += mData[0].Im;
                mAcc[1].Re += mData[1].Re;
                mAcc[1].Im += mData[1].Im;
                mAcc[2].Re += mData[2].Re;
                mAcc[2].Im += mData[2].Im;

                runRound();
                mAcc[0].Re -= mData[0].Re;
                mAcc[0].Im -= mData[0].Im;
                mAcc[1].Re -= mData[1].Re;
                mAcc[1].Im -= mData[1].Im;
                mAcc[2].Re -= mData[2].Re;
                mAcc[2].Im -= mData[2].Im;

        }

        ch[0].Re = mAcc[0].Re;
        ch[0].Im = mAcc[0].Im;
        ch[1].Re = mAcc[1].Re;
        ch[1].Im = mAcc[1].Im;
        ch[2].Re = mAcc[2].Re;
        ch[2].Im = mAcc[2].Im;

        cplxMul(&ch[0],&corr.shift0);
        cplxMul(&ch[1],&corr.shift0);
        cplxMul(&ch[2],&corr.shift0);

        mAcc[0].Re -= ch[1].Re + ch[2].Re;
        mAcc[0].Im -= ch[1].Im + ch[2].Im;
        mAcc[1].Re -= ch[0].Re + ch[2].Re;
        mAcc[1].Im -= ch[0].Im + ch[2].Im;
        mAcc[2].Re -= ch[0].Re + ch[1].Re;
        mAcc[2].Im -= ch[0].Im + ch[1].Im;

        mdata.polar[0].Re= 0.5*vcc*1.4901161e-12*square(mAcc[0].Re*mAcc[0].Re + mAcc[0].Im*mAcc[0].Im);// 1/512/65536/20000
        mdata.polar[1].Re= 0.5*vcc*1.4901161e-12*square(mAcc[1].Re*mAcc[1].Re + mAcc[1].Im*mAcc[1].Im);
        mdata.polar[2].Re= 0.5*vcc*1.4901161e-12*square(mAcc[2].Re*mAcc[2].Re + mAcc[2].Im*mAcc[2].Im);

        mdata.polar[0].Im= 180.0*atan2f(mAcc[0].Im,mAcc[0].Re)/M_PI;
        mdata.polar[1].Im= 180.0*atan2f(mAcc[1].Im,mAcc[1].Re)/M_PI;
        mdata.polar[2].Im= 180.0*atan2f(mAcc[2].Im,mAcc[2].Re)/M_PI;

        cplxMul(&mAcc[0], &(corr.Corr0) );
        cplxMul(&mAcc[2], &(corr.Corr2) );

        Z->Re = (mAcc[2].Re - mAcc[0].Re); // V
        Z->Im = (mAcc[2].Im - mAcc[0].Im);
        cplxMul(Z,&R);
        I.Re = (mAcc[0].Re - mAcc[1].Re); // I
        I.Im = (mAcc[0].Im - mAcc[1].Im);
        cplxDiv(Z,&I);
mAcc[0]就是PA1
mAcc[1]就是PA2
mAcc[2]就是PA7
这个计算过程没有R7x,620B12版本电路是对称的四线,程序里只有三线测量
昨天没传上的图片现在补传
如果用620B12_71图纸的二阶滤波把97KHZ滤成正弦,反而使测量不准
1khz.JPG
9k.JPG
25k.JPG
49k.JPG
97k.JPG
捕获1k.JPG
捕获9k.JPG
捕获25k.JPG
捕获49k.JPG
捕获97k.JPG

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

小黑屋|手机版|矿石收音机 ( 蒙ICP备05000029号-1 )

蒙公网安备 15040402000005号

GMT+8, 2025-4-27 15:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表