步进电机驱动
目的
本将通过Microduino A4982来控制步进电机,并且焊接步进电机控制底板。
设备
Microduino-CoreSTM32是采用 STM32F103CBT6芯片的ARM开发板,采用独特的Upin7接口,大小与一枚一元硬币差不多大,完全兼容Microduino其他扩展模块。
Microduino-Stepper是一款带转换器和过流保护的 DMOS 微步驱动器,该产品可在全、半、1/4、1/8及1/16步进模式时操作双极步进电动机。
- 其他硬件设备
- USB数据连接线 一根
- 洞洞板
- 铜柱、螺丝
- 焊接工具:
- 电烙铁
- 焊锡
- 导线
- 镊子
- 排针
原理
步进电机
- 步进电机分类:
- 反应式步进电机(Variable Reluctance ,VR):转子用软磁材料制成,其中没有绕组。结构简单、成本低,步距角可以做得很小,但动态性能较差。由于其综合性价比高,应用广泛。
- 永磁式步进电机(Permanent Magnet ,PM): 转子用永磁材料制成,本身就是一个磁源。输出转矩大,动态性能好,转子的极数与定子的极数相同,一般步距角较大,需供给正负脉冲信号。
- 混合式步进电机(Hybrid ,HB):综合了反应式和永磁式的优点,输出转矩大,动态性能好,步距角小,但结构复杂,成本较高。
- 步进电机内部构造如下图:
通过上图可知,A,~A是连通的,B和~B是连通。那么,A和~A是一组a,B和~B是一组b。
不管是两相四线,四相五线,四相六线步进电机。内部构造都是如此。至于究竟是四线,五线,还是六线。就要看A和~A之间,B和B~之间有没有公共端com抽线。如果a组和b组各自有一个com端,则该步进电机六线,如果a和b组的公共端连在一起,则是5线的。
- 步进电机相关概念:
- 相数:产生不同对极N、S磁场的激磁线圈对数。常用M表示。
- 拍数:完成一个磁场周期性变化所需脉冲数或导电状态用N表示,或指电机转过一个齿距角所需脉冲数。
- 步距角:对应一个脉冲信号,电机转子转过的角位移用θ表示。步距角计算公式:θ=360/(MCZ)。M为控制绕组相数;C为状态系数,C=1时为(单、双)M拍, C=2时为M相2M拍;Z为转子齿数。
- 定位转矩:电机在不通电状态下,电机转子自身的锁定力矩(由磁场齿形的谐波以及机械误差造成的).
- 静转矩:电机在额定静态电作用下,电机不作旋转运动时,电机转轴的锁定力矩。此力矩是衡量电机体积(几何尺寸)的标准,与驱动电压及驱动电源等无关。
- 步进电机驱动
不同相的电机有不同的工作方式:
- 三相步进电机:单三拍、双三拍、三相六拍
- 四相步进电机:单四拍、双四拍、四相八拍
- 五相步进电机:单五拍、双五拍、五相十拍
本实验采用二相四线接法,下面以8拍的方式为例加以说明。
八个状态:1、在A与A-正电压,B与B-不给电悬空; 2、在A与A-正电压,B与B-也给正电压;
3、A与A-不给电压悬空,B与B-正电压; 4、A与A-给负电压,B与B-给正电压;
5、A与A-给负电压,B与B-不给悬空; 6、A与A-给负电压,B与B-给负电压;
7、A与A-不给电悬空,B与B-给负电压; 8、A与给正电压,B与B-给负电压; 原理图
本讲采用一个2相6线电机,步进角1.8度,单极驱动方式,相电阻130欧,注意相电阻很大,因此电流很小,比如24v时,静态电流才0.17A,但是力矩挺大的,内部线圈细而密,属于低速,小单流,大力矩型。其外形图如下所示:
信号顺序:1:B-,2:BCOM,3:B+;4:A+,5:ACOM,6:A-,本讲采用2相4线接法,所以1和5号引脚悬空。
原理图如下:
程序
int step=2;
int dir=3;
int EN=4;
void setup()
{
pinMode(step, OUTPUT);
pinMode(dir, OUTPUT);
pinMode(EN, OUTPUT);
digitalWrite(EN,HIGH);
delay(10);
digitalWrite(EN,LOW);
}
void pulse(int n,int speed)
{
for(int i=0;i<n;i++)
{
int k=(1000000/speed)-1;
digitalWrite(step,HIGH);
delayMicroseconds(1);
digitalWrite(step,LOW);
delayMicroseconds(speed);
}
}
void loop()
{
pulse(25600,12800);
delay(400);
}
程序说明:函数pulse(int n,int speed)的作用是每秒以speed个脉冲发送n个步进脉冲。
调试
步骤一:按规则大小裁剪洞洞板。 步骤二:确定好Microduino CoreSTM32、排针以及电源转接头底座位置,按原理图焊接电路;
步骤三:连接好电路。
步骤四:复制程序到Maple IDE编译,下载程序。
结果
每隔400ms以12800个脉冲的速度发出25600个脉冲。
视频
视频地址: