搜索
bottom↓
回复: 64

春风8.22版本与9.24版本100mA以下电流显示不准或不显示的问题解决办法交流【感谢春

[复制链接]

出0入0汤圆

发表于 2010-10-1 17:00:40 | 显示全部楼层 |阅读模式
对STM32很陌生,但是看到春风大侠提供的源程序里面注释非常详细,就斗胆修改了几行,现在电流低于100mA时显示依然正确;但是低于10mA就一直显示10mA了,权宜之计,暂时屏蔽了小于10mA的显示。

另外,原来高于100mA的显示程序中,加了个补偿系数,不知道有没有道理,感兴趣的 TX 一起研究一下吧!
/***********************************************************/
0822和0924版本均修改了100mA以下电流的显示程序(采用减法计算),并加入补偿(乘以一个系数)

                       100mA以上的电流显示,也加入了补偿(乘以一个系数)

0924版本的电压显示程序中,加入了补偿(加上一个恒量)

----------------------
以上的“系数”与“恒量”均为多次试验得出结果;不知用在其他朋友的电源上是否适用。

参考破仪器:SC7401 4位半台表,利达856 4位半台表

----------------2010-10-01-------------------

出0入0汤圆

 楼主| 发表于 2010-10-1 17:01:57 | 显示全部楼层
点击此处下载 ourdev_586899H7YNQW.rar(文件大小:1.14M) (原文件名:春风电源程序研究修改.rar)

出0入0汤圆

发表于 2010-10-1 17:08:54 | 显示全部楼层
集合大家的力量.完善程序.

出0入0汤圆

发表于 2010-10-1 17:36:30 | 显示全部楼层
电源不在身边,没法试验,我不懂程序所以就帮不上忙了,看春风的电源,能显示10毫安以下的,

出0入0汤圆

 楼主| 发表于 2010-10-1 17:47:25 | 显示全部楼层
回复【3楼】yxzt
电源不在身边,没法试验,我不懂程序所以就帮不上忙了,看春风的电源,能显示10毫安以下的,
-----------------------------------------------------------------------

几个版本的印象(不一定对哦)

第一版的2.1版源程序,电流低于100mA就不显示了,因为在这个区段电流显示不准,春风特意屏蔽了

后来有能显示100mA以下电流的程序版本但在电流小于100mA时,显示值与实际值偏离大(8.22版本)

9.24是目前春风大侠提供的最新版本,里面的代码有专门解决这个小电流显示问题的,但是在我的电源上竟然电流一直显示0000

才疏学前,慢慢研究。

主要是我的编程底子太薄,其实春风给出的源程序中,注释相当详细,高手应该容易看懂的,期待高手出手啊。

从论坛上看出,春风的本职工作非常忙,再说既然春风已经将电源系统开源了,大家不防“围攻”一下哈

出0入0汤圆

 楼主| 发表于 2010-10-1 18:10:42 | 显示全部楼层
摘抄了春风9.24版对电流采样AD返回值的数据处理段(有些注释是偶加的,不知对错,请拍砖):

//-----以下为0924版电流AD值处理代码(aa的值在后面的显示程序中拆分各个位送显示电流):

                aa = (4.000 - 0.100) / (float)(ADIcal4 - ADIcal01);//计算AD值的每个LSB对应的实际电流值(步长)
                j = (ADIcal01 - (u16)(0.100 / aa));                //计算AD值对应的0v输出电压时的值(底数)
                if(I > j)  I =  I - j;        //如果AD返回值大于0V输出是的AD数据值(底数),则减掉底数
                else  I = 0;                    //如果AD返回值小于或等于0v底数,就算是0电流输出
                  aa = ((float)(I) * aa) ;          //AD返回值减掉0v底数的差,再乘以步长 = 实际电流


看了半天,感觉这段程序中最后的aa 值,就应该是实际电流值(不论是否大于100mA),

而在我的板子上,电流却一直显示 0000 ,没搞懂。哪位高手指点一下吧!

出0入0汤圆

 楼主| 发表于 2010-10-1 21:21:18 | 显示全部楼层
经过反复试验,发现不论返回的电流AD值时多大,程序总要执行 else I=0;这一行,所以就一直显示电流=0000了

难道 j 的值比 I 要大???

出0入0汤圆

 楼主| 发表于 2010-10-1 21:47:31 | 显示全部楼层
晕了,暂时学点别的,这个问题等高人指点

出0入0汤圆

发表于 2010-10-1 22:28:07 | 显示全部楼层
其实我的程序比较不咋地了,我以为程序开源后大家回去能根据个人喜好来修改再完善,这才体现了diy的真谛,目前90%的网友都是烧了程序能工作就不管了,还是希望大家能通过这个套件来锻炼下自己,对模电和STM32有个感性的认识。
我也在找虫子呢。

出0入0汤圆

发表于 2010-10-1 22:58:25 | 显示全部楼层
回复【8楼】kdtcf 春风
-----------------------------------------------------------------------

其实我是很喜欢自己动手的,只是程序功底实在比较差,目前还只是停留在51的汇编阶段,所以对于比51高了好几级的就无从下手了

出0入0汤圆

发表于 2010-10-1 23:25:37 | 显示全部楼层
主要是运放没有调0。建议换成带调0的运放。

出0入0汤圆

 楼主| 发表于 2010-10-1 23:34:51 | 显示全部楼层
回复【10楼】zhonghua_li 蓝色天空
主要是运放没有调0。建议换成带调0的运放。
-----------------------------------------------------------------------

天空可否说得详细点?现有电路板能换吗?

出0入0汤圆

发表于 2010-10-2 00:09:19 | 显示全部楼层
回复【楼主位】wandy2010
对stm32很陌生,但是看到春风大侠提供的源程序里面注释非常详细,就斗胆修改了几行,现在电流低于100ma时显示依然正确;但是低于10ma就一直显示10ma了,权宜之计,暂时屏蔽了小于10ma的显示。
另外,原来高于100ma的显示程序中,加了个补偿系数,不知道有没有道理,感兴趣的 tx 一起研究一下吧!
/***********************************************************/
0822和0924版本均修改了100ma以下电流的显示程序(采用减法计算),并加入补偿(乘以一个系数)
                       100ma以上的电流显示,也加入了补偿(乘以一个系数)
0924版本的电压显示程序中,加入了补偿(加上一个恒量)
----------------------
以上的“系数”与“恒量”均为多次试验得出结果......
-----------------------------------------------------------------------

刚才刷了楼主改的固件,电流有显示了,也比较准(我测试是用HP34401,上次电流标准0.1A是用34401校的,由于34401电流最大值为3A,电源4A是用的我的一只三位半的破表校的).不知电流显示差别是不是由于这个校准造成.要是电流校准加一个3A校准就好了,可以用34401来校一下.

出0入0汤圆

发表于 2010-10-2 00:13:15 | 显示全部楼层
回复【8楼】kdtcf 春风
其实我的程序比较不咋地了,我以为程序开源后大家回去能根据个人喜好来修改再完善,这才体现了diy的真谛,目前90%的网友都是烧了程序能工作就不管了,还是希望大家能通过这个套件来锻炼下自己,对模电和stm32有个感性的认识。
我也在找虫子呢。
-----------------------------------------------------------------------

回复【9楼】yxzt
回复【8楼】kdtcf 春风
-----------------------------------------------------------------------
其实我是很喜欢自己动手的,只是程序功底实在比较差,目前还只是停留在51的汇编阶段,所以对于比51高了好几级的就无从下手了
-----------------------------------------------------------------------

也是程序方面实在是比较差,我连原来学的51汇编都早已还给老师了.目前还没有能力修改,只能是先用起来,其它的以后再说了.

出0入0汤圆

 楼主| 发表于 2010-10-2 00:37:52 | 显示全部楼层
致楼上:这个固件的BUG是:电流小于10mA就不能正常显示了;希望有高手加入,另来一个固件。

出0入0汤圆

发表于 2010-10-2 11:48:45 | 显示全部楼层
我分析了电路,AD读取的小于100mA的信号时,输入信号值很小,可以计算100mA时的输入电压R42 × 0.1A × 12.2 = 0.061V,就是说在100mA以下这个电压要小于0.061V,那么我们看下TL084的失调电压最大是10mV


(原文件名:TL084失调电压.jpg)

那么最后由于失调引起的电压偏移最大是:10mV × 12.2 = 122mV = 0.122V  这明显是超过100mA时的读数的,如果这个失调是负的,那么就是即使有100mA输出电流时,送入AD的电压就是0.061V - 0.122V = - 0.061V,(当然这个值是极限时候,实际都比这个要小)
这时AD读数就还是0,所以100mA下读数不准就在情理之中了,那么我想解决办法暂时有两个,一个是换低失调的4运放,另一个是人为把送AD的电压抬高,使运放最大失调电压时AD依然有正读数,运放暂时不好买,那么我先来测试下在AD输入前加个加法器,把电压抬高,具体接法是在网络AD-A点与+12V间接一个阻值大点的电阻。

(原文件名:AD-A接点.jpg)

我先测试,大家等下文。

出0入0汤圆

发表于 2010-10-2 12:31:31 | 显示全部楼层
如果是运放的固有特性,那么可能每个运放都有个体差异,本身就在小信号下工作,所以我认为,加电阻抬高电位的人工消零法也是有个体差异的,可能每块板子还需要个别修正软件参数,不知道我这样理解对不对?等待春风的实验结果,

出0入0汤圆

发表于 2010-10-2 12:33:49 | 显示全部楼层
我测试了13个TL084的失调:
监测AD输入引脚电压,电源输出空载,就是输出电流为0,这时测试到的就是运放引起的失调电压,
1.   0.0107  (这个是我一直使用的TL084)
2.  -0.0085
3.   0.0033
4.  -0.0132
5.  -0.0292
6.  -0.0108
7.   0.0001
8.   0.0040
9.   0.0024
10. -0.0072
11.  0.0022
12.  0.0299
13. -0.0245  (这个是我接下来做测试的)


我把第13个运放插上,然后没拔下来,就是对比下效果

设置电压:5.00V      显示:4.99V       万用表实测:4.985V
设置电流:0.100A     显示:0.101A      万用表实测:0.162A

可以看到换了TL084后电压和电流都不准的,原因是使用的是以前那个TL084的校准数据,接下来我从新校准一次,再看效果:

设置电压:5.00V      显示:4.99V       万用表实测:4.994V
设置电流:0.100A     显示:0.000A      万用表实测:0.098A

可以看出电压更精确的,电流设置值和实际值基本一致了,但是电流显示却是0,这就是很多网友到至今同样的问题。
接下来我增加个电阻来验证我的改进想法的正确性。

出0入0汤圆

发表于 2010-10-2 12:38:28 | 显示全部楼层
回复【16楼】yxzt
如果是运放的固有特性,那么可能每个运放都有个体差异,本身就在小信号下工作,所以我认为,加电阻抬高电位的人工消零法也是有个体差异的,可能每块板子还需要个别修正软件参数,不知道我这样理解对不对?等待春风的实验结果,
-----------------------------------------------------------------------

不是我加个合适电阻就补偿失调的电压,我这个电阻只是把电压从负拉回正,经过重新校准是可以达到预想效果的,因为只要能保证整个量程输入不为负,那么就能保证0点附近的显示了,实际上这个电阻取值范围很大的,只要校准后,都不会影响精度。

出0入0汤圆

发表于 2010-10-2 13:28:20 | 显示全部楼层
加里1M电阻后失调电压从原来的-0.0245V变化到了0.0338V,经过重新校准后,显示100mA以下电流终于准确的。

(原文件名:上面的电阻就是后增加的1M电阻.JPG)

还要说明的一点是,原来说增加的两个3.3M电阻,阻值有点大了,失调大的恐怕补偿不回来,这次都换1M。

出0入0汤圆

发表于 2010-10-2 13:37:44 | 显示全部楼层
基本听懂春风的调零思路了,从春风的实验数据看,我认为我的084失调也是负的,那么只要加个合适的电阻尽量使输出为0或正,就应该能解决问题了,可惜手头只有一个3位半的表,还是等春风的实验结果吧,

出0入0汤圆

发表于 2010-10-2 13:43:08 | 显示全部楼层
回复【19楼】kdtcf 春风
-----------------------------------------------------------------------

春风动作真快,还没回复完就有结果了


请春风确认下,是不是背面的3个电阻都换成1M的,还是把2个3.3M的换成1M的而不用加那个输出端1M的?

出0入0汤圆

发表于 2010-10-2 13:55:16 | 显示全部楼层
回复【21楼】yxzt  
回复【19楼】kdtcf 春风
-----------------------------------------------------------------------
春风动作真快,还没回复完就有结果了
请春风确认下,是不是背面的3个电阻都换成1m的,还是把2个3.3m的换成1m的而不用加那个输出端1m的?
-----------------------------------------------------------------------

调零电阻就是那两个3.3M的.

出0入0汤圆

发表于 2010-10-2 14:03:30 | 显示全部楼层
春风总结一下,电阻具体加在那里?阻值分别是多少?

出0入0汤圆

发表于 2010-10-2 14:23:44 | 显示全部楼层
mark

出0入0汤圆

 楼主| 发表于 2010-10-2 14:43:39 | 显示全部楼层
哈哈哈哈哈,昨夜一夜没有睡安稳,一直琢磨这个小电流的显示问题,上午经过软件折腾及仔细学习电流检测部分(AD)点的电路,也突然想通了问题所在,就是当输出电流小于0.1A时,电流取样点的电压太低了,于是想到加一个电阻来拉高这个电压,经过反复实验,(更换电阻、重新校正)感觉用1M的可以了。

正要上来炫耀,就看到春风图文并茂的帖子,哈哈!

多谢春风的辛勤劳动!

出0入0汤圆

 楼主| 发表于 2010-10-2 14:45:49 | 显示全部楼层
我原来加在背面的两个电阻是2M的,增加在电流AD采样端的是1M的;

按照春风的指示,3个都用1M的,肯定会更好,调零更有把握!

出0入0汤圆

发表于 2010-10-2 14:53:07 | 显示全部楼层
刚才用各种阻值试了下,不一定要全用1M的,因为每个人的IC参数不可能完全一样。我刚才全用1M的就不能正常显示。最后是用了2个4.7M+1M的才解决的。

出0入0汤圆

发表于 2010-10-2 15:11:23 | 显示全部楼层
回复【23楼】awfi
春风总结一下,电阻具体加在那里?阻值分别是多少?

-----------------------------------------------------------------------

电阻就按照我照片上的加,为了适应所有TL084,这3个电阻都用1M的。

出0入0汤圆

 楼主| 发表于 2010-10-2 17:19:01 | 显示全部楼层
关于3个电阻的阻值实验结果:

我把靠在一起的这两个电阻都换成 1M 的,结果电流0.1A校正时,只能调到76mA,换回2M,正常了;

AD采样点到12V之间的电阻采用1M的。

发上来供大家参考。

出0入0汤圆

发表于 2010-10-2 17:55:24 | 显示全部楼层
看来不同TL084要用不同阻值.

出0入0汤圆

发表于 2010-10-2 17:59:19 | 显示全部楼层
回复【29楼】wandy2010
关于3个电阻的阻值实验结果:
我把靠在一起的这两个电阻都换成 1m 的,结果电流0.1a校正时,只能调到76ma,换回2m,正常了;
ad采样点到12v之间的电阻采用1m的。
发上来供大家参考。
-----------------------------------------------------------------------

更换了任意一个电阻后都要要重新校准的,是不是你没有重新校准啊?

出0入0汤圆

发表于 2010-10-2 18:14:05 | 显示全部楼层
回复【31楼】kdtcf  春风
-----------------------------------------------------------------------

他上面那个问题我也出现过,就是如果把那两个3.3M的电阻换成太小的话,校准的时候0.1A会调不上去。最后我换到4.7M才行的

出0入0汤圆

 楼主| 发表于 2010-10-2 18:47:37 | 显示全部楼层
回复【31楼】kdtcf 春风
回复【29楼】wandy2010  
关于3个电阻的阻值实验结果:  
我把靠在一起的这两个电阻都换成 1m 的,结果电流0.1a校正时,只能调到76ma,换回2m,正常了;  
ad采样点到12v之间的电阻采用1m的。  
发上来供大家参考。
-----------------------------------------------------------------------
更换了任意一个电阻后都要要重新校准的,是不是你没有重新校准啊?
-----------------------------------------------------------------------

更换成1M电阻后,执行校准,在0.1A校准这一步,电流最大只能调到76mA,校准无法完成了,所以才换了回来。

当初用这两个2M电阻,是元件匮乏,无奈之举,结果却蒙对了,呵呵

出0入0汤圆

发表于 2010-10-2 19:14:49 | 显示全部楼层
是的。我的实验结果和楼上的一样,3.3换成1M的确实调不上去,另外,输出端用1M的话,电流有2mA左右的误差(显示的比数字表的小),我将它改为2M后,显示就比较准了,1mA,2mA也误差0.5mA左右



PS:实测,没加1M电阻时的失调电压时-19.6mV,加了后就是+45mV左右

出0入0汤圆

 楼主| 发表于 2010-10-2 19:45:54 | 显示全部楼层
楼上的意思是春风刚刚提出加上的这个电阻,阻值大一点,电流显示差值小?

出0入0汤圆

发表于 2010-10-2 20:02:42 | 显示全部楼层
回复【35楼】wandy2010
楼上的意思是春风刚刚提出加上的这个电阻,阻值大一点,电流显示差值小?
-----------------------------------------------------------------------

至少目前我这个上是这样的,具体原理不知道

出0入0汤圆

 楼主| 发表于 2010-10-2 20:50:01 | 显示全部楼层
回复【36楼】yxzt
回复【35楼】wandy2010  
楼上的意思是春风刚刚提出加上的这个电阻,阻值大一点,电流显示差值小?
-----------------------------------------------------------------------
至少目前我这个上是这样的,具体原理不知道
-----------------------------------------------------------------------

多谢多谢,再抽时间折腾折腾,如果改变电阻,就可以不用分段补偿,就太好了!

出0入0汤圆

发表于 2010-10-2 22:40:28 | 显示全部楼层
根据你的084测出实际的失调电压,如果负的越多,那个电阻应该是越小,反之就应该是越大,尽量把失调往0靠拢

出0入0汤圆

发表于 2010-10-2 23:02:43 | 显示全部楼层
回复【15楼】kdtcf 春风
我分析了电路,ad读取的小于100ma的信号时,输入信号值很小,可以计算100ma时的输入电压r42 × 0.1a × 12.2 = 0.061v,就是说在100ma以下这个电压要小于0.061v,那么我们看下tl084的失调电压最大是10mv


(原文件名:tl084失调电压.jpg)
引用图片
那么最后由于失调引起的电压偏移最大是:10mv × 12.2 = 122mv = 0.122v  这明显是超过100ma时的读数的......
-----------------------------------------------------------------------

春风  "AD-A 接点"应是R26 和C13这 ,R22 和C12这是"AD-V接点"

出0入0汤圆

 楼主| 发表于 2010-10-3 00:02:53 | 显示全部楼层
回复【39楼】moul
春风  "AD-A 接点"应是R26 和C13这 ,R22 和C12这是"AD-V接点"
-----------------------------------------------------------------------

春风发的原理图截图是错的,照片中电路板背面加焊电阻的位置是对的

出0入0汤圆

发表于 2010-10-3 08:35:30 | 显示全部楼层
回复【33楼】wandy2010
回复【31楼】kdtcf 春风
回复【29楼】wandy2010   
关于3个电阻的阻值实验结果:   
我把靠在一起的这两个电阻都换成 1m 的,结果电流0.1a校正时,只能调到76ma,换回2m,正常了;   
ad采样点到12v之间的电阻采用1m的。   
发上来供大家参考。  
-----------------------------------------------------------------------  
更换了任意一个电阻后都要要重新校准的,是不是你没有重新校准啊?
-----------------------------------------------------------------------
更换成1m电阻后,执行校准,在0.1a校准这一步,电流最大只能调到76ma,校准无法完成了,所以才换了回来。
当初用这两个2m电阻,是元件匮乏,无......
-----------------------------------------------------------------------

这个是程序的问题,


if(Key5Sign)//---------步进加
                {
                    Key5Sign = 0;
                        if(CalPointer == 0)
                        {
                            DAUcal01 ++;
                                if(DAUcal01 > 150)         DAUcal01 = 150;
                                DAC_SetChannel1Data(DAC_Align_12b_R, DAUcal01);   //12位电压数据送DAC
                        }
                        if(CalPointer == 1)
                        {
                            DAUcal30 ++;
                                if(DAUcal30 > 4094)         DAUcal30 = 4094;
                                DAC_SetChannel1Data(DAC_Align_12b_R, DAUcal30);   //12位电压数据送DAC
                        }

                        if(CalPointer == 2)
                        {
                            DAIcal01 ++;
                                if(DAIcal01 > 150)         DAIcal01 = 150;
                                DAC_SetChannel2Data(DAC_Align_12b_R, DAIcal01);          //12位电流数据送DAC
                        }
                        if(CalPointer == 3)
                        {
                            DAIcal4 ++;
                                if(DAIcal4 > 4094)         DAIcal4 = 4094;
                                DAC_SetChannel2Data(DAC_Align_12b_R, DAIcal4);          //12位电流数据送DAC
                        }
在校准时旋转编码器加一时,有个if(DAIcal01 > 150)         DAIcal01 = 150;  这里限制了,把这里去掉应该就可以了,我今天也修改下,然后在上传,大家加油吧。

出0入0汤圆

发表于 2010-10-3 08:53:12 | 显示全部楼层
打算做一个

出0入0汤圆

发表于 2010-10-3 09:48:33 | 显示全部楼层
回复【41楼】kdtcf 春风
-----------------------------------------------------------------------

请问春风,既然这个是软件问题可以解决,那么校准时的步进值是否也能修正?
具体是:0.1V校准时每次的步进值大概是7.5mV左右,校准时要么96.XmV,再一步就变成104mV了,
        0.1A校准时就很好,能做到1mA的步进

出0入0汤圆

发表于 2010-10-3 11:53:46 | 显示全部楼层
回复【43楼】yxzt
回复【41楼】kdtcf 春风
-----------------------------------------------------------------------
请问春风,既然这个是软件问题可以解决,那么校准时的步进值是否也能修正?
具体是:0.1v校准时每次的步进值大概是7.5mv左右,校准时要么96.xmv,再一步就变成104mv了,
        0.1a校准时就很好,能做到1ma的步进
-----------------------------------------------------------------------

这个电源在使用时电压最小步进是0.1V就是考虑12位的DA分辨率所限,每个LSB对应的最小电压已经限死了,0.1V的电压对于几个mV的分辨率是可以接受的。因为满量程是30V,分辨0.1V也是1/3000了,已经接近极限了。
校准时步进都是1个LSB的。

出0入0汤圆

 楼主| 发表于 2010-10-3 12:34:11 | 显示全部楼层
【1】看了春风分析的程序段帮助很大,去掉这 if(DAIcal01 > 150)  DAIcal01 = 150; 限制,电流校准肯定没问题了,那么AD-A端增加的电阻1M就没问题了。这算成功捉虫一只,呵呵。

【2】如 yxzt 遇到同样的问题,0.1v校准时,要么96.xmv,再一步就变成104mv了,这个是否可以修改一下?

【3】输出电流显示如果不加补偿,显示值会比实测值低一点(2mA)左右,春风可否从原理上分析一下原因?

出0入0汤圆

发表于 2010-10-3 15:33:41 | 显示全部楼层
回复【45楼】wandy2010
【1】看了春风分析的程序段帮助很大,去掉这 if(daical01 > 150)  daical01 = 150; 限制,电流校准肯定没问题了,那么ad-a端增加的电阻1m就没问题了。这算成功捉虫一只,呵呵。
【2】如 yxzt 遇到同样的问题,0.1v校准时,要么96.xmv,再一步就变成104mv了,这个是否可以修改一下?
【3】输出电流显示如果不加补偿,显示值会比实测值低一点(2ma)左右,春风可否从原理上分析一下原因?

-----------------------------------------------------------------------

2.这已经是最高分辨率的了,不必更高的要求了,再高就得上16位da了。
3.我这里挺准的,不过2mA在合理的误差范围内的。

出0入0汤圆

 楼主| 发表于 2010-10-3 16:28:29 | 显示全部楼层
想明白了,当DA控制输出值本身很小的时候,加一步进就感觉大一点了;这点我再认真学习一下春风提供的源程序。

在一个区间内保持约2mA的差值,估计春风有时间的话也会从硬件方面找到原因吧,我只能跟在后面跑呢。

出0入0汤圆

发表于 2010-10-3 20:45:32 | 显示全部楼层
回复【47楼】wandy2010
-----------------------------------------------------------------------

有没有发现,那3个电阻用不同的阻值时,0.1V校准时虽然步进还是7mV左右,但是数值会往理想的100mV靠近,比如99.XmV,下一步就是106mV左右

出0入0汤圆

 楼主| 发表于 2010-10-3 22:12:11 | 显示全部楼层
这倒是,但是问题还是在于:12位的++,代表的输出电压增加,有点大,在0.1v校准的时候。

春风的意思是,校准0.1V的时候,D/A输出执行的是++操作,也就是12位AD的加一操作,如果这样都感觉步进值太大,总不能在基础数据上加0.1吧?

值得研究,饶有兴趣的问题,大家一起来研究吧,不要把所有工作都推到春风身上---开源么!

出0入0汤圆

发表于 2010-10-3 22:31:39 | 显示全部楼层
个人理解,电压校准时0.1--30,这个区间应该有300,然后分配给12位AD,这样每份就比较大了,所以每一步就有7mV左右
          电流校准时0.1--4,  这个区间只有40,平均给12位AD,当然精度就高得多了,所以每一步能做到1mA步进
          如果将电流校准从0.01--4(设计指标是最小分辨率0.01A),那么每一步就会更大

出0入0汤圆

 楼主| 发表于 2010-10-3 22:36:29 | 显示全部楼层
回复【50楼】yxzt
个人理解,电压校准时0.1--30,这个区间应该有300,然后分配给12位ad,这样每份就比较大了,所以每一步就有7mv左右
          电流校准时0.1--4,  这个区间只有40,平均给12位ad,当然精度就高得多了,所以每一步能做到1ma步进
          如果将电流校准从0.01--4(设计指标是最小分辨率0.01a),那么每一步就会更大
-----------------------------------------------------------------------

关键是,在调整范围内,“多少步”的问题

出0入0汤圆

发表于 2010-10-3 22:52:55 | 显示全部楼层
回复【50楼】yxzt
个人理解,电压校准时0.1--30,这个区间应该有300,然后分配给12位ad,这样每份就比较大了,所以每一步就有7mv左右
          电流校准时0.1--4,  这个区间只有40,平均给12位ad,当然精度就高得多了,所以每一步能做到1ma步进
          如果将电流校准从0.01--4(设计指标是最小分辨率0.01a),那么每一步就会更大
-----------------------------------------------------------------------

你说的对,电压和电流步进确实如你所说的7mV和1mA,不过电流校准改到0.01意义不大,因为原来一开始时是打算校准这个点的,因为想法和你的一样,可是由于运放失调原因,小电流不行,根本调不到0.01A,所以才改到0.1A的,由于TL084在电流的失调是乘上12.4的,是电压失调的12.4倍的效果,所以电压基本没受影响,其实把运放失调电压补偿电阻调到合适阻值,那么把电流最小校准设置在0.01A也没问题的,不过呢,因为校准的是系数,DA本来线性度还很好,校准0.1A也不影响精度的。

DA加补偿电阻目的是使DA输出大于等于0时要能控制电源输出到0,否则由于运放失调会引起调不到0,那么我们就加个电阻使输出调节刚好到0时落在DA的正值里面,因为DA也不能输出负值,这样就很容易通过计算把DA的底数去掉了。

AD加补偿电阻的目的也和DA类似,就是说不能在输出有电压输出时AD读数却还是0,也是由于运放失调引起的,所以加电阻后使电源输出为0时AD也有个很小的正电压输入,那么经过计算也很容易计算出0输出时对应的AD值,很容易把这个底数去掉了。

出0入0汤圆

发表于 2010-10-3 23:28:51 | 显示全部楼层
从这里,我们能感受到模电的重要了吧,一个小问题,用软件解决,要搞死上千的脑细胞.

出0入0汤圆

发表于 2010-10-4 10:50:41 | 显示全部楼层
刚才查了下,美信貌似没有低失调的运放,ADI倒是有几个,
AD8674,和084脚位倒是一样,只是没有DIP的
低噪声:2.8 nV/√Hz
宽带宽:10 MHz
低输入偏置电流:10 nA(最大值)
低失调电压:75 µV(最大值)
高开环增益:135 dB
低电源电流:每个放大器3 mA
双电源供电:±5V至±15V
单位增益稳定
无反相

OP747,也没有DIP
低失调电压:100 µV(最大值)
低输入偏置电流:10 nA(最大值)
单电源供电:2.7 V至30 V
双电源供电:±1.35 V至±15 V
低电源电流:每个放大器300 µA(最大值)
单位增益稳定
无反相

就是太贵了,每个报价都3.x美刀,有条件的童鞋倒是可以作为补品试试

还有个OP07D,性能和OP07差不多,报价比07低0.11美刀

出0入0汤圆

 楼主| 发表于 2010-10-4 22:58:32 | 显示全部楼层
春风的这个开源项目,叫我受益匪浅,知识,就这样学来的。

出0入0汤圆

发表于 2010-10-5 11:13:40 | 显示全部楼层
试一下TLC2254,DIP8与TL84引脚兼容,输入失调电压小10倍:-

点击此处下载 ourdev_587780CE3B2N.pdf(文件大小:95K) (原文件名:TLC2254.pdf)

出0入0汤圆

发表于 2010-10-5 11:24:56 | 显示全部楼层
好贴,才知道光会程序不会模电,不能做出好东西来啊

出0入0汤圆

发表于 2010-10-5 11:32:52 | 显示全部楼层
回复【57楼】zhengrob
-----------------------------------------------------------------------

打错了,TLC2254 DIP14封装与TL084引脚兼容。价格6-8块钱一片。

出0入0汤圆

发表于 2010-10-19 22:08:15 | 显示全部楼层
今天详细看了一下TLC2254的datasheet,适用电压只有+-8V,这个还不能直接替代板上的TL84因为板上是+-12V。

出0入0汤圆

发表于 2010-10-27 12:45:55 | 显示全部楼层
细微处见功夫啊,顶上

出0入0汤圆

发表于 2011-5-8 16:33:36 | 显示全部楼层
大家去看看LT1013这个运放,不过价格高点

出0入0汤圆

发表于 2011-7-3 02:09:01 | 显示全部楼层
8.22版本的将电流设定≤60ma时电流失控,无法恒流,是什么原因呢?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-29 23:46

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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