songzm 发表于 2012-7-31 19:32:14

有玩过三相、三线步进电机的朋友吗?进来看看吧~~

根据上面三相电机的时序图,我写了下面一段程序:       
while (1)
        {
        P2_DOUT|=0x80;   //A+,PWMY3
        P2_DOUT&=0xbf;      //B-,PWMY0
        delay();
        P2_DOUT|=0x20;       //C+,PWMY2
        delay();
        P2_DOUT&=0x7f;        //A-,PWMY2
        delay();
        P2_DOUT|=0x40;        //B+,PWMY2
        delay();
        P2_DOUT&=0xdf;         //C-,PWMY2
        delay();
        }


结果,电机竟然是正转两圈又反转两下,彻底无语啊……
啊……啊……
试过用PWM细分,慢慢加速度启动等等方法,结果还是不行~~~
很无语啊…………
我找网上的资料,结果都是三相,四线的步进电机。三相,三线竟然没什么资料,有朋友做过三相,三线的吗,求指导,求分享一下心得!!!感激不尽~~!!~~

songzm 发表于 2012-7-31 19:35:56

没人路过吗?自己顶一下!!

tiancaigao7 发表于 2012-7-31 21:53:12

三项的跟bldc原理一样,而且看你的换向表也和BLDC的相同。因此如果你真的实现了上面的输出,像一个方向转动应该不成问题,你最好用示波器看看你的输出是否有问题

songzm 发表于 2012-8-1 13:20:59

tiancaigao7 发表于 2012-7-31 21:53 static/image/common/back.gif
三项的跟bldc原理一样,而且看你的换向表也和BLDC的相同。因此如果你真的实现了上面的输出,像一个方向转动 ...

有看过了,输出是没什么问题的~~这种线圈的接法,给这样的脉冲,真的没问题?

songzm 发表于 2012-8-1 16:29:47

问题还是没解决啊~!自己再顶一下!!

kelp 发表于 2012-8-1 16:37:30

会不会不是步进电机,是无刷电机。需要在正确的位置换相。

songzm 发表于 2012-8-1 16:39:31

能启动了!驱动芯片是L6205~!但是在细分又出现了问题~我用示波器看它的输出波形,发觉竟然能看到PWM占空比不断变大的波形~瞬间不知道怎么做了!把细分量减少,增加PWM的频率变也没用,只要调一下示波器,又可以看到占空比变大的输出波形了~!那应该怎么细分啊?求解????

songzm 发表于 2012-8-1 17:10:12

kelp 发表于 2012-8-1 16:37 static/image/common/back.gif
会不会不是步进电机,是无刷电机。需要在正确的位置换相。

我的是有刷电机来的,现在能启动了~!{:biggrin:}

songzm 发表于 2012-8-1 17:21:44

本帖最后由 songzm 于 2012-8-2 08:50 编辑

songzm 发表于 2012-8-1 16:39 static/image/common/back.gif
能启动了!驱动芯片是L6205~!但是在细分又出现了问题~我用示波器看它的输出波形,发觉竟然能看到PWM占空比 ...

如果这个PWM输出波形直接给电机,而电机能分辨出来的话,内部不就产生涡流了?难道这些可以解释这样子电机没转动,而驱动芯片效率比较大,发热量相对比较大的原因?懂的解释一下,万分感激!!

songzm 发表于 2012-8-2 18:16:08

P2_DOUT|=0x80;   //A+,PWMY3
        delay();
        delay();
        delay();
        delay();
        delay();
        P2_DOUT&=0xbf;      //B-,PWMY0
        delay();
        delay();
        delay();
        delay();
        delay();
        P2_DOUT|=0x20;       //C+,PWMY2
        delay();
        delay();
        delay();
        delay();
        delay();
        P2_DOUT&=0x7f;        //A-,PWMY2
        delay();
        delay();
        delay();
        delay();
        delay();
        P2_DOUT|=0x40;        //B+,PWMY2
        delay();
        delay();
        delay();
        delay();
        delay();
        P2_DOUT&=0xdf;         //C-,PWMY2
        delay();
        delay();
        delay();
        delay();
        delay();
        P2_DOUT|=0x80;   //A+,PWMY3
        delay();
        delay();
        delay();
        delay();
        delay();
        delay();
        P2_DOUT&=0xbf;      //B-,PWMY0
        delay();
        delay();
        delay();
        delay();
        delay();
        P2_DOUT|=0x20;       //C+,PWMY2
        delay();
        delay();
        delay();
        delay();
        delay();
        P2_DOUT&=0x7f;        //A-,PWMY2
        delay();
        delay();
        delay();
        delay();
        delay();
        P2_DOUT|=0x40;        //B+,PWMY2
        delay();
        delay();
        delay();
        delay();
        delay();
        P2_DOUT&=0xdf;         //C-,PWMY2
        delay();
        delay();
        delay();
        delay();
        delay();
延时时间非常大的时候,发觉按照它的逻辑,走不完7步,坑爹啊。走了5步就开始就很大的震动了,没有走动!!当延时时间改小10倍的时候,它是可以均匀的走完7步的,再走多几个循环也没有问题!但是,这种情况走了两圈后,也开始出现很大的震动!谁能解释一下原因?我用老示波器看输出,发觉输出没什么问题~!

lixingling 发表于 2013-7-6 16:30:52

songzm 发表于 2012-8-2 18:16 static/image/common/back.gif
P2_DOUT|=0x80;   //A+,PWMY3
        delay();
        delay();


我也在调L6205,三相电机,我的是三角形接法,都烧了好几个IC了
页: [1]
查看完整版本: 有玩过三相、三线步进电机的朋友吗?进来看看吧~~