如何提高AVR单片机的AD精度?
马潮老师:本人用MEGA16用于仪表开发过程中,需要12位AD,只好采用软件方法提高AD精度,由于本人英文水品有限,望各位大侠和马老师把参考文章avr_app_121.pdf翻译一下,或则发相应的实例程序,诚谢啦! 你让马老师给你干活,也不称称自己的分量,要有自知之明! 用过采样是有条件的,不是所有的情况都可以用,等ATxmega16A4出来用它吧,12位的ADC+DAC 12BIT ADC,用AVR是不是有点辛苦了 关键是产品已经做板出货了,本来是个温度产品,设计要求精度1度,客户现在要求升级到0.1度,原则上不重新开模,麻烦大了哦! 温度范围是多少?不大的话10位应该够的,10位可以表示1024种状态, 可以表达的温度范围为102.4度 0.1的精度
比如:0.0到102.3度-30.0到72.3度 等。 化工厂的反应槽(0-400)度,正常工作在250-350之间,关键在中和时必须在300度,误差在正负0.5度之间,本来就采用PID算法,程序够复杂了,又搞出个头痛的问题 扯淡!你的温度传感器的精度能达到1/5000吗?如果没有,就是使用24位的AD有用吗? 这么简单的文档,用金山词霸配合慢慢看,总会看懂的,如果这点事情都要靠别人来做,我真搞不懂楼主了,每个人都有自己的事情啊,你设计东西赚钱,别人凭什么给你打下手啊?
我的E文很糗的,估计连初三学生的水平都比我强的多。看看我那个置顶的帖子就知道了。当时就是因为E文不好才看中文资料,结果就有了那个故事,但是有时候还是要硬着头皮看的。
关于ADC过采样,你可以在坛子里搜索下,这类讨论挺多的,用google搜也是很多这类资料,原理也有很多中文的网页。
建议楼主先自己动手找资料,实在找不到再来这里问,不要一有问题就伸手..................... 现场用的是美国专业高精度数字温度计,输出时工业HART(4-20MA)的信号,回路传入250欧的电阻,得到1-5V的模拟电压,要求分辨率为4000MV以上,也就是能区分1MV的信号 感谢大家的支持,还是硬着头皮去找我的辅导师,问题解决了,采用了更先进的分段采样的方法,可以把信号分成5段,每段采一次,加起来就是5X1024=5120够了,必须采用差分的输入方式,硬件改动不大,就加了长的4052切换1V.2V.3V.4V.还有默认的5V做为比较电压,具体分为0.1.2.3.4.共5个段,软件就是先判断模拟量属于哪一个段,然后送入相应的比较电压,开始转换得到10位的数据,加上相应的段值乘以1024后,参与PID调节,由于温度的惰性大,只有更高的精度才能满足PID的要求,不过速度比较慢。今天测试基本维持在299.5-300.5度范围。 感谢8楼的兄弟的帮助,终于在google搜也是很多这类资料,以后慢慢的学以致用吧!也找到了中文版的AVR121:翻译:邵子扬 ,佩服这种学者的学风学得,值得我们这里的诸多人学学 MARK 楼主学会了学习和解决问题的方法,这才是大家最希望看到的结果,继续努力吧。 佩服这种学者的学风学得,值得我们这里的诸多人学学。
------
这是气嘟嘟的意思。
嘿嘿~~,
其实,CXDQ888 清净独乐问的是实际工业控制方面的问题。
假如我们整个量程的基准是min,那么在接近max区域是无法按照一条曲线来获取足够的精度。
再假如我们的基准点是在中间mid,就相当于精度加倍了,可还是不够。
那么我们的最简单的办法是将基准取在实际正负工作范围的中间点,
譬如描述为“关键在中和时必须在300度”,这样就很接近了。
可以获取最大的分辨率和精度,96年曾经用分段法对测温电阻取得比较理想的精度(紧凑代码下)。
祝贺楼主。 mark mark....
mark.... 路过路过了顺便看看
页:
[1]