当前位置:网站首页>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
边栏推荐
- How to play when you travel to Bangkok for the first time? Please keep this money saving strategy
- Web2.0 giants have deployed VC, and tiger Dao VC may become a shortcut to Web3
- SIFT特征点提取「建议收藏」
- 高级性能测试系列《24. 通过jdbc执行sql脚本》
- Fastdfs installation
- How performance testing creates business value
- 【JVM调优实战100例】03——JVM堆调优四例
- PyTorch函数中的__call__和forward函数
- Hospital online inquiry source code hospital video inquiry source code hospital applet source code
- How to delete the border of links in IE? [repeat] - how to remove borders around links in IE? [duplicate]
猜你喜欢

What is 9D movie like? (+ common sense of dimension space)

Introduction to the paper | application of machine learning in database cardinality estimation

ICDE 2023|TKDE Poster Session(CFP)

Obligatoire pour les débutants, cliquez sur deux boutons pour passer à un contenu différent

数据降维——主成分分析

Tutorial (5.0) 09 Restful API * fortiedr * Fortinet network security expert NSE 5

Have you stepped on the nine common pits in the e-commerce system?

线程应用实例

Use cheat engine to modify money, life and stars in Kingdom rush

The difference between interceptor and filter
随机推荐
How to print mybats log plug-in using XML file
PHP asymmetric encryption method private key and public key encryption and decryption method
Machine learning notes - time series prediction research: monthly sales of French champagne
Processing strategy of message queue message loss and repeated message sending
思维意识转变是施工企业数字化转型成败的关键
Why should we build an enterprise fixed asset management system and how can enterprises strengthen fixed asset management
Qpropertyanimation use and toast case list in QT
SIFT特征点提取「建议收藏」
Mysql高级篇学习总结7:Mysql数据结构-Hash索引、AVL树、B树、B+树的对比
9D电影是怎样的?(+维度空间常识)
Golang concurrent programming goroutine, channel, sync
Memory management of C
Quanzhi A33 uses mainline u-boot
Juypter notebook modify the default open folder and default browser
[100 cases of JVM tuning practice] 02 - five cases of virtual machine stack and local method stack tuning
Data dimensionality reduction factor analysis
C file input operation
【ERP软件】ERP体系二次开发有哪些危险?
Binary operation
聊聊电商系统中红包活动设计