打印

基于F2812的三相电压锁相环

[复制链接]
1752|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
mcz|  楼主 | 2015-5-31 15:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 mcz 于 2015-5-31 21:24 编辑

最近在学习锁相环,下面是一段在网上看到的用F2812来实现的软件锁相环,但看不太明白,希望哪位大侠来解释一下。先谢谢了!

  u_arf=ua;
   u_beta=_IQmpy(ua,_IQ(0.57735))+_IQmpy(ub,_IQ(1.1547));  
   //以上为CLARK变换,可以理解  
                                               
   ud=_IQmpy(u_arf,coswt1)+_IQmpy(u_beta,sinwt1);            
   uq=-_IQmpy(u_arf,sinwt1)+_IQmpy(u_beta,coswt1);            
  //d,q变换

   w_ek[1]=ud;
   w_piout[1]=_IQmpy(w_ek[1],_IQ(1));               
   w_piout[1]=_IQmpy(w_piout[1],_IQ(10));     
   w_piout[1]-=_IQmpy(w_ek[0],_IQ(10));      
   w_piout[1]+=w_piout[0];                  
   w_piout[0]=w_piout[1];                              
   w_ek[0]=w_ek[1];  
  //这一段应该是计算频率偏差值
                                                                                                                                                            
   w_pi=w_piout[1]+_IQ(314); //测量频率值;                    
   wt_ek[1]= w_pi;

   wt_piout[1]=wt_piout[0]+_IQmpy(wt_ek[1],26);  
    //26 对应Ts,开关频率10k                                      
   //这句话不能理解,10K的开关频率怎么是26呢?
                              
   if(wt_piout[1]>=_IQ(6.28))                        
   {wt_piout[1]=_IQ(0);}
   wt_ek[0]=wt_ek[1];                        
   wt_piout[0]=wt_piout[1];
   wt_pi=wt_piout[1];  
                              
   sinwt1=_IQsin(wt_pi);         
   coswt1=_IQcos(wt_pi);      //q18
   
   sinwt=sinwt1;
   coswt=-coswt1;

相关帖子

沙发
mintspring| | 2015-5-31 21:12 | 只看该作者
这个是数字锁相环吗?要懂锁相环的原理啊,我也不太懂数字锁相环。

使用特权

评论回复
板凳
mcz|  楼主 | 2015-5-31 21:18 | 只看该作者
mintspring 发表于 2015-5-31 21:12
这个是数字锁相环吗?要懂锁相环的原理啊,我也不太懂数字锁相环。

是软件锁相环的源程序,可以作为参考,很有用

使用特权

评论回复
地板
mcz|  楼主 | 2015-5-31 21:22 | 只看该作者
wt_piout[1]=wt_piout[0]+_IQmpy(wt_ek[1],26);  
    //26 对应Ts,开关频率10k                                      
这句话不能理解,这个26是如何计算出来的呢?开关频率10k 的话,每个点的相位差为6.28/200啊。因为是乘以频率值。那系数应该是314*6.28/200啊?
求高手指点?                                    

使用特权

评论回复
5
mcz|  楼主 | 2015-5-31 21:26 | 只看该作者
wt_piout[1]=wt_piout[0]+_IQmpy(wt_ek[1],26);  
这句命令中的_IQ最终转换的数是多少呢?

使用特权

评论回复
6
mcz|  楼主 | 2015-6-2 09:18 | 只看该作者
没人顶,自己顶一下

使用特权

评论回复
7
mcz|  楼主 | 2015-6-4 08:33 | 只看该作者
没人气 啊

使用特权

评论回复
8
yelloworange88| | 2017-8-15 17:26 | 只看该作者
本帖最后由 yelloworange88 于 2017-8-15 17:28 编辑

你好,我现在正在做2812的锁相环,请问可以发一份源程序吗

使用特权

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

本版积分规则

mcz

3

主题

28

帖子

0

粉丝