用PWM实现DAC功能

现在单片机型号很多,但是内部拥有12位DAC且性价比较高的芯片恨少,导致在芯片选型时,捉襟见肘。没办法,就想着用PWM实现DAC的功能,这只是初步理论,还没有实践过,先贴出来,后续实现再看效果如何吧。

1,如下图,改方式元器件少,但精度低,文波大一点

输出的模拟量电压Vout=VDD*D1/ (D1+D2)。该输出电压带有纹波,当RC值足够大时,该纹波值几乎为零。

为进一步减小纹波,可使用两级RC滤波。 此处LM324作为一个跟随器,提高电路的负载能力。

2,高精度PWM DAC电路

 

图4的电路在图3电路的基础上增加了开关管T1、基准电压源LM3365和输出放大器TL V2472。MCU从A点输出的PWM波驱动T1的栅极,T1按照PWM的周期和占空比进行开关。T1为低 导通电阻和开关特性好的开关管,如IRF530[4],其典型导通电阻小于0.16 Ω,而截止电阻却非常大,与T1并联的为基准电压LM3365。图4的B点将得到理想的 PWM波形,即:VH=5 V,VL=0 V,波形为方波。A点的PWM波,经过整形得到B点理想PWM波,B点的PWM波再经过两级阻容滤波在C点得到直流分量,即MCU输出的调制PWM波在C 点得到解调,实现了DAC功能。根据式(2)可知,C点的电压为(5 ×n/N)V,为0~5 V之间的电压。由于放大器A1的输入阻抗很大,二级阻容滤波的效果很好,C点的电压纹波极小,满足高精度要求。输出放大器采用TLV2472,工作在电压 跟随器方式,他是一个RailtoRail放大器,他的输出电压的跨度几乎等于电源电压幅度,因此可以得到0 V的电压输出,克服了一般放大器(如LM324,TL071等)输出电压跨度比电源电压范围小1 V左右这一缺点。图4与图3还有一点重要的不同是,图4的电源电压为6 V,而图3为5 V。图4中在MCU接电源电压中串联了二极管,他起降压的作用,因为一般的MCU工作电源范围为4.5~5.5 V之间。图4中采用电源电压为6 V是为了保证LM336 5能正常工作。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值