[AVR单片机] adc采样电压测量不准

[复制链接]
7562|12
 楼主| d5252yh0307 发表于 2013-5-1 13:02 | 显示全部楼层 |阅读模式
本帖最后由 d5252yh0307 于 2013-5-1 13:06 编辑

最近用AVR M16做个酒精测试仪器,但在测量采样这部分出了问题,困扰了很久也查不出原由。

1.我PA0口单端信号输入,仿真时,测量前面几个电压值都还正常,误差在0.001-0.002之间。问题就在后面了,当我把电位器的电压调节到0.5V或者1V,3V的时候就数字极其不对。

2.仿真的时候,虽然运行成功,但有很多处警告,意思是AVR的AD转换的结果不被写入到ADC寄存器,原因是ADC寄存器被锁存了?这句话是什么意思?理解不透。

3.仿真运行时候,调节电位器的电压,仿真没变化,要重新运行数据才会有变动?

不知道大家有没有遇到相关类似的问题,大家一起讨论讨论。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
huangxz 发表于 2013-5-1 14:54 | 显示全部楼层
仿真的不好说,楼主可不可以讲下实际运行的情况
qin552011373 发表于 2013-5-1 15:41 | 显示全部楼层
估计是程序的问题,不知你设置的程序是单次采样还是隔一段时间一直在采样?
qin552011373 发表于 2013-5-1 15:41 | 显示全部楼层
huangxz 发表于 2013-5-1 14:54
仿真的不好说,楼主可不可以讲下实际运行的情况

这样的地方应该贴出来关键程序的  感觉像程序的逻辑问题
 楼主| d5252yh0307 发表于 2013-5-1 18:53 | 显示全部楼层




程序贴上了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
宇容创行 发表于 2013-5-1 19:04 | 显示全部楼层
adc_data = ADC ;
kerwin_zhong 发表于 2013-5-2 11:09 | 显示全部楼层
d5252yh0307 发表于 2013-5-1 18:53
程序贴上了。

估计是ADC速率太快了,貌似MEGA16的ADC达不到125KHz,以下摘自 MEGA16 Datasheet的描述:

“• 10-bit Resolution
• 0.5 LSB Integral Non-linearity
• ±2 LSB Absolute Accuracy
• 13 μs- 260 μs Conversion Time
Up to 15 kSPS at Maximum Resolution


最大15KSPS,最大分辨率的情况下,请注意,试着降低adc转换速率看看
 楼主| d5252yh0307 发表于 2013-5-2 21:46 | 显示全部楼层
qin552011373 发表于 2013-5-1 15:41
这样的地方应该贴出来关键程序的  感觉像程序的逻辑问题

第三个问题解决了。原来我用的单次转换,难怪仿真时需要手动。
 楼主| d5252yh0307 发表于 2013-5-2 21:47 | 显示全部楼层
qin552011373 发表于 2013-5-1 15:41
这样的地方应该贴出来关键程序的  感觉像程序的逻辑问题

第三个问题解决了,在ADC的设置错了,设置成了单次的转换,难怪仿真时需要手动。
fp123123 发表于 2013-5-2 23:37 | 显示全部楼层
kerwin_zhong 发表于 2013-5-2 11:09
估计是ADC速率太快了,貌似MEGA16的ADC达不到125KHz,以下摘自 MEGA16 Datasheet的描述:

“• 10-bit R ...

最大15KSPS是指ADC的次数,LZ的125KHz是ADC的时钟输入,两个不是一个概念,1次ADC需要13个ADC时钟,ADC时钟建议在50KHz - 200KHz
qin552011373 发表于 2013-5-3 09:37 | 显示全部楼层
d5252yh0307 发表于 2013-5-2 21:46
第三个问题解决了。原来我用的单次转换,难怪仿真时需要手动。

找到问题就好 欢迎常来
 楼主| d5252yh0307 发表于 2013-5-3 15:31 | 显示全部楼层
fp123123 发表于 2013-5-2 23:37
最大15KSPS是指ADC的次数,LZ的125KHz是ADC的时钟输入,两个不是一个概念,1次ADC需要13个ADC时钟,ADC时 ...

数据手册是这样写的 ADC逐次比较转换电路要达到最大精度,需要在50KHZ~200KHZ。我的在8M晶振下,符合这个范围的呀。
fp123123 发表于 2013-5-3 16:48 | 显示全部楼层
d5252yh0307 发表于 2013-5-3 15:31
数据手册是这样写的 ADC逐次比较转换电路要达到最大精度,需要在50KHZ~200KHZ。我的在8M晶振下,符合这个 ...

所以说你的这部分没错,问题不在这里
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

32

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部