Advanced stepper motor control

I need to create a program to control 2 stepper motors. The 2 steppers will have 7 positions total and need to be controlled by 2 switches. One switch will cycle the motors up through position 1-2-3-4-5-6-7 and the other switch will cycle the motor back down through positions 7 to 1. The program needs to be able to recognize what position the motors are in so that you may cycle to the next position in the sequence.
I am not asking you to do my work for me, I just need to know where to start. I'm basically overloaded with resources right now.
Also they are 7 amp motors 4 wire motors, what is the cheapest way to drive these?

Amphiron:
I need to create a program to control 2 stepper motors. The 2 steppers will have 7 positions total and need to be controlled by 2 switches. One switch will cycle the motors up through position 1-2-3-4-5-6-7 and the other switch will cycle the motor back down through positions 7 to 1.

basicly the output of one button to controle GoForward/GoBackward (on/off state of a button) for each motor

The program needs to be able to recognize what position the motors are in so that you may cycle to the next position in the sequence.

An int variable that is incremented/decremented in each of the 7 fases the motor goes through (being it forward or backward)

I have this in the top of a function that 'picks' the right fase of the seven:

	void cStepper::StepHalf()// one step at a time!
	{		
  		if( cStepper::mDirection == true ){ cStepper::fase  +=1 ; cStepper::position_x += 1 ; }
  		else{ cStepper::fase  -=1 ; cStepper::position_x -= 1 ; }

  		if( 7 < cStepper::fase ){ cStepper::fase  = 0 ; }
  		if( cStepper::fase <0 ){ cStepper::fase  = 7 ; }

  		switch( cStepper::fase )
			{
  			case 0:
    				cStepper::a_faseOne() ;//i2
    				break ;       
  			case 1:
    				cStepper::ab_faseOne() ;//i2+4
    				break ;       
  			case 2:
				cStepper::a_faseTwo() ;//i4
    				
    				break ;
  			case 3:
    				cStepper::ab_faseTwo() ;//i4+1
    				break ; 
   
  			case 4:
    				cStepper::b_faseOne() ;//i1
    				break ;       
  			case 5:
    				cStepper::ba_faseOne() ;//i1+3
    				break ;       
  			case 6:
    				cStepper::b_faseTwo() ;//i3
    				break ;
  			case 7:
    				cStepper::ba_faseTwo() ;//i3+2
    				break ;              
  			}// end switch
		cStepper::stepCounter += 1 ;
		}// end Step

//-------------------------------
		void cStepper::a_faseOne()
		{
  			digitalWrite( cStepper::x_i4 , LOW ) ;
  			digitalWrite( cStepper::x_i3 , LOW ) ;
  			digitalWrite( cStepper::x_i1 , LOW ) ;
  			digitalWrite( cStepper::x_i2 , HIGH ) ;  
		}//A_faseOne
//-------------------------------
		void cStepper::ab_faseOne()
		{
  			digitalWrite( cStepper::x_i3 , LOW ) ;
  			digitalWrite( cStepper::x_i1 , LOW ) ;
  			digitalWrite( cStepper::x_i2 , HIGH ) ;
  			digitalWrite( cStepper::x_i4 , HIGH ) ;
		}//A_faseTwo
//------------------------------

Also they are 7 amp motors 4 wire motors, what is the cheapest way to drive these?

The most sensible way would be to look for drivers that can handle the high amperage.
The four wires suggests that it's a bipolar stepper. Check pairwise which two wires are tied through a coil.

---------------------------- EDIT --------------------
I read your post once more and has to ask myself if we are on the same page?

You can use the stepper library and then keep track of the position by the number of steps you tell it to move, or have an array of values that are the number of steps between each position - 100 steps between pos 1 & 2, 75 steps between 2 & 3...

As long as you are just moving from 1 position to the next that would work OK. If you want to be able to skip positions you might need to get a bit more elaborate.

You might want to be careful that you complete a move before you start the next move, but I believe the stepper library takes care of that.

Those are very beefy motors at 7A. A driver to handle them will not be inexpensive. This is probably the best deal you will find in that range: http://www.automationtechnologiesinc.com/products-page/kl-stepper-drivers/kl-11080-stepper-drive. Are you sure you need that much power for your application? Motors of that size are capable of driving fairly large milling machines. It may be less expensive to find a smaller motor and use a much less expensive driver. You would also save a lot on the power supply.

I used an ATtiny2313 to make a step/direction stepper controller - http://arduino.cc/forum/index.php/topic,84809.0.html - has what I did to develop it - I use 4 9.5 Amp MOSFET as the power stage. Will all fit (with room to spare) on a 1.5" x 1.5" square piece of proto board.

Yankee:
Those are very beefy motors at 7A. A driver to handle them will not be inexpensive. This is probably the best deal you will find in that range: KL-11080 8 Amp Bipolar Stepper Motor Driver, AC 80-120VAC input |. Are you sure you need that much power for your application? Motors of that size are capable of driving fairly large milling machines. It may be less expensive to find a smaller motor and use a much less expensive driver. You would also save a lot on the power supply.

The steppers are going to be actuating a transmission. I need to get a torque gauge and see how many ft/lbs it takes before I buy another motor. I got this motor for $30, which I believe is a hell of a deal. I need a power supply that will drive these off 12v DC.

kf2qd:
I used an ATtiny2313 to make a step/direction stepper controller - http://arduino.cc/forum/index.php/topic,84809.0.html - has what I did to develop it - I use 4 9.5 Amp MOSFET as the power stage. Will all fit (with room to spare) on a 1.5" x 1.5" square piece of proto board.

That is actually a bit beyond me, I am just getting started out (First year EE student). Would it be possible if I used a smaller stepper controller, say 3 amps to get started with? Also If I do purchase that large stepper controller will it be able to control 2 steppers or will I need to purchase one for each?

It sounds like you need to do a little homework before you begin your project. For a comprehensive overview of stepper motors look here:

This site has some more specific information on calculating motor size, etc. :Slowing 184.104.178.36&c=1&t=45074.1594456019
And yes, you will need one driver for each motor.

Yankee:
It sounds like you need to do a little homework before you begin your project. For a comprehensive overview of stepper motors look here:
http://homepage.cs.uiowa.edu/~jones/step/
This site has some more specific information on calculating motor size, etc. :Stepper Motors
And yes, you will need one driver for each motor.

Oh thank you! Looks like a great resource =]