查看: 110|回复: 5
收起左侧

同步机转子检测

[复制链接]

35

主题

125

帖子

1003

积分

助理工程师

 楼主| 发表于 2017-8-9 14:51 | 显示全部楼层 |返回版面||阅读模式
下面一段程序的功能是检测同步机转子位置,不知思路是什么?
void SynInitPosDetSetPwm(Uint Section)
{
        EALLOW;
        switch(Section)
        {
                case 0:                                                                        // A+, B-
                        EPwm1Regs.AQCSFRC.all = 0x08;      
                        EPwm2Regs.AQCSFRC.all = 0x02;
                        EPwm3Regs.AQCSFRC.all = 0x0A;      //1010?
                        break;

                case 1:                                                                        // A-, B+
                        EPwm1Regs.AQCSFRC.all = 0x02;
                        EPwm2Regs.AQCSFRC.all = 0x08;
                        EPwm3Regs.AQCSFRC.all = 0x0A;
                        break;

                case 2:                                                                        // B+, C-
                        EPwm1Regs.AQCSFRC.all = 0x0A;
                        EPwm2Regs.AQCSFRC.all = 0x08;
                        EPwm3Regs.AQCSFRC.all = 0x02;
                        break;

                case 3:                                                                        // B-, C+
                        EPwm1Regs.AQCSFRC.all = 0x0A;
                        EPwm2Regs.AQCSFRC.all = 0x02;
                        EPwm3Regs.AQCSFRC.all = 0x08;
                        break;

                case 4:                                                                        // A-, C+
                        EPwm1Regs.AQCSFRC.all = 0x02;
                        EPwm2Regs.AQCSFRC.all = 0x0A;
                        EPwm3Regs.AQCSFRC.all = 0x08;
                        break;

                case 5:                                                                        // A+, C-
                        EPwm1Regs.AQCSFRC.all = 0x08;
                        EPwm2Regs.AQCSFRC.all = 0x0A;
                        EPwm3Regs.AQCSFRC.all = 0x02;
                        break;

                case 6:                                                                        //恢复PWM模块的寄存器设置
                        EPwm1Regs.DBCTL.all         = 0x0007;  //OUT_MODE=11  POLSEL=01
                        EPwm1Regs.AQCTLA.all         = 0x0090;  //CAD=10 下降计数若比较相等,则Set: force EPWMxA output high;CAU=01 上升计数若比较相等,Clear: force EPWMxA output low
                        EPwm1Regs.AQCTLB.all         = 0x00;
                        EPwm1Regs.AQCSFRC.all        = 0x00;

                        EPwm2Regs.DBCTL.all         = 0x0007;
                        EPwm2Regs.AQCTLA.all         = 0x0090;
                        EPwm2Regs.AQCTLB.all         = 0x00;
                        EPwm2Regs.AQCSFRC.all         = 0x00;

                        EPwm3Regs.DBCTL.all         = 0x0007;
                        EPwm3Regs.AQCTLA.all         = 0x0090;
                        EPwm3Regs.AQCTLB.all         = 0x00;
                        EPwm3Regs.AQCSFRC.all         = 0x00;
                        break;

                default:                                                                //同步机初始位置角检测初始化寄存器
                        EPwm1Regs.AQCSFRC.all         = 0x0A;                //CSFB=2--EPWM1B=1  CSFA=2--EPWM1A=1
                        EPwm1Regs.DBCTL.all         = 0;                       
                        EPwm1Regs.AQCTLA.all         = 0x000C;        //PRD---Toggle EPWM1A
                        EPwm1Regs.AQCTLB.all         = 0x000C;   //PRD---Toggle EPWM1B

                        EPwm2Regs.AQCSFRC.all         = 0x0A;
                        EPwm2Regs.DBCTL.all         = 0;
                        EPwm2Regs.AQCTLA.all         = 0x000C;
                        EPwm2Regs.AQCTLB.all         = 0x000C;

                        EPwm3Regs.AQCSFRC.all         = 0x0A;
                        EPwm3Regs.DBCTL.all         = 0;
                        EPwm3Regs.AQCTLA.all         = 0x000C;
                        EPwm3Regs.AQCTLB.all         = 0x000C;
                        break;
        }
        EDIS;
}
     

582

主题

2万

帖子

6万

积分

版主

发表于 2017-8-9 20:29 | 显示全部楼层 |返回版面
不知道什么原理

35

主题

125

帖子

1003

积分

助理工程师

 楼主| 发表于 2017-8-11 08:19 | 显示全部楼层 |返回版面
没人搞过吗?
     

330

主题

1万

帖子

4万

积分

版主

---------------------

发表于 2017-8-11 20:09 | 显示全部楼层 |返回版面
没头没脑的问题, 硬件也不讲, 信号怎么过来的. 什么处理器.

就帖个代码, 谁来帮你猜谜呀?
欢迎进入 TI 模拟技术论坛

35

主题

125

帖子

1003

积分

助理工程师

 楼主| 发表于 2017-8-12 10:52 | 显示全部楼层 |返回版面
用的是TMS320F28035平台,我的本意也就是看看有没有刚好搞这个的,若搞过,一看这代码就明白了,若没搞过,就费劲了。
     

0

主题

15

帖子

52

积分

初级技术员

发表于 2017-8-18 08:26 | 显示全部楼层 |返回版面
高深啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

热门推荐上一条 /3 下一条

分享 快速回复 返回顶部 返回列表