28BYJ-48步进电机控制

转载:Stepper库 – 太极创客 (taichi-maker.com)

AccelStepper库 – 太极创客 (taichi-maker.com)

28BYJ-48步进电机认识和简单控制

//本示例程序使用Stepper库
#include <Arduino.h>
#include <Stepper.h>
 
// 定义电机控制用常量
 
// 电机内部输出轴旋转一周步数
const int STEPS_PER_ROTOR_REV = 32; 
 
//  减速比
const int GEAR_REDUCTION = 64;
 
/*
 * 转子旋转一周需要走32步。转子每旋转一周,电机输出轴只旋转1/64周。
 * (电机内部配有多个减速齿轮,这些齿轮会的作用是让转子每旋转一周,
 * 输出轴只旋转1/64周。)
 * 因此电机输出轴旋转一周则需要转子走32X64=2048步,即以下常量定义。
*/
 
// 电机外部输出轴旋转一周步数 (2048)
// const是constant的简写,用来定义常量,它限定一个变量不允许被改变,产生静态作用。
const float STEPS_PER_OUT_REV = STEPS_PER_ROTOR_REV * GEAR_REDUCTION;
 
// 定义电机控制用变量
 
// 电机旋转步数
int StepsRequired;
 
// 建立步进电机对象
// 定义电机控制引脚以及电机基本信息。
// 电机控制引脚为 8,9,10,11 
// 以上引脚依次连接在ULN2003 驱动板 In1, In2, In3, In4 
 
Stepper steppermotor(STEPS_PER_ROTOR_REV, 8, 10, 9, 11); 
 
void setup()
{
//setup函数内无内容
}
 
void loop()
{
  // 极慢转动4步用于观察ULN2003电机驱动板LED变化
  steppermotor.setSpeed(1);    
  StepsRequired  =  4;
  steppermotor.step(StepsRequired);
  delay(1000);
 
   // 慢速顺时针旋转一圈
  StepsRequired  =  STEPS_PER_OUT_REV; 
  steppermotor.setSpeed(500);   
  steppermotor.step(StepsRequired);
  delay(1000);
  
  // 快速逆时针旋转一圈
  StepsRequired  =  - STEPS_PER_OUT_REV;   
  steppermotor.setSpeed(800);  
  steppermotor.step(StepsRequired);
  delay(2000);
 
}

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
电机以其精度高、控制简单、速度快等特点,在自动化控制、数控机床、医疗设备、家电等领域得到广泛应用。而FPGA作为一种可编程逻辑器件,其灵活性、高速性、可重构性等特点,使其成为了控制电机的一种优秀的方案。 以下是控制28byj-48步电机的FPGA设计流程: 1. 确定步电机控制方式:28byj-48步电机是一种四相五线式步电机,每相电流可以通过三态数码管电流控制芯片ULN2003控制,因此我们可以使用FPGA控制ULN2003,从而实现对步电机控制。 2. 编写FPGA控制程序:FPGA控制程序需要实现的功能包括:控制ULN2003的输入(IN1、IN2、IN3、IN4);控制电机的旋转方向(正转、反转);控制电机的旋转速度;控制电机的步角度等。 3. 确定FPGA开发板:常用的FPGA开发板有DE10-Nano、Zedboard、Basys3等,选择合适的开发板有利于快速实现步电机控制。 4. 连接硬件:将FPGA开发板和28byj-48步电机连接起来,注意电路连接的正确性。 5. 烧录FPGA程序:将编写好的FPGA控制程序烧录到FPGA开发板中,使其能够控制28byj-48步电机。 6. 测试:通过测试程序,验证FPGA控制28byj-48步电机的正确性和稳定性。 总之,通过控制ULN2003芯片,FPGA可以方便地实现28byj-48步电机控制,这种方案具有控制精度高、响应速度快、系统灵活可重构等优点。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值