这个设计的目标是产生一个隔离的DAC输出。12V供电,产生0~5V的输出。达到10000约13.3位的分辨率。要求DAC输出在改变设置后1S内能稳定。需要能长时间保持稳定和低噪声。 能达到要求的DAC只能是14位以上的。价格较贵。通常是I2C或SPI接口,实现隔离需要多个通路。对于I2C接口,实现数据线双向隔离也有难度。 考虑直接使用单片机PWM输出,配合光耦隔离,加上滤波实现。 如图,PWM信号直接驱动光耦的二极管,PWM为高时,TL431被供电,产生 2.5V电压。PWM为低时,输出被下拉到地。这个幅度为2.5V的PWM信号被放大2倍输出后通过3阶滤波。滤波器截止频率约为24hz。 实际测试时发现输出的电压比PWM占空比换算出来的电压略高。 其原因在于第一级LM358不能产生低到0的输出。 尝试将电路改成,TL431输出信号先滤波后放大。 结果PWM为低时,输出信号源电阻大了。没法完全拉低。输出仍然是偏大。 将PWM源改成如下结构,当为低时,使用场效应管短路到地。信号源头可以了。但是电路在上电时直接输出为5V。显然也不符合设计要求。 如果将运放换成轨到轨输出的可能会有所改善。但实际上仍然无法到0 另外还尝试了PWM DAC芯片 精度仍然有偏差,但会小一点。噪声会略大一些。