关于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步进电机相关推荐

  1. 【STM32】实战3.1—用STM32与TB6600驱动器驱动42步进电机(一)

    目录 0 参考资料出处 1 实验预期效果 2 硬件学习 2.1 TB6600驱动器 2.1.1 通过拨码开关设定细分与电流 2.1.2 共阴共阳接线法 2.2 开关电源(AC转DC变压器)& ...

  2. Arduino CNC电机扩展板详解(A4988驱动42步进电机)

    原文地址:http://www.taichi-maker.com/homepage/reference-index/motor-reference-index/arduino-cnc-shield/ ...

  3. 51单片机控制TB6600驱动器驱动42步进电机

    51单片机控制TB6600驱动器驱动42步进电机 第一次 功能实现目标 硬件简介 硬件连接 程序代码 第一次 以前总是看别人写的博客,通过别人的博客解决了我很多问题,从中也学到了各种知识,虽然不是很系 ...

  4. Arduino 下用A4988或TMC2209驱动42步进电机

    在DIY黑胶唱机的过程中,准备用一个42步进电机带动唱盘,需要恒定的每分钟33.33转的转速. 记录一下折腾的过程. 用洞洞板制作的驱动电路: 驱动板接线图 先拿价格便宜很多的A4988做实验 按照接 ...

  5. A4988驱动42步进电机

    A4988步进电机驱动器驱动控制42步进电机速度,步进电机调速,调节驱动电流        

  6. Arduino-TB6600驱动42步进电机

    设计者:STCode (公众号同名) Arduino控制42 步进电机 串口控制旋转位置 1)描述 42步进电机的驱动方式有多种,例如用A4988步进电机模块,这次我们使用TB6600驱动器驱动一个4 ...

  7. STM32F4驱动42步进电机(采用驱动器)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 器件 实物 接线 TB6600拨码卡关 代码说明 main.c 代码如下(示例): main.c 代码(极简版) step_ ...

  8. 树莓派入门(八)之树莓派与A4988 驱动42步进电机

    在树莓派入门(三)里面我介绍了如何驱动步进电机,当时驱动的步进电机是那种比较简单精度不是那么高的电机,今天我们驱动的是比较复杂的步进电机.当然,这里我还是以arduino为例,但是会给出树莓派的代码. ...

  9. 【电机驱动芯片(单、双极性步进电机驱动方式/四相五线和42步进电机)——ULN2003、双H桥芯片(DRV8833/DRV8825)】

    文章目录 一.步进电机工作原理 1.基本原理 2.相关总结 二.单极性步进电机驱动(以ULN2003芯片+28BYJ-48电机为例) 1.28BYJ-48四相五线步进电机介绍 2.ULN2003芯片介 ...

最新文章

  1. 编写可调模板并使用Auto-tuner自动调谐器
  2. 聊聊flink的TimeCharacteristic
  3. Vista下控件无法安装解决办法
  4. linux 内核网络协议栈
  5. threejs 影子属性_影子场vs.属性访问器接口第2轮
  6. 华为内核已经升级到鸿蒙,安卓再见!华为升级全力转向鸿蒙OS
  7. 03-21 webview 性能分析
  8. 网站集成QQ登录功能
  9. 第133天:移动端开发的一些总结
  10. [2019杭电多校第六场][hdu6635]Nonsense Time
  11. c语言数字转成大写,c语言 数字变大写 代码
  12. sort函数的用法(C++排序库函数的调用)对数组进行排序,在c++中有库函数帮我们实现,这们就不需要我们自己来编程进行排序了。
  13. 第九届大唐杯省赛知识点梳理-5G无线技术(35%)
  14. Discuz数据库调用:DZ模板调用常用代码手册
  15. ftp常见错误代码记录下
  16. 谈谈对K8S CNI、CRI和CSI插件的理解
  17. 沈阳大学生招聘2020计算机,2020—毕业生必备的各大就业信息网站汇总
  18. 今天高考╮(╯▽╰)╭
  19. Android lua编辑工具,mlua app下载
  20. 简单了解蓄电池在直流系统中的使用现状!

热门文章

  1. MCE | 肿瘤微环境在癌症中的作用
  2. 《道德经》与“低熵”思想炫酷实现(.html)
  3. 推荐25个强大的 jQuery 网页布局设计作品欣赏
  4. 天天生鲜项目——我的购物车页
  5. 搭建系统|继承backtrader的本地量化回测平台如何玩转多股轮动策略!
  6. USACO05JAN「Naptime」
  7. ue5 小知识点 skeleton
  8. 2017,我们所经历的一切
  9. STM32F405驱动WS2812E灯珠灯带代码
  10. 通往财富自由之路详细笔记(17)