Arduino库教程-Stepper-Motor Knob
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。
注意:下面的两个电路都是四线配置。两条线配置将不会与提供的代码一起工作。
单极型步进电路和原理图
双极型步进电路和原理图
样例代码
对单极型和双极型步进机
/*
* 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 - 用电位器控制步进速度。
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号