步进电机驱动笔记1:STM32+DRV8825模块_初步驱动42步进电机

今日学习使用STM32 F103C8T6 与DRV8825模块 驱动42步进电机

本文就简单地用单片机驱动一下,不去了解更深层次的东西,只求能转就行的那种...

文章提供测试代码讲解、完整工程下载、测试效果图

目录

 需要准备的模块:

DRV8825步进电机驱动器​编辑

42步进电机:

步进电机相位判断:

万用表测量法:

短接法:

硬件接线:

程序设计:

相关代码:

实践效果视频:

整体工程下载:

TMC2225步进电机驱动模块:

网上查阅资料贴出:


需要准备的模块:

DRV8825步进电机驱动器

引脚设置:

SLEEP高电平为正常能耗模式,而RESET默认为高电平,将它们连接起来再接单片机电源正极就行。

EN使能引脚默认为低电平,低电平为工作状态。

DIR是方向控制引脚,低电平顺时针,高电平相反。

STEP是脉冲输入引脚,pwm从此引脚输入。

FAULT和下面的GND要接单片机(如果是电路设计,记得让它和单片机供地,否则转速和力矩不匹配)。

B2 B1 A2 A1 为42步进电机AB相输入

(AB相区分方法:方法一:万用表打到测通断挡位,两条相通的就是同相;方法二:万用表打到20欧姆档,哪两根线有显示电阻就为同相,电阻太大的电机有可能是损坏的)。

VMOT 和 GND的电源输入之间一定要加100uf的电解电容。

调节电流 :通过拧动表面的十字螺丝来调节大小,顺时针减小。

42步进电机:

其中的俩相表示有俩个线圈

额定电压3.8V不是实际的驱动电压,实际驱动电压是12V

在选择步进电机时,额定电流大点好,电阻电感是越小越好

最大空载起动频率是指电机在某种驱动形式、电压及额定电流下,在不加负载的情况下,能够直接起动的最大频率。这个频率是电机性能的一个重要指标,反映了电机在空载条件下的起动能力。

最大空载的运行频率是指电机在某种驱动形式、电压及额定电流下,电机不带负载的最高转速频率。这个频率反映了电机在空载条件下的最高转速能力。

最大空载运行频率是电机在空载条件下的性能指标,实际应用中电机可能会带有一定的负载,因此其实际运行频率可能会低于这个值。

步进电机相位判断:

42 步进电机有A1 A2 B1 B2 四个相位,接下来就解释俩种方式 来判断哪俩个引脚是同相的:

市面上步进电机有六个引脚,但其实其中有俩个都是悬空的,不使用的......

下图相同颜色就是我测出同相的俩对引脚

万用表测量法:

首先准备一个万用表,将其调整到比较小的Ω欧姆电阻档位(一般就几欧姆),然后红黑表笔接线,有较小电阻显示就表示这俩个接线位是通相的:

短接法:

这个方法最简单,直接短接同相位,发现转子变得比较难用手转动,就说明是同相位的:

这一步需要注意短接线接触良好,杜邦线接触不良的话,即使是同相也不会有转动阻力的:

硬件接线:

粗略地画了下接线图:

M0 M1 M2是设置细分的

这里我就不接了,不影响我们初步地驱动步进电机转动...

然后是实物接线如下:

顺便提一嘴,VMOT 与 GND 之间要短接一个100uf的电解电容....

我之前就因为突然地拔插而毁灭了一片 8825 电机驱动模块

程序设计:

这个程序设计了PA6引脚输出10k Hz的频率来驱动步进电机每秒 约 2转的速度

实际上需要6400 Hz 才能使步进电机每秒1转:

这是取决于你的细分程度的,我这里是接的32细分的 M0 \ M1 \ M2 的组合,也就是32个脉冲才能让步进电机转过1.8度的角度,360度( 一圈 ) 就是要200*32=6400个脉冲

(这里的200是来源于360/1.8=200)

但这个程序没有设定启用A0引脚,因此原本接A0的DIR就固定接地了.....

示波器测PA6引脚PWM频率约为10Khz

相关代码:

void Timer3_PWM_init(u16 arr,u16 psc)
{GPIO_InitTypeDef GPIO_InitStructure;TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;TIM_OCInitTypeDef  TIM_OCInitStructure;//开时钟RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);    //PWM输出管脚配置 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOA, &GPIO_InitStructure);TIM_TimeBaseStructure.TIM_Period = arr; TIM_TimeBaseStructure.TIM_Prescaler =psc; TIM_TimeBaseStructure.TIM_ClockDivision = 0; TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); //PWM模式配置TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM1;TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_High;TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable;TIM_OC1Init(TIM3,&TIM_OCInitStructure); TIM_OC1PreloadConfig(TIM3,TIM_OCPreload_Enable); TIM_Cmd(TIM3,ENABLE); }
#include "main.h"uint16_t t1=50;int main(void)
{	init_ALL(); //初始化所有函数:t1=50;while(1){	TIM_SetCompare1(TIM3,t1); //设置舵机占空比,控制舵机转动}
}//初始化所有函数:
void init_ALL(void)
{Usart1_Init(115200);      //初始化串口1printf("HELLO \r\n");   	//串口1 测试重定向PrintfSysTick_Init(72);Timer2_Init();Timer3_PWM_init(99,71);}

实践效果视频:

初步驱动42步进电机

整体工程下载:

https://download.csdn.net/download/qq_64257614/89627610

TMC2225步进电机驱动模块:

这是我在学习中发现比DRV8825更好的步进电机驱动模块,而且引脚兼容8825,TMC2225可以将步进电机在低速运转的噪音减小、将高速运转的抖动更小

网上查阅资料贴出:

 DRV8825步进电机驱动详细说明书————含接线图-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/400377.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

8G显存玩转书生大模型

基础任务 使用 Cli Demo 完成 InternLM2-Chat-1.8B 模型的部署,并生成 300 字小故事,记录复现过程并截图。 尝试很多方法无解后在网页端重新输入: import torch from transformers import AutoTokenizer, AutoModelForCausalLM使用了Tran…

科普| 网络安全知多少?什么是网络安全?网络安全为何重要?

古语有云:“千里之堤,溃于蚁穴。” 此言非但道出了细微之处见真章的哲理,亦在今日之世,隐隐映射出网络安全之于国家、社会乃至个人生活的重要性。 在数字化浪潮汹涌澎湃的今天,网络已如血脉般渗透进每一个角落&#…

C:每日一题:单身狗

​​​​ 一、题目: 在一个整型数组中,只有一个数字出现一次,其他数组都是成对出现的,请找出那个只出现一次的数字。 整型数组 int arr[ ] {1,1,2,2,3,4,4} 二、思路分析: 1.,明确目标,选择…

C++相关内容模块

C相关内容模块 单例模式&#xff0c;实现创建类中的对象&#xff0c;保证该类只能实例化一个唯一的对象 单例模式&#xff0c;实现创建类中的对象&#xff0c;保证该类只能实例化一个唯一的对象 #define _CRT_SECURE_NO_WARNINGS // 抑制 C4996 警告 #include<iostream>…

8月echarts记录-雷达图tooltip实现单轴显示、解决柱状/折线图点击非图表图形元素不会触发事件、多柱形图点击选中改变背景颜色等

8月echarts记录-雷达图tooltip实现单轴显示、解决柱状/折线图点击非图表图形元素不会触发事件、柱形图点击选中改变背景颜色等 雷达图tooltip实现单轴显示问题描述解决方案 解决柱状/折线图点击非图表图形元素不会触发事件问题描述解决方案1. 使用API convertFromPixel和getZr实…

Redis17-服务端优化

目录 持久化配置 慢查询 什么是慢查询 如何查看慢查询 命令及安全配置 内存配置 集群优化 持久化配置 Redis的持久化虽然可以保证数据安全&#xff0c;但也会带来很多额外的开销&#xff0c;因此持久化请遵循下列建议&#xff1a; 用来做缓存的Redis实例尽量不要开启持…

一文讲清三极管

说明 下图是一个NPN型的三极管 由于发射极正偏,发射极的多数载流子(无论是P的空穴还是N的自由电子)会不断扩散到基极,并不断从电源补充多子,形成发射极电流IE。由于基极很薄,且基极的多子浓度很低,所以从发射极扩散过来的多子只有很少一部分和基极的多子复合形成基极电…

进程waitwaitpid、线程

一、wait wait功能 1、获取子进程退出状态&#xff0c;分析子进程是否已经退出&#xff08;变成僵尸态&#xff09; 2、回收资源&#xff0c;让僵尸态子进程销毁 wait本身是一个阻塞操作&#xff0c;会使调用者阻塞 2、宏&#xff1a; &#xff08;1&#xff09;WIFEXITE…

加密软件排行榜前五名,为你的数据安全保驾护航

加密软件成为了保护数据中不可缺少的一部分&#xff0c;这是一个重要的存在&#xff0c;能够保护机密文件&#xff0c;防止泄密。加密软件就是专门用于保护数据安全的&#xff0c;近年来多个加密软件的出现&#xff0c;使用户在挑选加密软件时多了一些选择&#xff0c;同时也成…

坐牢第二十五天20240813(网络通信)

一、TCP机械臂测试 通过w(红色臂角度增大)s&#xff08;红色臂角度减小&#xff09;d&#xff08;蓝色臂角度增大&#xff09;a&#xff08;蓝色臂角度减小&#xff09;按键控制机械臂 注意&#xff1a;关闭计算机的杀毒软件&#xff0c;电脑管家&#xff0c;防火墙 1&#x…

小阿轩yx-Docker Compose与私有仓库部署

小阿轩yx-Docker Compose 与私有仓库部署 Docker 的网络模式 Docker 四种网络模式 网络模式参数说明host 模式- - nethost 容器和宿主机共享 Network namespace container 模式- - net{id} 容器和另外一个容器共享 Network namespace。 kubernetes 中的pod就是多个容器共享一…

于博士Cadence视频教程学习笔记备忘

标签&#xff1a;PCB教程 PCB设计步骤 cadence教程 Allegro教程 以下是我学习该视频教程的笔记&#xff0c;记录下备忘&#xff0c;欢迎大家在此基础上完善&#xff0c;能回传我一份是最好了&#xff0c;先谢过。 备注&#xff1a; 1、未掌握即未进行操作 2、操作软件是15.…

论文阅读笔记:ST-MetaNet-2

目录 预备知识 定义1&#xff1a;城市交通 定义2&#xff1a;Geo-graph属性 问题1 方法 RNN 元学习器 元图注意力网络 元循环神经网络 预备知识 在本节中&#xff0c;我们介绍定义和问题陈述。为简洁起见&#xff0c;我们在表1中提供了一个注释表。 假设有个位置&…

40.【C语言】指针(重难点)(E)

目录 13.指针的使用和传址调用 14.数组名的理解 *数组名就是数组首元素的地址 *两个例外 *使用指针访问数组 *一维数组的传参本质 往期推荐 承接上篇39.【C语言】指针&#xff08;重难点&#xff09;&#xff08;D&#xff09; 13. 指针的使用和传址调用 见29.【C语言】函数系…

Android开发-使用FFmpeg-Android进行音视频处理

使用 FFmpeg-Android 进行音视频处理 1. 前言2. FFmpeg-Android 简介3. 功能介绍及实现3.1. 视频字幕添加Kotlin 代码示例&#xff1a;3.2. 尺寸剪切Kotlin 代码示例&#xff1a;3.3. 添加或去除水印Kotlin 代码示例&#xff1a;3.4. 时长截取Kotlin 代码示例&#xff1a;3.5. …

抠图软件哪个好用?3款免费抠图软件!一键智能抠图,高清又高效小白必备!

前言 目前市场上有众多出色的抠图软件&#xff0c;能够高效地完成图片处理工作。在这里推荐三款免费的抠图工具&#xff0c;它们都是非常省力、灵活的一键智能抠图利器&#xff0c;值得收藏&#xff01; 抠图软件一&#xff1a;千鹿设计助手 第一步&#xff0c;打开“千鹿设计…

安全无忧!Windows7全补丁旗舰版:集成所有补丁!

今日&#xff0c;系统之家小编给大家分享集成所有补丁的Windows7旗舰版系统&#xff0c;集成至2023.12所有官方补丁&#xff0c;修复了系统高危漏洞&#xff0c;让大家时刻都能舒心地展开操作。系统基于微软 Windows 7 2009 SP1 旗舰版进行离线制作&#xff0c;全新升级的优化方…

linux文件查找--locate和find命令详解

在文件系统上查找符合条件的文件 文件查找:1.非实时查找(数据库查找):locate2.实时查找: find应用&#xff1a;生产环境中查找到系统中占用磁盘空间较大且时间比较久的大日志文件&#xff0c;对这个较大的日志文件做处理&#xff08;删除移走等)&#xff0c;防止它占用更多的磁…

如何判断监控设备是否支持语音对讲

目录 一、大华摄像机 二、海康摄像机 三、宇视摄像机 一、大华摄像机 注意&#xff1a;大华摄像机支持跨网语音对讲&#xff0c;即设备和服务器可以不在同一网络内&#xff0c;大华设备的语音通道填写&#xff1a;34020000001370000001 配置接入示例&#xff1a; 音频输入…

vue3重构一款仿饿了没APP实战项目

最近重构了一款比较流行的app项目&#xff0c;采用的是vue3做的h5项目&#xff0c;细节知识点很多&#xff0c;滚动&#xff0c;动画&#xff0c;数据通信&#xff0c;状态缓存等&#xff0c;想要学习交流的小伙伴赶紧行动起来。 图1 图2 图1 图2 图3 图4 图5 图5