Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added Lib/stepperQ/20171002_205103.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
39 changes: 39 additions & 0 deletions Lib/stepperQ/Examples/Blocking/Blocking.ino
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@

// Copyright (C) 2015 Alexander Chestnov

#include <stepperQ.h>

int c = 0;



int dir_pin = 7;
int step_pin = 6 ;

void setup() {

stepperq.init(dir_pin,step_pin);
stepperq.setMaxSpeed(200);
stepperq.setAcceleration(9900);

}
void loop () {

if ( stepperq.distanceToGo() == 0 ) {

if (c%2 == 0)
{
stepperq.moveTo(400);
stepperq.start();
}
else {
stepperq.moveTo(0);
stepperq.start();
}

c++;
}

delay(100);

}
42 changes: 42 additions & 0 deletions Lib/stepperQ/Examples/ChangeSpeed/ChangeSpeed.ino
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@

// Copyright (C) 2015 Alexander Chestnov

#include <stepperQ.h>

int c = 0;

int dir_pin = 7;
int step_pin = 6 ;

void setup() {

stepperq.init(dir_pin,step_pin);
stepperq.setMaxSpeed(200);
stepperq.setAcceleration(9900);
stepperq.moveTo(8000);

stepperq.start();

}
void loop () {

if ( stepperq.distanceToGo() <4000 ) {
stepperq.move(8000);
}

return ;

if (c%2 == 0)
{
stepperq.setMaxSpeed(200);

}
else {

stepperq.setMaxSpeed(300);
}

c++;
delay(1000);

}
45 changes: 45 additions & 0 deletions Lib/stepperQ/Examples/ProportionalControl/ProportionalControl.ino
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
// ProportionalControl.pde
// -*- mode: C++ -*-
//
// Make a single stepper follow the analog value read from a pot or whatever
// The stepper will move at a constant speed to each newly set posiiton,
// depending on the value of the pot.
//
// Copyright (C) 2015 Alexander Chestnov

#include <stepperQ.h>



// Define a stepper and the pins it will use

int dir_pin = 7;
int step_pin = 6 ;


// This defines the analog input pin for reading the control voltage
// Tested with a 10k linear pot between 5v and GND
#define ANALOG_IN A0

void setup()
{
stepperq.init(dir_pin,step_pin);
stepperq.setAcceleration(9900);
stepperq.setMaxSpeed(1000);
stepperq.moveTo(8000);

stepperq.start();
}

void loop()
{
if ( stepperq.distanceToGo() <4000 ) {
stepperq.move(8000);

}

// Read new Speed
int analog_in = analogRead(ANALOG_IN);
stepperq.setMaxSpeed(analog_in);
delay(50);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
// ProportionalControl.pde
// -*- mode: C++ -*-
//
// Make a single stepper follow the analog value read from a pot or whatever
// The stepper will move at a constant speed to each newly set posiiton,
// depending on the value of the pot.
//
// Copyright (C) 2012 Mike McCauley
// $Id: ProportionalControl.pde,v 1.1 2011/01/05 01:51:01 mikem Exp mikem $

#include <stepperQ.h>



// Define a stepper and the pins it will use

int dir_pin = 7;
int step_pin = 6 ;


// This defines the analog input pin for reading the control voltage
// Tested with a 10k linear pot between 5v and GND
#define ANALOG_IN A0

void setup()
{
stepperq.init(dir_pin,step_pin);
stepperq.setAcceleration(9900);
stepperq.setMaxSpeed(1000);
stepperq.moveTo(8000);

stepperq.start();
}

void loop()
{
if ( stepperq.distanceToGo() <4000 ) {
stepperq.move(8000);

}

// Read new Speed
int analog_in = analogRead(ANALOG_IN);
stepperq.setMaxSpeed(analog_in);
delay(50);
}
30 changes: 30 additions & 0 deletions Lib/stepperQ/Examples/Quickstop/Quickstop.ino
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
// Quickstop.pde
// -*- mode: C++ -*-
//
// Check stop handling.
// Calls stop() while the stepper is travelling at full speed, causing
// the stepper to stop as quickly as possible, within the constraints of the
// current acceleration.
//
// Copyright (C) 2015 Alexander Chestnov

#include <stepperQ.h>


int dir_pin = 7;
int step_pin = 6 ;

void setup()
{
stepperq.setMaxSpeed(150);
stepperq.setAcceleration(900);
stepperq.moveTo(4000);
stepperq.start();
}

void loop()
{
delay(1000);
stepperq.stop();

}
35 changes: 35 additions & 0 deletions Lib/stepperQ/Examples/RunToPos/Blocking.ino~
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@

#include <stepperQ.h>

int c = 0;

int dir_pin = 7;
int step_pin = 6 ;

void setup() {

stepperq.init(dir_pin,step_pin);
stepperq.setMaxSpeed(200);
stepperq.setAcceleration(9900);

}
void loop () {

if ( stepperq.distanceToGo() == 0 ) {

if (c%2 == 0)
{
stepperq.moveTo(400);
stepperq.start();
}
else {
stepperq.moveTo(0);
stepperq.start();
}

c++;
}

delay(100);

}
50 changes: 50 additions & 0 deletions Lib/stepperQ/Examples/RunToPos/RunToPos.ino
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@

// Copyright (C) 2015 Alexander Chestnov

#include <stepperQ.h>

int c = 0;



int dir_pin = 7;
int step_pin = 6 ;

void setup() {

stepperq.init(dir_pin,step_pin);
stepperq.setMaxSpeed(200);
stepperq.setAcceleration(9900);

}
void loop () {

if ( stepperq.distanceToGo() == 0 ) {

switch (c%4) {

case 0:
stepperq.moveTo(200);
stepperq.start();
break;
case 1:
stepperq.moveTo(400);
stepperq.start();
break;
case 2:
stepperq.moveTo(200);
stepperq.start();
break;
case 3:
stepperq.moveTo(0);
stepperq.start();
break;

}
c++;
}
//do Something other...

delay(100);

}
51 changes: 51 additions & 0 deletions Lib/stepperQ/README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,53 @@
# stepperQ
Arduino SteperMotor Driver. Acceleration and intterupt


ESP 8266 Support Added.


Testet with:
WemosD1 Mini
Arduino Nano
Arduino Uno.

Drivers:
-TB5660 Driver ( Not gut very Idea)
-DRV8825 https://www.pololu.com/product/2133
-L298E https://coeleveld.com/arduino-stepper-l298n/ ( Not reccomendet!!!)
-uln2003a https://coeleveld.com/arduino-stepper-uln2003a/


Example Code:

#include <stepperQ.h>

int dir_pin = D3;
int step_pin = D4 ;

void setup() {

stepperq.init(dir_pin,step_pin);
stepperq.setMaxSpeed(800);
stepperq.setAcceleration(4800);
stepperq.moveTo(80000);

stepperq.start();
delay(40000);
}

void loop() {
//your code hier.
delay(2000);

}
For contueres run:


void loop () {

if ( stepperq.distanceToGo() <4000 ) {
stepperq.move(8000);
}
//your code hier.

}
Loading