60 mm. The motor cylinder length
is also part of the part number
and is specified as 110 mm.
The 24V in the part number
calls out a 24 VDC gearmotor
operating voltage. By the way,
BDPG = Brushed DC Planetary
Gearmotor. Now that we know
all about what our “problem” is,
let’s move to the next step and
learn about our “problem solver.”
PHOTO 2. This is a shot of the “brawn”
of our DC motor driver. Before
we’re done, we’ll add homebrewed
intelligence to this picture.
I’m experimenting with the
likewise with the A3959. So,
instead of building up a
professional printed circuit board
(PCB) in the dark, I decided to base the initial tests on
official Allegro MicroSystems A3959 electronics. We will be
working with the hardware you see in Photo 2. Before I
describe the Photo 2 basic circuitry to you, let’s take a close
look at the A3959 itself.
The A3959 in many ways is a pumped-up A3979. Recall
that the A3979 output current is limited to ±2.5 amperes with
a maximum motor voltage of + 35 VDC. The A3959 doesn’t
contain all of the A3979’s internal logic as the A3979 is
designed to drive stepper motors. However, the A3959’s
power grid is much heftier than the A3979’s. The A3959 is
designed to drive DC brush motors at voltages up to + 50 VDC.
The maximum current capability of the A3959 is ± 3.0 amperes.
Like the A3979, the A3959 is capable of controlling its
attached DC brush motor using pulse width modulation
(PWM). And again, like the A3979, the A3959 can be commanded to operate in slow, fast, and mixed
current-decay modes. The current-decay modes all
work in conjunction with the A3959 internal fixed
off-time PWM current-control timing circuitry.
I’ve used a bunch of motor control ICs. I’ve
also released my share of motor control IC magic
smoke. To help avoid the release of the A3959’s
magic smoke, its designers have outfitted the
A3959 with internal circuit protection. If the
A3959 gets a bit too hot under the collar (165°
C), it will shut itself down. To avoid hiccupping
on and off as it cools off, a bit of hysteresis is
built into the thermal shutdown protection.
In the course of building custom motor drivers,
one also has to build a suitable power supply
for the motor and the motor driver electronics.
I have also freed the magic smoke
of many a power supply component in my years of working with
electronics. The A3959 relies on a
charge pump to help keep its
internal H-bridge conducting and
the motor shaft turning. To
provide a measure of safety when
it comes to the power source,
the A3959 monitors the supply
voltage and the charge pump
voltage for undervoltage conditions. When a problem occurs,
the A3959 goes into shutdown
and disables the H-bridge drivers.
Okay, we’ve read the sticker
on the A3959 window. Now, let’s
kick the tires and open the trunk and look under the hood.
I’ll add some important detail to Figure 1 as we walk around
the A3959. Since the A3959 is in a DIP configuration on our
A3959 demonstration board, all of our references to its pin
locations will be based on the DIP package from here on out.
The A3959 SLEEP function is controlled by pin 22. Just
because the A3959 handles monstrous motor winding
currents doesn’t mean it can’t be included in a low-power
application. By driving the A3959 SLEEP pin logically low,
we command it to enter SLEEP mode. The majority of the
A3959’s internal circuitry including the regulator and charge
pump will be disabled while it sleeps. If we choose not to
employ SLEEP mode in our application, we must drive the
A3959’s SLEEP pin logically high using a 4.7K pullup resistor.
To understand the functionality offered by the EXT
MODE pin — which happens to be pin 15 of our A3959 —
FIGURE 1. Once you understand what the A3959
is and what it can do for us, this figure doesn’t
seem that busy anymore.
SERVO 07.2008 45