打印

PWM做DAC的问题

[复制链接]
楼主: lism1
手机看帖
扫描二维码
随时随地手机跟帖
61
lism1|  楼主 | 2008-12-7 21:54 | 只看该作者 回帖奖励 |倒序浏览

请教fzyuan,

1、如果恰好MCU的PWM端口是推挽输出,那他就会发现Vout相当的没谱

这话不是很明白,这种情况是MCU的电平和数字IC电平不对口的情况吧?如果对口,就没有问题了吧。

CMOS数字IC不能用,哪单片机直接输出也不能用了?

图中的滤波怎么接到正反馈呀? 这样好像会震荡哦。

请大虾解释下! 谢谢!

使用特权

评论回复
62
fzyuan| | 2008-12-7 22:00 | 只看该作者

不明白。

还是想向vwwj请教一下PWM-DAC为什么不加光耦隔离就没有价值呢?
我想了一个晚上,还是想不通,加个光耦隔离后到底能带来什么好处?
确实很好奇。

使用特权

评论回复
63
lism1|  楼主 | 2008-12-7 22:08 | 只看该作者

他说的价值是是光隔离DAC吧。

使用特权

评论回复
64
hartcomm| | 2008-12-7 23:26 | 只看该作者

请明说

我那个图也是个示意图。
但对你的两点不清楚。
现在单片机的输出基本是可以配置的。可以认为输出是非开集非开漏输出。参考电压也是2.5V。1.25V的话,逻辑芯片还要选低电压的。所以第一点第二点不存在。
 但即使是准双向口(加上拉电阻),供电是2.5V,门芯片是hc14,又有什么问题? 输出的PWM上升沿不陡,波形畸变? 我想应该是这个原因吧。

呵呵 当然万一很不幸,遇到这种情况,也是没关系的。如果上升沿有规律,经过门有固定延时,可以通过调校,消除的。当然,这种情况,我没遇到。

另外,基准一般输出十几毫安,是没问题的。可以看到由于RC的电阻比较大,实际充电电流是很小的,uA级的。

--------------------------------------------------------------------
fzyuan 发表于 2008-12-7 17:42 技术交流  ←返回版面  按此察看该网友的资料 按此把**加入收藏夹 按此编辑本帖


如果有人不动脑子,直接按48楼的图去做了,将有哪些故事发生呢:
1、如果恰好MCU的PWM端口是推挽输出,那他就会发现Vout相当的没谱(当然,如果他的参考VREF的内阻接近0就没事了);
2、还好,MCU的PWM输出不是推挽的,是准双向口,但是VREF想用1.25V的,于是,又发现没谱。

使用特权

评论回复
65
vwwj| | 2008-12-7 23:44 | 只看该作者

隔离型的DAC比非隔离型的价值高得多

  无论是从应用范围,安全性等等.
  尤其是外接电路地是浮动的情况下

使用特权

评论回复
66
lism1|  楼主 | 2008-12-8 00:59 | 只看该作者

用数字IC做输出,参考电压肯定要和单片机的电压一样。

要高精度,单片机用推挽输出,不能用开漏+上拉输出。

我猜fzyuan说的是单片机的电压比数字IC高,会反灌到参考电压里。

参考电源的输出不需要那么大,接个大点电容可以解决了。

fzyuan贴的图,只能实现16位分辨率,输出不是线性的。可能还要考虑MOS管的极电容的影响。
图有点参考价值!

使用特权

评论回复
67
fzyuan| | 2008-12-8 12:21 | 只看该作者

一些说明:

1、对67楼的“要高精度,单片机用推挽输出,不能用开漏+上拉输出。”
其实并不一定,如果单片机是标准51,那么用它的准双向口去驱动1个mos管是没有问题的,这时你肯定要说51只有几十uA的输出电流,如何可以快速克服mos管栅源电容呢?没问题,因为标准51输出高电平时,在开始的一段时间内具有强上拉能力(时间约为几个时钟周期),只要栅源电容不太大(2N7002就很小),就可以很快冲上去了。
2、确实是因为单片机的高输出会通过反向器端口的ESD保护二极管冲到参考电压端。
3、在参考电源上加大电容并不一定能解决上述问题,因为这已经破坏参考源的稳定性了。
4、是否线性?你可以做个仿真或实测一下。

另外,既然你已看到这个份上,那我就把那个别人出10块钱我都不肯卖的秘密告诉你吧:

将图上Q?、R?用一个单刀双掷的模拟开关去替换,就可以随心所欲了!

使用特权

评论回复
68
lism1|  楼主 | 2008-12-8 15:17 | 只看该作者

呵呵,模拟开关是可以做,哪就增加成本了。

我没有用模拟开关做过试验,模拟开关的阻值变化比较大,应该有影响吧。
还有开关的波形是否好呢?

哪个图你有用过?输出是线性的吗?

我没有模拟,只是算了一下

https://bbs.21ic.com/upfiles/img/200812/2008128145857129.jpg


电容上的电压跟充电电流和放电电流的比例有关系

V =( I1/I2 )*C

充电电流I1=( (Vref-V)/(R1+R2) )*X/65536

放电电流I2=(V/R2)* (65536-X)/65536

X为PWM值,假定是16位分辨率。

  
  I1/I2=(Vref-V)*X*R2/ ( V*(R1+R2)*(65536-X) )


  上式不是线性的。


这样的算法正确吧。


使用特权

评论回复
69
vwwj| | 2008-12-8 16:05 | 只看该作者

楼上16位PWM小心哦

  受制于MCU主频,估计16位PWM频率是40Hz以下

使用特权

评论回复
70
lism1|  楼主 | 2008-12-8 17:26 | 只看该作者

呵呵,是理论说而已。

这些问题应用时候肯定会注意到。

AVR用16M晶振,16000000/65536=244 HZ 呀。

使用特权

评论回复
71
AV693| | 2008-12-8 17:45 | 只看该作者

关于电视的调谐电压PWM输出精度

关于电视的调谐电压PWM输出精度:
电视机的AFC输出电压会传输回到CPU重新采样,CPU会重新根据偏差调整PWM。(似乎大家没想到这点)
这是一个负反馈的过程。
所以用电视的这个倒子说明PWM精度并不适当。

使用特权

评论回复
72
567| | 2008-12-8 20:18 | 只看该作者

PWM做DA原理图

来自Atmel评估板原理图

使用特权

评论回复
73
lhmf| | 2008-12-18 10:17 | 只看该作者

。。。。。。

使用特权

评论回复
74
q8360428| | 2012-8-6 15:12 | 只看该作者
5# lism1
虽然 我也很年轻   但就楼主  这态度           哈哈

使用特权

评论回复
75
sfpxfpcfp| | 2012-8-6 15:19 | 只看该作者
单片机可以摸拟PWM输出

使用特权

评论回复
76
q8360428| | 2012-8-6 15:32 | 只看该作者
55# fzyuan
55的跟随器  不错  刚想说47楼的跟随  不稳定:)

使用特权

评论回复
77
ljm810010| | 2012-8-6 23:15 | 只看该作者
似乎还没有结论。。。

使用特权

评论回复
78
muelfox| | 2012-11-8 13:18 | 只看该作者
当单片机上有10位的ADC和16位PWM时,用哪个做DAC精度高点?

使用特权

评论回复
79
muelfox| | 2012-11-8 13:24 | 只看该作者
当单片机上有10位的DAC和16位PWM时,用哪个做DAC精度高点?

使用特权

评论回复
80
dragon20100708| | 2012-11-8 13:39 | 只看该作者
Mark

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则