zengan007 发表于 2016-6-22 09:14:03

三相步进电机!大家一起来找茬!

本帖最后由 zengan007 于 2016-6-22 09:15 编辑

1、这是三相电机的处理程序(应该是单三拍处理方式吧),如果按照这种方式去操作电机(电机是三相6拍),会不会出现有些绕组没有工作的情况呢?
2、这个程序下电机正转(MotorX_Dir=1)没问题,但是反转时电机就卡卡的,这又是什么问题呢?相电流波形正转1、2,反转3、4,图4中的B、C相相电流既然只相差90度,这又是啥问题呢?大神们帮我解答下呢,程序就是这样简单,但是一直找不出问题啊,泪奔中。。。

zengan007 发表于 2016-6-24 08:42:16

数据溢出了,把1536改为1535就好了!

xiaowu191 发表于 2016-6-22 09:14:04

1,if(MPP >= 1536)MPP = 0;if(MPP <= 0)MPP = 1536;改成if(MPP >= 1536)MPP -= 1536;if(MPP <= 0)MPP += 1536;
2,正转时,B相滞后A相120度,C相滞后B相120度,正常;反转时,B相滞后A相120度,C相滞后B相240度(即超前120度),似乎是A相不正常;

coleyao 发表于 2016-6-22 15:24:22

最后三行有点没看懂,为何不是:
TIM2->CCR1 = PhaseAData;
TIM2->CCR2 = PhaseBData;
TIM2->CCR3 = PhaseCData;

zengan007 发表于 2016-6-24 08:41:23

xiaowu191 发表于 2016-6-22 14:05
1,if(MPP >= 1536)MPP = 0;if(MPP = 1536)MPP -= 1536;if(MPP

搞定了,嘿嘿!

zengan007 发表于 2016-6-24 08:41:39

coleyao 发表于 2016-6-22 15:24
最后三行有点没看懂,为何不是:
TIM2->CCR1 = PhaseAData;
TIM2->CCR2 = PhaseB ...

是这样的,没错,搞定了!

fangy 发表于 2016-6-24 08:45:43

zengan007 发表于 2016-6-24 08:41
搞定了,嘿嘿!

可怜的66分,帮你搞定了连声谢谢都没。素质啊

kaomantou 发表于 2016-6-24 14:48:59

fangy 发表于 2016-6-24 08:45
可怜的66分,帮你搞定了连声谢谢都没。素质啊

估计忘了这事,哈哈

zengan007 发表于 2016-6-28 17:45:33

fangy 发表于 2016-6-24 08:45
可怜的66分,帮你搞定了连声谢谢都没。素质啊

你啥意思呢?我是通过别的途径搞定的,而不是在这个帖子里看到他们的回帖才搞定的,我很感谢那些回帖的人,尽管他们都没有答到点子上。我最讨厌你这种事情都没有弄清就站在素质的至高点对别人评判的人,说实话,你这种人的素质也可见一斑!

zengan007 发表于 2016-6-28 17:49:45

kaomantou 发表于 2016-6-24 14:48
估计忘了这事,哈哈

并不是忘了,只是没有时间上而已。他们的回帖都没有说到点子上,换作是你,你会把全部奖赏给他们么?
页: [1]
查看完整版本: 三相步进电机!大家一起来找茬!