打印

sh69p21做交流电频率测试

[复制链接]
2770|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tcc8073|  楼主 | 2011-4-21 19:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我目前用中颖SH69P21做一个自交流电50HZ和60HZ的程序设计,第一次用4位单片机,时间很赶,有没有人提供一个例子,电路是用三极管做过零检测,我现在有写一个,但是很不稳定,我的思路是在中断的周期内用定时器做判断,同时检查中断脚电平变化,如果变化合条件就结束检测,发现干扰很大,有人做过吗?指点下,要做稳定不容易
沙发
bananarer| | 2011-4-22 17:31 | 只看该作者
本人没有做过,纯属胡扯
交流电过零,会翻好几下的,需要你软件做一下滤波
或者外面加一个低通滤波试试

使用特权

评论回复
板凳
neyo.zhong| | 2011-4-22 17:33 | 只看该作者
我一般这样做,可能有点罗嗦,或不足之处:
1.开启口中断

2.设置口中断方式(推荐用外部中断0,也就是PA.0口,因为支持双向触发)

3.开启全中断

4.当口中断响应时,关闭口中断,设置定时器0,定时时间为5、6ms,开启定时器0中断。

5.定时器0中断响应时,此时关闭定时器0中断,再次开启口中断,这样做的目的是滤掉过零点后5ms内的杂波。

5.当口中断响应时,除了定时器0中断,同时开启定时器1,定时时间可以为1ms或是0.5ms,用于计时,每中断一次,时间计时加1。

6.当下一次口中断响应时,此时判断定时器1的时间,根据时间来判断是50HZ还是60HZ,同时过零正确计数加1,若加1后达到15次就不再加1,设置系统为交流电模式。

7.若定时器1计时时间超过30ms或是小于1次过零的最小时间,就认为过零出错,清零重新计时,同时过零错误次数累加1,如果连续1秒没有过零信号,就说明无交流电或是过零模块损坏,将系统切换为掉电模式。

8.掉电模式时,口中断一直开启,若是连续正确过零15次,就认为过零有效,切换到交流电模式。

使用特权

评论回复
地板
tcc8073|  楼主 | 2011-4-24 09:57 | 只看该作者
一次进入外部中断程序后开定时器中断,用定时器1MS做基准,定时器到就计数一次,到下次外部中断程序就结束计时,计数的个数字就可以了,不过为了防止干扰,需要做算法判定是否有干扰,四位单片机做这个算法麻烦点,不过没有办法

使用特权

评论回复
5
neyo.zhong| | 2011-4-25 10:55 | 只看该作者
我一般判断到一次过零后,都会关闭外部中断5、6ms后再次开启,这样防止一些毛刺被误判。

使用特权

评论回复
6
int3| | 2011-4-26 10:55 | 只看该作者
做LED吧,是不是时钟同步问题?

使用特权

评论回复
7
tcc8073|  楼主 | 2011-4-26 11:32 | 只看该作者
类似LED控制,以前做得少,时间有点赶

使用特权

评论回复
8
int3| | 2011-4-26 15:25 | 只看该作者
还没解决吗?

使用特权

评论回复
9
tcc8073|  楼主 | 2011-4-26 15:48 | 只看该作者
被另外项目打断,已经写了部分,应该可以做出来,只是第一次用新款单片机

使用特权

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

本版积分规则

个人签名:诚信,务实,专业,创新

179

主题

1359

帖子

7

粉丝