GPMD (General Purpose Motor Driver)
The GPMD is a driver that is capable
of controlling stepper motors and 3 phase brushless DC motors.
Version 0001
Version 0001 is more meant as a tool to learn more about controlling
power electronics and motors.
Design
The design consists of a few IRF7309 mosfet pairs (P and N channel)
driven by some TC4427 mosfet drivers. The transistors are arranged as 4
half H-bridges. Each half H-bridge has its own current sense resistor
that feeds into a comparator. The drive signals for the TC4427 are
derived from a bunch of 74HC74 flipflops that control the gate drivers.
The comparator is also fed by a MCP4822 DAC to set the current. The
comparator resets the flipflops so that the mosfets are not driven
anymore. When the current falls below the threshold the flipflops are
set to drive the motor. The clock from the flipflops is driven by a PWM
output of an AVR microcontroller.
Pictures




Todo's
The current design and current control scheme work quite well.

Here you can see how the shunt current is sensed, filtered and used to
PWM the N channel fet of each half bridge.

But this design has it fair share of noise issues. Left is the current
sense noise, after the filter. Middle is the ground noise of the
digital and driver section and right is the ground noise at the
comparator pin.
The arrangement of N and P channel MOSFET's limit the maximal voltage
to about 15V. The goal is of the driver to achieve higher voltages but
this can only be accomplished by using an high side drive scheme.
Version 0002
Design
It is more or less the same idea as version 0001. The powersection is
different as a high side driver like the IRS2110 will be used in
conjunction with a charge pump to eliminate high side duty cycle
limitations (see IRF application note AN-978).
The drivers will drive IRLR024n
mosfets that will later be replaced by other FET's with higher current
handling or voltage handling capabilities.
The current from the sense resistors will be more heavly filtered and
amplified by a MCP6001
opamp and compared by an MCP6541
comparator. The analog section will get its own separate ground plane
to shield it from noise from the heavy switching of the mosfets.
The board itself will also have the controlling microcontroller(s). I
am still looking what kind of arrangement I will use for the
controllers. I am leaning to use two dedicated AT90PWM microcontrollers
for each half bridge. Another choice is use one AVR microcontroller for
controlling the DAC and a xilinx CPLD for the bridge sequencing and
deadtime generation.
Back
Last update at: 02-01-2011