从线圈到代码:单极性步进电机原理拆解,单相 / 双相 / 半步驱动全讲透 1.步进电机基本知识步进电机是一种特殊的电动机,它可以将输入的电脉冲信号转换成角度或位置的离散变化,从而实现精确的角度控制。步进电机主要有以下特点:步进式运转:步进电机通过控制线圈的通电顺序,使转子以固定的角度(步距角)转动,从而实现位置控制。常见的步距角有 1.8°、0.9° 等。高定位精度:步进电机可以精确地控制转动角度,定位精度高,一般可达 ±3% 以内。开环控制:步进电机的位置控制是通过开环控制实现的,无需反馈信号即可精确控制。高扭矩:步进电机在低速时具有较高的输出扭矩,适合驱动负载较重的场合。快速响应:步进电机的启动、停止和转向速度快,响应迅速。步进电机广泛应用于各种自动化设备,如打印机、数控机床、机器人、3D 打印机等,是实现精确位置控制的理想选择。通过控制脉冲信号的频率和顺序,可以精确地控制电机的转速、角度和方向。这里我们使用的电机型号为28BYJ-48五线四相步进电机它具有以下主要特点:小型号码盘式结构:28BYJ-48 尺寸较小,直径仅 28mm,长度约 34mm,非常紧凑。低压供电:工作电压范围为 5V-12V,可直接接入单片机等低压电路。低功耗:典型工作电流仅 12-14mA,非常节能。高扭矩:输出扭矩可达 34.3mN·m,足以驱动各种小型负载。低速高精度:步距角为 0.0625°,每转可达 4096 步,精度很高。5 根引线:包括两相绕组的 4 根线和 1 根共地线。这种 28BYJ-48 步进电机广泛应用于各种小型机电设备中,如门锁、玩具、自动化设备等。由于其尺寸小、功耗低、扭矩足够,非常适合与单片机配合使用。28BYJ-48 五线四相步进电机的工作原理可以简述为通过控制定子上总共 4 对 8 个绕组的通断正对着的 2 个绕组总是会同时导通或关断利用绕组导通时产生的电磁力吸引转子上 6 个使用永磁体材料制成的齿来控制中间转子的转动。这里驱动28BYJ-48步进电机时需要配合ULN2003驱动器 ICULN2003一款常见的 7 路开关驱动器集成电路,我们可以使用GPIO驱动内部的达林顿管达林顿管也称复合管即使用两个三极管复合成一个三极管来提供更大的驱动电流从而驱动大负载控制其通断从而实现 GPIO 输出小电流控制电机运转大电流它主要用于驱动不同类型的电子负载,如步进电机、继电器、LED 和其他小型电磁设备。ULN2003具有两种封装DIP-16插件和SOP-16贴片。步进电机的控制方式主要有以下几种​单相驱动​每次只控制电机旋转一个步距角度每次只有一相绕组通电适用于较简单的运动控制但精度较低、扭矩较小。​双相驱动​每次只控制电机旋转半个步距角度每次有两相绕组通电扭矩较大,但结构和控制略复杂。​半步驱动​每次控制电机旋转半个步距角度采用单相和双相交替通电的方式实现更高的控制精度。2.应用实验这里我们使用单相驱动方式驱动步进电机简单来说单相驱动方式原理为​4 相绕组结构​28BYJ-48 步进电机有 4 个独立的绕组相,分别用 IN1、IN2、IN3、IN4 这 4 个引脚控制。​顺序通电驱动​通过依次给这 4 个相绕组通电,可以实现转子的步进旋转。每次切换一个相绕组的通断,转子就会移动一个步距角。​磁滞式结构​转子采用磁滞式结构,即转子由一圈永磁体组成,定子则由 4 个电磁铁绕组构成当定子的某个相绕组通电时,会产生一个磁极,吸引或排斥转子的磁极,从而带动转子旋转。​减速机构​28BYJ-48 内部集成了减速机构,步距角从电机本身的 7.5°,减小到 0.0625°,从而大大提高了角度分辨率。这里我们使用风雅一号板-通用兼容扩展板上的长排针连接风雅一号板-步进电机驱动板上逻辑输入部分接口使用引脚如下表所示单片机引脚电机驱动引脚步进电机引脚GPIO2IN1AGPIO3IN2BGPIO4IN3CGPIO5IN4DGNDGNDNCVBUSVCCCOMMON然后使用步进电机驱动板上逻辑输出部分接口与步进电机连接同时打开风雅一号板-步进电机驱动板上的拨码开关整体连接情况如下图所示示例代码如下在配套资料的文件夹elegance-devkit v1\Demo\04 GPIO_StepMotor中# Python env : MicroPython v1.23.0 # -*- coding: utf-8 -*- # Time : 2024/7/27 上午10:23 # Author : 李清水 # File : main.py # Description : GPIO类实验通过GPIO控制步进电机转动 # 导入相关模块 # 硬件相关模块 from machine import Pin # 时间模块 import time # 全局变量 # 初始化 GPIO 引脚元组每个元素为 Pin 对象 pins: tuple[Pin, ...] ( Pin(2, Pin.OUT), Pin(3, Pin.OUT), Pin(4, Pin.OUT), Pin(5, Pin.OUT) ) # 功能函数 def control_step_motor(step: int) - None: ​ 控制步进电机的步进逻辑。 ​ 按照当前步进索引将对应引脚电平拉高其余引脚电平拉低 ​ 实现步进电机的顺序控制。 ​ Args: ​ step (int): 当前步进索引取值范围为 0 ~ 3。 ​ Returns: ​ None ​ ​ ​for index, pin in enumerate(pins): # 索引等于当前步值的引脚拉高其他引脚拉低 pin.value(index step) # 初始化配置 # 上电延时 3 秒 time.sleep(3) # 打印调试消息 print(FreakStudio: Using GPIO to control step motor) # 主程序 while True: # 遍历 0 ~ 3 共 4 个步进值 for step in range(4): # 调用步进控制函数 control_step_motor(step) # 每步延时 4 毫秒 time.sleep_ms(4)烧录代码可以看到步进电机转动同时步进电机驱动模块上的指示灯顺序亮起。这里涉及到的关于 Python 元组数据结构的知识点可以查看如下链接https://mp.weixin.qq.com/s/crZBcEEBKBfDfWA9ub-d-A关于单极性步进电机驱动详细原理讲解可以查看如下视频【从硬件到代码】I2C 总线单极性步进电机驱动板设计全解 | 标准化接口 电机原理 实战测试看这一篇就够了_哔哩哔哩_bilibili

相关新闻

最新新闻

OSGB不是格式而是瓦片规则:倾斜摄影数据交付避坑指南

OSGB不是格式而是瓦片规则:倾斜摄影数据交付避坑指南

简介:这是一份倾斜摄影OSGB格式的三维地理空间数据包,以武汉某景点的多角度航拍建模成果为实例,适合测绘、GIS、城市规划及相关专业学生与从业者,用于学习倾斜摄影数据组织与OSGB格式的典型应用方式。压缩包共267个文件&#xff0…

2026/9/1 0:31:09
瓷砖瑕疵检测数据集:VOC+YOLO双格式标注,助力工业视觉质检

瓷砖瑕疵检测数据集:VOC+YOLO双格式标注,助力工业视觉质检

简介:本资源是面向工业视觉检测工程师、计算机视觉初学者及智能制造领域研究者的瓷砖表面瑕疵检测专用数据集,旨在支撑YOLO系列目标检测模型的训练与验证,解决瓷砖产线中人工质检效率低、漏检率高等实际问题。压缩包共含2000个VOC格式XML标注…

2026/9/1 0:31:09
基于PyTorch与CNN的遥感滑坡识别工程:从数据集到部署全解析

基于PyTorch与CNN的遥感滑坡识别工程:从数据集到部署全解析

简介:本资源是一套面向遥感图像分析初学者与地质灾害监测研究者的深度学习实践方案,聚焦滑坡区域自动识别这一典型地物目标检测任务。项目基于PyTorch框架构建端到端CNN模型,完整覆盖数据预处理、模型训练、推理可视化及评估全流程&#xff0…

2026/9/1 0:31:09
无人机铁路巡检障碍物图像分割系统:基于DeepLabV3+的实时像素级检测

无人机铁路巡检障碍物图像分割系统:基于DeepLabV3+的实时像素级检测

简介:本资源为面向人工智能与计算机视觉初学者及铁路智能运维从业者的无人机铁路障碍物图像分割实践系统,聚焦于利用深度学习技术实现复杂铁路场景下障碍物(如落石、倒伏树木、动物等)的像素级精准识别与定位。压缩包共25个文件&a…

2026/9/1 0:31:09
Python校园一卡通消费行为分析实战:从数据清洗到聚类画像

Python校园一卡通消费行为分析实战:从数据清洗到聚类画像

简介:本资源是一份面向计算机及相关专业本科生的Python课程设计与期末大作业实战项目,聚焦高校学生校园消费行为的数据分析全流程实践。项目涵盖数据清洗、特征工程、消费聚类(DFM模型应用)、可视化呈现与行为洞察,难度…

2026/9/1 0:31:09
Grok 部署加州加德州:AI 服务延迟与多区域容灾的工程解读

Grok 部署加州加德州:AI 服务延迟与多区域容灾的工程解读

如果你最近在 Cursor、VS Code 或自己的应用里接入过 Grok,大概率遇到过类似提示:当前 Grok 4.6 流量过大,请稍后重试。很多人第一反应是“模型又崩了”,但真正的问题往往藏在更底层——模型在哪个区域提供服务、你从哪个网络节点…

2026/9/1 0:26:09