☰
【CanMV K210】电机控制 28BYJ-48 步进电机正反转与角度定位
2026/9/28 11:03:34 网站建设 项目流程

在智能硬件项目中,电机承担“把程序变成动作”的任务。摄像头云台转向、传感器扫描、自动门开合、小型转盘展示,背后都离不开控制信号、驱动模块和执行机构之间的协同关系。

学习目标说明
理解控制链路认识程序、GPIO、驱动板和步进电机之间的关系
掌握基础接线明确 CanMV K210、ULN2003 和 28BYJ-48 的连接方式
学会时序控制理解四相半步时序如何决定电机正转、反转和角度定位
完成程序验证通过完整代码实现启动自检、定位、扫描、变速和整圈旋转
建立排查思路能从供电、共地、接线顺序和延时参数分析常见异常

本实验使用 CanMV K210 控制 28BYJ-48 步进电机,通过 ULN2003 驱动板完成电流放大。程序把 IO6、IO7、IO8、IO10 注册为 GPIOHS0~GPIOHS3,再用类封装时序控制逻辑,直观展示“程序指令 → GPIO 时序 → 驱动板 → 电机转动”的完整过程。

文章目录

  • 理论基础
  • 硬件设施
  • 软件代码
  • 扩展应用
  • 总结

理论基础

实验原理

步进电机和普通直流电机的控制方式不同。普通直流电机通电后会持续旋转,控制重点通常放在启停和调速。步进电机更适合教学场景,因为它的运动不是连续自由旋转,而是依赖多个线圈按顺序通电,让转子一步一步移动。程序发出的不是“转起来”这类抽象命令,而是一组一组有规律的高低电平时序。

28BYJ-48 是常见的小型 5V 四相步进电机,常搭配 ULN2003 驱动板使用。CanMV K210 的 GPIO 负责输出控制信号,ULN2003 负责把这些控制信号变成能够驱动电机线圈的电流输出,电机再根据线圈通电顺序完成正转、反转和角度移动。代码中使用半步驱动方式,把 8 组高低电平组合保存到时序表里,顺序向前推进时电机正转,顺序反向推进时电机反转。

实验基础

K210 的一个重要特点是外部 IO 和内部功能之间不是固定绑定关系,而是通过 FPIOA 完成映射。本实验通过fm.register()把 IO6、IO7、IO8、IO10 映射到 GPIOHS0~GPIOHS3,再通过maix.GPIO创建 4 个输出对象。物理引脚负责对外连接,GPIOHS 负责内部控制功能,代码变量则负责在程序中操作这些引脚。这样一来,StepperMotor类不需要关心开发板上的真实丝印位置,只需要按照in1、in2、in3、in4四个控制对象依次输出时序即可。

下面这张图更

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询