当前位置:网站首页>A4988 drive stepper motor "recommended collection"
A4988 drive stepper motor "recommended collection"
2022-07-02 19:21:00 【Full stack programmer webmaster】
Hello everyone , I meet you again , I'm your friend, Quan Jun .
A4988 It's usually used arduino To drive , I use STM32F103 Driven .
First push a web page ,https://www.pololu.com/product/1182, There are more detailed and professional instructions on it , There is also a video explanation about limiting current to make subdivision more accurate , All in all , major . Then push one datasheet,https://www.pololu.com/file/0J450/a4988_DMOS_microstepping_driver_with_translator.pdf
I use it
The driver is easy to write , First of all, make sure the wiring mode .
Code :
motor.c
//IO initialization
void MOTOR_Init(void)
{
RCC->APB2ENR|=1<<3;
GPIOB->CRH&=0xff000000;
GPIOB->CRH|=0x00333333;
}
// To subdivide
// x==1 Full step
// x==2 half of step
// x==4 1/4 Step
// x==8 1/8 Step
// x==16 1/16 Step
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;
}
}
// Parameters
// dir:FALSE Positive rotation TRUE reverse
// period cycle
// step pulse
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ԽС£¬×ªËÙÔ½¿ì£¬²»ÒªÐ¡ÓÚ1000
}
}
// This function can be locked
// 0 Cling to death
// 1 normal
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
// Subdivision macro definition
#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);// Positive rotation
delay_ms(1000);
Step_Control(TRUE,1600,200);// reverse
delay_ms(1000);
}
Step_Enable();// Cling to death
while(1)
{
}
}Realize a positive turn in the full step state , Turn around , Hold on for a while and then lock up .
Publisher : Full stack programmer stack length , Reprint please indicate the source :https://javaforall.cn/148605.html Link to the original text :https://javaforall.cn
边栏推荐
- 【JVM调优实战100例】01——JVM的介绍与程序计数器
- PHP parser badminton reservation applet development requires online system
- Excel查找一列中的相同值,删除该行或替换为空值
- 中国信通院《数据安全产品与服务图谱》,美创科技实现四大板块全覆盖
- According to the atlas of data security products and services issued by the China Academy of information technology, meichuang technology has achieved full coverage of four major sectors
- Qpropertyanimation use and toast case list in QT
- Codeworks 5 questions per day (1700 average) - day 4
- How to play when you travel to Bangkok for the first time? Please keep this money saving strategy
- Hospital online inquiry source code hospital video inquiry source code hospital applet source code
- 【测试开发】软件测试—概念篇
猜你喜欢

高级性能测试系列《24. 通过jdbc执行sql脚本》

Advanced performance test series "24. Execute SQL script through JDBC"

PHP parser badminton reservation applet development requires online system

Yunna | why use the fixed asset management system and how to enable it

Juypter notebook modify the default open folder and default browser

拦截器与过滤器的区别

Learning summary of MySQL advanced 6: concept and understanding of index, detailed explanation of b+ tree generation process, comparison between MyISAM and InnoDB

新手必看,點擊兩個按鈕切換至不同的內容

守望先锋世界观架构 ——(一款好的游戏是怎么来的)

【JVM调优实战100例】03——JVM堆调优四例
随机推荐
R language uses Cox of epidisplay package Display function obtains the summary statistical information of Cox regression model (risk rate HR, adjusted risk rate and its confidence interval, P value of
电脑使用哪个录制视频软件比较好
Stm32g0 USB DFU upgrade verification error -2
[daily question] first day
Yunna | why use the fixed asset management system and how to enable it
【ERP软件】ERP体系二次开发有哪些危险?
Preprocessing and preprocessing macros
高级性能测试系列《24. 通过jdbc执行sql脚本》
中国信通院《数据安全产品与服务图谱》,美创科技实现四大板块全覆盖
预处理和预处理宏
Virtual machine initialization script, virtual machine mutual secret key free
消息队列消息丢失和消息重复发送的处理策略
Progress-进度条
Gstore weekly gstore source code analysis (4): black and white list configuration analysis of security mechanism
[论文阅读] CA-Net: Leveraging Contextual Features for Lung Cancer Prediction
2022.7.1-----leetcode.241
新手必看,點擊兩個按鈕切換至不同的內容
9D电影是怎样的?(+维度空间常识)
Masa framework - DDD design (1)
[paper reading] Ca net: leveraging contextual features for lung cancer prediction