
假设单片机的电源电压为5V,并假设输出高电平也为5V.
当PWM的占空比为100%时,输出电压有效值为5V,当占空比为0时,输出电压有效值为0V,当占空比为50%时,输出电银搭压有效值为2.5V,以此类推.当然以上为理论上的值,实际使用时PWM频率要适当高些,同时在输出并上改搏锋个电容,让输出电压较平稳而不至于真的是个脉冲.
当然,这种DA的精度是不高的,用于要求不高的场合,如果要求精度较高的时候,要用到外部DA芯片,关于这个,见参考文献P286,这里有详细的线路与程序,及其原理说明等。
我用单片机做过PWMDA。如果速度要做到50毫秒以下,12位精度,在脉宽50毫秒情况下,你的时间分辨率要达到50/4096=12微秒左右,不尘运则知道派棚PLC能做到吗?如果PLC程序能做到,可以用晶体管输出的DO点,带一个RC滤波电路,然后用电压跟随运算放大器进行缓冲输出就可以得到0-10V电压输出。有个悄派情况楼主要考虑,加滤波器后,DA的最终输出速度就远远低于50毫秒了。如果要得到50毫秒DA速度,你的PWM脉宽肯定要远远小于50毫秒,PLC是难以处理的。1、DA信号先变成直流信号u,然后将将该直流信号u用运放进行放大,使得DA输出电压变为0-8V之间,再用运放搭建一个电位平移电兄拍路,将电压平移到-4V到+4V之间。2、PWM信号变成直流信号主要有两种方法,第一种:用多级RC滤波电路(一般2-3级RC滤波即可),可以变成直流,这种方法比较简单,但是,输出阻抗大,不能带负载。第二种方法:用运放构成的有源滤波器来滤波,这种方法效果好,输羡厅羡出阻抗小,就是电路稍微复杂了点,而且要一些计算。用一个单运放就可以实现3级滤波。但是要注伏中意运放的选择,如果是单电源供电的话,运放要采用Rail-to-Rail的运放。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)