打印

灯是灭呢?还是开?

[复制链接]
2588|20
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
liliang9554|  楼主 | 2013-8-24 21:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
具体就是:

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

现欲将此信号作为输入给单片机(C51),单片机只需据此判断出任意时刻时,灯是灭呢?还是开(任意亮度)?
沙发
午夜粪车| | 2013-8-24 21:12 | 只看该作者
通过判断0,1

使用特权

评论回复
板凳
zhaoxqi| | 2013-8-24 21:12 | 只看该作者
一是要引入过零判断,而是比较容易误判,PWM里有0,也有1,视过零点和占空比

使用特权

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

使用特权

评论回复
5
jiajs| | 2013-8-24 21:14 | 只看该作者
读到IO口有高不就知道灯亮了吗

使用特权

评论回复
6
zhenykun| | 2013-8-24 21:14 | 只看该作者
嗯,用中断口可以

使用特权

评论回复
7
zhanghqi| | 2013-8-24 21:15 | 只看该作者
根据PWM周期来检验信号是否发生逻辑变化

使用特权

评论回复
8
wyjie| | 2013-8-24 21:15 | 只看该作者
RC滤波为直流电压

使用特权

评论回复
9
yszong| | 2013-8-24 21:16 | 只看该作者
RC滤波为直流电压方案实验:

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

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

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

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

使用特权

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

使用特权

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

使用特权

评论回复
12
heweibig| | 2013-8-24 21:17 | 只看该作者
才两K的信号嘛,开个定时器10K,随便都能扫到它

使用特权

评论回复
13
wuhany| | 2013-8-24 21:19 | 只看该作者
多统计几次不就玩了? 哈哈

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

使用特权

评论回复
14
lizye| | 2013-8-24 21:20 | 只看该作者
用电容隔直后,用三极管转换,再RC滤波

使用特权

评论回复
15
shimx| | 2013-8-24 21:22 | 只看该作者
如果不判断PWM宽度
最简单方式:将PWM直接接51的中断IO,但不打开中断。这样只要检查中断标志有无出现,就知道PWM有无输出。
如果需要判断PWM,5L的可以简单的用非门反向,电压就是从高到低变化。

使用特权

评论回复
16
jiaxw| | 2013-8-24 21:22 | 只看该作者
根据PWM周期来检验信号是否发生逻辑变化
只需用到信号外部中断和内部定时器中断即可完成,很简单的

使用特权

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

使用特权

评论回复
18
liliang9554|  楼主 | 2013-8-24 21:25 | 只看该作者
结贴了,再次谢谢大家

使用特权

评论回复
19
李冬发| | 2013-8-24 22:15 | 只看该作者
这个叫吃饱了撑着。

使用特权

评论回复
20
通宵敲代码| | 2013-8-25 11:53 | 只看该作者
1、判断是否有1,有就是开着,不用管时间多少的。

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

使用特权

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

本版积分规则

950

主题

11568

帖子

6

粉丝