×

单片机A/D转换的工作原理及优缺点,提高A/D转换精度的方法资料下载

消耗积分:3 | 格式:pdf | 大小:83.09KB | 2021-04-09

ejlwj

分享资料个

随着大规模集成电路的不断发展,很多单片机都有内置A/D模块,因此,单片机的A/D转换可以用内置A/D模块也可以用外置A/D电路完成,现谈谈单片机A/D转换的工作原理及优缺点,并分析提高A/D转换精度的方法。 1、 A/D转换的工作原理及优缺点    (1)单片机片内A/D转换单片机片内A/D转换是利用单片机的内置A/D模块,通过选择不同的模拟量通道进行A/D转换。可以将模拟量直接输入到单片机对应的输入脚,外围电路简单。转换后的数据直接保存在片内寄存器中,数据提取方便。但大多数单片机的内置A/D模块只有8位和10位,无法进行高精度的A/D转换,原理如图1所示。    (2)单片机片外A/D转换单片机外置A/D转换是单片机通过一定的逻辑电路控制外置A/D转换电路进行A/D转换,外围电路相对复杂。单片机将转换结果通过一定的时序读取到单片机中,按要求通过选择A/D转换电路,可以实现高精度的A/D转换(可以达到14位、16位、22位甚至更高),原理如图2所示。 2、 A/D转换模块提高转换精度的方法 提高A/D转换精度的方法要提高A/D转换的精度,选用高精度的外部A/D转换器当然可以达到要求,除此之外,有没有其他方法呢?答案是肯定的。以下介绍几种利用片内A/D转换模块提高转换精度的方法。    (1)以采集电压为例,假设需要采集0.0~400.0 V直流电压,单片机A/D模块的基准电压VREF+取5.0 V,VREF-取0 V,需要采集的电压经过衰减,变成0.0~5.0 V,连接电路如图3所示。显然,如果要达0.1 V的精度,则A/D转换的分辨率必须小于1/4000,而片内A/D模块一般为10位,分辨率仅为1/1 024,达不到要求。由于模拟量(O~400V电压)输入大多不是稳定值,会有波动,为了得到更高精度的数据,可以将多次采集的数据累加后再取平均值(其实即使分辨率达到要求的A/D转换也要经过累加再取平均值,以得到更稳定的数据)。如果每间隔一定时间采集的10位数据为Di,取64个这样的数据累加后再除以16,就可以得到12位的数据D,即   这时D的分辨率是1/212=1/4 096。这样,就得到了更高精度的数据。       但是,如果模拟量(0~400V电压)输入值非常稳定,每间隔一定时间采集的10位数据Di都相同,以上方法就达不到要求了。    (2)如果在A/D转换过程中要得到局部更高精度的数据,例如检测蓄电池充放电过程中的电压,电压范围是0~18 V,一般精度达到0.02 V即可,但用户更关心8~13 V的电压,8~13 V内精度要达到0.01 V。为了解决这个问题,设计了原理如图4所示的电路。 单片机有内置10位A/D模块,Ui(0~20 V)电压经过R1、R2、P1衰减得到0~5 V的电压,该电压直接送到单片机的AN1输入口,即VAN1=Ui/4。U2A接成减法运算电路,即U2A 1端电压VU2A1=VAN1-2 V=Ui/4-2 V=(Ui-8 V)/4。U2B接成4倍放大电路,U2B 7端的电压VU2B7=VU2A×4=Ui-8 V。AN2输入并联一只5 V稳压二极管,以保证当输入电压大于8 V时,单片机AN2可以得到O~5 V电压。    单片机先采集AN1的数据,通过采集的数据判断输入电压是否在8~13 V之间,如果不在8~13 V,则采集到的数据就是模拟量(U)对应的数字量(D:000H~3FFH),精度为20 V/2010=20 V/1 024≈0.02 V,电压数据U=D×0.02 V;如果采集的数据在8~13 V之间,单片机再采集AN2的数据,采集到的数据加上8 V就是模拟量(U)对应的数字量(D:000H~3FFH),精度为(13-8)V/210=5 V/1 024≈0.005 V,电压数据U=8 V+D×0.005 V。这样,在8~13 V之间的A/D转换精度就大大提高了。 结语 随着工业自动控制的不断发展,单片机在工业自动控制的应用也越来越广。本文介绍的提高A/D转换精度的工作原理在实际应用中具有一定的使用价值,特别是通过简单的模拟运算电路,可以局部提高A/D转换精度。利用这个原理,如果将模拟量分段放大,也可以全范围提高A/D转换精度。这种方法在A/D转换领域有较好的应用前景。 (mbbeetchina)

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !