Pages: 1 [2] 3 4 5   Go Down
Author Topic: Increase Stepper Motor Speed  (Read 6623 times)
0 Members and 1 Guest are viewing this topic.
florida
Offline Offline
Newbie
*
Karma: 0
Posts: 42
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

yeah i looked at that im not clever enough to swap out 8,9,10,11 pins with steppin and directionpin with out it saying stepper not ....whatever
Logged

Manchester (England England)
Offline Offline
Brattain Member
*****
Karma: 514
Posts: 31534
Solder is electric glue
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

So post the code as you have changed it, along with the error message and some one will tell you where you have gone wrong.
When posting code, select it and then hit the # icon in the reply box before posting.
Logged

florida
Offline Offline
Newbie
*
Karma: 0
Posts: 42
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ok thanks alot
Logged

florida
Offline Offline
Newbie
*
Karma: 0
Posts: 42
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Code:
#include <Stepper.h>

// change this to the number of steps on your motor
#define STEPS 200
#define directionPin 22
#define stepPin 24
// create an instance of the stepper class, specifying
// the number of steps of the motor and the pins it's
// attached to


// 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;
}
there it is I told you I am simple the error code it gives me is stepper was not declared in this scope motorknob.cpp: in function void loop
etc. it gets very angry at me
Logged

Manchester (England England)
Offline Offline
Brattain Member
*****
Karma: 514
Posts: 31534
Solder is electric glue
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

You need this line:-
Code:
Stepper stepper(STEPS, 8, 9, 10, 11);
In order to tell the software what pins to use. Change the numbers to match the pins your hardware is using.

Without this line the software doesn't know what the word 'stepper' means and so it tells you it doesn't know with the error message "not declared in scope" which means "WTF no on told be about this word stepper, I don't know what to do with it.
Logged

florida
Offline Offline
Newbie
*
Karma: 0
Posts: 42
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ok now we're getting somewhere i have a pololu a4988 with the direction pin and step pin when i assigned those 2 pins numbers and gave it a go the motor wont move. i have everything set up right because it works with the code that goes forward then backward
Logged

Manchester (England England)
Offline Offline
Brattain Member
*****
Karma: 514
Posts: 31534
Solder is electric glue
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

No it won't. This is because that code uses the stepping motor library and this is designed to produce the on / off pattern for powering the coils.
The code is totally unsuitable for the hardware you have.
Try this code, I have just written it for you so I haven't tested it but it compiles:-
Code:
// change this to the number of steps on your motor
#define dirPin 10
#define stepPin 11

// the previous reading from the analog input
int previous = 0;
int val =0;
int dir = 0; // direction of movement
int steps = 0; // number of steps to take

void setup()
{
  pinMode(stepPin, OUTPUT);
 digitalWrite(stepPin, LOW);
 pinMode(dirPin, OUTPUT);
}

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

  // move a number of steps equal to the change in the
  // sensor reading
   steps = (val - previous);
  if(steps > 0){
    dir = 0;
  }
  else {
    dir = 1;
    steps = -steps;
  }
  digitalWrite(dirPin, dir); // set up the direction
  for(int i = 0; i< steps; i++){
    digitalWrite(stepPin, HIGH); // pulse the step pin
    digitalWrite(stepPin, LOW);
  }
  // remember the previous value of the sensor
  previous = val;
}


Be sure to change the first two lines to match what you have.
Logged

Berks, UK
Offline Offline
Full Member
***
Karma: 0
Posts: 145
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

You need this line:-
Code:
Stepper stepper(STEPS, 8, 9, 10, 11);
In order to tell the software what pins to use. Change the numbers to match the pins your hardware is using.

Without this line the software doesn't know what the word 'stepper' means and so it tells you it doesn't know with the error message "not declared in scope" which means "WTF no on told be about this word stepper, I don't know what to do with it.


LOL, spoken like a true Brit.
Logged

florida
Offline Offline
Newbie
*
Karma: 0
Posts: 42
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

first thank you grumpy mike. good karma for you smiley when i try the code and move the pot the motor does nothing. sorry it took so long to get back i have an 11 month old and work. my projects always get put on the back burner
Logged

Manchester (England England)
Offline Offline
Brattain Member
*****
Karma: 514
Posts: 31534
Solder is electric glue
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Try adding a
Code:
delay(100);
after the
Code:
digitalWrite(stepPin, LOW);
Logged

Pittsburgh, PA, USA
Offline Offline
Faraday Member
**
Karma: 58
Posts: 4026
I learn a bit every time I visit the forum.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hehe, hehe! He said

...

delay

hehe, hehe, hehehehehe.

j/k!
Logged

Examples can be found in your IDE.

Manchester (England England)
Offline Offline
Brattain Member
*****
Karma: 514
Posts: 31534
Solder is electric glue
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Well in a post where I said WTF I thought WTF I will say delay.
Logged

Pittsburgh, PA, USA
Offline Offline
Faraday Member
**
Karma: 58
Posts: 4026
I learn a bit every time I visit the forum.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Just the thought of going through how not to use delay has me agreeing, show him something quicker than it would take to explain why not.

Logged

Examples can be found in your IDE.

florida
Offline Offline
Newbie
*
Karma: 0
Posts: 42
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

do i need to turn on the a0 pin for the pot to work thanks again for being patient and helpful
Logged

Manchester (England England)
Offline Offline
Brattain Member
*****
Karma: 514
Posts: 31534
Solder is electric glue
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
do i need to turn on the a0 pin for the pot to work
No.
Logged

Pages: 1 [2] 3 4 5   Go Up
Jump to: