打印

PWM问题

[复制链接]
766|20
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wangpe|  楼主 | 2020-10-20 22:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
具体就是:

一调光电路中,灯灭的时候,对应一个信号是0;
而灯亮的时候,对应该信号则是PWM(100HZ,占空比5%~95%,仅有1,0电平构成PWM)波,灯的亮度与此PWM占空比成比例;

现欲将此信号作为输入给单片机(C51),单片机只需据此判断出任意时刻时,灯是灭呢?还是开(任意亮度)?

使用特权

评论回复
沙发
langgq| | 2020-10-20 22:38 | 只看该作者

通过判断0,1

使用特权

评论回复
板凳
wangzsa| | 2020-10-20 22:43 | 只看该作者
若能计算一个周期内值的总和,则还要引入过零检测,若为0,则是关状态,若不为0,则为开,但应如何设这采样率?尤其占空比较大即1电平时间较短(例如5%)时候,如何设置采样率才不会误判?

使用特权

评论回复
地板
zhuww| | 2020-10-20 22:47 | 只看该作者
读到IO口有高不就知道灯亮了吗

使用特权

评论回复
5
lium| | 2020-10-20 22:50 | 只看该作者
嗯,用中断口可以

使用特权

评论回复
6
guoyt| | 2020-10-20 22:55 | 只看该作者
根据PWM周期来检验信号是否发生逻辑变化

使用特权

评论回复
7
hanwe| | 2020-10-20 22:58 | 只看该作者
RC滤波为直流电压

使用特权

评论回复
8
yufe| | 2020-10-20 23:04 | 只看该作者
RC滤波为直流电压方案实验:

由于原PWM信号还有别的用途,故用了个或门,另一个输入接地,则输出就等于该PWM,把输出处理,则不改变原PWM信号的波形。

或门输出端焊了个RC滤波回路,RC串联,R取10K,C取100UF电解电容,取电解电容电压作为取样电压,由于该PWM占空比可调,则示波器观察到取样电压随着PWM占空比的改变而变化,最大输出值只有2.5V.

使用特权

评论回复
9
yufe| | 2020-10-20 23:07 | 只看该作者

说明:PWM是高电平=3.3V,低电平=0V的方波。

无论PWM占空比是多少,RC滤波均能输出其高电压3.3V吗?如能,请推荐个参数。

使用特权

评论回复
10
llia| | 2020-10-20 23:10 | 只看该作者
嗯,当PWM为5%时,直接RC滤波的电压 可能低于 单片机 高电平门槛,导致误读为0

使用特权

评论回复
11
langgq| | 2020-10-20 23:15 | 只看该作者
只需要判断是否有没PWM而已,有没必要又虑波又比较的?
典型的简单事情复杂化。
只需要简单计数一下20MS内有没脉冲就知道是0还是PWM了。

使用特权

评论回复
12
wangzsa| | 2020-10-20 23:20 | 只看该作者
才两K的信号嘛,开个定时器10K,随便都能扫到它

使用特权

评论回复
13
zhanglli| | 2020-10-20 23:25 | 只看该作者

多统计几次不就玩了? 哈哈

如果都是0,则是关闭状态。。。否则,相反。

使用特权

评论回复
14
zhanglli| | 2020-10-20 23:29 | 只看该作者
用电容隔直后,用三极管转换,再RC滤波

使用特权

评论回复
15
lium| | 2020-10-20 23:32 | 只看该作者

如果不判断PWM宽度
最简单方式:将PWM直接接51的中断IO,但不打开中断。这样只要检查中断标志有无出现,就知道PWM有无输出。
如果需要判断PWM,5L的可以简单的用非门反向,电压就是从高到低变化。

使用特权

评论回复
16
guoyt| | 2020-10-20 23:35 | 只看该作者

根据PWM周期来检验信号是否发生逻辑变化
只需用到信号外部中断和内部定时器中断即可完成,很简单的

使用特权

评论回复
17
yufe| | 2020-10-20 23:41 | 只看该作者
再次非常感谢各位的建议,先用一或门将该信号引出,因其还要去驱动MOSFET管呢(具体方法见上贴5楼);然后查该IC(51内核)芯片手册,该芯片对输入的信号判断为0还是1不是根据电压(Vil和Vih),而是根据电流(Iil和Iih)大小来定的,大喜,这样即使PWM占空比最大95%(此时1电平5%,0电平95%,以前占空比的定义搞反,特别更正,不好意思,哈哈),RC滤波只有1.6V, 经实验,该51内核的IC依然可以判断为1,问题解决!

使用特权

评论回复
18
langgq| | 2020-10-20 23:45 | 只看该作者

1、判断是否有1,有就是开着,不用管时间多少的。

2、二极管串个电容,给电容值充电不放电,判断电容上的电压,受PWM影响严重,适合与精度不高的时候。

使用特权

评论回复
19
wangzsa| | 2020-10-20 23:50 | 只看该作者
用采样定理,有1就是亮,没有就是灭,为了可靠,可以采两次判断一次!

使用特权

评论回复
20
llia| | 2020-10-20 23:53 | 只看该作者
搞得这么复杂。如果单片机真的很忙,何不用一个锁存器,有1信号锁存,单片机有空就读一下,读完把信号清了。既然都用到或门了,或门不就可以做信号锁存吗?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

938

主题

9837

帖子

2

粉丝