打印
[国产单片机]

采样值会随基础电压变化而变化什么办?

[复制链接]
2517|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
用霍尔传感器ACS712检测电流,通过运放LM321提供电压给STC单片机采样。
1、采样值:开机初始和10分钟后的值不同,10分钟后会增加;
2、随单片机电压5V变化,采样值也会变化,譬如5.01V时和5.08V时会有很大不同
3、工作电流从0.60A到1.6A之间变化;分22档工作;
按5.01V为基准编程后,到电压不为5.01V时,因采样值漂移了。程序执行跳档。
电路图见附件
恳求大师指教,

ACS712采样电路.pdf (55.75 KB)

相关帖子

沙发
如何RH|  楼主 | 2014-4-30 16:35 | 只看该作者

经ACS712采集电流后通过运放LM321放大再传给单片机,单片机采样值每次测值(同样电流下)都不同;
开机时测得值。过10分钟再测又变化了。
基础电压5V变化,5.01V -- 5.12V 采样值也不同。
准备量产了,可是采样值每台机都不同、、、、、、,要每台机单独编程?。
不知道从哪里改。


使用特权

评论回复
板凳
望断云山| | 2014-5-1 17:50 | 只看该作者
你难道没有看见电路上有tl431,,先采集tl431上的电压值,再采lm321的输出电压,然后用tl431的值修正结果

使用特权

评论回复
地板
McuPlayer| | 2014-5-1 18:51 | 只看该作者
可以对431的输出AD转换,然后反推VCC的值

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
如何RH + 1 很给力!
5
如何RH|  楼主 | 2014-5-2 09:18 | 只看该作者

431是后加的,用431采样值来校对Vcc值,有所改善,但还不行。
1、可是同样的Vcc下,同样的电流下,通过ACS712+LM321采样的值有不一致;加了431的校对值还是不能通用
2、由于是分段(电流分档:0.60A--0.935A、0.935-0.950A、0.95A--1.017A、1.017A--1.100A、1.100--1.15A
               1.15--1.24A、1.24--1.34A、1.34--1.39A、1.39--1.47A、1.47--1.53A)采样。
   每档的采样值对应电流不是完全线性关系,而通过431的校对值(线性)去校对原值,总是不能完全进入轨道。
现在取了20个电路板,每个取样,分别看431的值,取值代入算式,再实际运行复测,还是要人工校准
这个系数总是不能固定。
单片机是用STC的,推算公式:R=1024*Vio/Vcc(10位AD精度),是否我的计算算式有问题?
是从硬件着手修改、还是能从编程里解决,实在是没有方向了。

使用特权

评论回复
6
如何RH|  楼主 | 2014-5-2 16:14 | 只看该作者
大师指点很有道理:要利用431的值反推Vcc,可是这个算式应该如何建立呢?
我是用笨办法得出这个算式,(计算结果不理想):
1、基础电压5.00V时,实测每档电流的LM321输出的电压值,利用趋势线里线性方程得到整个工作电流的各档区间值;
2、设定431的基准电压为Vadj=2.5v  根据STC 10位AD的计算公式 AD值=1024*Vio/Vcc ,得出算式
3、设431采样值为r  lm321的采样值为R  实际LM321的采样值为R3 代入算式得到 R=R3*512/r
实测时,当Vcc=5.00V时,两厢吻合。当Vcc>5.02V 误差出现了
是否算式有问题?还请各位大神指正!

使用特权

评论回复
7
望断云山| | 2014-5-2 23:47 | 只看该作者
1.vcc不一致用tl431校准
2.霍尔,运放的非线性问题用分段或查表
3.霍尔,运放的一致性问题用标定

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
如何RH + 1 很精确的指导方向
8
如何RH|  楼主 | 2014-5-3 00:54 | 只看该作者
很精辟!

使用特权

评论回复
9
如何RH|  楼主 | 2014-5-13 12:19 | 只看该作者
好郁闷,用TL431校准Vcc值,却遇到TL431输出电压不是随Vcc变化而线性变化,
Vcc小于5V TL431小于2.5V 好理解,可当Vcc=5.02v TL431输出2.5v Vcc=5.06 TL431输出2.498
无法自动算出校准值,什么办?

使用特权

评论回复
10
如何RH|  楼主 | 2014-5-13 22:52 | 只看该作者
请教:
直接用一个I/O口采Vcc电压和5V比较,再用来校准实际工作电压,
和用TL431基准电源校准Vcc值,是不是一样的?

使用特权

评论回复
11
autopccopy| | 2014-5-14 22:51 | 只看该作者
本帖最后由 autopccopy 于 2014-5-14 22:53 编辑
如何RH 发表于 2014-5-13 12:19
好郁闷,用TL431校准Vcc值,却遇到TL431输出电压不是随Vcc变化而线性变化,
Vcc小于5V TL431小于2.5V 好理 ...

TL431做8-10位AD基准应该可以,至于不稳定应该是器件问题或模电不过关。
另,可试试STC15F,相当于自带基准:(可见STC-ISP 软件的自带例程)

http://www.stcisp.com/stc-demo/STC15F4K60S4 系列 通过BandGap电压精确测量外部输入电压值举例.c :)

(167)

使用特权

评论回复
12
如何RH|  楼主 | 2014-5-15 21:54 | 只看该作者
STC15W408AS能用吗?
这个STC例程能用在STC15W408AS上吗?

使用特权

评论回复
13
如何RH|  楼主 | 2014-5-16 22:13 | 只看该作者
宥STC15F具体型号吗

使用特权

评论回复
14
autopccopy| | 2014-5-16 22:41 | 只看该作者
如何RH 发表于 2014-5-16 22:13
宥STC15F具体型号吗

我没有STCW408AS, 从STC-ISP的选项看有BANDGAP电压,应该是可以的!
我在官方例程出来前已使用IAP15F2K61S2使用过该方法了~~~ :) :)



(210)

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
如何RH + 1 很给力!
15
如何RH|  楼主 | 2014-5-22 09:12 | 只看该作者
用TL431的电路,由于TL431输出和Vcc不是正比关系,
这几天都是手工修改设置,好久没上网。

还没用过EPPROM编程,看例程介绍,就是要把基本数值实测后放到EPPROM里作为基准值,
具体用法,还是有些不明白?
现在的做法是在标准条件(Vcc=5.00V.Vadj=2.5)下,测得每个工作点的数值,然后放入程序里;
实际工作时采样值和前面取得的工作点数值直接在程序里比较,实现动态变化;
这样的做法和把实际值放到EPPROM再做比较,有什么不同?
还请大师指教!
谢谢

使用特权

评论回复
16
如何RH|  楼主 | 2014-7-31 10:56 | 只看该作者
菜鸟和老鸟,中间还是有鸿沟。老鸟回答都是很有道理,很有指导性。
菜鸟其实就是基础这一步还是似通似不通,不知道具体是要什么做。

使用特权

评论回复
17
wujh| | 2014-11-30 23:44 | 只看该作者
望断云山
1.vcc不一致用tl431校准
2.霍尔,运放的非线性问题用分段或查表
3.霍尔,运放的一致性问题用标定

这三条很受教育

使用特权

评论回复
18
hnkf118| | 2014-12-12 00:52 | 只看该作者
其实好解决的。办法是这样。你用431 扩流/后同时给单片机跟霍尔供电,那么他们的VCC也就是基准都是在相同的体系下变化。 这样你采样就是没有问题的了。 TL431有做稳压器的电路。你试试就知道了。

使用特权

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

本版积分规则

2

主题

40

帖子

3

粉丝