初级会员

- 积分
- 157
- 金钱
- 157
- 注册时间
- 2019-9-10
- 在线时间
- 47 小时
|
10金钱
如题,设计了一个电路用来实现三相电的错相漏相检测
其中用到了PB8和PB9,想用TIM4_CH3和TIM4_CH4捕获输入信号,再根据电平和时序状态判别三相电信号错相漏相的情况
目前已经用multisim仿出了各种错误输入情况下,相应的输出信号时序状态
网上的代码基本是用于测量高低电平的脉宽长度,跟我的略有不同
根据电路,我的想法是当PB8口的V相上升沿触发中断后,对PB9口计数清零,然后当PB9口上升沿触发的时候再次计数,
计算两次间的时间间隔,根据时间间隔的不同判断三相信号是正常、错相或是漏相
但是代码上具体怎么实施暂时无从下手,感觉可以在原子哥输入捕获代码基础上适当改动后实现。
另外,仿出来的时间间隔大体有3.3ms,10ms和16.6ms几个,不知道通过PB9口的计数能不能达到相应的分辨率
仿真结果如下:
1)正常: 上升沿时间间隔约16.6ms
2)AB相反接: 上升沿时间间隔约3.3ms
3)AC相反接: 上升沿时间间隔约3.3ms
4)BC相反接: 上升沿时间间隔约3.3ms
5)A相丢失: 上升沿时间间隔约10ms
6)B相丢失: V相恒为高电平
7)C相丢失: W相恒为高电平
8)AB相丢失: V相和W相恒为高电平
9)AC相丢失: V相和W相恒为高电平
10)BC相丢失: V相和W相恒为高电平
|
|