stm32-A4988驱动步进电机
步进电机,不多做解释,百度一大堆,虽然写的都一样。
1.步进电机用的2相四线,下面是某淘宝图片。
2.驱动器是A4988模块,据说是3d打印机专用。
灰色的脚可以悬空,也可以用上。
ENABLE 使能 1停止
STEP pwm(50%) 控制速度 (频率范围:我试了下大概1Hz-1KHz都可以跑的,当然频率越慢,电机相当于静止状态)
DIR 控制方向
2B -> B+ (这里网上没怎么说清楚,只说了什么红绿蓝,鬼知道?)
1B -> B-
2A -> A+
1A -> A-
基本重要的就是这些,分步控制就是MS1 MS2 MS3,看后面。接线参考下面。
连线根据上面一个没有什么问题,下面直接上代码吧。stm32 通过tim3 ch1输出pwm,也就是PA6
void PWM1_Init()
{GPIO_InitTypeDef GPIO_InitStructure;TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;TIM_OCInitTypeDef TIM_OCInitStructure;RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);// RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB , ENABLE); //使能GPIO外设时钟使能//设置该引脚为复用输出功能,输出TIM1 CH1的PWM脉冲波形GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 ; //TIM_CH1GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //复用推挽输出GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOA, &GPIO_InitStructure);TIM_TimeBaseStructure.TIM_Period = 999; //设置在下一个更新事件装入活动的自动重装载寄存器周期的值 TIM_TimeBaseStructure.TIM_Prescaler =71; //设置用来作为TIMx时钟频率除数的预分频值 不分频TIM_TimeBaseStructure.TIM_ClockDivision =0; //设置时钟分割:TDTS = Tck_timTIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //TIM向上计数模式TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); //根据TIM_TimeBaseInitStruct中指定的参数初始化TIMx的时间基数单位//TIM3通道一TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM2; //选择定时器模式:TIM脉冲宽度调制模式2TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; //比较输出使能TIM_OCInitStructure.TIM_Pulse = 60; /*占空长度 0 – 周期(max)*/TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; //输出极性:TIM输出比较极性高TIM_OC1Init(TIM3, &TIM_OCInitStructure); //根据TIM_OCInitStruct中指定的参数初始化外设TIMxTIM_CtrlPWMOutputs(TIM3,ENABLE); //MOE 主输出使能 TIM_ARRPreloadConfig(TIM3, ENABLE); //使能TIMx在ARR上的预装载寄存器TIM_Cmd(TIM3, ENABLE); //使能TIM1}void set_freq(u16 freq)
{TIM3->ARR=1000000/freq; //设频率TIM3->CCR1=1000000/freq/2; //设占空比 50%
}
初始化就不介绍了,就是设置成不分频,计数频率最大为1M,
set_freq函数就是设置频率,范围1-1000000对应1Hz-1MHz,这里是理论值,实际上我的步进电机2KHz好像就跑不起来了。
所以我认为1-2000的就够了,注意电机刚起的时不能太高的频率,一般低于500Hz没有问题。
stm32-A4988驱动步进电机相关推荐
- c语言编程a4988驱动步进电机,A4988 步进电机驱动模块测试
A4988控制逻辑简单,主要分为睡眠.正反转.复位.使能.细分等模式控制. (1)睡眠模式:Sleep管脚电平置0,进入睡眠模式,驱动器输出待机模式:Sleep管脚置1,驱动器处于正常工作状态: (2 ...
- STM32+ULN2003驱动步进电机
选用的步进电机的型号为28BYJ-48(或MP28GA,5V,转速比1/64),驱动电路选用uln2003芯片的驱动板,其控制时序图如下: 四相八拍:A->AB->B ->BC -& ...
- 使用Arduino与A4988 驱动步进电机
初识Arduino,有什么错漏的地方请指正. 学会使用A4988驱动电机对于DIY3D打印机,雕刻机很有帮助. 实验目的:Arduino与A4988驱动42步进电机 材料如下: Arduino uno ...
- STM32+DRV8711驱动步进电机
步进电机的驱动原理 步进电机的知识涉及到比较多的东西,这里只是简单介绍一下,关于具体的知识之后再补充. 步进电机的驱动原理时期就是电磁感应现象,给步进电机供电流,然后会产生磁场,再合成磁场的方向,驱动 ...
- A4988驱动步进电机
A4988一般用arduino来驱动,我是用STM32F103驱动的. 首先推一个网页,https://www.pololu.com/product/1182,上面有比较详细和专业的说明,还有一个关于 ...
- c语言编程a4988驱动步进电机,A4988步进电机单片机驱动程序
/*************************************************************** * 实 验 名 :步进电机实验 * 实验说明 :电机启动.停止.正转. ...
- Arduino CNC电机扩展板详解(A4988驱动42步进电机)
原文地址:http://www.taichi-maker.com/homepage/reference-index/motor-reference-index/arduino-cnc-shield/ ...
- 【STM32篇】4988驱动步进电机
本文介绍的步进电机驱动为毕设所用,学习时也借鉴了其他博主和商家的资料,介绍的都很详细.但对于刚入门的友友萌来说,可能还会存在的一些不解.而我就是被卡在驱动电源上.下文为我对4988驱动的一些理解,希望 ...
- 基于51单片机驱动A4988实现步进电机逆时针转动
基于51单片机驱动A4988实现步进电机逆时针转动 一.简介 二.接线 典型接线图 实际接线 三.部分代码 引脚定义 定时器初始化 主函数 四.实验现象 五.注意事项 一.简介 A4988 是一款完全 ...
- A4988驱动NEMA步进电机(42步进电机)
A4988驱动NEMA步进电机(42步进电机) 原文地址:http://www.taichi-maker.com/homepage/reference-index/motor-reference-in ...
最新文章
- mysql 二级什么意思_MySQL二级等级考试归纳——PHP篇
- wxPython的API下载
- C++设计模式实现--策略(Strategy)模式
- 【JetPack】为现有 Android 项目配置视图绑定 ( ViewBinding ) 模块 ( 视图绑定不影响传统布局操作 | 视图绑定类关联 Activity | 视图绑定类本质 )
- apt-mirror 校验错误文件处理
- Provisioning Services 7.6 入门到精通系列之七:创建虚拟磁盘
- java中对象输入流和输出流
- Jenkins配置MSBuild时使用环境变量
- (17)Verilog时钟与复位激励-基本语法(五)(第4天)
- 云计算学习路线图课件:云计算和虚拟机有什么区别?
- SQL Server:如何加入第一行
- html 属性存储对象,在HTML5 localStorage中存储对象
- winsock编程宝典
- 网站SEO优化知识梳理
- python中iter函数_Python基础:iter函数的两个参数
- 激活信息管理slmgr.vbs命令详解
- linux 查看登入记录_Linux登录信息查询
- 在线html 生成链接,网址链接生成器
- Python中关于浮点数运算的不确定尾数的解释
- 【技术解析】数通是什么?
热门文章
- 【Linux】四、Linux 进程概念(上篇)
- PTA出现EOFError
- 计算机专业二级证书有哪些科目,国家计算机二级考试都有哪些科目以及考核形式?...
- react-router 里的 routerLink标签和a 标签有什么区别
- 通达OA-今日学习 精灵报错提示初始化失败
- Web开发者的福利 30段超实用CSS代码笔记
- Plugin ‘org.springframework.boot:spring-boot-maven-plugin:‘ not found
- win8专业版桌面ie图标不见了怎么恢复--win10专业版
- K-means聚类算法代码
- vue 页面保留缓存和清除缓存