专业版
#第十届立创电赛#基于瑞萨单片机的LCR数字电桥

创建时间:1个月前

视频

  • 立创电赛:《基于瑞萨单片机的LCR数字电桥》-校准方法.mp4

  • 立创电赛:《基于瑞萨单片机的LCR数字电桥》-测量电阻和电池内阻.mp4

  • 立创电赛:《基于瑞萨单片机的LCR数字电桥》-程序源代码介绍0.mp4

  • 立创电赛:《基于瑞萨单片机的LCR数字电桥》-测量电感.mp4

  • 立创电赛:《基于瑞萨单片机的LCR数字电桥》-测量电容.mp4

  • 立创电赛:《基于瑞萨单片机的LCR数字电桥》-程序源代码介绍1.mp4

描述

<div> <p style="line-height:1.8;">基于瑞萨R7FA2E1A7单片机能测电池内阻的LCR数字电桥</p> <p style="line-height:1.8;"> </p> <h3 style="line-height:1.8;">1、项目功能介绍</h3> <p>作为一个业余电子爱好者,平时有测电池内阻和电子元器件阻抗的需求,两个仪表来回切换比较麻烦,很多开源电桥把隔直电容和保护电路都给砍掉了,所以没法直接测电池内阻,外接隔直电容不是很方便,于是自己设计了一个能测电池内阻的LCR数字电桥,同时验证下自己的想法,采用两路采集,多ADC口采样增加读数分辨率。</p> <p>也因为我是业余爱好者,这个项目对我有难度,所以最后做的不怎么好用,也就是勉强能用级别。</p> <p>测量频率1KHZ、10KHZ、100HZ</p> <p>阻抗测量范围1毫欧到10兆欧,可以测电池内阻、串联电容、串联电感、串联电阻、串联电抗、D值、Q值、角度、阻抗的幅度</p> <p>由于频率多量程宽有的档位可能存在BUG,自动量程也有一些问题,有的时候无法切换到正确档位。</p> <hr> <p style="line-height:1.8;"> </p> <p style="line-height:1.8;"> </p> <h3 style="line-height:1.8;">2、项目属性</h3> <p>项目首次公开,部分电路参考开源电桥,程序是原创的。</p> <p style="line-height:1.8;"> </p> <h3 style="line-height:1.8;">3、开源协议</h3> <p style="line-height:1.8;">GPL3.0开源协议,软硬件开源。</p> <h3 style="line-height:1.8;">4、硬件部分</h3> <hr> <p style="line-height:1.8;">电源部分采用18650供电,DW01保护,4056充电,SW1为整机电源开关,U4转3.3V,夹子短路时最大功耗不超40毫安。</p> <p style="line-height:1.8;"><img src="//image.lceda.cn/pullimage/a4kTkM447AwPdXrSXqgvXeu5LLRrOVyDsJkpHaca.png" alt="" width="1200" height="719"></p> <p style="line-height:1.8;"> </p> <p style="line-height:1.8;">采用瑞萨R7FA2E1A7单片机作为主控,32MHZ晶振,手册最高为20MHZ,但是想验证自己想法采样4个ADC口采集,采样率50KHZ,采集到的数据都要进行DFT运算,计算量比较大,计算DFT频率是70K左右,刚好能出中断,于是超了下频。引脚功能:P400输出PWM,P409、P408通过模拟开关切换PWM滤波电路作为激励源。 P407档位切换33.3欧模拟开关,因为74HC4052模拟开关导通电阻比较大,无法满足最低档位要求,所以在33.3欧档位并联了一片3157模拟开关降低导通电阻。P915、P914是档位切换74HC4052的控制端口,用来切换不同档位的电阻,P206 P207被测元器件放大倍数开关,每个放大10倍,P208、P914是内部V/I电路采样电阻放大开关,每个也是放大10倍。 P300和P108是SWD口,JLINK V9需要连接4根线,3.3、GND、SWDIO、SWCLK。 P000、P001是V/I路电阻采样口,P013、P014是被测元器件采样口,采用双口采集验证下自己提高分辨率的想法。ADC直接用AVCC和AVSS作为参考,而且直接和单片机数字电源想连,这样可能会增加ADC读数跳动。 P500、P101、P102、P103是LCD液晶驱动口。P109、P110、P111、P112是四个按键。</p> <p style="line-height:1.8;"><img src="//image.lceda.cn/pullimage/veECFP0uIMqaN79fRY2IVTXV5qfqss3jNryKjbkL.png" alt="" width="1200" height="723"></p> <p style="line-height:1.8;"> </p> <p style="line-height:1.8;">PWM滤波电路直接采用RC滤波,RC滤波后为正弦波,降低单片机程序编写难度,两个3157模拟开关切换三路RC滤波器作为激励源,为了减少RC滤波电路元器件衰减的比较大,由于衰减比较大造成信号比较小容易被干扰,而且后级需要高倍放大造成温飘比较大,但是 因为两路采集,实际这里温飘对最后读数影响不大。</p> <p style="line-height:1.8;"><img src="//image.lceda.cn/pullimage/o9bC4NFHFWPTxXGOkgEr0nZ2GANBddM8aqM9cifG.png" alt="" width="1092" height="745"></p> <p style="line-height:1.8;">RC滤波后C1隔直后抬高1.66V进入U20.2运放放大,这里采用高倍放大,放大倍数低了会引起高频振荡。运放输出经过33.3欧电阻和50UF电容到RF1输出,D1 D5保护。 RF1、RF2接开尔文夹走电流,U20.1反相放大,74HC4052切换放大倍数,分辨有4个档位,33.3欧、333欧、3.33千欧、33.3千欧,最低档位由于74HC4052导通电阻大于是并联了3157模拟开关用来降低电阻,TL432提供1.66V参考地电压,和D2、D3、C33、C34组成输入保护电路,四个量程电阻也采用四线测量法,正好74HC4052有两组开关,这个部分是参考开源电桥电路。</p> <p style="line-height:1.8;"> </p> <p style="line-height:1.8;"> </p> <p style="line-height:1.8;"><img src="//image.lceda.cn/pullimage/6CBK0bNuoLSWZCFCbKopyBbEtnec0SuQOGyP4U9A.png" alt="" width="1074" height="752"></p> <p style="line-height:1.8;">下面为两路放大电路,分别采集被测电阻和档位切换电阻上的电压进行放大,每路设置两个放大倍数,组成10倍100倍连个放大档位。因为两路放大读数温飘影响比较明显,不同时间测一个电阻相差比较大,不如单路来回切换稳定。</p> <p style="line-height:1.8;"><img src="//image.lceda.cn/pullimage/AStjcF8j7q6LYT07PDGyWOFhhFUSeqcJk42Fs3NB.png" alt="" width="1200" height="687"></p> <p style="line-height:1.8;">参考电阻上或者被测电阻上电压经过100K电阻和100NF电容隔直后,通过1M电阻抬高1.66v,SS8050代替二极管保护防止烧运放,进入运算放大器跟随输出,U23.1差分放大。</p> <p style="line-height:1.8;"><img src="//image.lceda.cn/pullimage/QPi8ZxKHF8mUbD0YYqplF53xLnBmnRjC72yCs66n.png" alt="" width="1200" height="756"></p> <p style="line-height:1.8;"> </p> <p style="line-height:1.8;">差分放大后进入两个串联的10倍放大电路,先衰减后放大,然后进入单片机ADC,距离ADC满度留的余量比较大,造成显示位数比较多的时候跳动大。</p> <p style="line-height:1.8;"> </p> <p style="line-height:1.8;"> </p> <p style="line-height:1.8;"><img src="//image.lceda.cn/pullimage/GVLED814E6fDtfs7Didijba6B2OEOYTNnQwvQOkj.png" alt="" width="1200" height="492"></p> <p style="line-height:1.8;"> </p> <p style="line-height:1.8;">LCD显示屏还是采用以前买的COG12865,主控ST7567,当时1元多买的二手的,现在已经没货的,为了网友仿制方便留出了LCD驱动口的排针,方便画个转接板。</p> <p style="line-height:1.8;"> </p> <p style="line-height:1.8;"><img src="//image.lceda.cn/pullimage/ouIOWkS7gSFGRgq1XACMjf7ReEHy0riLCsQsbJRX.png" alt="" width="838" height="630"></p> <p style="line-height:1.8;">焊接电路先焊好电源部分测量3.3V、1.66V没问题再焊模拟电路信号部分,焊好测量没有短路再焊单片机,3157模拟开关烙铁焊接容易虚焊。焊接完电路切换到30欧档,夹住33.3欧电阻,看屏幕V和I 差不多一样大表示电路放大部分正常。</p> <p style="line-height:1.8;"> </p> <p style="line-height:1.8;"> </p> <h3 style="line-height:1.8;">5、软件部分</h3> <hr> <p style="line-height:1.8;">源代码和固件文件夹里面,1.S是源代码,1.bin是固件就编译好了。</p> <p style="line-height:1.8;">软件工程保存到本地  git clone git@gitee.com:yjmwxwx1/R7FA2E1A7.git</p> <p style="line-height:1.8;">欢迎大家提供BUG,只要提供我就会想办法修复并更新</p> <p style="line-height:1.8;">编译器可以到ARM官方下载 <a href="https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads" target="_blank">https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads</a></p> <p style="line-height:1.8;">也可以下载gnu binutils自己编译</p> <p style="line-height:1.8;">输入make就能编译成固件了</p> <p style="line-height:1.8;"><img src="//image.lceda.cn/pullimage/AQG8CoL5XxPEjNb10ifuJem9bhLLqSHKMGerTMuq.png" alt="" width="822" height="629"></p> <p style="line-height:1.8;">软件方案为了验证下自己想法,采用4个ADC口采样,没有对比也不知道效果怎么样,分辨率能大一些。</p> <p style="line-height:1.8;">这次没用DTC传输采样数据,而是用ADC直接中断来采样和处理数据,采样率50KHZ,三个频率都是50KHZ采样率,100HZ档位速度太慢,最开始只调的1KHZ,100HZ参数没细调不好用。进入ADC中断需要计算DFT,然后得到被测电阻和参考电阻的实部和虚部,然后4个参数用下面方法计算出阻抗。</p> <p style="line-height:1.8;"> </p> <p style="line-height:1.8;"> </p> <p style="line-height:1.8;">阻抗计算方法</p> <p style="line-height:1.8;"> </p> <p style="line-height:1.8;">CORDIC算法详细介绍可以到附件下载</p> <p>1、上臂(实部、虚部)和下臂(实部、虚部分)分别用CORDIC算法旋转到0度同时记录下旋转的角度。</p> <p>2、用上臂角度减去下臂角度,角度差就是被测元器件阻抗的角度,超过180度要做处理。</p> <p>3、因为旋转到了0度,直接用上臂实部乘下臂参考电阻阻值,再除下臂实部得到阻抗的幅度 。</p> <p>4、 算出角度差对应的COS和SIN</p> <p>5、用阻抗的幅度乘上面计算的COS和SIN就得到串联电阻和电抗了。</p> <p> </p> <p>电容电感计算方法,这个网页版程序可以点击不同参数互相换算,比较适合验证自己做的LCR表,文件见附件</p> <p> </p> <p><img src="https://image.lceda.cn/oshwhub/pullImage/4af72d0639b744d4aaf64896ef29662b.png" alt="" width="605" height="662"></p> <p><img src="https://image.lceda.cn/oshwhub/pullImage/dc00df25dc084e7cbe4653e19ead9d59.png" alt="" width="591" height="751"></p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p>各种参数大计算方法</p> <p><img src="https://image.lceda.cn/oshwhub/pullImage/c5026d1008f14793ae103747d19b4dd5.png" alt="" width="897" height="1200"></p> <p><img src="https://image.lceda.cn/oshwhub/pullImage/1933fa6a12544c83b4d5ed7683c7b350.png" alt="" width="889" height="596"></p> <p> </p> <p> </p> <p>校准算法需要逐个频率逐个档位校准开路、短路、幅度、角度,为了程序容易编写用的手动校准方法,所以校准起来比较麻烦,需要很大耐心,档位加减的两个按键一块按进入校准程序,校准菜单通过档位加减按键切换,两个按键一块按进入校准参数项目,开路清零需要把LCD屏幕I= 后面调到跳动的1,短路清零需要把V= 后面读数调到跳动的1,幅度校准需要把主参数菜单调到Z的绝对值显示,然后再进入幅度校准,夹住本档位能测的已知电阻,把读数调到一样就可以了。 角度校准需要把主参数调到电容或者电阻,附参数调到角度显示,然后进入角度校准,夹住已知角度本档位能测的电阻或者电容,把角度参数调到一样就可以了。 要保存到FLASH就需要按住附参数切换按键,然后再按下主参数切换按键,屏幕出现校准完成就保存到FLASH了,这样校准参数就不会关机丢失了。</p> <p>想测准毫欧级电容只做幅度校准还不行,还要结合短路清零,上面校准完后夹住1毫欧电阻,通过短路校准把显示数字调到1毫欧。</p> <p> </p> <p>当前档位自动量程不怎么好用,可以按住档位加切换到手动模式,手动模式屏幕上A会消失,屏幕上有A表示当前是自动模式。</p> <p style="line-height:1.8;"> </p> <h3 style="line-height:1.8;">6、BOM清单</h3> <hr> <p style="line-height:1.8;"><img src="//image.lceda.cn/pullimage/oZnp3RyBUCqVrCz0ryyUJDumqWq3c8QXh5g32GrF.png" alt="" width="1200" height="751"><img src="https://image.lceda.cn/oshwhub/pullImage/ed61aba3343248b894c3bbf291b7a866.png" alt="" width="1200" height="641"></p> <p style="line-height:1.8;"> </p> <p style="line-height:1.8;"> </p> <p style="line-height:1.8;"> </p> <h3 style="line-height:1.8;">7、大赛LOGO验证</h3> <hr> <p style="line-height:1.8;"><img src="//image.lceda.cn/pullimage/otvfbuSqbRjXaRIfzh5fUM8j9vNCRNd1ZxSqYuF1.jpeg" alt="" width="1200" height="1200"></p> <p style="line-height:1.8;"><img src="//image.lceda.cn/pullimage/1t3Ltgb2ISNYedRjCeKiA7RIPvDHLcMwrjbg0mta.jpeg" alt="" width="1200" height="1200"></p> <p style="line-height:1.8;"><img src="//image.lceda.cn/pullimage/phv93rA6tPnJFHXE3KEnz3CTPVPIJrCKuPNvHQLw.jpeg" alt="" width="1200" height="1200"></p> <p style="line-height:1.8;"><img src="//image.lceda.cn/pullimage/uaNkom0y9up45P3nh4Qg4aXuvridQcdsNLhmzqrW.jpeg" alt="" width="1200" height="1200"></p> <p style="line-height:1.8;"><img src="//image.lceda.cn/pullimage/X76aQgkx13dt3uHLQfNhXkdlIaty1980g7KDediy.jpeg" alt="" width="1200" height="1200"></p> <h3 style="line-height:1.8;"> 8、演示您的项目并录制成视频上传</h3> <p style="line-height:1.8;"> </p> <p style="line-height:1.8;"> </p> </div>

文档

BOM

暂无

附件

附件名 下载
电感电容计算网页版计算程序.zip
校准方法演示视频.zip
立创电赛:《基于瑞萨单片机的LCR数字电桥》-测量电感.mp4
cordic.pdf
cordic ZH.pdf
源代码和固件.zip

成员

评论(16)

  • 表情
    emoji
    小嘉工作篇
    小嘉日常篇
  • 图片
成功
工程所有者当前已关闭评论
SHANERUI 回复
<p>[emojis:强]</p>
Lun_2020 回复
<p>感觉非常用心的作品!LRC最难做的是精度!!这个一般电子爱好者非研究人员应该也够用了!有过什么厂家台机对比多精度吗?HGV8052MM/TR​​ 具有较高的增益带宽积(150MHz)和压摆率(88V/µs),但其输入失调电压相对较高(9.8mV)。​ADC ​12位分辨率决定了其理论精度上限,易受电源噪声、参考电压稳定性、阻抗匹配和外部数字开关干扰。如果原创,应该很不容易!!源代码 不知道是哪个文件,很多零散的文件 不是常用keil编写的,不知道是哪个 ,没看到</p>
yjmwxwx 回复
<p>我没成品LCR数字电桥做对比,但是有校准程序,分别是开路清零、短路清零、幅度校准、相位校准,三个频率8个档位96个校准数据,有基准有成品LCR的可以自己校准对比,低阻高阻测量最起码比众仪DQ02强。 电路和程序都是原创,但是电路原理和别的电桥是一样的,都是自动平衡桥法测量的,源代码是用汇编语言编写的,1.s是源代码,1.bin是固件。</p>
yjmwxwx 回复
<p>温飘大可以把四个档位参考电阻换成低温飘的,两路放大电路里面电阻也换低温飘的,为了降低成本我没用低温飘电阻,下面是测0.1%电阻,万用表和我做的LCR电桥对比截图<img title="点击查看大图" src="https://image.lceda.cn/oshwhub/pullImage/14a050f2513b4ccf9e7eebdf74032b15.png" alt="" /><img title="点击查看大图" src="https://image.lceda.cn/oshwhub/pullImage/0955a246341f4defa6b720c9c3bb2bfb.jpg" alt="" /><img title="点击查看大图" src="https://image.lceda.cn/oshwhub/pullImage/fdce573346b946cf8fb04ea4e890d07f.jpg" alt="" /></p>
yjmwxwx 回复
<p>两个并联<img title="点击查看大图" src="https://image.lceda.cn/oshwhub/pullImage/5996c2295f8f4e9ea0ea8c5673ffed81.jpg" alt="" /><img title="点击查看大图" src="https://image.lceda.cn/oshwhub/pullImage/104c098f826d41eca21042d31b8cba8e.jpg" alt="" /></p>
yjmwxwx 回复
<p>三个并联<img title="点击查看大图" src="https://image.lceda.cn/oshwhub/pullImage/aace9f671d5d4988a20491109294baa7.jpg" alt="" /><img title="点击查看大图" src="https://image.lceda.cn/oshwhub/pullImage/478d800c2dc44b22af9ac5db9eb1fba8.jpg" alt="" /></p>
yjmwxwx 回复
<p>gitee软件开源地址,1.s是源代码,1.bin 是固件 <a href="https://gitee.com/yjmwxwx1/R7FA2E1A7/tree/master/lcr_nei_zu" target="_blank" rel="noreferrer noopener"></a><a href="https://gitee.com/yjmwxwx1/R7FA2E1A7/tree/master/lcr_nei_zu" target="_blank" rel="noreferrer noopener">https://gitee.com/yjmwxwx1/R7FA2E1A7/tree/master/lcr_nei_zu</a></p>
zhdjet 回复
<p>老哥,4个按钮分别对应什么功能?请给个说明,谢谢!<br/>另外我看PCB上3.3V的直线,有几个蚯蚓直线,是故意为之?还是无心之作?请明示。</p>
yjmwxwx 回复
<p>操作方法,从左向右,第一个按键切换Xs、D、Q、阻抗角度显示,第二个切换Rs、Cs、Ls、 |Z|<br/>先按住第一个,再按下第二个把内存里面的校准数据保存到FLASH,断电不会丢失。</p><br/><p>从左向右第三个和第四个是档位切换按键,档位0.3欧姆、3欧姆、30欧、0.3千欧、3千欧姆、30千欧、0.3兆欧、3兆欧<br/>第三个是档位减、第四个是档位加,屏幕第二行最右侧的A表示当前是自动量程,长按第四个按键A消失进入手动档位,基本不需要手动档位切换。</p><br/><p>第三个和第四个一块按进入校准程序,校准四个项目,开路清零、短路清零、幅度校准、角度校准,三个频率8个档位一共需要校准96个数据,视频上已经演示了校准方法,文档写起来不如直接演示能看明白就不写了。</p>
yjmwxwx 回复
<p>PCB我画的不行,布线比较随意,但是这个版本已经焊接验证了</p>
zhdjet 回复
<p>我把74HC4052换成CD4052了,封闭也换了,又调整了部分布线,以及部分元件的位置。<img title="点击查看大图" src="https://image.lceda.cn/oshwhub/pullImage/e26eb63144a043718048bd57893a09bf.jpg" alt="" /></p>
zhdjet 回复
<p>按键功能说明<img title="点击查看大图" src="https://image.lceda.cn/oshwhub/pullImage/ea251fd4cf684b36948bf25d03210eff.jpg" alt="" /></p>
yjmwxwx 回复
<p>74HC4052和CD4052可能不一样,你得看看供电电压和导通电阻一样不一样,这里比较关键最好还是不要换</p>
yjmwxwx 回复
<p>感谢帮忙完善,我这个人其实比较粗心,不怎么重视细节</p>
zhdjet 回复
<p>反正封装是一样的,已经买了74HC4052.另外有个HGV8052MM/TR运放,能用其它的双运放替代吗?</p>
yjmwxwx 回复
<p>HGV8052和74HC4052这里是这个仪表的核心,同型号应该可以代替,8052运放也很多厂家做,不焊好实际电路用示波器测量没法判断能不能用,用示波器测运放1脚各档位有没有振荡,如果有振荡可以加大那个10PF电容,如果各档位没振荡可以去掉这个电容,夹子短路调到30欧档位,测1脚看波形是不是正弦波,如果运放输出电流不行就会导致波形变形,如果波形变型可以把激励输出运放放大倍数改小降低信号幅度。 需要选择电流比较大的运放,测1欧电阻时候,1欧电阻两端有13.4mVrms电压。</p>
goToTop
svg-battery svg-battery-wifi svg-books svg-more svg-paste svg-pencil svg-plant svg-ruler svg-share svg-user svg-logo-cn svg-double-arrow