请教(Microchip)AN1017关于电机正弦控制的问题

2020-02-07 09:37发布

请教(Microchip)AN1017关于电机正弦控制的问题,小的有几个问题不明白,请教大家:
在AN1017 demo程序中
1)
// These Phase values represent the base Phase value of the sinewave for each
// one of the sectors (each sector is a translation of the hall effect sensors
// reading
#define PHASE_ZERO         57344
#define PHASE_ONE        ((PHASE_ZERO + 65536/6) % 65536)     //2730
#define PHASE_TWO        ((PHASE_ONE + 65536/6) % 65536)      //13652  
#define PHASE_THREE        ((PHASE_TWO + 65536/6) % 65536)      //24574
#define PHASE_FOUR        ((PHASE_THREE + 65536/6) % 65536)    //35496
#define PHASE_FIVE        ((PHASE_FOUR + 65536/6) % 65536)     //46418
请教Phase_zero为什么定义为-45度?
2)
if (Required_Direction == CW)       
{
    Phase = PhaseValues[Sector];
}
else
{
// For CCW an offset must be added to compensate difference in
// symmetry of the sine table used for CW and CCW
    Phase = PhaseValues[(Sector + 3) % 6] + PhaseOffset;
}
请教大家,电机反转时,Phase = PhaseValues[(Sector + 3) % 6] + PhaseOffset;
看不明白。
注: int PhaseOffset = 4100;
麻烦大家多多指教,谢谢!!

(原文件名:sector.JPG)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
tiancaigao7
1楼-- · 2020-02-07 10:31
反转和正转的电压矢量正好相差180°,你已经画出了这张图,应该就很明白这个了呀?
xk376632352
2楼-- · 2020-02-07 15:36
 精彩回答 2  元偷偷看……
xkdwangcs
3楼-- · 2020-02-07 16:59
这个问题,没有人继续探讨下去了吗
注视是说,这个角度是因为,正传和反转用的是同一个表,为了对称,然后加上这个角度的。但是不理解啊。
xkdwangcs
4楼-- · 2020-02-07 18:59
经过我今天的思考和总结,我发现了这个偏置角度的由来了。偏执角度=60度-2*15度。计算公式就是上面的。这里的15度呢,是定义的六个基本矢量已经默认的超前角度为15度。为什么是两倍的呢,因为正转的时候,你已经超前5度了。那么反转的时候,需要减掉30度,才可以使反转超前15度。而为什么要加上60度呢。我这里给你细细分析啊。

其实例子中定义的6个基本矢量#define PHASE_ZERO         57344
#define PHASE_ONE        ((PHASE_ZERO + 65536/6) % 65536)     //2730
#define PHASE_TWO        ((PHASE_ONE + 65536/6) % 65536)      //13652   
#define PHASE_THREE        ((PHASE_TWO + 65536/6) % 65536)      //24574
#define PHASE_FOUR        ((PHASE_THREE + 65536/6) % 65536)    //35496
#define PHASE_FIVE        ((PHASE_FOUR + 65536/6) % 65536)     //46418
是每个扇区的起点了。
假设按照例子定义的这些起点是电机CW转的时候,定义的起点。那么该扇区按照该起点开始每个PWM周期加个角度θ
如果电机要求往零位一个方向转时候,就希望该扇区的终点是作为反转的扇区的起点。
每个扇区起点和终点之间相差了60度,所以这个就是60度的由来啊。
h_12345
5楼-- · 2020-02-07 23:41
我现在也是参考这个例程来做,方波可以,但是正弦波控制时,电机不能转,
楼上方便聊一下吗?
ibichao
6楼-- · 2020-02-08 05:29
你好,Phase = PhaseValues[(Sector + 3) % 6] + PhaseOffset这的公式是如何得来的,你解决了吗?我也碰到这个疑问了,整不明白

一周热门 更多>