stm32+drv8825驱动42步进电机
关于drv8825的介绍,以及如何调节vref电压值请看博主上篇文章,有详细介绍http://t.csdn.cn/NpGIc
接线图
步进电机接线图
起初我也为如何接线烦恼,因为有些博客在讲述这些问题的时候没有讲的很透彻。
方法如下:
①用万用表调到欧姆档,用其中一个表笔搭在一个引脚上,依次测其它几个引脚当你发现有两个引脚的电阻值非常相近时,那两个引脚就为其中一组(A和~A,
B和~B),而你那个用表笔固定的那个引脚就是COM端(A还是B要看情况);
那么问题就来了,我不知道是什么原因,我测试的时候没有两个电阻值相近的两个引脚。
我的个人解决措施为:用短路的测试方法,当两个引脚导通时,我就确定它们两个引脚为其中一组,这样我就确定了A组和B组,这样的线序和淘宝给的资料图上的线序相同。
42步进电机转速范围
1、步进电机是适合应用在低速场合的,每分钟的转速不超过1000转,也就是说0.9度时6666PPS,最高转速大概就是1000-3000PPS(0.9度)之间这样的是最好的。
2、一般情况下,步进电机最佳的工作速度范围是90~900rpm,低速场合当然会更适合步进电机,因为规格会更符合步进电机的运行。
3、42步进电机的驱动电压一般是DC24V,42步进电机在2700rpm其实也是可以跑的,就是力矩比较小, 意思就是转数越大,力矩就越小。
简单的步进电机驱代码分析
main.c
#include "stm32f10x.h"
#include "delay.h"
#include "bsp_stepper.h"
/************************************************ALIENTEK 精英STM32F103开发板实验0工程模板注意,这是手册中的新建工程章节使用的main文件 技术支持:www.openedv.com淘宝店铺:http://eboard.taobao.com 关注微信公众平台微信号:"正点原子",免费获取STM32资料。广州市星翼电子科技有限公司 作者:正点原子 @ALIENTEK
************************************************//*步进电机驱动函数*/
//void stepper(int num,int half_T)
//{
// for(;num>0;num--)
// {
// STEP_HIGH;
// Delay(half_T);
// STEP_LOW;
// Delay(half_T);
// }
//}int main(void)
{ Stepper_GPIO_Config();delay_init();// GPIO_SetBits(GPIOB,GPIO_Pin_6);// GPIO_ResetBits(GPIOB, GPIO_Pin_7);while(1){ uint32_t i,j;GPIO_ResetBits(DIR_GPIO_PORT ,DIR_GPIO_PIN);//正转for(i=0;i<6400;i++) //一个脉冲1.8度,全步下一圈要200个脉冲;这里是32细分{GPIO_SetBits(STEP_GPIO_PORT,STEP_GPIO_PIN); //42步进电机脉冲频率最好在500us-1ms之间,要不然会很抖delay_us(600);GPIO_ResetBits(STEP_GPIO_PORT, STEP_GPIO_PIN);delay_us(600);}delay_ms(1000);GPIO_SetBits(DIR_GPIO_PORT ,DIR_GPIO_PIN);//反转for(j=0;j<6400;j++){GPIO_SetBits(STEP_GPIO_PORT,STEP_GPIO_PIN);delay_us(600);GPIO_ResetBits(STEP_GPIO_PORT, STEP_GPIO_PIN);delay_us(600);}delay_ms(1000);}}
stepp.c
#include "bsp_stepper.h"void Stepper_GPIO_Config(void)
{ /*定义一个GPIO_InitTypeDef类型的结构体*/GPIO_InitTypeDef GPIO_InitStructure;/*开启驱动板上引脚相关的GPIO外设时钟*/RCC_APB2PeriphClockCmd( 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; //设置速率为50MHzGPIO_Init(DIR_GPIO_PORT, &GPIO_InitStructure); //调用库函数,初始化GPIO /*配置STEP端口*/GPIO_InitStructure.GPIO_Pin = STEP_GPIO_PIN;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //设置引脚模式为推挽输出GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //设置速率为50MHz GPIO_Init(STEP_GPIO_PORT, &GPIO_InitStructure);GPIO_ResetBits(STEP_GPIO_PORT, STEP_GPIO_PIN);
}
发现问题:在实验中发现出现抖动情况,以为是细分的事;其实是脉冲频率的问题,脉冲频率太低,导致电磁铁转动卡顿,出现共振抖动现象。
代码链接:浏览器打开
https://wwf.lanzouv.com/iYBjt0f5dmyf
stm32+drv8825驱动42步进电机相关推荐
- 【STM32】实战3.1—用STM32与TB6600驱动器驱动42步进电机(一)
目录 0 参考资料出处 1 实验预期效果 2 硬件学习 2.1 TB6600驱动器 2.1.1 通过拨码开关设定细分与电流 2.1.2 共阴共阳接线法 2.2 开关电源(AC转DC变压器)& ...
- Arduino CNC电机扩展板详解(A4988驱动42步进电机)
原文地址:http://www.taichi-maker.com/homepage/reference-index/motor-reference-index/arduino-cnc-shield/ ...
- 51单片机控制TB6600驱动器驱动42步进电机
51单片机控制TB6600驱动器驱动42步进电机 第一次 功能实现目标 硬件简介 硬件连接 程序代码 第一次 以前总是看别人写的博客,通过别人的博客解决了我很多问题,从中也学到了各种知识,虽然不是很系 ...
- Arduino 下用A4988或TMC2209驱动42步进电机
在DIY黑胶唱机的过程中,准备用一个42步进电机带动唱盘,需要恒定的每分钟33.33转的转速. 记录一下折腾的过程. 用洞洞板制作的驱动电路: 驱动板接线图 先拿价格便宜很多的A4988做实验 按照接 ...
- A4988驱动42步进电机
A4988步进电机驱动器驱动控制42步进电机速度,步进电机调速,调节驱动电流
- Arduino-TB6600驱动42步进电机
设计者:STCode (公众号同名) Arduino控制42 步进电机 串口控制旋转位置 1)描述 42步进电机的驱动方式有多种,例如用A4988步进电机模块,这次我们使用TB6600驱动器驱动一个4 ...
- STM32F4驱动42步进电机(采用驱动器)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 器件 实物 接线 TB6600拨码卡关 代码说明 main.c 代码如下(示例): main.c 代码(极简版) step_ ...
- 树莓派入门(八)之树莓派与A4988 驱动42步进电机
在树莓派入门(三)里面我介绍了如何驱动步进电机,当时驱动的步进电机是那种比较简单精度不是那么高的电机,今天我们驱动的是比较复杂的步进电机.当然,这里我还是以arduino为例,但是会给出树莓派的代码. ...
- 【电机驱动芯片(单、双极性步进电机驱动方式/四相五线和42步进电机)——ULN2003、双H桥芯片(DRV8833/DRV8825)】
文章目录 一.步进电机工作原理 1.基本原理 2.相关总结 二.单极性步进电机驱动(以ULN2003芯片+28BYJ-48电机为例) 1.28BYJ-48四相五线步进电机介绍 2.ULN2003芯片介 ...
最新文章
- 编写可调模板并使用Auto-tuner自动调谐器
- 聊聊flink的TimeCharacteristic
- Vista下控件无法安装解决办法
- linux 内核网络协议栈
- threejs 影子属性_影子场vs.属性访问器接口第2轮
- 华为内核已经升级到鸿蒙,安卓再见!华为升级全力转向鸿蒙OS
- 03-21 webview 性能分析
- 网站集成QQ登录功能
- 第133天:移动端开发的一些总结
- [2019杭电多校第六场][hdu6635]Nonsense Time
- c语言数字转成大写,c语言 数字变大写 代码
- sort函数的用法(C++排序库函数的调用)对数组进行排序,在c++中有库函数帮我们实现,这们就不需要我们自己来编程进行排序了。
- 第九届大唐杯省赛知识点梳理-5G无线技术(35%)
- Discuz数据库调用:DZ模板调用常用代码手册
- ftp常见错误代码记录下
- 谈谈对K8S CNI、CRI和CSI插件的理解
- 沈阳大学生招聘2020计算机,2020—毕业生必备的各大就业信息网站汇总
- 今天高考╮(╯▽╰)╭
- Android lua编辑工具,mlua app下载
- 简单了解蓄电池在直流系统中的使用现状!