A stepper motor driver is an electronic component which can convert an input signal of some kind into movement of the stepper motor without itself being able to issue instructions (or control) the stepper motor.
It is often useful to consider the driver as a ‘translator’ between input signals and the physical movement of the stepper motor.
In some cases stepper motor drivers may be designed specifically to work with a set communication protocol such as analogue or CANbus but the broad principle is simple – they do not have any ability to control the motor themselves except where they are given control instructions from a computer, PLC or other control device.
In contrast to this a stepper motor controller such as the ZD Series Stepper Motor Controllers can actively control and drive the motor itself. Strictly speaking such units should be referred to as a stepper motor driver and controller but it is perhaps understandable why people frequently shorten this down to stepper motor controller for ease of use.
A good visual example of this is probably the ZDLCD Series Stepper Motor Controllers. A stepper motor controller such as the ZD10LCD can quite clearly be seen to be both driving and controlling the stepper motor from the same unit.
The person using the controller puts in the instructions they need and the controller part of the unit then issues instructions to the driver part of the unit which converts the instructions into the physical sequences that the motor needs in order to turn.