zhanghzhan 发表于 2010-6-21 19:32:05

这样理解步进电机细分驱动对吗?

最近在做步进电机细分驱动。看过不少论坛里面的帖子。感觉跟我的想法有点不一样。一直很迷惑。想在这里求指点一下。我这种思想对吗?
我这个项目是步进电机式仪表。开环控制,单片机IO口直接驱动。
分步是10度。
分步驱动是 5度一拍走的,8拍走完一个循环。分部驱动使用switch case 做的 8个case 每个一个状态。

细分我是这样做的:
    跟分步一样,也是switch case 语句。8个case 不同的是,上个case到 下个case 分步的时候 是直接一下子切换 。微步的时候 我用pwm分250次切换 。那么就得到 250细分 。根据设定角度 随时变化细分数 和每一分步来调节速度。

   通过调试效果出来还可以,在大约1分钟每转的情况下 效果特别好。走得很平滑 电机也基本不抖动。

   但是在低速度的时候,2分钟一转 或者更低 就感觉指针走得不平稳。抖动倒是没有。就是感觉指针一晃一晃的 往前走。

   不知道,这个原因是不是跟我的细分方式有关系呢。我这样采取的 基本算是电压细分。细分驱动简单。容易实现 也不用算什么正余表。直接等分电压。
是不是就是这个原因造成在低速的时候 步距不均匀。造成指针走得不平稳呢。

       郁闷中。。。。。

      希望懂得人 给个答复。在线等!!!

zhanghzhan 发表于 2010-6-21 19:52:52

没有人说说自己的看法吗?

zhanghzhan 发表于 2010-6-22 08:05:42

晕, 为什么没有人看呢。

eworker 发表于 2010-6-22 08:50:48

不懂,仅看过!

zhanghzhan 发表于 2010-6-22 10:00:28

难道是这玩意已经过时啦。没有人玩啦。闷 。我这个如果按照sin cos 方式去驱动我要做128细分。这个波形的点该怎么取呢。

这个数据表岂不是很庞大。有人指点一下嘛

timothy2008 发表于 2010-6-22 10:11:03

可能分步度數太少,引至長時間時不順暢

amazing030 发表于 2010-6-22 10:21:09

定义细分表结构
typedef struct tagSubdivideTable
{
    unsigned char mQuardrant;               // 象限0-3
    unsigned char mA_PWM;                   // A相输出的PWM
    unsigned char mB_PWM;                   // B相输出的PWM
}SubdivideTable;

zhanghzhan 发表于 2010-6-22 13:36:41

楼上的为什么不全部贴出来呢。就一个定义。

zhanghzhan 发表于 2010-6-22 20:04:39

单片机直接驱动步进电机做256细分。没有人这样做过吗?

bingshuihuo888 发表于 2011-4-27 13:41:25

回复【6楼】amazing030
-----------------------------------------------------------------------

可以留下QQ交流一下!!
页: [1]
查看完整版本: 这样理解步进电机细分驱动对吗?