Arduino Stepper库驱动28BYJ-48步进电机测试程序

Posted perseverance52

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Arduino Stepper库驱动28BYJ-48步进电机测试程序相关的知识,希望对你有一定的参考价值。

Arduino Stepper库驱动28BYJ-48步进电机测试程序


  • Proteus仿真

步进电机28BYJ-48相关参数

步进电机28BYJ-48,步进角:5.625度,就是1个脉冲信号转5.625度,64个信号转360度。减速比:1/64,电机壳里边的电机转64圈,电机壳外边的部分转1圈。

Stepper库说明

库源代码的驱动的相序是不一样的,为了驱动28BYJ-48步进电机

  • 方式一:定义方式:Stepper myStepper(motorSteps, 8,10,9,11);
  • 方式二:对调电机电机线序。(本例采用对调线序)
  • 方式三: 修改相关代码如下:

文件位置:C:\\Users\\Administrator\\Documents\\Arduino\\libraries\\Stepper\\src,中的Stepper.cpp源文件,第257行-278行,修改如下,就是调整引脚高低电平顺序。

步进电机相关参数

Step Angle该参数决定了,程序运行时,步进电机能否转一圈。

测试功能说明

运行仿真后,步进电机转一圈停止。

示例代码

/*
  Arduino控制28BYJ-48步进电机测试程序
*/
 
//本示例程序使用Stepper库
#include <Stepper.h>//点击这里会自动打开管理库页面: http://librarymanager/All#Stepper
  
// 电机外部输出轴旋转一周步数
const int stepsPerRevolution = 64;
 
// 建立步进电机对象
// 定义电机控制引脚以及电机基本信息。
// 电机控制引脚为 8,9,10,11 
// 以上引脚依次连接在ULN2803 驱动板 In1, In2, In3, In4 
 
Stepper steppermotor(stepsPerRevolution, 8, 9, 10, 11); 
 
void setup()

  Serial.begin(9600);
    // set the speed at 60 rpm:
    delay(1000);
    Serial.println("Start...");
  steppermotor.setSpeed(60);   
  steppermotor.step(128);
    Serial.println("Stop...");
  delay(1000);

 
void loop()
 
   // 慢速顺时针旋转一圈
//  steppermotor.setSpeed(60);   
//  steppermotor.step(128);
//  delay(1000);
  
  // 快速逆时针旋转一圈  
//  steppermotor.setSpeed(60);  
//  steppermotor.step(128);
//  delay(2000);
 

程序源码和仿真资源

本示例基于Proteus8.12平台。

链接:https://pan.baidu.com/s/10_t4Z3nn6_e_Twm1NHcSpw 
提取码:up7u

鸟鸣涧 唐朝·王维
人闲桂花落,夜静春山空。
月出惊山鸟,时鸣春涧中。
高性能云服务器 精品线路独享带宽,毫秒延迟,年中盛惠 1 折起

以上是关于Arduino Stepper库驱动28BYJ-48步进电机测试程序的主要内容,如果未能解决你的问题,请参考以下文章

python的arduino库叫啥

ESP32/8266 + Arduino SSD1306库驱动OLED

Arduino框架下轻量级ssd1306 I2C屏幕驱动库

什么是arduino无效设置

ENC28j60以太网芯片驱动程序简介

ESP32开源驱动库Easyio的使用,基于ESP-IDF开发框架,非Arduino