版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、用普通单片机实现低成本高精度A/D与D/A转换(之一)摘要:用普通单片机实现低成本的多路A/D与D/A转换,其转换结果为8bit或更高。关键词:单片机A/D转换 D/A转换 PWM (脉冲宽度调制)比较器目前单片机在电子产品中已得到广泛应用,许多类型的单片机内部已带有A/D转换电路,但此类单片机会比无A/D转换功能的单片机在价格上高几元甚至很多,本文给大家提供一种实用的用普通单片机实现的 A/D转换电路,它只需要使用普通单片机的2个I/O脚与1个运算放大器即可实现,而且它可以很容易地扩展成带有4通道A/D转换功能,由于它占用资源很少,成本很低,其 A/D转换精度可达到8位或更高,因此很具有实用
2、价值。其电路如图一所示:DLpwm 波形 JUWUL模阳量输入小 >单片机R 10k U1=5V+DH(D14D2)Cl500)(this.resized=true; this.width=500; this.alt='点击 查看原 图' this.style.cursor='hand'" onclick="if(!this.resized)(returntrue;elsewindow.open('border="0"width="500">图一其工作原理说明如下:1、硬件说明:图一
3、中“RA。和“RAT为单片机的两个I/O脚,分别将其设置为输出与输入状态,在进行 A/D 转换时,在程序中通过软件产生 PWM ,由RA0脚送出预设占空比的 PWM波形。RA1脚用于 检测比较器输出端的状态。R1、C1构成滤波电路,对RA0脚送出的PWM波形进行平滑滤波。 RA0输出的PWM波形经过 R1、C1滤波并延时后,在U1点产生稳定的电压值,其电压值 U1=VDD*D1/ (D1+D2 ),若单 片机的工作电压为稳定的 +5V,则U1=5V*D1/ (D1+D2 )。图一中的LM324作为比较器使用,其输入负端的U1电压与输入正端的模拟量电压值进行比较,当U1大于模拟量输入电压时,比较
4、器的输出端为低电平,反之为高电平。2、A/D转换过程:如果使RA0输出PWM波形,其占空比由小到大逐渐变化,则U1的电压会由小到大逐渐变化,当U1电压超过被测电压时,比较器的输出端由高电平变为低电平,因此可以认为在该变化 的瞬间被测的模拟量与 U1的电压相等。由于U1的电压值=VDD*D1/ (D1+D2 ),当VDD固定时,其电压值取决于 PWM波形的占空比, 而PWM的占空比由单片机软件内部用于控制PWM输出的寄存器值决定,若软件中用1个8位寄存器A来存放RA0输出的PWM的占空比值D1 ,因此在RA1检测到由“1变为“0的瞬间, A寄存 器的值D1即为被测电压的A/D转换值,其A/D转换
5、结果为8位。如果用16位寄存器来 作输出PWM的占空比,则A/D转换值可达到16位。3、A/D转换误差分析及解决办法:A/D转换的误差主要由以下几个方面决定,分别说明如下:(1) 单片机的电源电压 VDD :在该A/D转换中,VDD电压是造成A/D转换误差的主要原因, 如果使VDD电压精度做到较高,贝U A/D转换误差可以做到很小,在 VDD电压精度为0.5%情 况下,实际的A/D转换误差小于1%。(2) 软件产生的PWM占空比:若用于产生 PWM的软件设计不良,会使存放占空比的寄存 器值与实际输出的PWM占空比不一致,这会导致测量误差。(3) 比较器输入端的失调电压:该电压对A/D转换精度有
6、一定影响,但影响较小。(4) RC滤波电路的纹波:在 R1、C1取值不当的情况下,U1处的电压纹波较大,并且延时 时间不够,会使A/D转换产生误差,因此 R1、C1取 值不能太小,但太大又会影响 A/D转换 速度,推荐使用图一中所示的R1、C1参数,在纹波合理的情况下,其转换误差也可通过软件消除。A/D转换误差的解决办法:(1) 对VDD造成的误差,只能通过提高 VDD电压精度来解决,它相当于 A/D转换的基准电 压。(2) 对于软件中PWM设计不良导致的误差, 可修改软件进行解决,本文提供了用软件产生 PWM的程序流程图,实际使用中可按此流程设计程序。(3) 对比较器及RC滤波电路的纹波导致
7、的误差,在软件中可通过上、下检测法进行消除,即先将PWM的占空比由小到大变化,使 U1电压由低往高逐 渐变化,在比较器输出端变化 时记录其A/D转换值,再将PWM的占空比由大到小变化,使 U1电压由高到低变化,在比较 器输出端变化时记录其 A/D转换值,将两次的A/D转换值进行平均,可有效地消除这两种误 差。(4) 对A/D转换值进行数字滤波,如多次转换求平均值等。数字滤波消除误差的方法很多, 在此不再赘述。4、A/D转换速度及提高办法:由于该A/D转换是通过PWM滤波后再进行比较来完成的,其 PWM的产生与滤波都需要一定 的时间,因此其A/D转换速度较慢,适用于对 A/D转换速度要求不高的产
8、品中,其 A/D转换 速度取决于以下几个方面:(1) 单片机的运行速度:单片机的运行速度越高则PWM的频率可以越高,RC值就可以取得越小,其延时时间也可以更短,转换速度就更快。(2) 被测电压值的大小:由于 U1电压时是由小到大逐渐加大的,当被测电压值较小时,U1电压上升到相应值的时间就越短,完成A/D转换的速度就越快。(3) 初始占空比:初始占空比越高,U1电压较大,其上升到被测电压值的时间也就会越短, 完成A/D转换的速度也就越快。由上所述,A/D转换的速度可以通过提高单片机的工作频率,并在预知被测电压范围时尽可 能地设置较高的初始占空比值来加快转换速度,如果所要求的A/D转换精度要求不高
9、,还可以在软件中缩短PWM输出的延时时间来提高 A/D转换速度。若单片机带有外部电平变换 中断和定时器中断,其 A/D转换的精度 和速度还可以得到提高。5、输入电压的测量范围:A/D转换的输入电压测量范围为 0V至单片机的电源电压(VDD ),若需要提高被测电压范围, 可将输入电压通过电阻分压后进行测量,但其A/D转换的误差会受分压电阻影响。6、A/D转换通道的多路扩展:图中所用的运算放大器为 LM324,该集成电路内部带有4个运放,其余3个运放的输入端可分 别作为另外3个A/D转换通道,其输出端与单片机连接,在软件上略作修改,就可以在不增 加成本的情况下实现4路A/D转换。7、用同样的工作原
10、理实现 D/A转换:如图二所示,可使该电路很容易地只用单片机的一个I/O脚实现D/A转换功能。其输出的模拟量电压Vout=VDD*D1/ (D1+D2 )。该输出电压带有纹波,当 RC值足够大时,该纹波值几 乎为零,可忽略不计。PWM波形JU1JUULCt1 LM324IV模报量输出Vout-VDD*Dli1Dl+D2)单片机500)this.resized=true; this.width=500; this.alt='点击 查看原 图; this.style.cursor='hand", onclick="if(!this.resized)returnt
11、rue;elsewindow.open(' border="0”>图二8、单片机的A/D转换软件程序流程图:500) (this.resized=true; this.width=500;this.alt='点击查看原图' this.style.cursor='hand'" onclick="if(!this.resized) (return true; else window.open(' border="0">用普通单片机实现低成本 A/D转换(二)摘要:用普通单片机实现低成本的多
12、路A/D转换。关键词:单片机 A/D转换 比较器 计时器在此前笔者曾介绍了普通单片机实现低成本A/D转换的一种方法,在实际使用中还有其它的不少方法可以实现低成本 A/D转换,在本文中我们继续为电子设计者们提供又一种 A/D转换方法,该方法同样占用较少的单片机资源,成本也很低,仍然有很强的实用性,该电路曾在锂离子电池充电器中作 A/D转换使 用,效果良好。其电路如图一所示:500) (this.resized=true; this.width=500; this.alt='点击查看原图' this.style.cursor='hand'" onclick
13、="if(!this.resized)(returntrue;elsewindow.open('border="0"width="500">图一其工作原理说明如下:1、硬件电路说明:图一中的R1和N1 (TL431 )产生一个2.495V的稳定电压,作为 A/D转换比较基准。R2、VI、 VD1、VD2和R3构成一个恒流源电 路给C1充电,C1上的电压与恒流源的电流大小及充电时 间成正比。MC74HC4051为8选1模拟开关,其输入通道由单片机控制来选择。LM393作为 比较器,当C1上的电压由低到高上升到超过模拟开关输出电压时,
14、其输出端会从低电平转变 为高电平。“RA(L “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)时,比较器的输出端由低电平转为高电
15、平,此时记录下计数器的计数值,为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由于V
16、ref是基准电压(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转换精度有一定影
17、响,但影响较小。4、运算误差:由于 V1值要经过乘除法运算后得到,在进行运算过程中如果数据处理不当, 如余数处理不当,也会产生误差。5、干扰误差:当输入电压不稳时,恒流源的输出电流会有一定的影响,会产生干扰误差。A/D转换误差的解决办法:1、 对Vref造成的误差,只能通过提高 Vref电压精度来解决,它相当于 A/D转换的基准电压。2、 对于定时器误差,在单片机中可使 RA0 口采用带电平变化中断功能的 I/O 口,以提高反应 速度,同时减少恒流源的电流大小,或加大 C1电容容量,可以增加T1、T2的测量时间,使 计数值加大,达到提高 A/D转换精度的目的。3、选用灵敏度高的比较器可解决比较
18、器输入端导致的误差问题。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计数值太小时有可能使定时器因素造 成的误差增大,因此在实际使
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年太原幼儿师范高等专科学校单招职业技能考试题库附参考答案详解(黄金题型)
- 2026年宁夏工业职业学院单招职业技能考试题库及答案详解1套
- 2026年天津仁爱学院单招职业技能考试题库附答案详解(满分必刷)
- 春季流感科学预防与健康防护培训
- 消防泵运行管理维护制度
- 项目部员工能力提升与培训计划
- 2025年培训电工试题及答案
- 2026年宁波工程学院单招职业技能测试题库附答案详解(研优卷)
- 2026年大连汽车职业技术学院单招职业技能测试题库及答案详解(各地真题)
- 2026年天津电子信息职业技术学院单招职业技能测试题库及答案详解(典优)
- 新人教版五年级下册英语全册教案(表格式)
- 23、资质证书使用与管理制度
- 家谱树形图模板
- 校园文化建设情况自查报告
- 药学分子生物学:第二章 DNA的复制、损伤和修复
- 【基于7P理论的汉庭酒店服务营销策略14000字(论文)】
- 2023-2024学年度新人教版必修二Unit4 History and Traditions基础巩固练习
- 总经理财务知识培训
- GB/T 13911-1992金属镀覆和化学处理表示方法
- Unit 1 Discover useful structures 语法精讲课件 【高效识记+延伸拓展】高中英语人教版(2019)选择性必修第三册
- 复测分坑作业指导书
评论
0/150
提交评论