本期我们就来介绍一下STM32G474RE中如何利用板载运算放大器放大不带偏置的交流信号(负电压)。: ?% U3 A! `4 y3 J$ G3 K, ~ 5 {1 T6 C8 |7 q& ` 首先根据STM32G474的芯片手册,其运算放大器具有非常多的功能,由许多的多路复用器进行选择。. j2 n4 i# a1 ~0 w8 ^9 q! _" N! a9 [ ' g; V9 s) l1 t- g, @/ _ n 其部分运算放大器同向输入端可以连接至板载数模转换器,关于这两路DAC(STM32G474RE中总共有四个DAC)+ k0 I& m1 j! S$ E5 S) l 可以看到DAC3和DAC4是没有直接的GPIO连接的,但是我们它可以连接至OPAMP的同相输入端,这使得我们可以通过OPAMP的跟随器(Follower)来将其输出。 同样的,本期我们想要处理负输入端的信号我们也要用到OPAMP的同向输入端接入DAC的这个特性,我们使用DAC的输出作为一个偏置构成一个反向比例放大电路。: s& U4 e! M( x6 s8 b6 M/ Y 具体的配置电路图在手册中说明了,其中的VINP留出(我们将其配置为连接到DAC),我们的信号从VINM(反相输入端)输入,其遵守以下的公式。6 Y' @9 C& J& S! _ 所以我们的输出公式则是成为一个带直流偏置的反向比例放大器。 接着让我们来实际操作一遍。 3 `0 }) ? [: X. p0 P) w ) N( `& L% F3 x8 R 首先我们打开DAC的通道输出,但是这里并没有直接的GPIO来测试是否正常。 6 t1 j' [- h! {) B8 O6 N H" V 接着我们设置为PGA的反向放大,并且将同相输入端接入DAC的输出引脚。. N1 O Z; i5 d3 G; K 6 q" y7 `$ S) `; J- \4 H% x; J 配置我们的工程其他内容。
在工程中开启我们的运算放大器以及DAC,设置DAC的输出,这里我将DAC输出设置为1.665V,由于我们的反向输出端空置,因此此时电路的作用等价于跟随器。输出端输出电压为DAC电压。5 m! f, _+ `% `1 W J& a 由于我们配置的放大倍数是2 or -1;放大倍数是-1即电阻Rf和R相等,因此Vout = 2 * Vd - Vin。所以我们配置DAC的输出电压为四分之一的参考电压,这样子让可以让Vout的偏置电压为参考电压的一半。 , z# n X+ u+ \8 @) T- F 接着测试我们的运算放大器。 ( O6 q* J# `* e v 可以看到我们做到了一个带偏置的反相放大器,其放大倍数为1。/ h# S9 [5 A* D% }: |! x # z) t* ]8 ]; U7 T5 { X6 l 接着我们测试高放大倍数比例放大器。
我们将直流偏置调整为原来的三十二分之一,之后调整PGA放大倍数为16倍。 . a; m) z# T/ P7 F3 t6 @7 l( v9 \ 可以看到,我们将一个峰峰值为100mv的信号放大-15倍,之后输出波形也非常的完美。 $ K4 U: T, A) C" n 最后我们测试其最大的放大倍数。. F6 s. }6 B5 O# o/ u( } ( B; R' \: J, V; O% c% |7 p / R; } E" f; w, a3 l 我们将一个峰峰值20mv的信号放大-63倍,这里由于示波器性能问题(我这个信号线也不是特别好)所以通道二的信号看起来很差,但是输出信号却非常的好。+ I7 u5 b" a9 @: v: M& l8 ^ 6 ~; Z, H% k7 |* `! Q3 L4 p0 x 转载自:电路小白& p6 V9 @% t" C: x 如有侵权请联系删除 9 ~" P) d& W+ c |
Windows+VS Code+EIDE+STM32+gcc编程环境搭建
基于STM32上NanoEdgeAIStudio经验分享
基于STM32的快速傅里叶变换经验分享
基于STM32的硬件和软件IIC区别经验分享
基于STM3利用GPIO翻转模拟串口进行重定向经验分享
基于STM32中GPIO四种模式经验分享
基于STM32利用傅里叶反变换进行数字滤波经验分享
基于STM32用机器学习实现心率异常检测经验分享
基于STM32上的机器学习实例经验分享
基于STM32上的板载运放经验分享