STM32控制DRV8825驱动42BYGH34步进电机
最近想玩一下人工智能,然后买了个步进电机想玩一下,刚到了一脸懵逼,发现驱动器20多块,有点超预算,然后整了个驱动板,方便自己画线路板,经过各种搜索,终于转起来了,记录一下,下次方便自己回想
DRV8825简介
1:引脚定义
DIR : 控制电机正反转,高:正转 低:反转(还和接线有关,就是切换转的方向)
STP : 接受脉冲,驱动电机转动,脉冲速度越快,转动速度越快,接STM32的发送脉冲的引脚
SLP : 控制驱动器进入睡眠模式,低电平睡眠,高电平唤醒,不需要睡眠的话接STM32的3.3V
RST : 重置引脚,复位驱动器,低电平复位,高电平正常,接3.3V
**M2,M1,M0 😗*微步设置,设置分辨率,分辨率如下,通过对应的引脚设定高低电平来设定对应的分辨率,例如我的步进电机 步距角是1.8°,转一圈360°就是需要200次, 然后分辨率设定为1/32步(M2/M1/M0设定高/高/高)那么就是需要收到32次脉冲转1.8°,转一圈需要收到6400次脉冲
EN : 使能引脚,用于启用驱动器,低电平启用,所以设定为低电平(GND)就可以了
**GND 😗*接地
FLT : 不用接,出现故障后会进入休眠模式
2A/1A/1B/2B : 接步进电机的引脚,接法按照图片从上到下,A+/A-/B-/B+,B+/B-/A-/A+,A-/A+/B+/B-,B-/B+/A+/A-,我的理解就是上面两个都是A或者都是B,中间的两个正负要一样,下面的俩就是剩下的(个人总结,仅供参考)
**GND 😗*接地,我把外接电源的负极接到这里了
VMOT : 外部电源接口,8.2V至45V都行,电流尽量大一点的
步进电机
没啥说的,就是四根线
STM32代码
我的接线
其中PB10和PB11我分别接STM32的A6和A7
#include "stm32f10x.h" // Device header#define STEP_GPIO_PORT GPIOA
#define STEP_GPIO_PIN GPIO_Pin_7 #define DIR_GPIO_PORT GPIOA
#define DIR_GPIO_PIN GPIO_Pin_6void Motor_GPIO_Init(void)
{ //定义一个GPIO_InitTypeDef类型的结构体GPIO_InitTypeDef GPIO_InitStructure;//开启驱动板上引脚相关的GPIO外设时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);GPIO_InitStructure.GPIO_Pin = DIR_GPIO_PIN | STEP_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 }/*** @brief 微秒级延时* @param xus 延时时长,范围:0~233015* @retval 无*/
void Sleep_us(uint32_t xus)
{SysTick->LOAD = 72 * xus; //设置定时器重装值SysTick->VAL = 0x00; //清空当前计数值SysTick->CTRL = 0x00000005; //设置时钟源为HCLK,启动定时器while(!(SysTick->CTRL & 0x00010000)); //等待计数到0SysTick->CTRL = 0x00000004; //关闭定时器
}//步进电机驱动函数
//num:旋转一圈的电平次数
//sleepTime:一个脉冲的时间
void Rotate_Once(int num,int sleepTime)
{for(;num>0;num--){GPIO_SetBits(STEP_GPIO_PORT, STEP_GPIO_PIN);Sleep_us(sleepTime/2);GPIO_ResetBits(STEP_GPIO_PORT, STEP_GPIO_PIN);Sleep_us(sleepTime/2);}
}int main(void)
{Motor_GPIO_Init();while(1){GPIO_SetBits(DIR_GPIO_PORT, DIR_GPIO_PIN);Rotate_Once(6400,1000);//正转一圈GPIO_ResetBits(DIR_GPIO_PORT, DIR_GPIO_PIN);Rotate_Once(6400,1000);//反转一圈}
}
出现的问题
发现烧录进去代码,然后步进电机哒哒响,但是不转
1:可能一个脉冲的时间太久,建议第一次调快点,放个胶带方便看
2:电流限位器需要调整,慢慢拧,直到驱动电机正常旋转
接线照片和视频
借鉴的文章
https://blog.csdn.net/qq_42250136/article/details/140999996
https://blog.csdn.net/weixin_39966909/article/details/112454121
相关文章:
STM32控制DRV8825驱动42BYGH34步进电机
最近想玩一下人工智能,然后买了个步进电机想玩一下,刚到了一脸懵逼,发现驱动器20多块,有点超预算,然后整了个驱动板,方便自己画线路板,经过各种搜索,终于转起来了,记录一…...
系统清理专家,一键释放磁盘空间!
打工人们你们好!这里是摸鱼 特供版~ 今天给大家带来一款超实用的系统清理工具——Glary Disk Cleaner,帮助你快速清理系统中的垃圾文件,释放磁盘空间,提升系统运行速度! 推荐指数:★★★★★ 软件简介 G…...
识别法院PDF文件特定字段并插入数据库【正则表达式+本地化部署】
pdf解析法院协助单特定字段,开源项目,结合若依项目进行开发,不连互联网,本地开发部署,前端使用vue3技术,后端用若依分离版spring botot技术,实现将pdf法院协助执行通知书中的特定字段如:时间、文…...
探索智能体开发新范式:Cangjie Magic深度解析与实践指南
引言:智能体开发的新纪元 2025年3月,仓颉社区开源了基于仓颉编程语言原生构建的LLM Agent开发平台——Cangjie Magic,为智能体开发领域带来了革命性的变革。作为一名长期关注AI技术发展的开发者,我有幸在第一时间体验了这一创新平…...
计算机网络 - UDP协议
通过一些问题来讨论 UDP 协议 什么是 UDP?举几个应用了 UDP 协议的例子UDP 与 TCP 有啥区别?(PS:介绍三四个就可以了,不用说太多)具体 UDP 是不可靠的,那你觉得如何实现一个可靠的 UDP &#x…...
阿里云ECS访问不了
使用xshell连接阿里云ECS,下载nginx,然后启动 sudo systemctl start nginx 查看状态是 sudo systemctl status nginx 输入公网ip访问实例访问不到,出现 可以查看阿里云实例中的安全组,是否对外开放了80端口和443端口 添加入方向…...
Starrocks添删改查数据(二)
先安装好Starrocks,参考:Starrocks入门(二)_backend node not found. check if any backend node -CSDN博客 1、建立库 建库成功。 2、建立表 参考:表概览 | StarRocks 执行如下SQL: CREATE TABLE user_…...
RT-Thread学习笔记(一)
RT-Thread学习笔记 AIotMMUCPU架构RT-Thread版本工程创建时钟配置FinSH内核RT-Thread内核启动流程 RT-Thread是一个组件完整丰富、高度可伸缩、简易开发、超低功耗、高安全性的物联网操作系统 全称Real Time Thread AIot AIot: Artificial Intelligence of Things…...
【源码】30个Python小游戏
下载链接:https://github.com/pyGuru123/Python-Games 本站下载链接:【免费】源码30个Python小游戏资源-CSDN文库 包含:飞机大战、愤怒的墙、圆弧冲刺、行星游戏、弹跳的球、汽车避障、洞穴物语、愤怒的小鸟、丛林探险、扫雷、俄罗斯方块、…...
【Web前端技术】第二节—HTML标签(上)
hello!好久不见—— 做出一个属于自己的网站! 云边有个稻草人-个人主页 Web前端技术—本篇文章所属专栏 目录 一、HTML 语法规范 1.1 基本语法概述 1.2 标签关系 二、HTML 基本结构标签 2.1 第一个 HTML 网页 2.2 基本结构标签总结 三、网页开发…...
Android开发协调布局滑动悬停
Android开发协调布局滑动悬停 直接给个xml,防止下次忘了怎么写。 <?xml version"1.0" encoding"utf-8"?> <androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android"http://schemas.android.com/apk/res/android…...
R语言简介与下载安装
1.R语言简介与下载安装 R语言其诞生于新西兰奥克兰大学,由Ross Ihaka 和Robert Gentleman开发,属于商业软件S语言的替代品;R语言是一款开源的编程类工具,专门用于数据清洗、整理、统计分析、可视化以及数据挖掘等方面,…...
CGAL边折叠edge_collapse的问题
使用edge_collapse对一个模型简化,之后回收垃圾,collect_garbage 处理之前的顶点和三角形数量: number_of_vertices: 955730 number_of_faces: 1903410 num_vertices: 955730 num_faces: 1903410 处理之后的顶点和三角形数量:…...
2025 全球分布式云大会演讲实录 | 沈建发:智启边缘,畅想未来:边缘计算新场景落地与 Al 趋势新畅想
4 月 9 日,2025 全球分布式云大会暨 AI 基础设施大会在深圳成功举办,火山引擎边缘云产品解决方案高级总监沈建发出席并以《智启边缘,畅想未来:边缘计算新场景落地与 Al 趋势新畅想》为主题,分享了边缘计算在 AI 技术趋…...
【ELF2学习板】OpenCL程序测试
目录 引言 OpenCL简介 主要特点 编程模型 应用场景 测试程序 代码说明 构建编译环境 头文件 库文件 程序编译 测试结果 结语 引言 ELF2开发板采用的是RK3588处理器,它是瑞芯微推出的一款高性能 SoC。RK3588 集成了 ARM Mali-G610 MP4 GPU,…...
EtherCAT转ProfiNet边缘计算网关配置优化:汽车制造场景下PLC与机器人协同作业案例
1.行业背景与需求分析 智能汽车焊装车间是汽车制造的核心工艺环节,某德国豪华品牌在其上海MEB工厂新建的焊装车间中,采用西门子S7-1500PLC作为ProfiNet主站,负责整线协调与质量追溯;同时部署KUKAKR1500Titan机器人(Eth…...
AI 推理与训练优化的核心理论体系建构及关键技术分析框架
AI 推理与训练优化的核心理论体系建构及关键技术分析框架 一、推理加速的动态系统理论建模与算法设计 (一)基于MDP的动态计算图理论 生物启发的决策框架:模拟灵长类视觉系统的注意力分配机制,构建马尔可夫决策过程(M…...
Jupyter 中 Markdown 邂逅 LaTeX:一场知识的绮梦
引言: 在日常编程和数据分析工作中,我们经常需要记录和分享信息。传统的注释方式功能有限,而富文本编辑器又过于臃肿。Markdown作为一种轻量级标记语言,完美解决了这个问题。 为什么选择Markdown? Markdown具有两大优势…...
AI 对话高效输入指令攻略(二):关于豆包的指令
免责声明:该文章的所有样例只是测试,没有唆使大家利用AI抄袭作业!更没有宣传豆包。 前言 没有听不懂话的AI,只有不会调教AI的人。(自己瞎说的)当你把AI当人看之后,你就会发现,他是多…...
Apache Atlas构建安装(Linux)
一、环境准备 maven 3.6.3python 2.7nodejs 12java 1.8 注意环境一定要对,不然一堆问题 1. python2.7 安装 参考文章:https://blog.csdn.net/weixin_42081389/article/details/101276251 打开链接:https://www.python.org/downloads/sourc…...
【JAVA】在idea新加artifact时,点击Build-Build Artifacts时,新加的artifact不能选中
首先保证添加artifact无问题,比如依赖都正确、无重复命令的情况等 办法 一 File > Invalidate Caches / Restart。 重启IDEA后,重新检查Artifact是否可选 办法 二 打开 Project Structure(CtrlShiftAltS)。 进入 Artifacts 选…...
【杂谈】-自动驾驶变革:货运革新与机器人出租车崛起
自动驾驶变革:货运革新与机器人出租车崛起 文章目录 自动驾驶变革:货运革新与机器人出租车崛起一、市场主导力量二、机器人出租车的崛起三、货运运输的变革四、商业视角下的分析五、责任归属问题 汽车行业,凭借其在道路状况、车辆性能及整体环…...
吊顶上的灯线怎么预留?是提前到位还是后期随意拉拽?
业主问家里的灯线怎么预留? 问业主灯线指的是主灯还是射灯? 业主说他家里边要做边吊,边吊上边要放一些射灯。 在射灯上方对应的留灯线就可以,不用特别的精确,把线头放的稍微长一点即可。 这位业主又说为什么要这样预留…...
网易游戏 x Apache Doris:湖仓一体架构演进之路
导读:网易游戏引入 Apache Doris 升级架构,先是替换 Elasticsearch、Hbase、Clickhouse 构建了实时数仓,而后基于 Apache Doris 和 Iceberg 构建了湖仓融合架构,实现架构的大幅简化及统一。目前,网易游戏 Apache Doris…...
大模型会不会取代人类工作
大模型是否会取代人类工作? 随着人工智能技术的迅猛发展,尤其是大型语言模型(如GPT-4、BERT等)的出现,人们开始担忧这些先进的技术是否会在未来取代人类的工作。这种担忧并非空穴来风,历史上每一次技术革命…...
深入理解 Linux 权限管理:从 Shell 到文件权限
🌼🌼 在 Linux 系统中,权限是保障系统安全与稳定的核心之一。每个操作都可能涉及权限的管理和控制,特别是当你开始以不同用户的身份进行操作时。本文将通过生动的比喻与详细的技术解析,带你一起深入理解 Linux 权限系统…...
.net core 项目快速接入Coze智能体-开箱即用-全局说明
目录 一、Coze智能体的核心价值 二、开箱即用-效果如下 三 流程与交互设计 为什么要分析意图,而不是全部交由AI处理。 四 接入前的准备工作 五:代码实现----字节Coze 签署 JWT和获取Token .net core 项目快速接入Coze智能体-开箱即用 .net core快…...
React 开放封闭原则详解,构建可扩展的应用
开放封闭原则 React 采用了一些面向对象编程的原则和概念,其中之一就是开放封闭原则(Open-Closed Principle,OCP),它是面向对象编程的一个基本原则。本文将详细解释开放封闭原则的概念和在 React 中的应用,…...
【并行分布计算】Hadoop完全分布搭建
Hadoop完全分布搭建 1.为了使机器都处于同一个局域网中,先要修改机器的ip地址分配方式为固定ip,并为其固定分配一个ip地址。 [rootlocalhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33 问题:修改ip地址后,网络无法正常…...
Three.js + React 实战系列 : 从零搭建 3D 个人主页
可能你对tailiwindcss毫不了解,别紧张,记住我们只是在学习,学习的是作者的思想和技巧,并不是某一行代码。 在之前的几篇文章中,我们已经熟悉了 Three.js 的基本用法,并通过 react-three-fiber 快速构建了一…...
四月十六日华为发布会
智能家居及穿戴类 华为智能门锁 2 系列发布:2025 年 4 月 16 日,华为智能门锁 2 系列正式发布。该系列引入 AI 掌静脉识别技术和 AI 3D 人脸识别 3.0,具备高安全性;采用超清智能大猫眼,可视范围达 161;通过…...
23种设计模式-创建型模式之工厂方法模式(Java版本)
Java 工厂方法模式(Factory Method Pattern)详解 🌟 什么是工厂方法模式? 工厂方法模式是一种创建型设计模式,定义一个创建对象的接口,让子类决定实例化哪一个类。 它让类的实例化推迟到子类进行…...
基于FreeBSD的Unix系统搭建Nginx+PHP5运行环境
服务器操作系统版本:FreeBSD-10.1-i386 Nginx安装配置 1.以ports形式安装 #进入nginx目录 cd /usr/ports/www/nginx #执行编译安装 make install 2.编辑配置文件 #进入etc目录 cd /etc #编辑配置文件 ee rc.conf #进入编辑模式 i #参照如下设置 nginx_enable”YES…...
医院处方外流对接外部药房系统(合规python代码版)
系统概述 本系统旨在帮助医院实现与外部零售药店的安全、合规对接,满足2025年医保局和卫健委关于处方流转的最新规定。系统采用Python开发,基于RESTful API实现医院HIS系统与外部药房之间的处方信息传输、医保支付验证和处方状态跟踪等功能。 系统架构 #mermaid-svg-zKU5Wj…...
第十七届“华中杯”B 题校园共享单车的调度与维护问题分析
问题1:估算共享单车总量及不同停车点位在不同时间点的数量分布 首先,我们需要对附件1的数据进行汇总,以估算出校园内的共享单车总量。由于数据是按不同时间和停车点位统计的,我们可以通过对所有时间和点位的单车数量进行求和&…...
线程池的封装(c/c++)
前言:本文将要封装的线程池相关接口是基于之前一篇文章中的实现(文章链接:Linux多线程编程的艺术:封装线程、锁、条件变量和信号量的工程实践-CSDN博客)。不过无需担心,即使您没有阅读过前文,只…...
「数据可视化 D3系列」入门第六章:比例尺的使用
比例尺的使用 一、比例尺是什么?典型示例: 二、常用比例尺类型1. 线性比例尺 (scaleLinear)2. 序数比例尺 (scaleOrdinal)3. 其他常用比例尺类型: 三、实际应用主要改进点说明 四、比例尺的高级用法1. 颜色比例尺2. 时间比例尺3. 分段比例尺 …...
巧用ChatGPT生成适合小白的Python练习题,助力编程入门
🎁个人主页:User_芊芊君子 🎉欢迎大家点赞👍评论📝收藏⭐文章 🔍系列专栏:AI 【前言】 在Python学习的道路上,练习题是帮助小白快速掌握编程知识和技能的重要工具。然而,…...
iOS15描述文件在哪下载?iOS15测试版描述文件下载与升级教程
iOS 15正式发布:全面升级体验与开发者工具推荐 今天凌晨,备受关注的WWDC21开发者大会上如期召开,果粉期待已久的新一代iOS 15操作系统正式发布。iOS 15系统带来了全新FaceTime与通知界面,并对照片、天气、钱包、地图等应用进行了…...
Java面试(2025)—— Spring
什么是Spring? 结构化回答(总分总模式) ① 一句话定义 “Spring 是一个开源的 Java 企业级应用框架,核心目标是简化企业应用的开发,通过控制反转(IoC)、依赖注入(DI)和面向切面编…...
【C++ Qt】Hello World、初始信号槽、理解对象树 ~~~(通俗易懂 图文并茂)
每日激励:“不设限和自我肯定的心态:I can do all things。 — Stephen Curry” 绪论: 本章是Qt的第二篇,带你认识Qt中几个简单的控件如何实现,以及通过信号槽的方式实现一定的用户和程序的联动,还有许多…...
2025.04.16【GroupedandStackedbarplot】生信数据可视化技法
Negative values This blogpost shows what happens when the dataset includes negative values. Most basic streamchart The most basic streamchart you can build with R and the streamgraph package. 文章目录 Negative valuesMost basic streamchart 2025.04.16【Gro…...
java 设计模式之代理模式
简介 代理模式:使用代理类来增强目标类的功能。在代码结构上,代理对象持有目标对象,通过代理对象访问目标对象,这样可以在不改变目标对象的前提下增加额外的功能,如权限校验、缓存等 代理模式内部的角色:…...
Spring Boot实战:基于策略模式+代理模式手写幂等性注解组件
一、为什么需要幂等性? 核心定义:在分布式系统中,一个操作无论执行一次还是多次,最终结果都保持一致。 典型场景: 用户重复点击提交按钮网络抖动导致的请求重试消息队列的重复消费支付系统的回调通知 不处理幂等的风…...
【.net core】【watercloud】数据库连接报错问题
错误信息: 中文提示 : 连接数据库过程中发生错误,检查服务器是否正常连接字符串是否正确,错误信息:Cannot Open when State is Connecting.DbType"MySql";ConfigId"0". English Message : Connection open …...
69. x 的平方根
目录 一、问题描述 二、解题思路 三、代码 四、复杂度分析 一、问题描述 给你一个非负整数 x ,计算并返回 x 的 算术平方根 。 由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。 注意:不允许使用任何内置指数…...
计算机网络基础概论
计算机网络基础概论 目录 一、网络基本概念 1.1. 网络 1.2 互联网 1.3 ip地址 1.3.1 作用 1.3.2 分类 1.4 MAC地址 1.4.1 MAC地址与 IP 地址的关系 1.5 网络协议 二、网络分层模型 2.1 物理层 2.2 数据链路层 2.3 网络层 2.4 传输层 2.5 会话层 2.6 表示层 2.7…...
京东3D空间视频生成技术探索与应用
1. 背景 近年来,随着社交媒体、流媒体平台以及XR设备的快速发展,沉浸式3D空间视频的需求迅猛增长,尤其是在短视频、直播和电影领域,正在重新定义观众的观看体验。2023年,苹果公司发布的空间视频技术为这一趋势注入了新…...
吉利矩阵(DFS)
所有元素为非负整数,且各行各列的元素和都等于 7 的 33 方阵称为 “吉利矩阵”,因为这样的矩阵一共有 666 种。 本题就请你统计一下,各行各列的元素和都等于 5 的 33 方阵一共有多少种? 思路:统计方法数,…...
突破反爬限制的智能数据采集实战 —— 面向中小企业的高效信息监控方案
在当前数据驱动的商业环境中,如何高效、稳定地获取网络数据,已成为众多中小企业进行市场洞察、竞品监测与品牌舆情管理的关键能力。本文将分享一个基于先进API技术构建的社交媒体热点监控系统,聚焦实际应用场景,展示如何在合规前提…...