Posts Tagged ‘ DRV8825

Building the C-Bot 3D printer: Part 28 : Lighting, Ringing, Breaking

Jump to C-Bot blog index to see all the posts.


This update is a combo post on several subjects at once:

Adding Lighting

Up until now, the C-Bot has been a dark printer:  No internal lighting whatsoever.  My Replicator1 is like a little supernova next to it when the room is dark.  But no longer:  Over the weekend I added both an 12v LED strip to the top-front X-beam (pointing directly at the print-bed) and a superbright LED directly on the print-head itself:

While my buddy Mason did a slick job of wiring his LED strip directly into the Rumba board on his C-Bot, so he can adjust the lighting based on the print settings, I did not:  I ran a extra 12v lead out of my power-supply, and connected both the LED Strip, and the superbright LED (with inline resistor) directly to it:  Turn C-Bot on, lights turn on.  Nuff’said / good enough.

Breaking

After I installed the lighting and turned the bot back on, the Bowden extruder suddenly started jittering:  It would no longer extrude filament.

I started by swapping a DRV8825 stepper driver from the z-steppers to the extruder stepper slot:  Try extruding, and it works.  Ok, it must be a bad DRV8825, and I have no spares.  But I do have a bunch of extra A4988‘s:  I’ll just put one in there, and updated my firmware to use it instead.  It doesn’t work:  Jittering starts again.  So I revert the firmware change, and put a ‘good’ DRV8825 back in:  Jittering.  What is going on?

Soon, any DRV8825 I put in that slot causes jittering, but they all work when plugged back into their original slot.  Drivers are good,… is my board bad?  At this point I disconnect the 4-prong JST connector running from the board to the stepper, and notice that one side is slightly melted: I remove the wires from the connector, and connect them on-by-one to the pins on the board:  Everything starts working again.

Canibalizing a connector from some other wires, I reinsert the leads, plug it into the board, and back in action.

Seriously?!?

Improving Ringing / Ghosting

I had recently printed out a “Sledgehammer Games Recognition Coin Holder” for someone at work (I modeled it in Maya / Tinkercad):  We can give out cool coins to fellow employees for doing good work, and I designed this coin holder so people can show them off (there’s four slots in the top to hold the coins).

I’d printed many on my Replicator 1 in the past, and printed this one on the C-Bot for the first time.  And what I noticed was, there was a terrible amount of ghosting / ringing happening:

shg_recognition

Click to see the full-size that really shows the problem off.

This was printed with the .6mm E3D-Volcano nozzle, 300 micron layer heights at 60mm/sec, in MakerGeeks Royal Purple PLA.

The issue was, the prints done on my Replicator 1 had less ringing than the C-Bot, and this didn’t make sense to me:  The C-Bot has a Bowden extruder, thus removing a bunch of moving mass from the toolhead, not to mention it uses Core-XY mechanics, that is supposed to help out as well.  Why are things worse?

Posting this question to the 3D Printing Google Group, I got a bunch of good answers.  Specifically, my firmware acceleration may be too high, and the size of the printer itself could be causing too much shake, do to the lack of additional cross-members for stability.  Right now I have no surplus extrusions to stiffen it up, and my ultimate goal is to bolt the printer directly to the wall, thus really locking down any shaking.  But in the meantime, I can adjust the acceleration in the firmware.

I made a ringing/ghosting test model in Maya that would show off the issue on X, Y, and XY all at the same time.  I printed it with my default settings (3000 mm/sec), then dropped it waaay down to 800 mm/sec.  The results were pretty obvious:

ringing_comparison

Click for bigger pic

On the left of each image, is the ‘800 mm/sec acceleration’ print, and on the right is the ‘3000 mm/sec acceleration’ print.  These changes were made in Marlin’s Configuration.h:

#define DEFAULT_ACCELERATION 800
#define DEFAULT_RETRACT_ACCELERATION 800
#define DEFAULT_TRAVEL_ACCELERATION 800

I just set everything that looked applicable to 800.

So, an noticeable improvement.  But once I get the printer “bolted down”, I hope to be able to print even faster, with better results.


Jump to C-Bot blog index to see all the posts.

Building the C-Bot 3D printer: Part 25 : Catastrophic failure

Jump to C-Bot blog index to see all the posts.


I figured at some point something would go wrong:  It finally did.

I’d noticed the stepper for the Bowden extruder had been running really hot.  Hot to the touch, and way hotter than the other steppers.  I had started by setting it’s reference voltage to .6v (like all the others), but it didn’t have enough ‘oomph’ to drive the filament through the extruder.  So I increased the voltage until it started behaving, which ended up being around 1.2v (2x as much as recommended…).  I’m sure this contributed to the over-heating.  But I wasn’t sure what else to do:  Any lower voltage wouldn’t extrude properly.

I’d been pointing a small fan at the stepper, and this seemed to keep it’s temp at a reasonable (but still hot) temp.  And since things had been going so well I decided to do my first “big print”:  Fired it off, and for the first 20 minutes all was well.  I decided to take a walk.  When I returned an hour later, to my surprise it was air-printing:  I found this really surprising with a Bowden (heat-creep on my Replicator 1’s direct-drive can cause this more easily).  The Bowden stepper was still turning, so I figured some how it had notched the filament.  But there was no notch, it just wasn’t extruding.  That’s when I noticed this:

melty_bend2

Top view, looking ‘down’.

 

When I went to touch the stepper, it was burning hot:  I had forgot to turn on my cooling fan, and the stepper had gotten so hot it melted the printed Bowden mechanism :(

The great thing about having two printers is you’re always able to print, even if one breaks:  I re-printed the melted bits and after two hours bolted them back on.  But I obviously still needed to do something about the heat.  I was perplexed why this one stepper needed 2x the voltage of the others.  So using the techniques mentioned before, I reset the reference voltage on the DRV8825 back to .6v, and tried extruding:  I worked fine.  Huh?

I’ve noticed while building this bot that stuff like this often happens:  I’ll set some value that doesn’t seem right, but works.  A day later, I’ll reset it to the ‘correct’ value, and then it works as expected.  I don’t know how to explain this, but it’s not the first time it’s happened.

But it’s printing great now:  I’m an hour back into the ‘big print’, extrusion is good, stepper is ‘normal temp’.

Live and learn!


 

Jump to C-Bot blog index to see all the posts.

Building the C-Bot 3D printer: Part 20 : Electronics Day 3: Swapping stepper drivers

Jump to C-Bot blog index to see all the posts.


Update:  Since authoring this post I have switched my electronics to RADDS, and my firmware to Repetier.  See the “Part 31 post” for the latest on it.


Total time:  about 3.5 hours.

My Rumba board originally came with 6x A4988 Motor Stepper Drivers that have a 1/16 microstep resolution (I won’t pretend to know that that really means.  Sounds small).  Their ‘continuous current per phase’ is rated at 1A.  I’d had previous problems trying to drive both my Z-steppers off a single driver, so I switched to a driver per stepper.  In the meantime though, I ordered a five-pack of DRV8825‘s:  They have 1/32 microstepping resolution (ooohh…) and their ‘continuous current per phase’ is 1.5A (which I figured may be enough to drive two z-steppers, which is how Mason does it).

My thought was go back to the ‘single stepper driver controls two steppers’, but since I’ve already got my paired steppers and drivers working, I’ll just leave it that way for the time being.  I may only never need to change if I decide to go to dual-extrusion.

Removing the A4988’s and swapping in the DRV8825’s was seamless: I didn’t even need to flip any of the dip-switches living under each driver, on the Rumba:  In both instances, {on,on,on} was exactly what I needed set.  However, it’s VERY IMPORTANT you mount them the correct direction (see below pic):  The trimpot on the DRV8825 mounts 180 from the A4988:  Towards the ‘top’ of the board, rather than towards bottom.  I figured this out my checking the silkscreen on both the boards and (luckily) realizing the difference.  DRV8825:  Trimpot over capacitor.  A4988: Trimpot away from capacitor.

Like before, I needed to tune them.  Previously I tuned them by adjusting their resistance (rather than voltage) values while they were un-plugged from the Rumba.  Later I found these values to be off, and ended up manually tuning them via the trimpot while driving the steppers back and forth.  Second time is always better, and I grasp the whole process more fully:

This post from the RepRap Wiki spells it out pretty plainly:  To set the reference voltage,  you take 70% of the steppers current, and divide by two.  So the maths:

How to actually tune it?  They have a nice pic on the above link, but the steps I went though were:

  • Turn on the Rumba.  I then energized the stepper drivers by manually driving the x\y gantry from the LCD.
  • Once energized, I set my multimeter to volts, touched the positive probe to the trimpot, and the negative lead to the negative pin on the driver itself.
  • From there, I’d adjust the trimpot slightly until I got to around .58v on each.
  • drv8825 tuning

    Checking the DRV8825’s reference voltage: One probe on the trimpot, the other on negative.

When that was done I thought I’d try and print the calibration cube again:  Suddenly everything started printing 2x as small.

AH!  A4988 drivers have 1/16 microstep resolution, but the DRV8825’s have 1/32 : You need 2x the steps to go the same distance.  So it was back into Marlin’s Configuration.h file to retune the ‘DEFAULT_AXIS_STEPS_PER_UNIT’ variable.  By default I doubled everything to: {200, 200, 800, 300}, then individually started tuning them via the process I used before.  My final numbers:

#define DEFAULT_AXIS_STEPS_PER_UNIT {199.7403,  200.5415,  804.90995, 300}

Noooow, I can get back to final wiring and tuning my print settings…


Jump to C-Bot blog index to see all the posts.

Building the C-Bot 3D printer: Part 16 : Assembly Updates

Jump to C-Bot blog index to see all the posts.


While I struggle with getting my Z-steppers to work, I did some frame upgrades:

  • I hadn’t ordered enough of the OpenBuilds ‘Black Angle Corner Connectors‘ : I needed 18, I bought 8 (not sure how I missed that)…  Mason needed extras as well, so he placed a big order, and I got my ten in today.  So, I swapped out my printed corners on both the bottom of the frame, and the parallel arms under the HPB with the new corners.  Metal FTW!
  • The 8x 55mm M5 bolts that held the wheels onto the Z-gantry weren’t long enough:  I couldn’t actually got a nut on the back-side.  Mason experienced the same issue, and picked up two 10-packs of 60mm M5 bolts and gave me one:  I went through the process, one at a time, of removing those bolts from the wheel assembly on the HPB, and swapping it for the new 60mm version, with a locknut on the end.  I held all the existing spacers, wheels, and shims in place (so they wouldn’t fall all over the floor when I removed the bolt) with tape on the bottom:  Worked great!

Thoughts on my Z-stepper issue:

  • The A4988 drivers (that came with my Rumba ) ‘continuous current per phase’ is 1A (see link).  The DRV8825‘s (like what Mason uses) are 1.5A.  I’m wondering if that 50% boost would be enough to lift the z-stage?  I found a 5-pack on Ebay for $13, so those are on order.  But it can take up to a month:  Mason may have a spare, and if so, I can test this out and see if the extra power is worth it.
  • I spent a good amount of time making sure my rear Z-extrusions were the exact width apart, and futzing with the HPB Z-stage brackets:  I can now lift the gantry with one hand with little resistance.  I also made sure the Z-steppers were exactly below the ACME lead-screw holders:  I can now get the HPB to lower, just not raise (without help from my hand).  So again, I hope the DRV8825’s will resolve this lifting issue.

Time tonight:  About 2 hours.


Jump to C-Bot blog index to see all the posts.