你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

怎么把PWM信号转为模拟量

[复制链接]
STMCU-管管 发布时间:2020-11-17 09:44
怎么把PWM信号转为模拟量6 v8 Z: @9 N# L" F  U- w# z

5 c# ~+ G8 p1 s4 @$ u有一个测量位置变化的位置传感器,用万用表电压档测量传感器的输出信号,结果显示的是模拟量信号,即位置和信号输出大小呈线性关系。但是,用示波器(Picoscope 4227)测量传感器的输出信号,显示的却是PWM信号(脉宽调制),即位置不同,输出PWM信号的占空比不同。! C" N6 S! `2 Y- ]

: a: f4 {/ ?( V* f
: N0 k( S, J5 J+ u# O3 a% M. @. t
    PWM信号的参数是:200 Hz, 低电平为0V,高电平为18V。
4 F+ P9 y0 ?1 w6 u1 ^# M% ]: J# \; Q
( t/ v  W; s8 B% B/ @' ~$ v$ I6 m
    现在可以确定,我的传感器输出信号是PWM信号。PWM信号需要输入到控制器I/O中,但是控制器I/O口不具备直接采集PWM信号的功能。% h5 P6 C. }0 A! y  J- i3 G0 a

" {; n4 ?2 f  A6 k8 A

' K8 Z  O3 q3 s( q. n解决方案
: S+ A1 v2 J, W+ f' ~4 w6 l6 h1 {: U
: z- @5 ^! i; t

6 x$ Z- N: [! I3 q' ~1 N8 ?% e    设计个电路,将PWM信号转化为模拟量信号,然后将转换后的模拟量信号输入到控制器模拟量I/O口。
1 e8 }1 r2 q/ A3 A: W6 [4 w1 T4 E7 W: E/ w) C" b; L

8 e$ Y  S$ Z6 {转换电路
7 h' b3 i! y9 r. H& n# T* i
) I/ _- y7 R- e) l: o6 [* R/ A4 l% a2 m

  G3 }) ~. h* ^  s; l: C    1. 二阶压控有源低通滤波电路。! t5 f6 K) o1 g' r

' Y8 T5 D# E3 d; v

- J4 Y5 Y2 y1 ]' ]7 s    设计一个深度滤波电路。滤波电路图为:6 l6 R; I3 B5 `3 f* @5 N6 H* \
13.png
    低通滤波频率公式为:f=1/(2π*RC),我最后选择R=1K,C=10uf,算出的低通截止频率f=15.9HZ。
( O; m2 A) T9 M
! {6 g1 \8 u' |) X
& q1 V# r& p8 s- r0 U
    滤波电路后端是一个运算放大器,放大倍数公式:A=1+Rf/R1。我不希望电压被放大,所以我选择A=1.1。又因为R1//Rf=2R(R1,Rf两者并联的值等于R串联值),最终:Rf=220欧,R1=2.2k,R=1k。$ a7 @# U9 Y# q# n
) _5 b: V! q! Z3 C5 {. v

" Y5 w, X3 c* b    2. 积分电路(无源滤波电路)
4 j3 @: J8 V8 f9 f: D( e( p! j0 e0 o4 c. w& w9 c$ Z$ A6 _* s5 X

& I& I" j; x# }2 \5 A% d" _' m/ Y- d9 i    低通滤波电路前面是一个二级积分电路(将两个电容都接地),R=1K,C=10uf。下图是一级积分电路,设计的积分电路是将两个下图电路串联构成二级积分积分:
8 ?; r) l% }9 `( S
14.png
    为验证电路效果进行的测试,我使用的设备是PicoScope4227,由于该设备最大只能生成正负1V的电压信号,就生成了幅值为1V(低电平0V,高电平1V),频率为200HZ的PWM信号作为积分电路的输入信号。各种效果图如下:
, n  {3 c8 D  Y! A
3 }4 m2 W% }8 C' e  N0 x

7 Z: Q& @8 j& o9 W2 ?    示波器直接采集发生器生成的PWM信号,波形如下:" A) Y; a4 h2 _8 s9 C4 N% H- z
15.png
    示波器从二阶滤波电路输入端采集信号,波形如下。发现该号波形与上图的波形相比已经发生了变化。) g! a, B' Y7 x& d  t) v2 P! o
16.png
    示波器从一阶滤波电路输出端中采集到的信号波形,即滤波电路从左往右数,第一个电阻与第一个电容交点的输出波形:& [) h0 ^) u" e
17.png
    滤波器从二阶滤波电路输出端采集到的信号波形,即最终输出信号波形。
; R6 h4 c: {# T- w
18.png

" {5 i& R6 s; r问题: f  ?" }* ]  c* P
  S  ~. y  @' s0 U) B) e3 b$ X6 f$ Z
2 L' ], v6 d. T5 e
    1:为什么万用表电压档测量传感器输出信号,结果是模拟量信号,而示波器看到的是PWM信号?我该相信哪个结果?
- u* t! P7 M/ q3 g5 T1 B% `; l( \7 f4 {) w. {' H
8 B5 B" A% j3 A: ?! w5 O+ [; f
    答:这个问题牵涉到测量输入口的分辨率问题。万用表输入口的分辨率低(通过此例看低于200HZ),而示波器输入口的分辨率高,可达几千,甚至几兆赫兹频率,所以输出的结果不同。我们要相信示波器显示的结果。我理解PWM信号本质还是希望达到模拟量的效果,只是表现形式不同。
4 J+ S" x1 m, K2 v3 V) J+ u
. h- E* R& ]3 j: s# K: C' l

, k1 W+ [& R% s( j" J* }. s) c1 s/ k) Y    2:关于计算公式
0 K) s3 p$ Z3 ~+ m2 C2 D+ d  m# P2 Q6 I7 K8 d/ z$ D. \& N

* j( Z1 _/ [; a    答:在低通滤波电路中,有个频率公式f=1/(2π*RC), 它计算的是低通截止频率(-3dB)。而在积分电路中,有个公式T=RC。 这个 T 是指电容充放电需要的时间。选取 T 时,根据一般经验公式,T>10 * T'(T'表示信号周期)。
0 N/ L8 j( T7 ]4 {; k1 f& g' B  ]3 i, ?6 O1 X' k2 W

1 k( w9 E# X& S5 n    在本例的积分电路中,RC=10ms,只有两倍的信号周期,但是通过测试,信号效果还是比较理想的。如果将更多的积分电路串联,效果会更好。
4 B1 E% L2 {+ ?9 h5 i# L3 P- g- f
5 v+ Y: }) p* _1 |$ C
    3:PWM 信号被控制器采集还有其他方案吗?
7 f$ Y+ j1 H, j2 u3 v% K+ N' I, \5 u* Z# P
8 I) f# ]5 }; {/ k* @+ Y
    答:方案一:将PWM信号倍频,就是提高PWM信号的频率,但是占空比不变化。PWM倍频后的频率大于控制器I/O的分辨率,就可以被控制器默认为做模拟量,从而可以输入到模拟量I/O。
' U8 s# L$ r" M4 D2 S8 N, l/ \* u; X, G  D+ }# @0 W

, I: O* U8 i' l, S  O! c5 t    方案二:通过软件办法计算PWM的占空比。在控制器中编写程序,首先定时,测量这段时间内PWM信号中高电平的时间,从而计算出占空比。( ^0 h4 x( k8 @, p+ A
  G% m  Y3 l5 F% H
赞 收藏 1 评论2 发布时间:2020-11-17 09:44

举报

2个回答
goyhuan 回答时间:2020-11-17 10:18:21
这个电路牛,高手才能算出参数
STMCU-管管 回答时间:2020-11-18 16:03:19
乐天乐 发表于 2020-11-17 10:18
; P7 A+ a, L) H' v这个电路牛,高手才能算出参数
; M3 I/ M" w) e" \! n  N
哈哈
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版