K_A07_005 基于 STM32等单片机驱动 DRV8833 模块按键控制步进电机正反转
目录
一、资源说明
二、基本参数
1、参数
2、引脚说明
三、驱动说明
步进电机驱动时序
对应程序:
四、部分代码说明
1、接线说明
1.1、STC89C52RC+DRV8833模块
1.2、STM32F103C8T6+DRV8833模块
五、基础知识学习与相关资料下载
六、视频效果展示与程序资料获取
七、项目所有材料清单
八、注意事项
九、接线表格
一、资源说明
单片机型号 |
测试条件 |
模块名称 |
代码功能 |
STC89C52RC |
1.晶振11.0592M |
DRV8833 模块 |
单片机驱动DRV8833 模块按键控制步进电机正反转 |
STM32F103C8T6 |
|
DRV8833 模块 |
二、基本参数
1、参数
2、引脚说明
DRV8833 模块 |
引脚说明 |
AIN1 |
信号输入1 |
AIN2 |
信号输入2 |
SLP |
睡眠引脚(低电平睡眠) |
BIN2 |
信号输入3 |
BIN1 |
信号输入4 |
FLT |
错误状态输出 |
GND |
电源GND(需要与单片机共地) |
VM |
电源正极 此处用8V |
BS |
电流控制B |
AS |
电流控制A |
BOUT1 |
B- |
BOUT2 |
B+ |
AOUT2 |
A- |
AOUT1 |
A+ |
三、驱动说明
DRV8833模块与ULN2003输入引脚一致 ,所以此处用的是ULN2003程序改
步进电机驱动时序
对应程序:
//顺时针逆时针选择
void Swerve(uint8_t F_Dir)
{if(F_Dir){switch(MOTO_delay0){
*case(1):MOTOA = 0; MOTOB = 1; MOTOC = 1; MOTOD = 1;break;case(2):MOTOA = 1; MOTOB = 0; MOTOC = 1; MOTOD = 1;break;case(3):MOTOA = 1; MOTOB = 1; MOTOC = 0; MOTOD = 1;break;case(4):MOTOA = 1; MOTOB = 1; MOTOC = 1; MOTOD = 0;break; } }else{switch(MOTO_delay0){case(1):MOTOA = 1; MOTOB = 1; MOTOC = 1; MOTOD = 0;break;case(2):MOTOA = 1; MOTOB = 1; MOTOC = 0; MOTOD = 1;break;case(3):MOTOA = 1; MOTOB = 0; MOTOC = 1; MOTOD = 1;break;case(4):MOTOA = 0; MOTOB = 1; MOTOC = 1; MOTOD = 1;break;}}}
四、部分代码说明
1、接线说明
需要自定义引脚可在此处更改,STM32要自定义引脚的话也要注意引脚时钟使能的更改
1.1、STC89C52RC+DRV8833模块
//输入信号引脚
sbit MOTOA=P1^0; //IN1
sbit MOTOB=P1^1; //IN2
sbit MOTOC=P1^2; //IN3
sbit MOTOD=P1^3; //IN4
//按键引脚
sbit KEY_Foreward = P1^4; //正转
sbit KEY_Reversal = P1^5; //反转
1.2、STM32F103C8T6+DRV8833模块
//输入信号引脚
#define MOTOA_GPIO_PORT GPIOA /* MOTOA端口 */
#define MOTOA_GPIO_CLK RCC_APB2Periph_GPIOA /* MOTOA端口时钟 */
#define MOTOA_GPIO_PIN GPIO_Pin_0 #define MOTOB_GPIO_PORT GPIOA /* MOTOB端口 */
#define MOTOB_GPIO_CLK RCC_APB2Periph_GPIOA /* MOTOB端口时钟 */
#define MOTOB_GPIO_PIN GPIO_Pin_1 #define MOTOC_GPIO_PORT GPIOA /* MOTOC端口 */
#define MOTOC_GPIO_CLK RCC_APB2Periph_GPIOA /* MOTOC端口时钟 */
#define MOTOC_GPIO_PIN GPIO_Pin_2 #define MOTOD_GPIO_PORT GPIOA /* MOTOD端口 */
#define MOTOD_GPIO_CLK RCC_APB2Periph_GPIOA /* MOTOD端口时钟 */
#define MOTOD_GPIO_PIN GPIO_Pin_3
//按键引脚
#define Foreward_GPIO_CLK RCC_APB2Periph_GPIOA
#define Foreward_GPIO_PORT GPIOA
#define Foreward_GPIO_PIN GPIO_Pin_5
//KEY2
#define Reversal_GPIO_CLK RCC_APB2Periph_GPIOA
#define Reversal_GPIO_PORT GPIOA
#define Reversal_GPIO_PIN GPIO_Pin_6
五、基础知识学习与相关资料下载
- STC89C52RC程序下载 直戳跳转
- STM32F103C8T6程序下载
- 串口下载 直戳跳转
- ST-LINK下载 直戳跳转
- J-LINK下载 直戳跳转
- DAP-LINK下载 直戳跳转
六、视频效果展示与程序资料获取
视频连接 直戳跳转
资料获取 直戳跳转
七、项目所有材料清单
STC89C52RC驱动方案 | 图片 | STM32F103C8T6驱动方案 | 图片 |
备注 K_A07_003 |
STC89C52RC系统板X1 | STM32F103C8T6系统板X1 |
|
||
DRV8833模块x1 | DRV8833模块x1 | |||
步进电机x1 | 步进电机x1 | |||
Micro USB线X1 | Micro USB线X2 | |||
母母杜邦线X12 | 母母杜邦线X12 | |||
J-LINK下载器 |
八、注意事项
- VCC GND请勿接反,接反易烧
- 显示异常时,排除接线接触不良
- 电机抖动 也可能是接线接触不良引起 需要排查
九、接线表格
单片机型号 |
模块 |
对应引脚(上:模块引脚 下:单片机引脚) |
|||||
STC89C52RC |
DRV8833模块 |
AIN1 |
AIN2 |
BIN2 |
BIN1 |
SLP |
GND |
P1.0 |
P1.1 |
P1.2 |
P1.3 |
接5V |
GND |
||
按键模块 |
KEY_L |
KEY_R |
GND |
||||
P1.4 |
P1.5 |
GND |
|||||
STM32F103C8T6 |
DRV8833模块 |
AIN1 |
AIN2 |
BIN2 |
BIN1 |
SLP |
GND |
PA0 |
PA1 |
PA2 |
PA3 |
接5V |
GND |
||
按键模块 |
KEY_L |
KEY_R |
GND |
||||
PA5 |
PA6 |
GND |
K_A07_005 基于 STM32等单片机驱动 DRV8833 模块按键控制步进电机正反转相关推荐
- K_A08_012 基于 STM32等单片机驱动 DRV8833 模块按键控制直流电机正反转
目录 一.资源说明 二.基本参数 参数 引脚说明 三.驱动说明 驱动时序 对应程序: 四.部分代码说明 接线说明 STC89C52RC+DRV8833模块 STM32F103C8T6+DRV8833模 ...
- K_A07_003 基于 STM32等单片机驱动DRV8825模块按键控制步进电机正反转
目录 一.资源说明 二.基本参数 1.参数 2.引脚说明 三.驱动说明 SETP时序 对应程序: 细分说明 程序 四.部分代码说明 1.接线说明 1.1.STC89C52RC+DRV8825模块 1. ...
- K_A07_001 基于 STM32等单片机驱动A4988模块按键控制步进电机正反转
目录 一.资源说明 二.基本参数 1.参数 2.引脚说明 三.驱动说明 SETP时序 对应程序: 细分说明 程序 四.部分代码说明 1.接线说明 1.1.STC89C52RC+A4988模块 1.2. ...
- K_A07_002 基于 STM32等单片机驱动ULN2003模块按键控制步进电机正反转
目录 一.资源说明 二.基本参数 1.参数 2.引脚说明 三.驱动说明 步进电机驱动时序 反向输出 对应程序: 四.部分代码说明 1.接线说明 1.1.STC89C52RC+ULN2003模块 1.2 ...
- K_A08_004 基于 STM32等单片机驱动MX1919模块按键控制直流电机正反转加减速启停
目录 一.资源说明 二.基本参数 1.参数 2.引脚说明 三.驱动说明 1.MX1919模块驱动时序 2.对应程序: 3.PWM信号 四.部分代码说明 接线说明 1.STC89C52RC+MX1919 ...
- K_A08_003 基于 STM32等单片机驱动L9110模块按键控制直流电机正反转加减速启停
目录 一.资源说明 二.基本参数 1.参数 2.引脚说明 三.驱动说明 L9110模块驱动时序 对应程序: PWM信号 四.部分代码说明 接线说明 1.STC89C52RC+L9110模块 2.STM ...
- K_A08_002 基于 STM32等单片机驱动MAX1508模块按键控制直流电机正反转加减速启停
目录 一.资源说明 二.基本参数 1.参数 2.引脚说明 3.驱动说明 MAX1508模块驱动时序 对应程序: PWM信号 四.部分代码说明 接线说明 1.STC89C52RC+MAX1508模块 2 ...
- K_A08_009 基于 STM32等单片机驱动TB6612模块按键控制直流电机正反转加减速启停
目录 一.资源说明 二.基本参数 1.参数 2.引脚说明 三.驱动说明 TB6612模块驱动说明 对应程序: ENA ENB输出PWM 四.部分代码说明 接线说明 1.STC89C52RC+TB661 ...
- K_A08_005 基于 STM32等单片机驱动XY-160D模块按键控制直流电机正反转加减速启停
目录 一.资源说明 二.基本参数 四.部分代码说明 接线说明 1.STC89C52RC+XY-160D模块 2.STM32F103C8T6+XY-160D模块 五.基础知识学习与相关资料下载 六.视频 ...
最新文章
- JavaScript_上
- 百度大脑发布企业服务解决方案,将 AI 技术落实到细分领域
- 回归分析评估指标均方对数误差(MSLE)详解及其意义:Mean Squared Log Error
- springclould feign客户端添加全局参数
- java log 封装_工具类之LogUtils
- C语言指针变量--图示易懂
- (简历来自拉勾)H5前端工程师:
- 关于腾讯云服务器备案全流程 内容
- 正高、正常高、大地高
- 作者序:互联网的负能量之声
- 游戏策划入门教程(前言)
- 苹果手机解绑微信支付教程
- neo4j 入门例子
- 使用vi编辑器编辑一个C语言源程序hello.c,并使用编译工具GCC编译该源程序。
- JS实现保存当前页面
- eggjs mysql_阿里开源eggjs,eggjs+ejs+mysql 初始化项目,简单记录
- 天猫用户重复购买预测之数据分析
- 部分RFID安全技术
- java weblogic.wlst_Weblogic - 使用Wlst获取部署类型
- 2020年2月18日 林大OJ习题 set
热门文章
- 如何在vmware workstation 上安装xp系统
- 麦肯锡七步分析法 创业者应该如何分析商机
- 基于web多媒体素材库的开发与实现前景和范围文档
- 如果在一个工程中有两个vhd文件,就相当于有两个模块,那么对于这个工程整体的bdf文件生成,怎么把这两个模块都加到同一个bdf文件中。bdf文件中两个模块之间的连线及输入输出,是自己输进去的还是自动生
- Java如何生成Code128C条形码
- YouTube 网红程序员一夜走红,修复美、日、俄多国街景视频
- Java程序设计实验四:Java小应用程序界面设计
- [JVM]成为JavaGC专家(1)—深入浅出Java垃圾回收机制
- 卢松松:12306网站订票详细攻略
- Java 将文本内容、网址 ;生成二维码 解析二维码