- Arduino - 教程
- Arduino - 概述
- Arduino - Board Description
- Arduino - 安装
- Arduino - 程序结构
- Arduino - 数据类型
- Arduino - Variables & 常量
- Arduino - 运算符
- Arduino - 控制声明( Control Statements)
- Arduino - 循环
- Arduino - 功能( Functions)
- Arduino - 字符串( Strings)
- Arduino - String对象( String Object)
- Arduino - Time
- Arduino - 阵列( Arrays)
- Arduino - I/O Functions
- Arduino - Advanced I/O Function
- Arduino - 字符函数( Character Functions)
- Arduino - 数学图书馆( Math Library)
- Arduino - 三角函数( Trigonometric Functions)
- Arduino - Due & Zero
- Arduino - 脉冲宽度调制( Pulse Width Modulation)
- Arduino - 随机数( Random Numbers)
- Arduino - 中断( Interrupts)
- Arduino - 沟通( Communication)
- Arduino - 内部集成电路( Inter Integrated Circuit)
- Arduino - 串行外设接口( Serial Peripheral Interface)
- Arduino - 闪烁LED( Blinking LED)
- Arduino - 褪色LED( Fading LED)
- Arduino - 读取模拟电压( Reading Analog Voltage)
- Arduino - LED条形图( LED Bar Graph)
- Arduino - 键盘注销( Keyboard Logout)
- Arduino - 键盘消息( Keyboard Message)
- Arduino - 鼠标按钮控制( Mouse Button Control)
- Arduino - 键盘串口( Keyboard Serial)
- Arduino - 湿度传感器( Humidity Sensor)
- Arduino - 温度传感器( Temperature Sensor)
- Arduino - Water Detector / Sensor
- Arduino - PIR传感器( PIR Sensor)
- Arduino - 超声波传感器( Ultrasonic Sensor)
- Arduino - 连接开关( Connecting Switch)
- Arduino - 直流电机( DC Motor)
- Arduino - 伺服电机( Servo Motor)
- Arduino - 步进电机( Stepper Motor)
- Arduino - 音调库( Tone Library)
- Arduino - 无线通信( Wireless Communication)
- Arduino - 网络通信( Network Communication)
- Arduino - 有用的资源
- Arduino - 讨论
- Show Example 1
- Show Example 2
- Show Example 3
- Show Example 4
- Show Example 5
- If statement
- If …else statement
- If…else if …else statement
- switch case statement
- Conditional Operator ? :
- while循环
- do…while循环
- for循环
- Nested循环
- Infinite循环
- delay () function
- delayMicroseconds () function
- millis () function
- micros () function
- 将数组传递给函数(Passing Arrays to Functions)
- 多维数组(Multi-Dimensional Arrays)
Arduino - 步进电机( Stepper Motor)
步进电机或步进电机是无刷同步电机,它将整个旋转分成多个步骤。 与无刷直流电动机不同,无刷直流电动机在向其施加固定的直流电压时连续旋转,步进电动机以不连续的步进角度旋转。
因此,步进电机的每转步数为12,24,72,144,180和200,每步的步进角为30,15,5,2.5,2和1.8度。 可以在有或没有反馈的情况下控制步进电机。
想象一下RC飞机上的电机。 电机在一个方向或另一个方向上旋转得非常快。 您可以根据给予电机的功率来改变速度,但是您无法判断螺旋桨是否停在特定位置。
现在想象一下打印机。 打印机内部有许多活动部件,包括电机。 一个这样的马达充当纸张进给,旋转辊在纸张上印刷墨水时移动纸张。 该电机需要能够将纸张移动一段精确的距离,以便能够打印下一行文本或图像的下一行。
另一个电动机连接到螺纹杆上,前后移动打印头。 同样,该螺纹杆需要移动一个精确的数量,以便一个接一个地打印一个字母。 这是步进电机派上用场的地方。
步进电机如何工作?
常规直流电机仅在方向上旋转,而步进电机可以以精确的增量旋转。
步进电机可以根据需要转动精确的度数(或步长)。 这使您可以完全控制电机,使您可以将其移动到一个确切的位置并保持该位置。 它通过在非常短的时间内为电动机内部的线圈供电来实现。 缺点是您必须始终为电机供电,以使其保持在您想要的位置。
你现在需要知道的是,为了移动步进电机,你要告诉它在一个方向或另一个方向上移动一定数量的步骤,并告诉它向这个方向迈进的速度。 步进电机有很多种。 此处描述的方法可用于推断如何使用本教程中未提及的其他电机和驱动程序。 但是,始终建议您查阅特定于您所拥有型号的电机和驱动器的数据表和指南。
组件的要求 (Components Required)
您将需要以下组件 -
- 1×Arduino UNO板
- 1×小型双极步进电机如下图所示
- 1×LM298驱动IC
过程 (Procedure)
按照电路图进行连接,如下图所示。
草图 (Sketch)
在您的计算机上打开Arduino IDE软件。 用Arduino语言编码将控制你的电路。 单击“新建”打开新的草图文件。
Arduino代码 (Arduino Code)
/* Stepper Motor Control */
#include <Stepper.h>
const int stepsPerRevolution = 90;
// change this to fit the number of steps per revolution
// for your motor
// initialize the stepper library on pins 8 through 11:
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);
void setup() {
// set the speed at 60 rpm:
myStepper.setSpeed(5);
// initialize the serial port:
Serial.begin(9600);
}
void loop() {
// step one revolution in one direction:
Serial.println("clockwise");
myStepper.step(stepsPerRevolution);
delay(500);
// step one revolution in the other direction:
Serial.println("counterclockwise");
myStepper.step(-stepsPerRevolution);
delay(500);
}
Code to Note
该程序驱动单极或双极步进电机。 电机连接到Arduino的数字引脚8-11。
结果 (Result)
电机将在一个方向上旋转一圈,然后在另一个方向上旋转一圈。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论