单片机 0~10V 输出电路的实现
2023/7/7 16:58:16 点击:
前言
本次的电路小课堂主要内容就是: 使用单片机如何实现 0 ~ 10V 的信号输出。
一、MCU 的 DAC
比如我们最常见的单片机供电系统为:0 ~ 3.3V。那么我们就可以将 0 ~ 3.3 V 放大 3倍,实现 0~ 10V 的输出。
放大电路当然是使用运放实现,在我的另外一篇博文里面总结过运放的常用电路:
常用运放电路总结记录
这里我们用到的是同相比例运放电路,如下图:
R2 选择 3.3K 还是因为运放的对称性,选择与 R4 和 R3 并联电阻相等的阻值。
本文是电路总结记录,至于电路的效果,我需要看一看是否需要后续补充到文中,因为除了专用芯片,这种用 单电源供电的 普通运放 搭建的电路多少会存在一些问题,最典型的一个问题就是能否输出 0 V。
更新测试效果,第一种使用 DAC 直接放大3倍,感觉直接看起来还是挺满意的,直接上测试图:
二、PWM 加滤波电路
2.1 PWM 输出 DAC
上图只使用一个 RC 的滤波电路称为一阶滤波电路。
为了使得输出更加平滑,我们会使用二阶甚至多阶滤波电路。
为了使得带载能力更强,我们会使用后面接电压跟随器等运放电路。
2.2 PWM 接滤波器的RC值选择说明
我们都知道,RC低通滤波电路的截止频率:
fc=1/2πRC
这个公式非常重要,了解 RC 滤波器必须牢记的公式,截止频率公式。
截止频率实际上是输入信号幅度降低 3dB 的频率。截止频率也称为 -3 dB频率
简单几点说明(当然,如果要具体算式分析,可自行网上搜索,博主还没有写过 RC 滤波器的文章 = =!):
R 越小,输出损耗越大
R 越大,噪声纹波越大
C 越小(比如到达 pf 级别后),越容易被寄生电容影响
C 越大(比如比较大的 uf 级别后),因为电容越大,普通情况下就只能使用电解电容,但是电解电容的高频特性很差,在 RC 滤波器中尽量不要使用电解电容
说来说去,这不是这也不行那也不行?= =!实际上就是这样,这种低成本的电路没有完美的,我们总做的就是一个权衡,在有限的成本规定范围内,设计出一个满足需要的电路。
对于本文我们的 PWM 而言,其本质上是一种高频脉冲信号,其中的高频分量会被低通滤波器滤掉,只有低频分量才能通过滤波器,形成模拟信号输出。我们要保证 PWM 的频率 远大于 RC 低通滤波器的截止频率,至少在 10 倍以上甚至数十倍,因为越往上的频率信号,滤波的效果越来越好。
很遗憾在给 PWM 信号做滤波的时候并没有一个完美的固定值范围告诉大家,一般来说 ,保持电阻在 K 级别,数百欧姆到 K级别都可以,然后电容 nf 级别,nf 到 1uf,当然这只是普通情况,还是具体情况具体分析。
涉及到的细节需要经过很多的分析,但是大家放心,在一般使用中,即便你不知道如何选择,根据网上你能找到的参考 “经验值” ,你也可以完成电路的设计。
重要的是在你按照经验值设计完电路发现问题了以后知道如何去查找问题,如何去调整参数,这是硬件设计的关键所在。
2.3 0~ 3.3V PWM 输出 0 ~10V
方案一:RC 滤波器
图中的阻容大家可以根据自己的需求修改。
测试:
在上文我们说过,我们可以算出 RC低通滤波器的截止频率,我们要保证 PWM 的频率 远大于 RC 低通滤波器的截止频率。
如果 PWM 的频率比较低会怎样,比如,我 PWM 周期为 1HZ,然后占空比设置为50% ,直接给大家看一个图:
根据公式
Tout = ((arr+1)*(psc+1))/Tclk ; // 32MHz 主频
定时器周期为 1 ms, 其实也就表示频率为 1KHz,为了方便表示占空比 0~ 100 对应,上面的 arr 改成了100, 实际上也是 1KHz 左右,再来看看效果:
方案二:三极管
有一个问题,偏置电压老师讲的图上好像是 11V ,这个并不好满足,我使用一个 12 V 串联一个 二极管测试一下:
如果要保证输出不超过 10V ,那么偏置电压最好也选择 10V ,去掉上面的 D3 比较合适,因为这样最高接近 12V 输出了。
三、专用转换芯片
但实际上我没用过,但是既然都要测试了,那也不能落下,那么一下子也不知道什么芯片好,只能去网上搜索(虽然按我的理解是度娘搜索的芯片只能说广告做得多,并不见得好),但是也没有其他办法,于是乎经过一通搜索, 那就是这款芯片了:GP8101 。
看了一下介绍,这个芯片有一个系列,不仅有 PWM 输入的,还有 I2C 结口的:
结语
要说最稳定省心的,肯定是使用专用芯片,如果确实对成本敏感,那就得结合实际需求考虑了。
- 上一篇:2023.7.25 经验分享会 2023/7/25
- 下一篇:庆祝范工入职十周年 2023/6/28