深圳市华胄科技有限公司 >> MCU专题 >> 单片机应用


单片机应用----普通单片机实现低成本高精度A/D转换电路2



提交者 耕牛  在  2008-2-25 10:51:25 

上一篇 下一篇
在此前笔者曾介绍了普通单片机实现低成本A/D转换的一种方法,在实际使用中还有其它的不少方法可以实现低成本A/D转换,在本文中我们继续为电子设计者们提供又一种A/D转换方法,该方法同样占用较少的单片机资源,成本也很低,仍然有很强的实用性,该电路曾在锂离子电池充电器中作A/D转换使用,效果良好。


其电路如图一所示:





图一


其工作原理说明如下:


1、硬件电路说明:


图一中的R1和N1(TL431)产生一个2.495V的稳定电压,作为A/D转换比较基准。R2、V1、VD1、VD2和R3构成一个恒流源电路给C1充电,C1上的电压与恒流源的电流大小及充电时间成正比。


MC74HC4051为8选1模拟开关,其输入通道由单片机控制来选择。LM393作为比较器,当C1上的电压由低到高上升到超过模拟开关输出电压时,其输出端会从低电平转变为高电平。“RA0”、“RA1”和“RA2”为单片机的3个 I/O脚,RA0设置为输入状态,用于检测比较器输出电平变化,RA1和RA2设置为输出状态,RA1输出高电平时,V2导通,用于将C1上的电荷放空, RA2用于选择模拟开关的输入通道。


2、A/D转换过程:


首先RA2输出低电平,使模拟开关选择X0(基准电压)作为输入,RA1输出高电平,使V2导通将C1上的电量放完,然后使RA1输出低电平,使 V2截止,此时C1上的电容开始被充电,同时计数器开始计数,当C1上的电压不断上升,并达到比较器输入负端的电压(此时为基准电压Vref)时,比较器的输出端由低电平转为高电平,此时记录下计数器的计数值,为T1。


接着RA2输出高电平,使模拟开关选择X1(被测电压)作为输入,RA1输出高电平,使V2导通将C1上的电量放完,然后使RA1输出低电平,使V2截止,此时C1上的电容又开始被充电,同时计数器开始计数,当C1上的电压不断上升,并达到比较器输入负端的电压(此时为基准电压)时,比较器的输出端由低电平转为高电平,此时记录下计数器的计数值,为T2。


由于C1是被恒流充电,因此C1上的电压与充电时间成正比,即V="T"*k。当C1的容值与充电的恒流值不变时,k是一个固定不变的常数。由此可以得到:


Vref/T1=V1/T2 ,即 V1=Vref*T2/T1


由于Vref是基准电压(2.495V),因此只要利用单片机的定时器测出T1和T2,就可以计算出被测电压V1的值。


3、A/D转换误差分析及解决办法:


A/D转换的误差主要由以下几个方面决定,分别说明如下:


1、基准电压Vref:在该A/D转换中,Vref电压是造成A/D转换误差的主要原因,如果使Vref电压精度做到较高,则A/D转换误差可以做到很小,在Vref电压精度为0.5%情况下,实际的A/D转换误差小于1%。


2、定时器误差:若单片机对比较器输出端的电位变化反应慢,或定时器误差较大,则测量到的T1与T2值不准,也会导致测量误差。


3、比较器输入端的失调电压:该电压对A/D转换精度有一定影响,但影响较小。


4、运算误差:由于V1值要经过乘除法运算后得到,在进行运算过程中如果数据处理不当,如余数处理不当,也会产生误差。


5、干扰误差:当输入电压不稳时,恒流源的输出电流会有一定的影响,会产生干扰误差。


A/D转换误差的解决办法:


1、对Vref造成的误差,只能通过提高Vref电压精度来解决,它相当于A/D转换的基准电压。


2、对于定时器误差,在单片机中可使RA0口采用带电平变化中断功能的I/O口,以提高反应速度,同时减少恒流源的电流大小,或加大C1电容容量,可以增加T1、T2的测量时间,使计数值加大,达到提高A/D转换精度的目的。


3、选用灵敏度高的比较器可解决比较器输入端导致的误差问题。


4、对运算误差,可以通过软件上的改进来解决。


5、对于干扰造成的误差,可对A/D转换值进行数字滤波,如多次转换求平均值等方法来解决。数字滤波消除误差的方法很多,在此不再赘述。


4、A/D转换速度及提高办法:


由于该A/D转换是通过恒流源对C1电容充电后再进行比较来完成的,C1电容的充电过程需要一定的时间,因此其A/D转换速度较慢,适用于对A/D转换速度要求不高的产品中,其A/D转换速度取决于以下几个方面:


1、恒流源的电流大小:恒流源的充电电流越大,C1上的电压上升速度就越快,到达被比较电压的时间也就更短,转换速度就更快。


2、C1电容的大小:其道理与前一点一样,当电容小时,电压上升速度就越快,到达被比较电压的时间也会越短,转换速度就越快。但由于计数值小,由定时器造成的测量误差也有可能加大。


3、单片机的工作频率:由于A/D转换值是经过乘除运算后完成的,因此单片机的运算速度也会对A/D转换速度有影响,尤其当计数器值为16位时。


由上所述,A/D转换的速度可以通过提高单片机的工作频率,增大恒流源的输出电流,减小C1电容容值来加快A/D转换速度,但要注意当T1、T2 计数值太小时有可能使定时器因素造成的误差增大,因此在实际使用中要综合考虑,在提高转换速度时,保证A/D转换精度,选择最适用于产品的参数值。


5、输入电压的测量范围:


A/D转换的输入电压测量范围为0V至4.5V,当C1被充电至大于4.5V时,恒流源输出将不再恒流,C1上的电压与时间将不成正比,因此测量范围只到4.5V。若要提高被测电压范围,可将输入电压通过电阻分压后进行测量,但其A/D转换的误差会受分压电阻影响。


6、A/D转换通道的多路扩展:


图中的8选一模拟开关只用到其中的2路,实际应用中其它的6路也可使用,这样A/D转换的通道可扩展到7路,因此在用4个I/O口情况下,可实现3路A/D转换,在用5个I/O口情况下,可实现7路A/D转换。



单片机教程,五系列(55讲)电子书全集下载

论坛精选:
单片机应用----与A/D转换器的接口设计
http://bbs.huazhoucn.com/Topic.aspx?id=1764
单片机应用----C8051F020及其在仪器和仪表中的应用
http://bbs.huazhoucn.com/Topic.aspx?id=1714
单片机应用----单片机的状态迁移与复位操作
http://bbs.huazhoucn.com/Topic.aspx?id=1572
单片机应用----FLASH引导装载系统设计
http://bbs.huazhoucn.com/Topic.aspx?id=1531
单片机应用---时钟芯片SD2200ELP与AVR单片机接口
http://bbs.huazhoucn.com/Topic.aspx?id=1763
单片机应用----MSP430系统应用结构设计与选型
http://bbs.huazhoucn.com/Topic.aspx?id=1744
单片机应用----基于单片机的电子导游系统设计
http://bbs.huazhoucn.com/Topic.aspx?id=1554

1 楼  提交者:Guest 在 2008-3-6 0:41:50
111
2 楼  提交者:Guest 在 2008-3-6 9:36:41
dffffsdssdssss 
3 楼  提交者:理工朱仕勇 在 2008-3-21 22:24:09
4 楼  提交者:理工朱仕勇 在 2008-3-21 22:24:13
5 楼  提交者:Guest 在 2008-3-21 22:25:59
6 楼  提交者:Guest 在 2008-3-23 17:30:32
7 楼  提交者:Guest 在 2008-3-23 17:30:47
8 楼  提交者:Guest 在 2008-3-23 20:42:11
yun
9 楼  提交者:Guest 在 2008-3-23 21:29:50
he he 
10 楼  提交者:nmjdxy123 在 2008-4-2 22:19:13
see
11 楼  提交者:aonier 在 2008-4-9 22:02:33
辅导费噶是打发士大夫    
12 楼  提交者:Guest 在 2008-4-22 19:35:37
13 楼  提交者:鲁旭涛 在 2008-4-24 15:08:33
14 楼  提交者:xinyueliu 在 2008-4-25 21:35:24

15 楼  提交者:淡淡的云 在 2008-4-26 16:45:31
16 楼  提交者:Guest 在 2008-5-6 4:15:10
dd
17 楼  提交者:Guest 在 2008-5-22 8:13:30
无内容
18 楼  提交者:Guest 在 2008-5-23 23:13:38
19 楼  提交者:飞翔蓝天 在 2008-5-31 13:12:09
20 楼  提交者:Guest 在 2008-6-28 17:06:28
合乎逻辑
21 楼  提交者:Guest 在 2008-6-30 15:38:00
gfdgd
22 楼  提交者:Guest 在 2008-7-18 14:52:04
kk
23 楼  提交者:tjh 在 2008-7-22 12:19:16
24 楼  提交者:Guest 在 2008-7-27 10:12:03
kyk
25 楼  提交者:Guest 在 2008-8-9 12:43:30
hao
26 楼  提交者:Guest 在 2008-8-15 8:20:57
嗯?
27 楼  提交者:Guest 在 2008-8-15 8:21:04
嗯?
28 楼  提交者:Guest 在 2008-8-15 8:21:18
嗯?
29 楼  提交者:Guest 在 2008-8-15 14:29:40
30 楼  提交者:Guest 在 2008-8-18 18:13:40
look
上一篇 下一篇
当前第〖1〗页 共有3页 转到第 1 2 3