矿石收音机论坛

 找回密码
 加入会员

QQ登录

只需一步,快速开始

搜索
楼主: yjmwxwx

网友给了我一个成品内阻仪的图纸,大家帮忙分析下电路原理

[复制链接]
     
发表于 2023-4-5 14:33:44 | 显示全部楼层
每周来看看进度
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2023-4-5 17:42:02 | 显示全部楼层
ITOUR 发表于 2023-4-5 14:33
每周来看看进度

这个就不改进了,就当失败了吧 ,主要有下面几个问题,100毫安档位波形比较差,电流大测小电阻夹子之间磁场耦合厉害,再就是校准程序比较简陋不好用,电流大测锂电池读数会0.01,0.01的变大。

前几天画了个电池供电的PCB,马马虎虎能用就行了,反正我也基本用不到,网友也基本没愿意制作的。

电池供电版本LCEDA专业版工程

ProProject_升压版电池内阻仪_2023-04-04.zip (485.29 KB, 下载次数: 52)

SCH_Schematic1_0-P1_2023-04-04.png

SCH_Schematic1_2023-04-04.pdf (721.99 KB, 下载次数: 52)

mpv-shot0013.jpg

mpv-shot0012.jpg

视频




以前有网友质疑我靠发视频赚钱,这个我保证绝对没靠发视频赚钱,B站创作激励我都没开,这种冷门东西根本没几个人看,靠这个都不够电费网费。

截图_2023-04-05_17-34-40.png
回复 支持 反对

使用道具 举报

     
发表于 2023-4-5 18:38:43 | 显示全部楼层
yjmwxwx 发表于 2023-3-6 09:52
我抄的这个黄颜色外壳的也是用的TL084也是单片机ADC采集的,我看过视频显示五位数字0.001毫欧都不跳, ...

看你这个说是1kHz交流信号干扰问题,
想问一下你用SPWM时,
正弦波采样点是多少?
据说采样点直接决定谐波,
滤波的压力挺大的。
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2023-4-5 18:54:54 | 显示全部楼层
abbey_tom 发表于 2023-4-5 18:38
看你这个说是1kHz交流信号干扰问题,
想问一下你用SPWM时,
正弦波采样点是多少?


我说的1KHZ干扰主要是磁场干扰,就是四线夹子测小电阻时候,走电流的线会产生磁场耦合到另外两根信号线上,就是这个原因会造成测微欧级别电阻误差大。

我这个1KHZ一个周期250点,单片机频率56MHZ,我也不知道合理不合理。我以前搞的制作100KHZ、200KHZ都是SPWM滤波产生的,感觉没啥问题,反正是ADC同步采集,程序里面DFT,没用过外部整流运放,要用外部整流可能要求高

我的正弦查找表是网页版生成的

https://daycounter.com/Calculators/Sine-Generator-Calculator.phtml

截图_2023-04-05_18-44-09.png




回复 支持 反对

使用道具 举报

     
发表于 2023-4-5 19:01:42 | 显示全部楼层
yjmwxwx 发表于 2023-4-5 18:54
我说的1KHZ干扰主要是磁场干扰,就是四线夹子测小电阻时候,走电流的线会产生磁场耦合到另外两根信号线 ...

250点采集
200KHZ的SPWM,
就需要50MHz的脉冲了,
你是中断方式改变脉宽吧,
0.2us就要处理一次中断了。
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2023-4-5 19:07:16 | 显示全部楼层
abbey_tom 发表于 2023-4-5 19:01
250点采集
200KHZ的SPWM,
就需要50MHz的脉冲了,


250点是1KHZ的,200K是10个点,定时器ARR里面是27,也就是2MHZ

没用中断,用的DMA传输
回复 支持 反对

使用道具 举报

     
发表于 2023-4-5 19:09:05 | 显示全部楼层
yjmwxwx 发表于 2023-4-5 19:07
250点是1KHZ的,200K是10个点,定时器ARR里面是27,也就是2MHZ

没用中断,用的DMA传输


只有10个点的话,
就太少了吧。
另外,DMA是DAC,
不是定时器。
回复 支持 反对

使用道具 举报

     
发表于 2023-4-5 19:10:09 来自手机 | 显示全部楼层
yjmwxwx 发表于 2023-4-5 17:42
这个就不改进了,就当失败了吧 ,主要有下面几个问题,100毫安档位波形比较差,电流大测小电阻夹子之间磁 ...

你的电路够复杂的了——也意味着功能完备。

但我看放大器部分,为什么是先衰减、后放大呢?是pga的切换要求,还是电源所提供的动态范围不足而造成。

须知道,这种安排,比先放大、后衰减方式,噪声性能差了不少。

回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2023-4-5 19:19:29 | 显示全部楼层
abbey_tom 发表于 2023-4-5 19:09
只有10个点的话,
就太少了吧。
另外,DMA是DAC,

还行没问题的,我用的还是STM32F030F4P6,设置的才56MHZ频率,DMA把正弦查找表里数据传送到定时器

去年搞的LCR表里面200KHZ设置程序,我用的这个STM32F030F4P6不开定时器触发ADC能到2MHZ采样率






  1. zheng_xian_200khz:              @20*10
  2.         .byte 13,21,25,25,21,13,5,1,1,5


  3. __pinlv_200k:
  4.         ldr r0, = 0x40021000
  5.         ldr r1, = 0x150002
  6.         str r1, [r0, # 0x04]
  7.         movs r3, # 1
  8.         bl _adcchushihua
  9.         bl __pinlv_yanshi
  10.         @tim1ch3DMA
  11.         ldr r0, = 0x40020000
  12.         movs r1, # 0
  13.         str r1, [r0, # 0x58]
  14.         str r1, [r0, # 0x08]
  15.         ldr r1, = 0x40012c3c @ 外设地址
  16.         str r1, [r0, # 0x60]
  17.         ldr r1, = zheng_xian_200khz @ 储存器地址
  18.         str r1, [r0, # 0x64]
  19.         ldr r1, = 10             @点数
  20.         str r1, [r0, # 0x5c]
  21.         ldr r1, = 0x31b1         @ 储存到外设
  22.         str r1, [r0, # 0x58]
  23.         @ adc dma
  24.         ldr r1, = 0x40012440
  25.         str r1, [r0, # 0x10]
  26.         ldr r1, = dianyabiao
  27.         str r1, [r0, # 0x14]
  28.         ldr r1, = 1000
  29.         str r1, [r0, # 0x0c]
  30.         ldr r1, = 0x35a1 @  0x583        @ 5a1
  31.         str r1, [r0, # 0x08]

  32.         @tim1chushiha:
  33.         ldr r0, = 0x40012c00 @ tim1_cr1
  34.         movs r1, # 0
  35.         str r1, [r0, # 0x28] @ psc
  36.         ldr r1, = 27
  37.         str r1, [r0, # 0x2c] @ ARR
  38.         ldr r1, = 0x68
  39.         str r1, [r0, # 0x1c] @ ccmr2  CC3
  40.         ldr r1, = 0x100    @  CC3
  41.         str r1, [r0, # 0x20] @ ccer
  42.         ldr r1, = 0x8000
  43.         str r1, [r0, # 0x44] @ BDTR
  44.         ldr r1, = 0x800 @ CC3 DMA
  45.         str r1, [r0, # 0x0c] @ DIER
  46.         ldr r1, = 0x81
  47.         str r1, [r0]
  48.         ldr r0, = 0xe000e010
  49.         ldr r1, = 27999
  50.         str r1, [r0, # 4]
  51.         str r1, [r0, # 8]
  52.         movs r1, # 0x07
  53.         str r1, [r0]    @systick 开
  54.         ldr r0, = cossin
  55.         ldr r1, = cos_sin_biao_200k
  56.         str r1, [r0]
  57.         ldr r0, = lcd_beiguang
  58.         movs r1, # 0
  59.         str r1, [r0]
  60.         ldr r0, = lvbo_changdu
  61.         ldr r1, = lvbo_youyi
  62.         movs r2, # 100
  63.         movs r3, # 11
  64.         str r2, [r0]
  65.         str r3, [r1]
  66.         ldr r0, = dft_xuanze
  67.         movs r1, # 1
  68.         str r1, [r0]
  69.         ldr r0, = qiehuan_yichang_shijian
  70.         ldr r1, = dantongdao_shijian
  71.         ldr r2, = 1200
  72.         ldr r3, = 500
  73.         str r3, [r0]
  74.         ldr r0, = tongdao_qiehuan_yanshi
  75.         str r2, [r1]
  76.         movs r2, # 0
  77.         str r2, [r0]
  78.         pop {r0-r3,pc}
复制代码
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2023-4-5 19:24:36 | 显示全部楼层
小鬼头 发表于 2023-4-5 19:10
你的电路够复杂的了——也意味着功能完备。

但我看放大器部分,为什么是先衰减、后放大呢?是pga的切 ...

主要部分抄的成品,放大部分抄的许老师电桥里面的,感觉好处基本不用校准放大倍数主要看分压电阻,对后面运放要求好像也低,电路我不怎么懂基本靠抄袭。。
回复 支持 反对

使用道具 举报

     
发表于 2023-4-5 19:26:08 | 显示全部楼层
yjmwxwx 发表于 2023-4-5 19:19
还行没问题的,我用的还是STM32F030F4P6,设置的才56MHZ频率,DMA把正弦查找表里数据传送到定时器

去 ...

你是俄版MiniLCR的那一套吧,
不是用的调制脉宽的SPWM方式,
而是通过DMA中断的方式,
把正弦表送给DAC输出的。
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2023-4-5 19:28:30 | 显示全部楼层
abbey_tom 发表于 2023-4-5 19:26
你是俄版MiniLCR的那一套吧,
不是用的调制脉宽的SPWM方式,
而是通过DMA中断的方式,

我这个就是定时器输出SPWM,和用DAC其实差不多,只不过把正弦查找表里的数据传输到定时器了
回复 支持 反对

使用道具 举报

     
发表于 2023-4-5 19:40:33 | 显示全部楼层
本帖最后由 abbey_tom 于 2023-4-5 19:43 编辑
yjmwxwx 发表于 2023-4-5 19:28
我这个就是定时器输出SPWM,和用DAC其实差不多,只不过把正弦查找表里的数据传输到定时器了


        ldr r1, = 0x40012c3c @ 外设地址
        str r1, [r0, # 0x60]
        ldr r1, = zheng_xian_200khz @ 储存器地址
        str r1, [r0, # 0x64]
        ldr r1, = 10             @点数
        str r1, [r0, # 0x5c]
        ldr r1, = 0x31b1         @ 储存到外设
        str r1, [r0, # 0x58]
这个不是把10个点传送给DAC吗
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2023-4-5 20:10:46 | 显示全部楼层
abbey_tom 发表于 2023-4-5 19:40
ldr r1, = 0x40012c3c @ 外设地址
        str r1, [r0, # 0x60]
        ldr r1, = zheng_x ...

通过DMA把数据传输到TIM1定时器通道3,通道3输出SPWM

就是传输给下面寄存器

截图_2023-04-05_20-06-12.png


定时器要打开DMA传输

截图_2023-04-05_20-09-57.png
回复 支持 反对

使用道具 举报

     
发表于 2023-4-5 20:12:21 | 显示全部楼层
有没有C的代码?这样大家可以帮你看一下。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

蒙公网安备 15040402000005号

GMT+8, 2025-4-30 13:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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