Thank you for the reply.
So,from the controller (i.e. RAMPS) to the hardware (motors), it really is a series of individual instructions, chopped down to the lowest movement level, but since the CPU clock is so fast in reality it's just as good as all the motors are moving simultaneously, right?
In other words, it's like case #5, which is actually what I have expected - there is no such thing as two simultaneous tasks in the digital world; it's usually two tasks are performed separately but since the separation is so small they are as if performed at the same time...
Then, I guess the controller must know how long it should/would take for the motors to perform the micro instruction that it sends out to? Otherwise, it may end up in a situation like telling a motor to spin CW 1.8 degree, which it is still in the middle of spinning CCW 1.8 degree from the previous instruction.
Or, there are some sort of feedback signal coming back from the stepper motor? Well, I don't know much about stepper motors... all I know is that it moves in steps, and there are four wires, two of which I think is for the current spinning the motor and the others carrying control signal (I'm guess here).
Anyway, about having two controllers for Z motors... when you said to add another slave board, did you mean adding another Pololu and connecting this new Pololu to the same pins/connectors which the existing Z motor Pololu are connected to?
Would adding another Pololu to my RAMPS and connecting that to one of the the motors be an option, too? There's a space to add another Pololu on my board. I guess some firmware modification may be needed with this approach, unless there already is a way to send instructions to this "unknown" motor driver - in which case gcode modification would be needed..
jkoljo Wrote:
-------------------------------------------------------
> For the Z question, bigger motor does not always
> mean it is faster. Low torque motors will do fine
> in Z axis, as you usually cannot even drive the
> bigger motors to their full potential because of
> the limitations in stepper driver (current). If
> you want to use two controllers for Z, make a
> slave board to get instructions from the Pololu
> connections on your driver board, and then
> distribute them to each stepper controller. The
> instructions are digital, so you could
> theoretically add as many steppers as you like, in
> parallel.
>
> The instructions are sent to the printer in gcode,
> and in gcode you can specify multiple coordinates.
> If you want to go from (0,0,0) to (100,100,50),
> just use for example "G1 X100. Y100. Z50. F3000".
>
> The printer receives and interprets the
> instructions. The motors get pulsed
> simultaneously, as AVRs have dedicated hardware
> for making PWM signals. Of course the hardware
> gets its instructions in separate clock cycles,
> but it does not really matter because the CPU
> frequency is so high.