first i would like to thank you for looking in to my topic ,, ill post the code i used with the afmotor shield and maybe that can shed some light on whats going on ...
old code Warning im not a pro
// 2 stepper machije used to peel labels from backing
#include <AFMotor.h>
#include <Stepper.h>
AF_Stepper motor1(48, 1);// using this any more
AF_Stepper motor2(48, 2);// <--- this ch is hooked to the stepper moveing
//ir sensor left to right
int TAG1 = A0;
int TAG2 = A1;
int TAG3 = A2;
int TAG4 = A3;
//humaninterface case buttons 1 and 2
int button01 = A4;
int button02 = A10;
//optosensor has a pair of components consisting of a matched IR transmitter and receiver built in
int papercheck = A11;
int drawbar = A12;
//3 useable leds
int papperfeedingled = A13;
int ERROR = A14;
int learnled = A15;
// thats all for pin use
int buttonPushCounter = 0; // counter for the number of button presses
int buttonState = 0; // current state of the button
int lastButtonState = 0; // previous state of the button
int waittime = 0;
int set1 = 0;
int set2 = 0;
int set3 = 0;
int set4 = 0;
int set5 = 0;
int stepCount = 0;
void setup() {
Serial.begin(9600);
//set up pins THAT ARE OUTPUTS
pinMode(papperfeedingled, OUTPUT);
pinMode(learnled, OUTPUT);
pinMode(ERROR, OUTPUT);
//set up input pins
pinMode(button01, INPUT);
pinMode(button02, INPUT);
pinMode(papercheck, INPUT);
pinMode(drawbar, INPUT);
pinMode(TAG1, INPUT);
pinMode(TAG2, INPUT);
pinMode(TAG3, INPUT);
pinMode(TAG4, INPUT);
// spend the end of the sheet thru rollers
motor2.setSpeed(400);
motor2.step(350, FORWARD, SINGLE);//20 per failed W-loop FAIL 3500 WAS NOTE
motor2.release(); //allows lower power usage and lesS heating of driver and motor
delay(400);//DELAY START
//check draw bar empty carriage position
Serial.println("drawbar read!");
int drawbar = analogRead(A12);
Serial.println(drawbar);// PRINT TO SERIAL CONECTION FOR DEBUGING
// home out on power up
while (drawbar < 200) {
drawbar = analogRead(A12);
motor1.setSpeed(300);
motor1.step(24, FORWARD, SINGLE);//20 per failed W-loop FAIL
digitalWrite(ERROR, HIGH);
delay(4);
// print out A NEW value FROM read:
Serial.println("drawbar set !!");
Serial.println(drawbar);
int drawbar = analogRead(A12);
}
digitalWrite(ERROR, LOW);
delay(50);
digitalWrite(papperfeedingled, LOW);
motor1.release();//disables the H-brige to release coils on motor
motor2.release(); //allows lower power usage and lesS heating of driver and motor
// waiting ON PERSON READY CHECK POINT
int button01 = analogRead(A4);
while (button01 > 700) {
digitalWrite(papperfeedingled, HIGH);
delay(150);
digitalWrite(papperfeedingled, LOW);
delay(120);
Serial.println("waitin on button press to start feed tray!");
Serial.println(waittime);
button01 = analogRead(A4);
}
digitalWrite(papperfeedingled, LOW);
//check and wait for label sheets
//PAPERCHECK WHILE LOOP
papercheck = analogRead(A11);
while (papercheck < 200) {
digitalWrite(ERROR, HIGH);
delay(100);
papercheck = analogRead(A11);
delay(100);
// print out the value you read:
Serial.println(papercheck);
delay(100);
}
digitalWrite(ERROR, LOW);
// IR RAIL TEST CHECK TO SEE IF IR RAIL IS IN LOCKED POS AND WAIT FOR IT TO BE SO
// READ AND WAIT ON ALL 4 IR POS TO OPEN UP
TAG1 = analogRead(A0);
while (TAG1 < 350) {
digitalWrite(ERROR, HIGH);
delay(250);
Serial.println("WAIT ON OPENING POS #4 !");
delay(200);
TAG1 = analogRead(A0);
Serial.println(TAG1);
delay(50);
}
digitalWrite(learnled, LOW);
TAG2 = analogRead(A1);
while (TAG2 < 350) {
digitalWrite(ERROR, HIGH);
delay(250);
digitalWrite(learnled, HIGH);
Serial.println("WAIT ON OPENING POS #3 !");
delay(200);
TAG2 = analogRead(A1);
Serial.println(TAG1);
delay(200);
digitalWrite(learnled, LOW);
}
digitalWrite(learnled, LOW);
TAG3 = analogRead(A2);
while (TAG3 < 350) {
digitalWrite(ERROR, HIGH);
delay(250);
Serial.println("WAIT ON OPENING POS #2 !");
delay(200);
TAG3 = analogRead(A2);
Serial.println(TAG3);
delay(200);
digitalWrite(learnled, LOW);
}
digitalWrite(learnled, LOW);
TAG4 = analogRead(A3);
while (TAG4 < 350) {
digitalWrite(ERROR, HIGH);
delay(250);
Serial.println("WAIT ON OPENING POS #1 !");
delay(200);
TAG4 = analogRead(A3);
Serial.println(TAG4);
delay(200);
digitalWrite(learnled, LOW);
}
digitalWrite(learnled, LOW);
//END OF IR 4 POS WAITING
delay(1000);
digitalWrite(ERROR, LOW);
digitalWrite(learnled, LOW);
// READ TAG SENSOR STATE RECORD AND COMPAIR VALUE
Serial.println("TAG1 read!");//PRINT A LABEL FOR THIS READ
int TAG1 = analogRead(A0);//READ
Serial.println(TAG1);// PRINT ACTUALE VALUE STATE FOR DEBUGING
delay(100);//DELAY PAPPER FEED
papercheck = analogRead(A11);
delay(500);
//FEED PAPPER TILL IR EYE SENSOR CHANGES STATE
while (TAG1 > 200) {
// SET SENSOR LED AND READ IR
digitalWrite(papperfeedingled, HIGH);
TAG1 = analogRead(A0);
// MOTOR MOVMENT
motor1.setSpeed(300);
motor1.step(4, BACKWARD, DOUBLE);// STEP MOTOR 8 times PER W-LOOP FAIL
digitalWrite(papperfeedingled, LOW);
//DEBUGING IR SENSOR VALUES
// print out A NEW value FROM read:
Serial.println("BEFORE!");
Serial.println(TAG1);
int TAG1 = analogRead(A0);
// print out the value you read:
Serial.println("TAG1 NOW!");
Serial.println(TAG1);
digitalWrite(papperfeedingled, LOW);
}
delay(50);
digitalWrite(papperfeedingled, LOW);
motor1.release();//disables the H-brige to release coils on motor
motor2.release(); //allows lower power usage and lesS heating of driver and motor
//PRINT A NEW DEBUGING VALUE
Serial.println("PAPER FOUND AT IR READ !");
Serial.println(TAG1);
delay(10);
//AFTER IR READS A STATE CHANGE FOLLOW THESE STEPS TO DRAW THE BACKING SHEET TO PINCH ROLLERS AND SET UP FOR PEELING
motor1.setSpeed(240);
motor1.step(106, BACKWARD, DOUBLE);//OFF SET FOR BRAKEING DRAWBAR
delay(10);
motor1.release();
motor2.release();
//DRAW BAR ENGAGE
// //DRAW BAR ENGAGE
while (drawbar > 200) {
drawbar = analogRead(A12);
motor1.setSpeed(200);
motor1.step(20, FORWARD, DOUBLE);//20 per failed W-loop FAIL
// print out A NEW value FROM read:
Serial.println("drawbar set !!");
Serial.println(drawbar);
int drawbar = analogRead(A12);
}
motor1.setSpeed(200);
motor1.step(20, BACKWARD, DOUBLE);//SLACK
delay(10);
motor1.release();//disables the H-brige to release coils on motor
motor2.release(); //allows lower power usage and les heating of driver and motor
motor2.setSpeed(260);
motor2.step(0, BACKWARD, DOUBLE);// PEEL BIG LABLE WAS 1000
delay(100);
motor1.release();//disables the H-brige to release coils on motor
motor2.release(); //allows lower power usage and les heating of driver and motor
// END OF START UP FEED FIRST SHEET AND END OF DEBUGGING VALUES
// note big label 1s 1500 steps large web is 300 small web 100
}
// the loop routine runs over and over again forever:
void loop() {
}