最新消息:

Arduino库教程-Stepper-Motor Knob

Arduino 少儿编程 2370浏览 0评论
Arduino库教程

Stepper Motor Knob

  • 步进电机,由于其独特的设计,可以没有任何反馈机制而控制到一个高度的准确性。一个步进电机的轴,安装有一系列的磁铁,是由一系列的电磁线圈控制,这些线圈按一个特定的序列排列正负极,尤其是向前或向后移动一小“步”。

  • 有两种类型的步进电机,单极型和双极型晶体管,而且知道你正在使用哪种类型是非常重要的。每种电机,都有一个不同的电路。示例代码将控制两种电机。看看单极性和双极性电机的原理图,和关于如何连接你的电机的信息。

  • 在这个例子中,一个在模拟输入A0上的电位器(或其他传感器)是用通过Arduino Stepper 库来控制步进电机的运动。无论是单极或双极电机,均由数字引脚8,9,10,和11控制步进。

  • 如果你正在使用一个单极型步进电机,Arduino或genuino开发板将会连接到一个U2004达林顿管阵列。或者连接到SN754410NE H-桥,如果你有一个双极电机。

  • 更多关于这两种类型的差异的信息,请看Tom Igoe’s page on stepper motors。

硬件要求

  • Arduino or Genuino Board
  • 10k ohm 电位器
  • 步进电机
  • U2004 达林顿管阵列 (如果用单极型电机)
  • SN754410ne H-桥 (如果用双极型电机)
  • 合适的为你的步进电机供电的电源
  • 连接线
  • 面包板

电路

  • 下面你会发现电路为单极性和双极性步进电机。在任何一种情况下,最好是你的步进电机从外部供电,因为直接从你的Arduino电路板供电,他们会汲取太多能量。

  • 在这两种电路里,连接一个10K的电位器到电源和接地,而它的wipper输出到模拟引脚A0。

  • 注意:下面的两个电路都是四线配置。两条线配置将不会与提供的代码一起工作。

  • 单极型步进电路和原理图
    Arduino库教程-Stepper-Motor Knob
    Arduino库教程-Stepper-Motor Knob

  • 双极型步进电路和原理图
    Arduino库教程-Stepper-Motor Knob
    Arduino库教程-Stepper-Motor Knob

样例代码
对单极型和双极型步进机

/*
 * MotorKnob
 *
 * A stepper motor follows the turns of a potentiometer
 * (or other sensor) on analog input 0.
 *
 * http://www.arduino.cc/en/Reference/Stepper
 * This example code is in the public domain.
 */

#include <Stepper.h>

// change this to the number of steps on your motor
#define STEPS 100

// create an instance of the stepper class, specifying
// the number of steps of the motor and the pins it's
// attached to
Stepper stepper(STEPS, 8, 9, 10, 11);

// the previous reading from the analog input
int previous = 0;

void setup() {
  // set the speed of the motor to 30 RPMs
  stepper.setSpeed(30);
}

void loop() {
  // get the sensor value
  int val = analogRead(0);

  // move a number of steps equal to the change in the
  // sensor reading
  stepper.step(val - previous);

  // remember the previous value of the sensor
  previous = val;
}

[Get Code]
更多

  • Stepper myStepper = Stepper(steps, pin1, pin2, pin3, pin4)
  • stepper.setSpeed()
  • stepper.step()
  • Stepper library reference
  • Motor Knob: 使用一个电位器控制一个高度精确的步进电机。
  • StepperOneRevolution – 顺时针旋转一圈,逆时针旋转一圈。
  • StepperOneStepAtATime – 一步一步转动轴来检查电机是否正确接线。
  • StepperSpeedControl – 用电位器控制步进速度。

您必须 登录 才能发表评论!