历史上的今天
今天是:2025年03月04日(星期二)
2021年03月04日 | 为什么万用表电压档测量传感器看到的是 PWM 信号?
2021-03-04 来源:elecfans
有一个测量位置变化的位置传感器,用万用表电压档测量传感器的输出信号,结果显示的是模拟量信号,即位置和信号输出大小呈线性关系。但是,用示波器(Picoscope 4227)测量传感器的输出信号,显示的却是 PWM 信号(脉宽调制),即位置不同,输出 PWM 信号的占空比不同。
PWM 信号的参数是:200 Hz, 低电平为 0V,高电平为 18V。
现在可以确定,我的传感器输出信号是 PWM 信号。PWM 信号需要输入到控制器 I/O中,但是控制器 I/O 口不具备直接采集 PWM 信号的功能。
解决方案
设计个电路,将 PWM 信号转化为模拟量信号,然后将转换后的模拟量信号输入到控制器模拟量 I/O 口。
转换电路
1. 二阶压控有源低通滤波电路。
设计一个深度滤波电路。滤波电路图为:

低通滤波频率公式为:f=1/(2π*RC),我最后选择 R=1K,C=10uf,算出的低通截止频率 f=15.9HZ。
滤波电路后端是一个运算放大器,放大倍数公式:A=1+Rf/R1。我不希望电压被放大,所以我选择 A=1.1。又因为 R1//Rf=2R(R1,Rf 两者并联的值等于 R 串联值),最终:Rf=220 欧,R1=2.2k,R=1k。
2. 积分电路(无源滤波电路)
低通滤波电路前面是一个二级积分电路(将两个电容都接地),R=1K,C=10uf。下图是一级积分电路,设计的积分电路是将两个下图电路串联构成二级积分积分:

为验证电路效果进行的测试,我使用的设备是 PicoScope4227,由于该设备最大只能生成正负 1V 的电压信号,就生成了幅值为 1V(低电平 0V,高电平 1V),频率为 200HZ 的 PWM 信号作为积分电路的输入信号。各种效果图如下:
示波器直接采集发生器生成的 PWM 信号,波形如下:

示波器从二阶滤波电路输入端采集信号,波形如下。发现该号波形与上图的波形相比已经发生了变化。

示波器从一阶滤波电路输出端中采集到的信号波形,即滤波电路从左往右数,第一个电阻与第一个电容交点的输出波形:

滤波器从二阶滤波电路输出端采集到的信号波形,即最终输出信号波形

最终输出波形的参数。
问题
1:为什么万用表电压档测量传感器输出信号,结果是模拟量信号,而示波器看到的是 PWM 信号?我该相信哪个结果?
答:这个问题牵涉到测量输入口的分辨率问题。万用表输入口的分辨率低(通过此例看低于 200HZ),而示波器输入口的分辨率高,可达几千,甚至几兆赫兹频率,所以输出的结果不同。我们要相信示波器显示的结果。我理解 PWM 信号本质还是希望达到模拟量的效果,只是表现形式不同。
2:关于计算公式
答:在低通滤波电路中,有个频率公式 f=1/(2π*RC), 它计算的是低通截止频率(-3dB)。而在积分电路中,有个公式 T=RC。 这个 T 是指电容充放电需要的时间。选取 T 时,根据一般经验公式,T》10 * T‘(T’表示信号周期)。
在本例的积分电路中,RC=10ms,只有两倍的信号周期,但是通过测试,信号效果还是比较理想的。如果将更多的积分电路串联,效果会更好。
3:PWM 信号被控制器采集还有其他方案吗?
答:方案一:将 PWM 信号倍频,就是提高 PWM 信号的频率,但是占空比不变化。PWM 倍频后的频率大于控制器 I/O 的分辨率,就可以被控制器默认为做模拟量,从而可以输入到模拟量 I/O。
方案二:通过软件办法计算 PWM 的占空比。在控制器中编写程序,首先定时,测量这段时间内 PWM 信号中高电平的时间,从而计算出占空比。
史海拾趣
|
旁路电容不是理论概念,而是一个经常使用的实用方法,在50 -- 60年代,这个词也就有它特有的含义,现在已不多用。电子管或者晶体管是需要偏置的,就是决定工作点的直流供电条件。例如电子管的栅极相对于阴极往往要求加有负压,为了在一个直流电源下 ...… 查看全部问答> |
|
1,usb device包含两个configurations, configuration 1是usb mass storage, configuration 2是一个自定义的function; 2, 默认会被windows识别为usb mass storage; 3, 现在需要切换到configuration2, 我发了set configuration 可以成功,但是似 ...… 查看全部问答> |
|
广州单片机之家诚招C程序员两名(有C++经验更佳): 目前主要从事游戏的设计工作,使用自有的e.Net(e时代的网络语言,以C++基本语法为主)进行 视频游戏的开发,开发出的游戏在自有的从89C51到ARM到PC机各种硬件平台上随处可运行.其实 ...… 查看全部问答> |
|
RT,系统是wince4.2,哪位开发过?麻烦发个类似记事本写字板一样的能有输入和存档。以前从未在wince上开发过,新手初来,请各位帮忙!!感谢!! 邮箱:jackbinhao@163.com… 查看全部问答> |
|
如题, 小弟正在学习mobile开发, 因为以前做asp.net, 所以想请教mobile开发模式与.net开发有什么区别, 比如.net主要是事件,用户触发事件后, 需要编写事件的处理函数,而windowsce是消息机制, 请问这个消息和事件的区别, 总是在源码里 ...… 查看全部问答> |
|
请教STM32F103的CAN总线速度和系统时钟之间关系的问题? 偶在调试STM32F103VBT6的CAN总线的时候,外部使用晶体为8MHz,当设置系统时钟=8MHz,APB1=4MHz,BS1=8tq,BS2=7tq,Prescaler=5,得到波特率为50K,两个板子之间CAN收发完全正常。当设置系统时钟使用PLL,设置为72Mhz,APB1=36Mhz,BS1=6tq,BS2=5tq,P ...… 查看全部问答> |
|
看了Ti的文档还是不太清楚,最后只能写绝对路径,就是包含盘符的那种,不过还是不太好 现在情况是这样的:在include文件夹下面我定义了A、B、C三个文件夹,用来放置三种.h文件 其中A文件夹中又有A1、A2、A3三个文件夹,如何包含这几个文件夹的头 ...… 查看全部问答> |




