打印
[运放]

PhotoDiode运放不理解的地方

[复制链接]
13569|280
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 〽️〽️〽️ 于 2021-10-14 16:20 编辑

如图,原来这个产品DAC(12位)控制一个LED 发光强度 ,然后一个PD经过运放后 ADC(12位)到CPU采样的产品

产品原先是母公司 老外设计的,非常稳定。但他们CPU用的silicon的EFM32G210xxx
我们现在按提供的电路和PCB文件, 自己设计增加一些辅助功能,重新设计板;重新编写代码
但因为不熟悉EFM32处理器,CPU改成了GD32F150G8。


现在发现问题是:

原来国外这个产品上他们C1 1pf(±0.25pf)的非常稳定,改其他值后就不稳定。

C1  1pf(±0.25pf) 我们换了CPU GD32得用33pf(±0.25pf) 左右才能稳定采样,太小比如低于20pf(±0.25pf), 太大比如150pf(±5%)都不能采集稳定。
另外试着改R4, C5的值, C5改成100nF  均发现不无太大作用,只有改C1才能稳定,但采样稳定后随之又产生了
采样闭环电路的其他未知错误问题。

备注:用的GD32F150   每次采样间隔是5us采样,连续采集600次,然后等待2ms后继续下一轮
ADC采样 是 7.5个周期采样,APB2时钟等于系统时钟72MHz,
ADCCLK=72/6=12MHz,(07.5cycle+12.5cycle)/12MHz=1.60us,实测3.2us,多1.6us,  3.2us<5us 满足采样间隔  (示波器测,原因未知)


请模拟大师们 指导下,如何调这个PD采样的运放 及参数,以及采样代码的周期?
这个电路不太懂,怎么去调节,打了几次板不一样尺寸 布局的,对采样也是影响非常大,感觉是阻抗匹配问题吗?




使用特权

评论回复
评论
deerdda 2021-10-18 18:35 回复TA
图没了,没法判断 
Jack315 2021-3-9 19:37 回复TA
@〽️〽️〽️ :方便晒晒产品的图片和参考原理图吗? 
〽️〽️〽️ 2021-3-9 14:31 回复TA
@Jack315 :产品是老外直接提供产品的,就一个modbus ttl的标准协议 因为我们需求要增加一些串口 辅助的IO口功能,希望他们加了 提供我们成品,但是他们不愿意开发了,要到了参考原理图后,连PCB也没有,其他没任何资料,我也是花了半年多结合百度搜文档, 一些文库专利找资料,加上他们成品做参考对比参考摸索出来的,并没有任何有效的设计资料文档 
Jack315 2021-3-9 11:35 回复TA
LZ 方便晒晒歪果仁的 Design Specification 吗? 

相关下载

沙发
〽️〽️〽️|  楼主 | 2021-3-8 08:37 | 只看该作者
king5555 发表于 2021-3-7 21:23
C1配合光二极管的结电容Cd,C1应等于或大于Cd。避开损失T约=R1*(C1+Copa),光二极管的接收频率应小于1/T。C ...

king5555 谢谢您!

这个Cd 我看参数25pf~40pfMax  所以我用33pf的时候是稳定的
但原来的产品的确用的1pF ,器件也都同一批料的,这样1pF设计的目的是?


QQ图片20210308083513.png (129.41 KB )

QQ图片20210308083513.png

使用特权

评论回复
板凳
〽️〽️〽️|  楼主 | 2021-3-8 08:41 | 只看该作者
大师们,这个电路 本身有什么不合理的地方需要改进吗?

使用特权

评论回复
地板
tommy79| | 2021-3-8 09:15 | 只看该作者
这个要特别注意PCB布线,包括PCB板材质都可以考虑了

使用特权

评论回复
5
〽️〽️〽️|  楼主 | 2021-3-8 09:26 | 只看该作者
本帖最后由 〽️〽️〽️ 于 2021-3-8 09:28 编辑
tommy79 发表于 2021-3-8 09:15
这个要特别注意PCB布线,包括PCB板材质都可以考虑了

是的,几次打板  布局不一样,差距很大
请问有什么特别注意PCB走线经验的地方吗? 比如PD的  2脚是不是要用GND 还是其他电源围圈走线?

使用特权

评论回复
6
叶春勇| | 2021-3-8 09:50 | 只看该作者
本帖最后由 叶春勇 于 2021-3-8 09:54 编辑
〽️〽️〽️ 发表于 2021-3-8 09:26
是的,几次打板  布局不一样,差距很大
请问有什么特别注意PCB走线经验的地方吗? 比如PD的  2脚是不是要 ...

跨阻放大器后面加跟随器,可以解决吗?如果是阻抗匹配的问题:
1、运放输出加下拉电阻
2、C5并电阻
3、运放后面加跟随器

使用特权

评论回复
7
叶春勇| | 2021-3-8 09:57 | 只看该作者
从软件方面,每5us采样一次采样600次,然后2ms继续。
是600次平均得到一个值吗?

使用特权

评论回复
8
steelen| | 2021-3-8 10:07 | 只看该作者
这种电路有时候布线和生产工艺是关键

使用特权

评论回复
9
〽️〽️〽️|  楼主 | 2021-3-8 10:14 | 只看该作者
叶春勇 发表于 2021-3-8 09:57
从软件方面,每5us采样一次采样600次,然后2ms继续。
是600次平均得到一个值吗? ...

您好,这个5us间隔 采集了600次后
这600次 数据,会将数据分段 进行归一化,累加平滑求和,还要自然对数计算。
最终求得一个led发光后衰减时间的τ值

使用特权

评论回复
10
〽️〽️〽️|  楼主 | 2021-3-8 10:15 | 只看该作者
叶春勇 发表于 2021-3-8 09:50
跨阻放大器后面加跟随器,可以解决吗?如果是阻抗匹配的问题:
1、运放输出加下拉电阻
2、C5并电阻

我来焊接试试,有进展来会报

使用特权

评论回复
11
叶春勇| | 2021-3-8 10:45 | 只看该作者
〽️〽️〽️ 发表于 2021-3-8 10:15
我来焊接试试,有进展来会报

正好你的运放,lt-spice有模型
我搭了下,的确采集会对系统有影响。你说的是客观存在的。


这是仿真图:


使用特权

评论回复
评论
zyj9490 2021-3-9 17:59 回复TA
@〽️〽️〽️ :不是这个意思,变化的信号输入,输出(滤波后的)永远跟不上输入的变化。 
〽️〽️〽️ 2021-3-9 17:13 回复TA
@zyj9490 :这个我能这么理解吗?R4 C2滤波 导致采样不稳定 所以开始采用比如6ms 采集600个数据, 那我前面的100us数据丢弃到,用后面5900us的数据? 
zyj9490 2021-3-8 16:47 回复TA
偏压太低,导致PD的结电容大,不稳定,需要大的反馈电容来稳定。相位补偿。 
zyj9490 2021-3-8 16:44 回复TA
PD的反向偏压加大,可降低反馈电容。同时加速响应。 
zyj9490 2021-3-8 16:40 回复TA
@〽️〽️〽️ :输出加RC滤波,导致采样时信号不稳定,要加误差估算算法,不要前面的采样数据, 
〽️〽️〽️ 2021-3-8 15:00 回复TA
@zyj9490 :延迟导致AD采样不正,是指这边C2容量变化大了后导致的吧? 
zyj9490 2021-3-8 14:37 回复TA
@〽️〽️〽️ :延迟导致AD采样不正。 
叶春勇 2021-3-8 11:19 回复TA
@〽️〽️〽️ :这个电容改善不大,你的系统对采集速度有要求。加大了不行。 
〽️〽️〽️ 2021-3-8 11:11 回复TA
这里C2 我也试过1000pF 改成100nF, 导致的是采样电压好像不对了,整个DAC控制后ADC返回的闭合错了 
12
〽️〽️〽️|  楼主 | 2021-3-8 10:56 | 只看该作者
叶春勇 发表于 2021-3-8 10:45
正好你的运放,lt-spice有模型
我搭了下,的确采集会对系统有影响。你说的是客观存在的。

感谢!搭建电路模拟
应该是我没说清楚过程。
我的DAC 控制LED亮度 持续发送10ms,然后立刻关闭LED,LED打到某物理材料后,等待LED关了
这时候LED的余晖光会衰减返回到PD上,然后我开始采集。

采集是这样的:每隔5us 采集一次,然后采集600次一共, 接着等20ms后,再次采集背景噪声ADC。
再等待2ms后, 就下一轮每隔5us采集
然后利用这些几百个数据去 处理一个衰减时间, 需要稳定到 如 3000.12. 需要稳定到小数点位置才能稳定。

所以并非600个脉冲

使用特权

评论回复
13
〽️〽️〽️|  楼主 | 2021-3-8 11:00 | 只看该作者
本帖最后由 〽️〽️〽️ 于 2021-10-14 16:20 编辑

这个是产品的 模型理论图

使用特权

评论回复
评论
Jack315 2021-3-9 09:07 回复TA
@〽️〽️〽️ :好的 
〽️〽️〽️ 2021-3-9 09:01 回复TA
@Jack315 :tao和温度T,我有一份tao和温度对应的表 存在cpu flash里的,54楼 请看下,这部分目前我线性内插法算的。 
Jack315 2021-3-9 08:58 回复TA
@〽️〽️〽️ :现在先把硬件搞定吧,参考 44 楼。 
〽️〽️〽️ 2021-3-9 08:52 回复TA
@Jack315 :这个并没有具体的完整文档, 这部分理论的公式 也是我从百度上找到的 然后摸索了近半年开发,目前还是硬件不稳定,算法也不太理想 现在虽然可以稳定到tao值 小数点,但纯粹精度靠时间换的,就是用200个tao放大缓冲 做平均得到最终的套, 30ms一个周期,那200个 就是6秒开机才能稳定下来,接个一个一个tao去 替换200个数组里最老的tao。 理想计算一个周期就稳定OK  
Jack315 2021-3-9 07:58 回复TA
方便晒晒完整点的文档吗?想看 τ(T) 与 T 的关系,图2,以及关于温度的定义。 
14
叶春勇| | 2021-3-8 11:03 | 只看该作者
〽️〽️〽️ 发表于 2021-3-8 10:56
感谢!搭建电路模拟
应该是我没说清楚过程。
我的DAC 控制LED亮度 持续发送10ms,然后立刻关闭LED,LED打 ...

600个脉冲,是单片机内部的采样开关打开时采样的情况,你5us采集一次,采集600次。模拟的是你的采样过程。

使用特权

评论回复
评论
叶春勇 2021-3-8 11:59 回复TA
@〽️〽️〽️ :没关系,你怀疑的是阻抗匹配,我也认为是阻抗匹配,只要认定了这个结论,软件好解决。硬件不稳定,软件不好搞。 
〽️〽️〽️ 2021-3-8 11:54 回复TA
@叶春勇 :好的,我飞线或者再大demo板试试, 这个实物产品PCB 四层 尺寸限制只能28*8mm大小,全部器件都在上面。 加器件最怕了,没空间。 
叶春勇 2021-3-8 11:41 回复TA
@〽️〽️〽️ :不是,软件的数字滤波。你先飞个跟随器。你这个系统采集过程对运放有影响,加滤波器,降低系统响应速度,加大电容非上策。 
〽️〽️〽️ 2021-3-8 11:35 回复TA
@叶春勇 :谢谢,叶总! 是输入PD- 进 运放IN-前 加一介RC 滤波吧? 
叶春勇 2021-3-8 11:29 回复TA
@〽️〽️〽️ :采用一阶RC数字滤波 
〽️〽️〽️ 2021-3-8 11:18 回复TA
是的,异常时 得到最终要的τ值 都是高高低低振荡的, 请问可以采样减少,减慢 或者其他什么方式来解决吗? 
叶春勇 2021-3-8 11:14 回复TA
@〽️〽️〽️ :你的采集逻辑时5us,采集600次,对运放的输出有影响,主运放对输出电流非常敏感,影响精度。经过你补偿后,当单片机采样时,运放是衰减震荡,极度影响精度。 
〽️〽️〽️ 2021-3-8 11:05 回复TA
请问是不是 5us间隔采样 这样很快的速度,会导致ADC 不稳定吗? 
15
〽️〽️〽️|  楼主 | 2021-3-8 11:08 | 只看该作者
本帖最后由 〽️〽️〽️ 于 2021-4-1 14:30 编辑

每段采集运算得到时间,



使用特权

评论回复
16
〽️〽️〽️|  楼主 | 2021-3-8 11:09 | 只看该作者
要得到这个小数点位稳定,不光硬件需要调到最佳,软件也是,真是不容易啊  

使用特权

评论回复
17
〽️〽️〽️|  楼主 | 2021-3-8 11:27 | 只看该作者
本帖最后由 〽️〽️〽️ 于 2021-3-8 20:35 编辑

L1 L2是磁珠,非电感 VEE的LC我也未知这样什么用处,L试着用0欧姆,C试着去掉。
但都无任何改进及影响 另外请教下,

GD32F150 这颗CPU有VDD   VDDA 但地 只有一个VSS 也就是它底部大焊盘。 所有VDD和VDDA接在一起了。
开始以为这个问题。我VDD和VDDA连接一起导致的


于是 又打了一次板, VDD和VDDA 用磁珠单连(用0欧姆也试过)。
但都无改善 然后

又一次打板, 模拟运放部分的AGND 和系统的GND 用一个磁珠单点连接,也无改善


推一个本站 关于GND磁珠的讨论连接,https://bbs.21ic.com/icview-622772-1-1.html

使用特权

评论回复
18
叶春勇| | 2021-3-8 12:30 | 只看该作者
〽️〽️〽️ 发表于 2021-3-8 11:00
这个是产品的 模型理论图


你是采集余辉的时间吗?

使用特权

评论回复
19
〽️〽️〽️|  楼主 | 2021-3-8 12:44 | 只看该作者
本帖最后由 〽️〽️〽️ 于 2021-3-8 12:51 编辑
叶春勇 发表于 2021-3-8 12:30
你是采集余辉的时间吗?

是的,叶总,没错。
是关闭LED激发脉冲(如上图,持续激发10ms样子)后,采集整个过程大约30ms,前面6ms  分6段,每段100个数据,间隔5us采集, 实际就是这600个连续5us间隔采样,

这6ms的指数衰减,是计算衰减时间的关键。

为什么分段概念,是因为 数据要做每段平均,还有ln e为底的指数计算 分段计算了 再计算    清楚些而已
在衰减持续20ms后,实际还要采集100次  噪声,那时候ADC 值可能40~50.  这个噪声现在是每次前面采集的600个数据 都要减去噪声平均值。



另外还有一点非常关键的,就是每次关闭LED后,等待20us固定的去 读第一个点ADC是3000的值,
假如太大就DAC降低下次LED电流,假如太小就,DAC去控制LED下次变大,始终让这个20us以后的第一次采集在3000值,±1% 容差。

这样我的系统才能满足各种光学材质的长度特性,因为材料线长度非常长,必定3000不满足,比如读到2100,,那要下一次加大dac输出led亮度,反之也是


使用特权

评论回复
20
〽️〽️〽️|  楼主 | 2021-3-8 13:18 | 只看该作者
大家来讨论,指导下

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

51

主题

377

帖子

2

粉丝