打印

难题:两个方波40kHz,测量相位差(最小1uS),以及超前滞后关

[复制链接]
6653|32
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
snakeemail|  楼主 | 2008-8-25 14:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
难题1:测量超前滞后,用D触发器判断,当相位差很小的时候,超前滞后就判断不清楚了。
难题2:测量相位差,使用两个方波的上升沿测量,可是当相位差很小的时候就测不准了,进中断要花时间。

搞的东西是谐振感应加热电源,过来的就是电压和电流的波形。
使用cap功能感觉老是觉得不完善,感觉输入的波形还可以处理一下,因为到谐振时,电流电压的相位差太小,进中断又是要花时间的,
fpga的同志不用想了,老板不用。
有没有想到用锁相环处理的。

判断超前滞后,两个波有90°的相位差,这是必要条件吗?
是不是相位相差越小,方向就不好判断?如果是这样,我把两个方波分频一下,这样就好判断。

相关帖子

沙发
chinaitboy| | 2008-8-25 16:02 | 只看该作者

用主频高的MCU,比如C8051F或ARM,能到50M以上

使用特权

评论回复
板凳
snakeemail|  楼主 | 2008-8-25 16:28 | 只看该作者

有没有什么好方法,不让mcu这么累。

2us内让cpu中断,有点免为其难了

使用特权

评论回复
地板
forthlab| | 2008-8-25 16:40 | 只看该作者

D触发器都不能分辨,那CPU更不行了

1US的时间,D触发器是能分辨的.

使用特权

评论回复
5
hq_y| | 2008-8-25 16:46 | 只看该作者

使用硬件:

难题:两个方波40kHz,测量相位差(最小1uS),以及超前滞后关系 

难题1:测量超前滞后,用D触发器判断,当相位差很小的时候,超前滞后就判断不清楚了。

D触发器可以;

难题2:测量相位差,使用两个方波的上升沿测量,可是当相位差很小的时候就测不准了,进中断要花时间。 

加一个脉冲计数;
先使用硬件把L检测出来;
再使用这个L开通打开一个时钟,比如10M;然后做一个硬件计数器,mcu数数计了多少数,就知道相位差是多少了;
 

使用特权

评论回复
6
lyjian| | 2008-8-25 18:35 | 只看该作者

用单片机的捕捉功能

使用特权

评论回复
7
dengm| | 2008-8-25 19:05 | 只看该作者

24MHZ 的51, 用timer0, timer1 门控

信号 接 P3.2 P3.3, 


        ORG 000BH  ; TIME 0
          CLR ET0
          JNB ET1, SUB_TT 
          RETI

        ORG 001BH  ; TIME 1
          CLR ET1
          JNB ET0, SUB_TT 
          RETI


 SUB_TT:
       CLR TR0
       CLR TR1

使用特权

评论回复
8
harlemjia| | 2008-8-25 20:21 | 只看该作者

单片机显然不合理

D触发器吧 

使用特权

评论回复
9
lyjian| | 2008-8-25 20:28 | 只看该作者

什么叫“单片机显然不合理”

单片机的捕捉功能能做到只有几十ns的误差(一个时钟误差)
不就40K吗

使用特权

评论回复
10
awey| | 2008-8-25 20:47 | 只看该作者

测A波的上升延到B波的下降延的时间差,再与标准值比较

使用特权

评论回复
11
lyjian| | 2008-8-25 20:52 | 只看该作者

最简单的方法就是使用带捕捉功能的单片机

D触发器吧还得再加单片机来处理数据
用带捕捉功能的单片机如89C51Rx系列单片机可以非常容易实现
两路方波分别连接到两路捕获输入,捕获功能设成上升沿触发
只要简单的读一下捕获数据寄存器的值就知道相位差及超前滞后了

使用特权

评论回复
12
肖斌| | 2008-8-25 21:43 | 只看该作者

用单片机计数不准

建议楼主用FPGA测相位差,很精确

使用特权

评论回复
13
snakeemail|  楼主 | 2008-8-25 22:27 | 只看该作者

有没有人想到用锁相环的?

使用特权

评论回复
14
lyjian| | 2008-8-26 09:12 | 只看该作者

12楼没用过捕捉功能就不要乱说

使用特权

评论回复
15
snakeemail|  楼主 | 2008-8-26 10:12 | 只看该作者

判断超前滞后,两个波有90°的相位差,这是必要条件吗?

是不是相位相差越小,方向就不好判断?

使用特权

评论回复
16
snakeemail|  楼主 | 2008-8-26 15:54 | 只看该作者

away的方法延长了进中断的时间,妙!四两拨千斤呀.

可是away,你只延长了超前的时间,可是要是滞后的话,时间又回到了原来。
原来超前的两个方波,如果测两个方波上升沿的时间差,很小,如果改为测一个方波的上升沿和另一个方波的下降沿之差,可以将这个时间延长。
但是如果此时这两个方波变成滞后,一个方波的上升沿和另一个方波的下降沿之差,就变小了,不好测了。

使用特权

评论回复
17
xwj| | 2008-8-26 16:27 | 只看该作者

两个方波就一定会一样脉宽吗?

很难说吧?

使用特权

评论回复
18
snakeemail|  楼主 | 2008-8-26 16:43 | 只看该作者

xwj,两个方波的脉宽不管是否一样,要求测两者上升沿的时间

hq_y同志的硬件数脉冲好。搞个40M的晶振,25ns,把相位差检出后给计数器,高电平计数,下降沿就让cpu进中断,读出计数值.

使用特权

评论回复
19
snakeemail|  楼主 | 2008-8-26 16:51 | 只看该作者

先谢王老上次给我的资料。

这是个谐振电源,电流和电压的周期是相同的。
方波的脉宽就是占空比。

使用特权

评论回复
20
bald| | 2008-8-27 10:55 | 只看该作者

试试用两个定时器

定时器1记录(A-B)的延迟时间
定时器2记录(B-A)的延迟时间
至于采用哪个数据,由程序去判断吧

使用特权

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

本版积分规则

547

主题

1910

帖子

8

粉丝