雪楓 发表于 2013-10-25 10:37

无刷新人 关于microchip AN1017 求前辈指导

小弟最近学习无刷控制作为一个无刷新人看microchipAN1017的程序 有几点不是很明白求大神指导一下小弟拜谢纳    求帮忙

1.在霍尔A中断中
    if ((Sector == 5) || (Sector == 2));
   Current_Direction = CCW;//   为甚么扇区是5和2的时候就是反转呢?

2.正弦表中172个数值时怎么计算出来的;

3.对于PWM中断我知道其周期是20KHZ每50us产生一次中断   这个PWM中断是PWM错误中断其产生中断是的条件不是很清楚?

4.        t1 = ((long)t1*(long)volts) >> 15;        //long型是32位T1是 int型16位为什么不是右移16位而是15位?
        t1 = ((long)t1*(long)tpwm) >> 15;
        t2 = ((long)t2*(long)volts) >> 15;
        t2 = ((long)t2*(long)tpwm) >> 15;
        half_t0 = (tpwm - t1 - t2) >> 1;
      
      PDC1 = t1 + t2 + half_t0;          //这个三个占空比寄存器都有是不是意味着三相都打开
        PDC2 = t2 + half_t0;                //这个t1 t2不是时间么怎么转换成占空比了?
        PDC3 = half_t0;

xiaoxiao201005 发表于 2013-10-26 16:54

确实是新人,一步步来吧,别求急。
你看的这个是简易正弦波控制,建议先从方波控制学起,然后懂了看FOC

雪楓 发表于 2013-10-29 13:31

xiaoxiao201005 发表于 2013-10-26 16:54
确实是新人,一步步来吧,别求急。
你看的这个是简易正弦波控制,建议先从方波控制学起,然后懂了看FOC

这个前辈 方波的没什么问题了基本上都解决了就是看看正弦的然后再看看FOC

tengchao998 发表于 2013-12-27 16:04

同求,我的电机转不起来啊。

1.在霍尔A中断中
    if ((Sector == 5) || (Sector == 2));
   Current_Direction = CCW;//   为甚么扇区是5和2的时候就是反转呢?
这个问题可根据霍尔的上升沿或下降沿确定

flyingford 发表于 2013-12-28 18:46

正传和反转,只是一种定义形式吧,其实和HALL顺序有关系

tengchao998 发表于 2014-1-3 14:20

4、右移15位是定点小数的乘法法则

雪楓 发表于 2014-3-12 15:57

tengchao998 发表于 2014-1-3 14:20
4、右移15位是定点小数的乘法法则

我也是做电机的菜鸟 能不能加QQ不怎么明白的 想请教你下我的11039 17249

DengKai 发表于 2016-9-5 15:26

1.在霍尔A中断中
    if ((Sector == 5) || (Sector == 2));
   Current_Direction = CCW;//   为甚么扇区是5和2的时候就是反转呢?

ANS:参考AN1017文件的表9就可以看出,程式是根据文件所搭配的马达霍尔感测讯号来撰写的。

3.对于PWM中断我知道其周期是20KHZ每50us产生一次中断   这个PWM中断是PWM错误中断其产生中断是的条件不是很清楚?

ANS:在此程式PWM中断只有每个周期中断一次,就是50us中断一次,而PWM故障功能只有保护并没有使用中断。

wuyongbin 发表于 2018-5-16 16:59

能不能把你的程序,给我分享一下呗 /邮箱:1091239664@qq.com
页: [1]
查看完整版本: 无刷新人 关于microchip AN1017 求前辈指导