原创 简单四相步进电机控制(一)

2011-4-23 01:17 5023 6 6 分类: FPGA/CPLD

有段时间没来论坛,没有发帖子了。

最近一直忙着写一个四相步进电机控制的代码。

参考来自altera的官方应用笔记。

先来简单了解下四相步进电机的原理。

大体上是一个外磁场和有一定齿数的转子,外磁场分别引出A B C D4个相位,在每一个状态内,保持

ABCD中一个或者2个通电,产生磁力矩,带动转子,依次对4个相位保持连续的状态,可以让转子产生

一步一步的位移。从而使电机产生转动。

从每个状态值可以分了单四拍,双四拍,八拍

单四拍  A -B-C-D

双四拍 AB-BC-CD-DA

八拍 A-AB-B-BC-C-CD-D-DA

单四拍 和双四拍都是全步长,八拍是半步长。

步长具体多少度要看具体电机型号,我这次实验中的小电机是7.5度 6线4相

2个电源线接高电平,ABCD 4相分别接低电平可完成一个循环。

设计思想

采用半步8拍

电机这边对于4相来说是低电平有效,驱动芯片用uln2003apg,非门输出。

所以在控制这边具体电平是高电平有效。

phase[3:0]作为4相输出, 初始状态是1000;

每个时钟周期后 phase 到下一个状态1100;

在经过一个时钟周期 phase 0100,按照8步的状态依次类推,完成循环。

简单说来每个时钟周期走半步。

时钟周期决定了电机速度,尤其磁场和磁力矩作用,时钟速度不能太快,也不能太慢。

了解到这么多后 才对altera的官方笔记大为赞赏!

不高的频率,简单的逻辑控制,用MAXII的内部振荡器来产生时钟,在经过分频,用case语句来实现步

进对于低功耗和节省器件资源来说再合适不过了。

稍后放上相关仿真图~

 

 

 

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
6
关闭 站长推荐上一条 /3 下一条