完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
前言
DRV8825是经常用来驱动步进电机的一款芯片,本文介绍用它来控制步进电机。 芯片介绍 这里的介绍只介绍其引脚连接。 如图是它的说明书中对引脚的解释 在这里把它翻译成中文。 为了方便大家使用,说明书还给出了一种典型的连接方式 这样初始化好之后,将AOUT1、AOUT2、BOUT1、BOUT2分别连接到步进电机对应信号线,AOUT1与AOUT2同相,BOUT1与BOUT2同相。判断步进电机信号线是否同相的一个方法是将其中两条接在一起,用手转动电机,感觉有明显阻力则该两条线为同相,否则就不是。 要使电机转动,nRESET与nSLEEP引脚都应该接高电平,DIR可以先不接,给STEP以脉冲信号,芯片接收到一个脉冲便驱动电机转动一步。 附: 实战 M0,M1,M2对应的细分模式与上面的表格相同。 接下来开始编写程序。 首先创建两个文件bsp_stepper.h与bsp_stepper.c 在bsp_stepper.h中,首先对引脚进行初始化宏定义: //STEP_PB7 #define STEP_GPIO_PORT GPIOB #define STEP_GPIO_PIN GPIO_Pin_7 //DIR_PB6 #define DIR_GPIO_PORT GPIOB #define DIR_GPIO_PIN GPIO_Pin_6 然后在bsp_stepper.c中定义void Stepper_GPIO_Config(void);函数来配置引脚 void Stepper_GPIO_Config(void) { /*定义一个GPIO_InitTypeDef类型的结构体*/ GPIO_InitTypeDef GPIO_InitStructure; /*开启驱动板上引脚相关的GPIO外设时钟*/ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB,ENABLE); /*配置DIR*/ GPIO_InitStructure.GPIO_Pin = DIR_GPIO_PIN; //选择要控制的GPIO引脚 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //设置引脚模式为推挽输出 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //设置速率为50MHz GPIO_Init(DIR_GPIO_PORT, &GPIO_InitStructure); //调用库函数,初始化GPIO /*配置STEP端口*/ GPIO_InitStructure.GPIO_Pin = STEP_GPIO_PIN; GPIO_Init(STEP_GPIO_PORT, &GPIO_InitStructure); DIR_LOW; } 之后在main.c中定义控制函数,与(一)原理相同,在这里不再赘述: /*简单的延时函数*/ void Delay(__IO uint32_t nCount) { for(; nCount != 0; nCount--); } /*步进电机驱动函数*/ void stepper(int num,int half_T) { for(;num>0;num--) { STEP_HIGH; Delay(half_T); STEP_LOW; Delay(half_T); } } int main(void) { int half_T = 5000; Stepper_GPIO_Config(); while(1) { stepper(1000,half_T); } } 将程序烧录进板子,可以看到电机开始转动 通过改变脉冲频率控制转速,配置DIR高低电平来控制方向。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1877 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1661 浏览 1 评论
1145 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
760 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1720 浏览 2 评论
1963浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
789浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
612浏览 3评论
629浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
591浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-12 05:23 , Processed in 0.579429 second(s), Total 43, Slave 38 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号