Stepper motors are pretty easy to control with a microcontroller. But if you’re looking to run then at a high number of revolutions per second things get tricky pretty quickly. [Uwe's] been learning about and building stepper drivers for years, and recently he decided to build a high-performance driver based on a MicroChip reference design.
As with the reference design, his board uses a dsPIC33. But instead of using a series of discrete MOSFETS to switch the signals to the motor, he sourced an L298N motor driver. That’s it sticking up next to the large capacitor. When driven hard it needs its own heat sink, which [Uwe] cut from a larger CPU heat sink. During development, he decided to use interrupt-based PWM rather than the hardware PWM offered by the dsPIC. It works, but he would go the other route if doing it again.
For the pedestrian, the video after the break has all the details you need. For those that really want to dive in, [Uwe's] multi-paged write-up is worth bookmarking.