Jump to content

Using Pololu DRV8825 Stepper Drivers on a UM1


Recommended Posts

Posted · Using Pololu DRV8825 Stepper Drivers on a UM1

Hey everyone -

After a few of my stepper drivers started acting up (and the flimsy heatsinks were knocked off), I decided to upgrade all of my drivers to something that could handle more current without overheating.

I'd previously swapped to the Pololu (Purple) DRV8825 drivers, since they can handle higher currents and run quieter.

It seemed that the only significant difference when installed on a UM1 would be that they would be using 1/32nd microstepping instead of 1/16th, and I would have to update my firmware to reflect that. After installing them, tuning them to provide a good amount of torque, and doubling my steps per mm in the firmware, it seemed like things were going well - noise was definitely lower and movements seemed to be accurate. Once I started printing, however, it became apparent that something is wrong.

Straight sections print extremely well - whether diagonal or orthogonal. Curved sections, however, are slow and jagged - the machine stutters as it goes through them, causing overextrusion in those areas and very uneven output.

Can anyone with more electronics experience than me offer some suggestions as to what could be going on? I'm pretty confident it isn't velocity/acceleration/jerk settings in the firmware, since I've been playing around with those values and matching them to a known-good machine that does not have this problem (but has the Pololu Black Drivers). I have a few other suspicions, but I'm not confident enough in PCB design to say that there isn't something obvious and dumb I'm missing about the compatibility of these stepper drivers and the UM1 electronics. There is a helpful list on the Pololu DRV8825 page (linked above) which describes the differences, but without a better understanding of the UM1 electronics, I have a hard time knowing which are meaningful.

Thanks for any help anyone can provide. Figuring these out would be a sweet upgrade for the community, because who doesn't want a quieter, more reliable machine for $30 in parts??

 

  • Link to post
    Share on other sites

    Posted · Using Pololu DRV8825 Stepper Drivers on a UM1

    Sounds like a Marlin issue.

    First try reducing your print speed by 2X so that Marlin doesn't have to send so many steps per second. I believe Marlin can only handle one axis going at 300mm/sec or something like that and any more than that causes the cpu to have trouble keeping up. So if 2 axes are going over 75mm/sec and you have double stepping you might also go over this limit. Not sure. Just a hypothesis here.

    That's all I've got. Printing too slow over USB should just make it stutter and print slow - not a jagged path. I would think. Whatever the issue is, I think it's firmware related.

     

  • Link to post
    Share on other sites

    Posted · Using Pololu DRV8825 Stepper Drivers on a UM1

    Whoa, sorry everyone. After more testing, it's clear that this isn't a hardware issue or a firmware issue at all, it's an issue with the latest Cura release candidate.

    That's what I get for using the latest beta (14.03 RC7). Problem disappears completely when printing with 14.01.

    Will do a little more testing and post a photo comparing different printing methods and Cura versions.

     

  • Link to post
    Share on other sites

    Posted · Using Pololu DRV8825 Stepper Drivers on a UM1

    I have been using these for a few months as we had a bunch of them lying around at work, and to be honest the biggest benefit seems to be the noise reduction. Even printing from SD card, it still occasionally stutters as you describe because the arduino can't handle the step rate. I have been meaning to drop them back to 16 microstep and see if the noise improvement remains.

    If you set the outer layer speed low, to get the best quality, the stuttering becomes less of an issue because it is inside, but still its annoying.

     

  • Link to post
    Share on other sites

    Posted · Using Pololu DRV8825 Stepper Drivers on a UM1

    Steps per mm will be double whatever you have in the firmware already, since the resolution is being doubled from 1/16 to 1/32. This means 2*70-something-ish for a stock ultimaker (forget the value since it's long) or 2*80 if you've upgraded your Ultimaker to GT2 belts.

    Regarding the stuttering issue - I haven't seen any issues since shifting away from the RC7 beta of Cura. I think it was an issue with that beta, since my printer with normal stepper drivers was also having the stuttering issue with files coming from that version of Cura.

     

  • Link to post
    Share on other sites

    Posted · Using Pololu DRV8825 Stepper Drivers on a UM1

    Steps per mm will be double whatever you have in the firmware already, since the resolution is being doubled from 1/16 to 1/32. This means 2*70-something-ish for a stock ultimaker (forget the value since it's long) or 2*80 if you've upgraded your Ultimaker to GT2 belts.

    Regarding the stuttering issue - I haven't seen any issues since shifting away from the RC7 beta of Cura. I think it was an issue with that beta, since my printer with normal stepper drivers was also having the stuttering issue with files coming from that version of Cura.

     

    I'll soon know... my Pololu drivers passed Los Angeles yesterday so it means there most probably somewhere above the arctic ice right now... :rolleyes:

     

  • Link to post
    Share on other sites

    Posted · Using Pololu DRV8825 Stepper Drivers on a UM1

    You might run into a problem moving from 1/16 microsteps to 1/32 microsteps.

    That change requires Marlin to process interrupts twice as fast.

    I don't know if the micro has additional headroom to do that.

    Marlin already has code to deal with too fast of interrupt times --- halving that time might produce strange behavior.

     

  • Link to post
    Share on other sites

    Posted · Using Pololu DRV8825 Stepper Drivers on a UM1

    Ok, I have now DRV8825s installed on the x and the y axis.

    I set them to a current around 0.8A (I even measured VRef). It's enough for running the printer smoothly without skipping but not enough if you try to stop the print head.

    I doubled the number of steps/mm. Right now my UM1 draws circles with 8cm diameter at a speed of 150mm/s. No problem at all. Seems the ATMEL is fast enough.

    However, after all what was written about noise I expected the motors to be less noisy. I have the (very subjective) impression that they are louder than the original ultimaker stepper drivers.

     

  • Link to post
    Share on other sites

    Posted · Using Pololu DRV8825 Stepper Drivers on a UM1

    so you only swapped drivers for the x and y stepper? Not the z and the extruder? Which ones did you get? The purple ones from pololu?

  • Link to post
    Share on other sites

    Posted · Using Pololu DRV8825 Stepper Drivers on a UM1

    so you only swapped drivers for the x and y stepper? Not the z and the extruder? Which ones did you get? The purple ones from pololu?

     

    Yes to all...

  • Link to post
    Share on other sites

    Posted · Using Pololu DRV8825 Stepper Drivers on a UM1

    Interesting... though sad to hear about the lack of noise reduction... Perhaps the extruder is the worst? Any particular reason you only replaced the drivers for x y? Apart from obviously saving money...

  • Link to post
    Share on other sites

    Posted · Using Pololu DRV8825 Stepper Drivers on a UM1

    It makes no sense to equip the z axis with a 1/32 microstepping driver as it is limited to 1/8 steps (due to good reasons such as movement precision). The extruders are actually the worst in terms of noise, that's true. However, decoupling the feeder motor is for me the right way to go.

     

  • Link to post
    Share on other sites

    Posted · Using Pololu DRV8825 Stepper Drivers on a UM1

    Guys,

    would it be a good idea to create something like a "Pololu DRV8825 swap step-by-step instruction" for those who are not so familiar with this like me?

    Of course, first: buy DRV8825 drivers, @ e.g. http://www.pololu.com/product/2133

    2.) take out the existing drivers for x/y

    3.) set the current on the DRV8825 by.... ?? (orientation of driver, direction to move the pot.,...)

    4.) changes in Firmware... ???

    Guess, something "monkeyproof" like this would be helpful...

     

  • Link to post
    Share on other sites

    Posted · Using Pololu DRV8825 Stepper Drivers on a UM1

    Yes and no.

    Yes, it would e.g. be a good idea to write down somewhere that the potmeter has to be turned clockwise to increase the current. The Pololu documentation is very bad about this.

    But there is also a reason not to provide such a simple checklist. I hope nobody will get this wrong.

    IMHO one has to know what one is doing when exchanging stepper drivers. It's not only a question of the board orientation but also of things like pin compatibility, voltage and signal compatibility (e.g. signal length), pull-up resistors etc. There is e.g. a detailed list on the Pololu page in which details the DRV8825 differs from the A4988 which is already a replacement for the A4983, i.e. the stepper drivers the UM board was originally designed for. I checked this list before ordering. I realised that there ARE differences. However, I found it is not a problem when checking the electronic scheme of the UM shield 1.5.7. So everything is fine? Maybe at the moment. The DRV8825s were introduced end of 2012. The first ones didn't had a pull-up resistor which today's version has. The first ones would not have worked without modification. Pololu can change something in the layout anytime. If that happens, a checklist might become wrong.

    Concerning the noise produced of the motors driven by the DRV8825s: This morning I had the impression that they were more quiet than the old ones. So it's purely subjective. But they definitively sound different.

     

  • Link to post
    Share on other sites

    Posted · Using Pololu DRV8825 Stepper Drivers on a UM1

    Thank you for clarification - considering this circumstances, I agree that a checklist might lead to a lot more troubles.

    You know, sometimes I'm a bit too enthusiastic about modding possibilities :-)

  • Link to post
    Share on other sites

    Posted · Using Pololu DRV8825 Stepper Drivers on a UM1

    Thank you for clarification - considering this circumstances, I agree that a checklist might lead to a lot more troubles.

    You know, sometimes I'm a bit too enthusiastic about modding possibilities :smile:

     

    Aren't we all Drayson, aren't we all... My problem is that the easiest part of any mod is typically ordering the mod/replacement parts off ebay :p

     

  • Link to post
    Share on other sites

    Posted · Using Pololu DRV8825 Stepper Drivers on a UM1

    so Ive done the same, replaced the x & y axis with the new driver for far smoother movements. Although I'm not sure if the speed that I use to slice is being used when printing. I'm assuming its half of what I'm using to slice. None the less, printer x-y motion is smoother and so are the circles. The reason that the extruder has not been changes is because, I could not calibrate it reliably to print as accurately as the existing setup.

     

  • Link to post
    Share on other sites

    Posted · Using Pololu DRV8825 Stepper Drivers on a UM1

    I cant get this to work guys! :(

    - I replaced the x/y stepsticks with Polulu purple DRV8825 stepsticks....

    - I updated the configuration.h x and y steps to double what they were (so it now says 79.87220447*2).... You only have to edit them in that one place right?

    - I tried dialing them in doing auto home with the ulticontroller and applying resistance with some fingers...

    I found this larst step kind of hard, and ended up with the pot meter turned maybe only 1/2 a clockwise rotation from its minimum...

    Can anyone provide a rough ballpark of where they ended with theirs?

    I tried starting a print with these settings, but the printhead just stuttered around randomly, making alot of noise, so I stopped in fear of breaking stuff...

     

  • Link to post
    Share on other sites

    Posted · Using Pololu DRV8825 Stepper Drivers on a UM1

    The current is most probably already much too high. IIRC I used not even a qarter of a rotation. If you're unlucky, you already destroyed the driver with the overcurrent (I did this with an UM driver). I recommend you begin from the minimum setting and increase then the current carefully. You have to keep in mind that the DRV8825 can deliver a much higher current than the UM drivers.

    Changing the steps/mm in the source code is usually neither enough nor necessary. Change the value with the Ulticontroller (Control section) and save it to the EPROM (or with an M92 and a M500 command).

     

  • Link to post
    Share on other sites

    Posted · Using Pololu DRV8825 Stepper Drivers on a UM1

    It seems that I may indeed have fried my stepsticks... I replaced them with some other 8825s I had laying around (cheaper black ones, not from pololu... says "Designed by Kliment" on them), somehow found a reasonable setting for them, set steps/mm on the ulticontroller, and voila... I'm now printing with 159,74 steps/mm. on the x and y axis...

    By reasonable setting, I mean that I have not yet experinced any step skipping, motors get warm, but you can still touch them and not get burned, so I guess they are ok?

  • Link to post
    Share on other sites

    Posted · Using Pololu DRV8825 Stepper Drivers on a UM1

    And another thing...

    When a print starts, and the head moves to the area of the buildplate where it has to print, does it use something Else than the x and y steps/mm stored in the firmware?

    I ask because it seems to me that it does this movement much slower, now after I did the 1/32 microstepping mod...

    The head still reaches the correct position though, but seems like what could be half speed of before...

    Maybe I'm just imagining things :/

  • Link to post
    Share on other sites

    Posted · Using Pololu DRV8825 Stepper Drivers on a UM1

    Sorry to jump back onto an old thread!

    Ive been trying to get the DRV8825's to work in my UMO, I've doubled the steps per unit, but it seems to have made no difference. When i send a command to move 100mm it still only moves 50mm, however if i reduce the steps per unit, it reduces the distance accordingly. So no matter what i change, it doesn't want to move further than 50mm in one go. Im very confused. Wondered whether it might have anything to do with the jumpers on the bottom limiting it somehow. I also read somewhere that these drivers can be slower at receiving a signal and require you to change something in the firmware such that the signal has a delay or something.

  • Link to post
    Share on other sites

    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now
    • Our picks

      • UltiMaker Cura 5.7 stable released
        Cura 5.7 is here and it brings a handy new workflow improvement when using Thingiverse and Cura together, as well as additional capabilities for Method series printers, and a powerful way of sharing print settings using new printer-agnostic project files! Read on to find out about all of these improvements and more. 
         
          • Like
        • 18 replies
      • S-Line Firmware 8.3.0 was released Nov. 20th on the "Latest" firmware branch.
        (Sorry, was out of office when this released)

        This update is for...
        All UltiMaker S series  
        New features
         
        Temperature status. During print preparation, the temperatures of the print cores and build plate will be shown on the display. This gives a better indication of the progress and remaining wait time. Save log files in paused state. It is now possible to save the printer's log files to USB if the currently active print job is paused. Previously, the Dump logs to USB option was only enabled if the printer was in idle state. Confirm print removal via Digital Factory. If the printer is connected to the Digital Factory, it is now possible to confirm the removal of a previous print job via the Digital Factory interface. This is useful in situations where the build plate is clear, but the operator forgot to select Confirm removal on the printer’s display. Visit this page for more information about this feature.
          • Like
        • 0 replies
    ×
    ×
    • Create New...