资源简介
Arduino 自带的第三方库,用于步进电机运行用。并支持两相和四相两种类型的步进电机。
代码片段和文件信息
/*
Stepper.cpp - - Stepper library for Wiring/Arduino - Version 0.4
Original library (0.1) by Tom Igoe.
Two-wire modifications (0.2) by Sebastian Gassner
Combination version (0.3) by Tom Igoe and David Mellis
Bug fix for four-wire (0.4) by Tom Igoe bug fix from Noah Shibley
Drives a unipolar or bipolar stepper motor using 2 wires or 4 wires
When wiring multiple stepper motors to a microcontroller
you quickly run out of output pins with each motor requiring 4 connections.
By making use of the fact that at any time two of the four motor
coils are the inverse of the other two the number of
control connections can be reduced from 4 to 2.
A slightly modified circuit around a Darlington transistor array or an L293 H-bridge
connects to only 2 microcontroler pins inverts the signals received
and delivers the 4 (2 plus 2 inverted ones) output signals required
for driving a stepper motor.
The sequence of control signals for 4 control wires is as follows:
Step C0 C1 C2 C3
1 1 0 1 0
2 0 1 1 0
3 0 1 0 1
4 1 0 0 1
The sequence of controls signals for 2 control wires is as follows
(columns C1 and C2 from above):
Step C0 C1
1 0 1
2 1 1
3 1 0
4 0 0
The circuits can be found at
http://www.arduino.cc/en/Tutorial/Stepper
*/
#include “Arduino.h“
#include “Stepper.h“
/*
* two-wire constructor.
* Sets which wires should control the motor.
*/
Stepper::Stepper(int number_of_steps int motor_pin_1 int motor_pin_2)
{
this->step_number = 0; // which step the motor is on
this->speed = 0; // the motor speed in revolutions per minute
this->direction = 0; // motor direction
this->last_step_time = 0; // time stamp in ms of the last step taken
this->number_of_steps = number_of_steps; // total number of steps for this motor
// Arduino pins for the motor control connection:
this->motor_pin_1 = motor_pin_1;
this->motor_pin_2 = motor_pin_2;
// setup the pins on the microcontroller:
pinMode(this->motor_pin_1 OUTPUT);
pinMode(this->motor_pin_2 OUTPUT);
// When there are only 2 pins set the other two to 0:
this->motor_pin_3 = 0;
this->motor_pin_4 = 0;
// pin_count is used by the stepMotor() method:
this->pin_count = 2;
}
/*
* constructor for four-pin version
* Sets which wires should control the motor.
*/
Stepper::Stepper(int number_of_steps int motor_pin_1 int motor_pin_2 int motor_pin_3 int motor_pin_4)
{
this->step_number = 0; // which step the motor is on
this->speed = 0; // the motor speed in revolutions per minute
this->direction = 0; // motor direction
this->last_step_time = 0; // time stamp in ms of the last step taken
this->number_of_steps = number_of_steps; // total number of steps for this motor
// Arduino pins for the motor control connection:
this->motor_pin_1 = motor_pin_1;
this->motor_pin_2 = mot
- 上一篇:宏芯T108 LCD驱动电路图
- 下一篇:汇编语言课程设计——————电子时钟的设计
相关资源
- 基于Arduino的AMLX90614非接触式温度程序
- 支持x64版本的窗口内置滚动条皮肤库
- 药店管理系统(源码以及数据库)
- 基于数据库的登陆系统
- stm32 SDIO操作库
- SkinSharp静态库的破解版
- 设备信息管理系统 数据库文件
- STM32 库函数的485通讯测试程序
- 小型自选商场商品管理系统
-
从数据库中读取数据自动生成xm
l - MSP430 AD库
- 数据库物流系统课程设计
- 12864液晶 飞思卡尔mc9s12XS128原版程序,
- Miscellaneous Connectors 和 Miscellaneous Dev
- 2019最新的全国省市区街道数据包含经
- 选修课管理系统——数据库课程设计
- OpenCpn动态链接库
- STM32LL库使用指南工程模板
- WinIoLib库
- 模拟量转换 库
- 如何对数据库进行签名
- 西工大数据库实验报告3-2020
- 成语俗语.txt
- Microsoft - 微软面试题库.pdf
- 为淘宝TM1638数码管模块8LED8按键8位数
- LD3320语音识别模块与Arduino软串口通讯
- ITR流程题库
- 腾讯X5内核浏览器类库.elp
- 200个用户昵称库
- arcgis土地利用总体规划符号库.zip
评论
共有 条评论