完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
|
|
邀请回答
ADC的精度本身就不准确,而且存在干扰,你那种现象,可以做如下解释 1、你那个7.8V和7.9V的输入电压本身就是不准的,但是7.8V的偏差到7.84V(举例),于是它显示为7.8V。而7.9V的偏差到7.95V(举例),于是显示为8V 2、ADC芯片自身是没有问题的,你应该参照技术手册,查询它的偏差范围。一般来说,偏差值都不是固定的,可能随着输入电压值的变化而变化 |
|
|
|
云汉达人 邀请回答
采样精度丢失原因很多 软件角度可以从以下方面入手 (1)多次采样取平均值算法,最为简单; (2)数字滤波算法,例如采用中值滤波法,具体方法为:连续采样20个数据,对这些数据进行排序之后,去掉最小的5个和最大的5个,然后取中间10个采样数据的平均值。 (3)软件校正算法。 |
|
|
|
你可以试试多次采样取平均值,另外你要看看你的电路设计上有没有电压漂移
|
|
|
|
|
|
|
|
邀请回答
嗨,您的描述有些奇怪 1. 前面講12位後面變16位,所以是16還是12? 2. ADC只能偵測正電壓,您輸入有負電壓的 3. 有負電壓,您電路有作抬升電壓的電路嗎? (例如加法器) 4. 所以後面乘以20是也要確保在單片機ADC範圍內,抬升後也要在此範圍內 5. 多採樣幾次作平均,可得到較為精準的ADC值 以上可繼續討論 |
|
|
|
|
|
|
|
云汉达人
你这个AD的最小分辨率是LSB = 20/4096 ≈ 0.5mv, AD不是完全的线性,有积分非线性和微分非线性,手册上有,自己查就知道是不是AD问题了,从你这里看,0.1v误差是200LSB,有点太大了 测试方法,建议你测试下积分非线性和微分非线性,正弦波测,来跟手册对,你就知道了,这个是评估AD的标准 |
|
|
|
云汉达人 邀请回答
答某网友:虽然是12位的ADC,但ADC的寄存器是16位(或两个8位)的,所以后面楼主是读取的16位的ADC结果。 楼主的这个问题,明显是前后矛盾的啊,怎么没人看出来呢? 一、电路问题 单片机的ADC只能测量0~VCC范围内的电压,那么楼主的电路应该是将±10V进行的抬升,但是电压范围也是太高,还要有线性降压。 楼主的情况并不与数据手册上的完全一样吧,要根据电路进行调整的。 二、程序问题 按上面的电路进行采样(也必然是上面电路的思路,否则你的单片机就烧了),你的输入电压0V,应该是对应于VCC/2的电压值,那么你的ADC结果应该是2^15,即2048吧,你上面的计算方法就很明显的不对了。 这也是问题有些前后矛盾了。 三、关于精度问题 请楼主自行摆渡“过采样技术” |
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
679 浏览 0 评论
1099 浏览 1 评论
2463 浏览 5 评论
2796 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2634 浏览 6 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
645浏览 9评论
640浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
771浏览 6评论
617浏览 5评论
659浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-16 13:25 , Processed in 1.417599 second(s), Total 99, Slave 79 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号