当前位置:网站首页>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
边栏推荐
- ICDE 2023|TKDE Poster Session(CFP)
- Markdown basic grammar
- 移动机器人路径规划:人工势场法[通俗易懂]
- 守望先锋世界观架构 ——(一款好的游戏是怎么来的)
- [0701] [论文阅读] Alleviating Data Imbalance Issue with Perturbed Input During Inference
- Emmet basic syntax
- [test development] takes you to know what software testing is
- 【JVM调优实战100例】03——JVM堆调优四例
- 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的用法
Web2.0 giants have deployed VC, and tiger Dao VC may become a shortcut to Web3
为什么要做企业固定资产管理系统,企业如何加强固定资产管理
Kubernetes three open interfaces first sight
MySQL advanced learning summary 7: MySQL data structure - Comparison of hash index, AVL tree, B tree and b+ tree
聊聊电商系统中红包活动设计
教程篇(5.0) 10. 故障排除 * FortiEDR * Fortinet 网络安全专家 NSE 5
PyTorch函数中的__call__和forward函数
数据降维——因子分析
随机推荐
全志A33使用主线U-Boot
Novice must see, click two buttons to switch to different content
数据降维——主成分分析
[100 cases of JVM tuning practice] 03 -- four cases of JVM heap tuning
Tutorial (5.0) 10 Troubleshooting * fortiedr * Fortinet network security expert NSE 5
[100 cases of JVM tuning practice] 02 - five cases of virtual machine stack and local method stack tuning
高频面试题
仿京东放大镜效果(pink老师版)
数字滚动带动画
2022编译原理期末考试 回忆版
ORA-01455: converting column overflows integer datatype
高级性能测试系列《24. 通过jdbc执行sql脚本》
End-to-End Object Detection with Transformers(DETR)论文阅读与理解
reduce--遍历元素计算 具体的计算公式需要传入 结合BigDecimal
以太网PHY层芯片LAN8720A简介
2022.7.1-----leetcode. two hundred and forty-one
2022 compilation principle final examination recall Edition
【JVM调优实战100例】02——虚拟机栈与本地方法栈调优五例
Progress progress bar
[daily question] the next day