当前位置: 首页 > news >正文

嵌入式 STM32 步进电机驱动,干货满满,建议收藏

目录

步进电机

1、步进电机驱动原理 

2、步进电机驱动 

 3、步进电机应用

1、第一步:初始化IO口

2、设置行进方式 

 四、源码


步进电机

   步进电机被广泛应用于ATM机、喷绘机、刻字机、写真机、喷涂设备、医疗仪器及设备、计算机外设及海量存储设备、精密仪器、工业控制系统、办公自动化、机器人等领域,特别适合要求运行平稳、低噪音、响应快、使用寿命长、高输出扭矩的应用场合。

步进电机的特点是保持转矩不高,频繁启动反应速度快、运转噪音低、运行平稳、控制性能好、整机成本低。

1、步进电机驱动原理 

  步进电机是将电脉冲信号转变为角位移或线位移的开环控制电机,是现代数字程序控制系统中的主要执行元件,应用极为广泛。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”,它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。

   步进电机中间部分是转子,由一个永磁体组成,边上的是定子绕组。当定子的一个绕组通电时,将产生一个方向的电磁场,如果这个磁场的方向和转子磁场方向不在同一条直线上,那么定子和转子的磁场将产生一个扭力将定子扭转。依次改变绕组的磁场,就可以使步进电机正转或反转(比如通电次序为A->B->C->D正转,反之则反转)。而改变磁场切换的时间间隔,就可以控制步进电机的速度了,这就是步进电机的驱动原理。

 

 

2、步进电机驱动 

 从原理图上可以看到,我们给PC0~PC3输出数据,数据就会进入到LB1936控制芯片,然后再通过OUT1~OUT4输出给步进电机。

 原理图已经没有问题了,那我们接下来看看步进电机的时序,如下图所示:

步进电机有四个引脚;

每四个节拍可以行进“一点”距离;

每一个节拍的电平状态必须保持800us以上的稳定状态才可以切换到下一个节拍;

每一个节拍都需要控制四个管脚的电平; 

 根据步进电机的驱动原理,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为步进角),它的旋转是以固定的角度一步一步运行的。

PC0~3根据时序节拍来输出高低电平。

 3、步进电机应用

该分析的都分析完了,接下来我们就是写代码了!

1、第一步:初始化IO口

初始化完成之后先关系运行,不然你的步进电机可能会在乱动。

2、设置行进方式 

根据之前分析的驱动模式去设置步进电机的行进方向和速度。

 记得在主函数中去初始化和调用,否则写了也没用对吧。

 四、源码

点击关注自动下载源码

 

相关文章:

嵌入式 STM32 步进电机驱动,干货满满,建议收藏

目录 步进电机 1、步进电机驱动原理 2、步进电机驱动 3、步进电机应用 1、第一步:初始化IO口 2、设置行进方式 四、源码 步进电机 步进电机被广泛应用于ATM机、喷绘机、刻字机、写真机、喷涂设备、医疗仪器及设备、计算机外设及海量存储设备、精密仪器、工业…...

详讲函数.2.

目录 5. 函数的嵌套调用和链式访问 5.1 嵌套调用 5.2 链式访问 小结: 6. 函数的声明和定义 6.1 函数的声明: 6.2 函数的定义: 5. 函数的嵌套调用和链式访问 函数和函数之间可以根据实际的需求进行组合的,也就是互相调用的…...

行测-判断推理-图形推理-位置规律-旋转、翻转

短指针每次逆时针旋转60(排除法选C走人)长指针每次顺时针旋转120选C左上菱形每次顺时针旋转90(排除C D)右上每次旋转180(选B走人)左下每次保持不变右下每次逆时针旋转90选B左上和右上为左右翻转&#xff0c…...

linux shell 入门学习笔记15 shell 条件测试

概念 shell的条件测试目的是得出真和假。 shell 提供的条件测试语法 test 命令 [] 中括号命令 语法*: test条件测试 test命令用来评估一个表达式,他的结果是真,还是假,如果条件为真,那么命令执行状态结果就为0&…...

Apollo(阿波罗)分布式配置安装详解

Apollo(阿波罗) Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性&#…...

Vue3之组件

何为组件 组件化的概念已经提出了很多年了,但是何为组件呢?组件有啥优势?本文将会做出解答,首先我们需要弄清楚何为组件。在VUE的官网中的解释是: 组件允许我们将 UI 划分为独立的、可重用的部分,并且可以对…...

【网络】套接字 -- UDP

🥁作者: 华丞臧. 📕​​​​专栏:【网络】 各位读者老爷如果觉得博主写的不错,请诸位多多支持(点赞收藏关注)。如果有错误的地方,欢迎在评论区指出。 推荐一款刷题网站 👉 LeetCode刷题网站 文章…...

Lambda原理及应用

Lambda原理及应用 Lambda介绍 Lambda 是 JDK8 以后版本推出的一个新特性,也是一个重要的版本更新,利用 Lambda 可以简化内部类,可以更方便的进行集合的运算,让你的代码看起来更加简洁,也能提升代码的运行效率。 Lambda语法 非…...

运动耳机推荐、最值得入手的运动耳机清单共享

现在市面上各式各样的运动蓝牙耳机着实让人挑花了眼,怎样才能从纷繁复杂的市场中挑选出专业性、安全性、舒适性等各个方面都做地可圈可点的运动蓝牙耳机可真不是一件易事啊,甚至连不少老朋友都会踩坑,为了能让大家挑到真正的运动蓝牙耳机,为此…...

c盘爆满--如何清理电脑C盘

问题 c盘饱满很多天了,今天终于忍无可忍,开始展开对c盘的处理 c盘的基本处理有两步, 第一步,电脑系统清理 1,c盘右键属性,有个磁盘清理,好像是系统更新的一些缓存资源,可以直接清理 当然这只…...

Nginx配置web服务器及部署反向代理

Nginx配置web服务器及部署反向代理配置web服务器location语法部署反向代理代理转发配置web服务器 项目部署到linux上的静态文件代理给Nginx处理。当访问服务器IP时,可以自动返回静态文件主页。 主配置文件中server块对应的次配置include /etc/nginx/conf.d/*.conf…...

mvvm和mvc

mvvm是model-view-viewmodel的缩写,前端开发的架构模式 m: model:模型,指的是数据和交互业务逻辑 v: view:视图,用户看到的ui界面 vm: viewmodel:视图模型&#xff0…...

JavaScript while 循环

JavaScript while 循环的目的是为了反复执行语句或代码块。只要指定条件为 true,循环就可以一直执行代码块。while 循环while 循环会在指定条件为真时循环执行代码块。语法while (条件){需要执行的代码 }实例本例中的循环将继续运行,只要变量 i 小于 5&a…...

CMU15-445 Project.0总结

在线测试 本地测试 Project #0 - C Primer 以下是Project #0的网址,2022FALL的Project #0本质上是实现一棵字典树,关于字典树的相关内容可以参考C实现字典树。 在本题中,为了存储对应着字符串的任意类型值,题目设计了一个Tri…...

计算机网络题库---错题本

(一)老生常谈 第一章: 1.什么是计算机网络?其主要功能是什么? 解答: 利用通信设备和线路,将分布在地理位置不同的、功能独立的多个计算机系统连接起来,以功能完善的网络软件实现网…...

【react】react创建项目与引入AntD组件库:

文章目录一、初始化项目:【1】创建项目【2】暴露项目配置文件【3】安装依赖【4】配置less二、快捷键:【1】rcctab三、安装AntD组件库:【1】安装【2】index.js【3】问题:【4】效果:一、初始化项目: 【1】创…...

hook与mixin

看完vue3就开始看vue3的源码,表示很懵~ 刚把rollup打包搞完,这不响应式就接着来了!,还是写篇直接使用vue3的博客清清脑吧! 什么是hook、mixin? mixin: Vue2中多个组件内存在重复JS业务逻辑,使…...

【C语言】自定义类型

一、什么是自定义类型C语言提供了丰富的内置类型,常见的有int, char, float, double, 以及各种指针。除此之外,我们还能自己创建一些类型,这些类型称为自定义类型,如数组,结构体,枚举类型和联合体类型。二、…...

没有上司的舞会(C++,树形DP)

题目描述 某大学有 nnn 个职员,编号为 1…n1\ldots n1…n。 他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司。 现在有个周年庆宴会,宴会每邀请来一个职员都会增加一定的快乐指数 ri…...

【java基础】static和final关键字的作用及其用法详解

文章目录static关键字静态字段静态方法静态代码块静态内部类final关键字final字段final方法final类static关键字 这个关键字表示静态的,用于不同地方意思不一样 静态字段 如果我们将其作用到字段上,那么该字段为类所拥有,我们使用new关键字…...

拆解一颗BGA芯片:从X光影像到金相切片,深度剖析焊点失效的微观世界

拆解一颗BGA芯片:从X光影像到金相切片,深度剖析焊点失效的微观世界 走进失效分析实验室的洁净间,空气中弥漫着异丙醇的淡淡气味。工作台上摆放着一块刚送检的通信设备主板——客户反馈在高温环境下频繁出现信号丢失,初步排查锁定在…...

Payum实战案例:构建支持多种支付方式的电商平台完整指南 [特殊字符]

Payum实战案例:构建支持多种支付方式的电商平台完整指南 🚀 【免费下载链接】Payum PHP Payment processing library. It offers everything you need to work with payments: Credit card & offsite purchasing, subscriptions, payouts etc. 项目…...

AI重构职场,30岁已成人生分水岭:程序员的两种人生与一种新活法

AI重构职场,30岁已成人生分水岭:程序员的两种人生与一种新活法在AI写下50%代码的2026年,30岁不再只是年龄数字,而是划分两种职业生涯、两种生活状态的分界线。2026年3月的一个周五晚上,29岁的杭州后端工程师李明&#…...

AI伦理编程实战:从公平性算法到可解释性模型的工程实践

1. 项目概述:当代码开始思考,我们该教它什么? “AI伦理编程”这个词,听起来像是一个技术乌托邦,一个我们只要遵循几条规则就能让机器变得善良的简单任务。但当你真正坐下来,试图将“公平”、“透明”、“无…...

基于Taotoken多模型能力为智能客服场景选型

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 基于Taotoken多模型能力为智能客服场景选型 构建一个高效、经济的智能客服系统,核心挑战之一在于模型选型。不同的模型…...

Cursor AI编程规则深度解析:从项目规范到团队协同的实战指南

1. 项目概述:从“Cursor Rules”看现代开发者的效率革命如果你是一名开发者,最近可能频繁听到一个词:Cursor。它不仅仅是一个编辑器,更是一个集成了AI能力的开发环境,正在悄然改变我们写代码的方式。而今天要聊的这个项…...

Redis模糊查询实战:从keys到scan的演进与避坑指南

1. Redis模糊查询的生死抉择:keys命令的血泪教训 那天凌晨三点,我被急促的电话铃声惊醒。线上订单系统突然卡死,监控大屏一片飘红。登录服务器后用redis-cli --latency检测,发现Redis响应时间高达2000ms!紧急排查后发现…...

MockGPS虚拟定位终极指南:从零开始快速掌握位置模拟技巧

MockGPS虚拟定位终极指南:从零开始快速掌握位置模拟技巧 【免费下载链接】MockGPS Android application to fake GPS 项目地址: https://gitcode.com/gh_mirrors/mo/MockGPS MockGPS是一款专为Android设备设计的开源虚拟定位应用,能够帮助用户在不…...

GitHubCopilot与Gemini3.1Pro协同开发实战

在 2026 年,AI 编程工具的差异已经从“谁能写代码”转向“谁能把代码写对、写稳、写得可维护”。很多团队开始采用“双引擎协作”:GitHub Copilot 负责快速生成与代码补全,而 Gemini 3.1 Pro 负责更强的推理、架构级建议、测试策略与长上下文…...

STM32F103RCT6驱动ADS1115:从IIC时序到电压换算的保姆级避坑指南

STM32F103RCT6驱动ADS1115:从IIC时序到电压换算的保姆级避坑指南 在嵌入式开发中,高精度ADC采集往往是项目成败的关键。当STM32F103RCT6遇上16位精度的ADS1115,理论上应该获得令人满意的模拟信号采集效果,但实际调试过程中&#x…...