Connecting the AE-MDL-STPR1 Bipolar Stepper Motor Controller

If you have acquired or built one of my bipolar stepper motor drivers with up to 2.5A current capability and internal microstepping indexer, you could be asking, “How do I get this little guy started?” That is indeed a very nice question and although I tried to make the module as easy to use as possible, the levels of flexibility do add some minor complexity to it. 

AE MDL STPR1 Connections

Figure 1

The quickest way to wire the board for operation with your own micro controller (MSP430, AVR, Arduino variety, 80C51, Basic Stamp, Propeller, PIC, etc) can be seen on FIGURE 1.
Header connector J3 accepts all the control signals you will need to deal with as well as low voltage power source, VDD. VDD is often 3.3V but it can go as high as 5V. From my microcontroller, I am driving DIR, ENABLE and STEP. I often ignore FAULT as I am assuming that everything is going to work. If there is a fault, however, this signal is available for your usage.

Notice I have directly connected to VDD, the SLEEPn, USM1 and USM0 signals as there is no need to control this with my microcontroller. However, if your application requires low power mode in order to preserve battery power, then I recommend you drive nSLEEP with your microcontroller.

Luckily, there is an easier way to set these three signals (nSLEEP, USM1 and USM0). I knew some people would use these drivers with their own PC CNC router (small form factor, of course) and all they would need are the DIRECTION, STEP and ENABLE signals. In this case, there are jumpers which can be placed so that the three signals question can be tied to VDD or GND depending on what you want to do.

AE MDL STPR1 Typical Jumper Configuration

AE MDL STPR1 Typical Jumper Configuration

Figure 2

Figure 2 shows the typical jumper allocation I would expect to see on most setups. However, flexibility is there if you want something different. USMx will choose degrees of microstepping. A small table on the back of the board shows the different combinations. Unfortunately, I messed the silk screen so that both cells contain UM1. It should read UM1 and then UM0 (center cell is UM0). I will certainly fix this on my next revision.

SLEEP pretty much has to be jumpered to VDD. Jumpering SLEEP to GND renders the board useless as the device will be disabled. It just made the layout and assembly processes easier.

SRn has to be tied to GND if you do not have the external Schotky diodes. The back of the board contains the footprint where some MBRS360 could be soldered into. I do not sell the boards with these diodes as they are not 100% needed. If you want to run at very large currents, then the diodes are recommended as they take some of the heat away from the packaging. If external diodes are to be used, then jumper SRn to VDD.

Final Connections

Last two things to take care of are connecting the bipolar stepper motor to the J1 connector. This is no biggie, really. If your motor is a four wire connector, it is a matter of just plugging it in. Direction of rotation will be affected by which wires end up being A+/A- and B+/B-. Reversing the wire polarity should do.

In the same fashion, connecting power on J2 is equally easy. However, do note that connecting reversed power will instantly destroy the driver part, so make sure proper polarity is observed.

8 comments for “Connecting the AE-MDL-STPR1 Bipolar Stepper Motor Controller

  1. April 5, 2010 at 9:50 am

    Your site is very much helpful. I am going to drive stepper motor with drv8811. I wanted to know that is there any specific time for which the step pulse should be kept high??
    will it work if I just generate square wave by giving 1 and 0 one after other through my microcontroller board?

    I am using Atmega32 AVR controller. I have its schematic ready and want you to test if its ok, so how can i post my schematic here ?

  2. April 18, 2010 at 8:03 pm

    Hi Rahul,

    You should look into the DRV8811 datasheet as they specify what the minimum times for each aspect of the STEP waveform is. If I am not mistaken, both the TIME ON and the TIME OFF has to be larger than 1 us. Bit banging the STEP with your AVR ATMega32 should work perfectly fine. I have done it like this as well. I haven’t done AVR in a long time and I do not recall how fast can they run, although I am guessing it will not violate the 1 us rule.

    The way you propose to articulate the STEP signal (a square wave) will work perfectly!

  3. Suresh
    May 26, 2010 at 5:59 am

    Hi First my thanks to you for such a open source.
    Me too tried with Allegro a3979 BUT ITS GETTING VERY HEAT, have you faced any such thermal issues on DRV8811, Shall I replace my A3979 with DRV8811?, Upto which RPM u runned the motor. Is it fine to drive 2A/coil motor?,
    U done a good job as well i hope u r reply for me

  4. July 23, 2010 at 8:07 pm

    The beauty of the DRV8811 when compared to the A3979 is the output protection. Killing an A3977 is rather easy, whereas close to impossible with the DRV8811.

    However, when it comes to heating, the DRV8811 has a larger RDSon, so it will get hotter quicker than the 77. I guess we can’t win both battles…

    At 2A per phase, you will need lots of heat sinking to be able to run a stepper motor without reaching TSD. It can be done, but is no easy feat. The problem is that the power dissipation is just too much. I^2R becomes a number larger then 4W and the device package can not do more than this. Hence, unless your thermal impedance is very small, you will be entering TSD continuously.

    I do have a design that I will be posting in a few weeks which has enough heat sinking to do the 2A. I am still playing with the design and my goal is to take it to the 2.5A per phase mark.

  5. Trung Hieu Nguyen
    October 1, 2011 at 8:48 am

    Hi Avayan !
    I connect direct STEPpin of DRV8811. But when the motor rotate, I see some noise on STEP signal.
    I think the noise make my motor still rotate when not have clock on STEPpin.
    You can watch on my video :
    Can you help me reduce noise?
    Thank you !

    • avayan
      October 17, 2011 at 10:52 pm

      Hi Trung,

      If there is noise in the STEP signal you will definitely get unwanted steps. To eliminate this noise you will need to figure out where is the noise coming from. Is it coupling in from the current regulation engine? Are your step traces too close to the RCx pins or maybe an output which is switching on a continuous basis? Without taking a look at the layout it is too hard to know what is going on, but this is one of those problems which should be fairly simple to solve. I wish you good luck in your endeavor!

  6. trung
    April 11, 2012 at 6:48 pm

    Hi Avayan !
    I connect direct STEPpin of DRV8811. But when enable pin is actived low, IC DRV8811 is not output pulse sequential although I gave PWM pulse to STEP pin. My ic is only output high signal at AOUT2 and BOUT2.
    thank for your help.
    waiting for your answer!

  7. avayan
    April 11, 2012 at 8:50 pm

    Hi Trung,

    Do you have a stepper motor plugged in when you try this test? You will not see too much activity unless there is an actual inductive load to get some current regulation going. At the same time, what do you mean you applied a PWM output to the STEP input? The STEP input requires a pulse train where the pulse is at least 2 to 3 us wide in the positive side. In poorish theory, a PWM output can be used (although what you truly want to control is the frequency not the pulse width), but make sure the duty cycle is not too small or the pulses will be ignored. This recommendation is only to validate the system works, but I would try to make sure you are using a frequency generation function (from your microcontroller timer), versus a PWM function.

    Good luck!


Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.