A4988驱动步进电机「建议收藏」
生活随笔
收集整理的這篇文章主要介紹了
A4988驱动步进电机「建议收藏」
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
A4988一般用arduino來驅(qū)動,我是用STM32F103驅(qū)動的。
首先推一個網(wǎng)頁,https://www.pololu.com/product/1182,上面有比較詳細(xì)和專業(yè)的說明,還有一個關(guān)于限制電流使細(xì)分更精確的視頻講解,總之,專業(yè)。然后推一個datasheet,https://www.pololu.com/file/0J450/a4988_DMOS_microstepping_driver_with_translator.pdf
我用的是
驅(qū)動比較好寫,首先要弄清楚接線方式。
代碼:
motor.c
//IO初始化
void MOTOR_Init(void)
{
RCC->APB2ENR|=1<<3;
GPIOB->CRH&=0xff000000;
GPIOB->CRH|=0x00333333;
}
//細(xì)分
// x==1 全步
// x==2 半步
// x==4 1/4步
// x==8 1/8步
// x==16 1/16步
void Step_Micr(u16 x)
{
switch(x)
{
case 1:Full_step;break;
case 2:Half_step;break;
case 4:Quarter_step;break;
case 8:Eighth_step;break;
case 16:Sixteenth_step;break;
default:break;
}
}
//參數(shù)
// dir:FALSE 正轉(zhuǎn)TRUE反轉(zhuǎn)
// period 周期
// step 脈沖
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);//period??D?£?×a?ù???ì£?2?òaD?óú1000
}
}
//此函數(shù)可抱死
// 0 抱死
// 1 正常
void Step_Enable()
{
ENABLE = 0;
}
motor.h
#define STEP PBout(8) //step
#define DIR PBout(9) //dir
#define MS1 PBout(10)//MS1
#define MS2 PBout(11)//MS2
#define MS3 PBout(12)//MS3
#define ENABLE PBout(13)//ENABLE
//細(xì)分宏定義
#define Full_step {MS1 = 0;MS2 = 0;MS3 = 0;}
#define Half_step {MS1 = 1;MS2 = 0;MS3 = 0;}
#define Quarter_step {MS1 = 0;MS2 = 1;MS3 = 0;}
#define Eighth_step {MS1 = 1;MS2 = 1;MS3 = 0;}
#define Sixteenth_step {MS1 = 1;MS2 = 1;MS3 = 1;}
void MOTOR_Init(void);
void Step_Micr(u16 x);
void Step_Enable(void);
void Step_Control(u8 dir,u16 period,u32 steps);
main.c
int main(void)
{
int i=0;
Stm32_Clock_Init(9);
delay_init(72);
MOTOR_Init();
Step_Micr(1);//1/2/4/8/16
for(i=0;i<10;i++)
{
Step_Control(FALSE,1600,200);//正轉(zhuǎn)
delay_ms(1000);
Step_Control(TRUE,1600,200);//反轉(zhuǎn)
delay_ms(1000);
}
Step_Enable();//抱死
while(1)
{
}
}
實現(xiàn)全步狀態(tài)下正轉(zhuǎn)一圈,反轉(zhuǎn)一圈,持續(xù)一會兒后抱死。
總結(jié)
以上是生活随笔為你收集整理的A4988驱动步进电机「建议收藏」的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: TypeScript里的完整函数定义语法
- 下一篇: 多肉植物怎么养 分分钟让你的多肉爆盆