当前位置:网站首页>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
边栏推荐
- PHP asymmetric encryption method private key and public key encryption and decryption method
- Web2.0 giants have deployed VC, and tiger Dao VC may become a shortcut to Web3
- R language ggplot2 visual Facet: gganimate package is based on Transition_ Time function to create dynamic scatter animation (GIF)
- MySQL高级(进阶)SQL语句
- 2022 compilation principle final examination recall Edition
- Transformation of thinking consciousness is the key to the success or failure of digital transformation of construction enterprises
- R language uses lrtest function of epidisplay package to perform likelihood ratio test on multiple GLM models (logisti regression). Compare whether the performance of the two models is different, and
- 云呐|为什么要用固定资产管理系统,怎么启用固定资产管理系统
- Gstore weekly gstore source code analysis (4): black and white list configuration analysis of security mechanism
- Web2.0的巨头纷纷布局VC,Tiger DAO VC或成抵达Web3捷径
猜你喜欢

教程篇(5.0) 09. RESTful API * FortiEDR * Fortinet 网络安全专家 NSE 5

Why should we build an enterprise fixed asset management system and how can enterprises strengthen fixed asset management

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

IEDA refactor的用法

ICDE 2023|TKDE Poster Session(CFP)

ICDE 2023|TKDE Poster Session(CFP)

The difference between interceptor and filter

新手必看,点击两个按钮切换至不同的内容

Stm32g0 USB DFU upgrade verification error -2

9D电影是怎样的?(+维度空间常识)
随机推荐
How can retail enterprises open the second growth curve under the full link digital transformation
C的内存管理
Learn the knowledge points of eight part essay ~ ~ 1
PHP非对称加密方法私钥及公钥加密解密的方法
二进制操作
教程篇(5.0) 10. 故障排除 * FortiEDR * Fortinet 網絡安全專家 NSE 5
Mysql高级篇学习总结7:Mysql数据结构-Hash索引、AVL树、B树、B+树的对比
juypter notebook 修改默认打开文件夹以及默认浏览器
PHP-Parser羽毛球预约小程序开发require线上系统
Gstore weekly gstore source code analysis (4): black and white list configuration analysis of security mechanism
End-to-End Object Detection with Transformers(DETR)论文阅读与理解
[daily question] first day
Web2.0的巨头纷纷布局VC,Tiger DAO VC或成抵达Web3捷径
【测试开发】一文带你了解什么是软件测试
[100 cases of JVM tuning practice] 01 - introduction of JVM and program counter
全志A33使用主线U-Boot
Learning summary of MySQL advanced 6: concept and understanding of index, detailed explanation of b+ tree generation process, comparison between MyISAM and InnoDB
[test development] software testing - concept
[daily question] the next day
电脑使用哪个录制视频软件比较好