Oznog,
I didn’t know that they are current-driven I thought if you supplied the right voltage the stepper would take the current it needed - my bad…glad you caught that.
I guess I have to something else then.
Well my overall plan is to build the CNC as inexpensively as possible without sacrificing quality; the controller I’m trying to make is just for testing the CNC at different stages as it being built to make sure it not binding anywhere and check for any lag (forward / reverse) to cut down on the cost until I’m sure the CNC is worth further investment.
CNC is indeed a good investment. But with a poor driver, it'll bind all the time so this won't tell you anything really.
Stepper windings have an inductance and resistance. Like
this one. It's got a resistance of 1.7ohms so when you put 5.1v DC across it then you get the specified 3A. However, a router- a slow router- running at 40 ipm (at which speed you need a full minute to get from one side to the other on a 4ft table) with a 20tpi leadscrew and a standard 200 steps/rotation on the stepper= steps t 2.666kHz, 375us/step. The inductance is 7mH. Now start with 0A on an 7mH inductor and switch to 5.1v, the current will initially rise at 0.000728 a/us, and that rate decays exponentially as it nears the steady-state of 3A. Doesn't get anywhere near 3A in 375us. That's why we apply like +/-40V and the current rises or decays much much faster, but current-limit it when it reaches the target.
A linear driver (like the Linistepper) is impractical. Why? Well, the transistor driver will burn (40v-5.1v)*3A watts per motor, over 100W! 4 motors, 400W. That's an enormous heatsink and power supply, and probably will be prone to burning up.
A router that big generally must be a gantry, where the table is fixed and the router gantry rides on down the X-axis on rails and drive screws/belts on either side. Consequently, you need not 3 motors and drivers but 4. Generally, no, you cannot simply put those 2 motors in parallel even though they're stepped together. The windings are electrically coupled but not
magnetically coupled and that's a problem.
The vibration from 200 steps per rotation can be vicious. Instead most drivers create partial stepping positions by driving both coils at once to a portion of their rating. This smoothes things out. It requires more steps from the CNC software per turn.
Midrange resonance is a major thing. At mid-range speeds, the rotor's mechanical position "rings" back and forth as it tries to jump to each step (or microstep). Microstepping does not really fix this. This results in a phase error between rotor and stepper winding current, and it reduces the torque output so much the motor can easily stall.
No matter how good the driver, steppers are limited to about 2000rpm (usually much less). This may not achieve satisfactory linear speeds for a large router. Ballscrews instead of leadscrews run at substantially lower pitches (turns/in), so they achieve more speed per motor rpm. Also people use chain or belt drives to make a gear ratio between motor and screw. There are belt drives which use no screw but instead mount the gantry on what is basically a conveyor belt (no leadscrew/ballscrew threads to get dust in, either).
But also a lot of machines use DC servos, just an ordinary motor really, which of course don't result in a specific position when driven with a DC voltage. Instead there's an encoder which provides position feedback back to the computer software which "learns" how the machine moves and the drive is adjusted so that it'll reach the appropriate positions at the appropriate times while it carefully counts encoder pulses so it knows the absolute position at all times. Anyhow servos can run faster than steppers and also provide much more torque.
A large router like this is a big job for the motors, because 1) the inertia is relatively high, and 2) the distances are so large that a lot of movement is needed. As such what was a good solution for a small mill may not be a good solution for a large router.