1 A4988步进电机驱动器简介
方便使用,是我们这些用户最想要的,固有的名词和深入介绍在这就不多说了,您可以百度,或这下载附件,芯片手册中有详细的说明。
A4988是一款带转换器和过流保护的DMOS微步进电机驱动器,它用于操作双极步进电机,在步进模式,输出驱动的能力35V和±2A。
转换器是A4988易于实施的关键。只要在“STEP”引脚输入一个脉冲,即可驱动电动机产生微步。无须进行相位顺序表、高频率控制行或复杂的界面编程。A4988界面非常适合复杂的微处理器不可用或过载的应用。
2 产品特点
1、控制简单,只需要控制STEP与DIR两个端口;
2、精度调整,五种不同的步进模式:全、半、1/4、1/8、1/16;
3、可调电位器可以调节输出电流,从而获得更高的步进率;
4、兼容3.3V和5V逻辑输入;
3 芯片典型电路
<ignore_js_op>
注意步进电机的接线方式,步进电机为两相四线的步进电机,OUT1A与OUT1B分别接电机同相的两端;OUT2A与OUT2B分别接电机另一相的两端。在连接步进电机时,一定要知道哪两个线是同一相。
4 最大额定值
<ignore_js_op>
5 步进模式设置
<ignore_js_op>
例如全模式时,一个脉冲,步进电机旋转角度1.8°;在1/4模式时,一个脉冲,步进电机旋转角度为0.45°。
6 模块连接图
<ignore_js_op>
测试中选择型号为17HS5413(42BYGH)的两相四线步进电机,步距角为1.8°,200个脉冲转动一圈。
STEP、DIR分别连接单片机的两个控制端口,EN可以使用单片机端口控制,也可以直接连接GND使能;MS1、MS2、MS3按照上一节“步进模式设置”,接高低电平,设置步进模式,来选择不同的步距角。设置脉冲的频率,来控制旋转速度。
2B、2A、1A、1B分别接步进电机红、蓝、黑、绿线。
VMOT、GND接12V左右直流电源(电压大小更具步进电机不同,选择合适电压)。
VDD、GND接3.3V或5V。
7 实验代码
- //初始化步进电机控制端口
- //STEP1 PCout(4)
- //DIR1 PCout(5)
- void STEP_Init(void)
- {
- RCC->APB2ENR|=1<<4; //使能PORTC时钟
- GPIOC->CRL&=0XFF00FFFF;
- GPIOC->CRL|=0X00330000;
- }
- //dir:为方向控制,TRUE:正转 FALSE:反转
- //period为周期
- //steps:脉冲个数
- void Step_Control(u8 dir,u16 period,u32 steps)
- {
- u32 i;
- for(i=0; i <= steps;i++)
- {
- DIR = dir;
- STEP = 1;
- delay_us(1);
- STEP = 0;
- delay_us(period);
- }
- }
- #define TRUE 1
- #define FALSE 0
- //端口定义
- #define STEP PCout(4)
- #define DIR PCout(5)
- int main(void)
- {
- Stm32_Clock_Init(9); //系统时钟设置
- delay_init(72); //延时初始化
- STEP_Init(); //步进电机驱动端口初始化
- LED_Init(); //初始化与LED连接的硬件接口
- while(1)
- {
- LED = !LED;
- Step_Control(FALSE,1600,200);
- delay_ms(1000);
- Step_Control(TRUE,1600,400);
- delay_ms(1000);
- }
- }
程序实现功能:电机反转1圈、正转2圈。
不改变程序,设置不同的步进模式,观察步进电机的旋转角度。
此文件主要包含1:A4988步进电机驱动器使用手册,主要涉及步进模式设置、与单片机和步进电机的连接方式;
2:A4988芯片手册;
3:步进电机驱动程序例程
例程是通过延时来实现控制步进电机速度的,缺点就是单片机“其他的不能干了”;也有使用PWM来控制步进电机的,但是这个缺点就是,调速度时要不停的初始化,脉冲个数也不好控制。个人决定中断是最好用的,在下次更新的时候我们贴上。
|