Bukobot 3D Printer Forum

News: Added the Bukobot Parts List (BOM) to Wiki at http://bukobot.com/bukobot-parts-list
Welcome, Guest. Please login or register.
Did you miss your activation email?

Author Topic: Dual X-Carriage Bukobot  (Read 1035 times)

buildrob

  • Global Moderator
  • Full Member
  • *****
  • Posts: 123
    • View Profile
Dual X-Carriage Bukobot
« on: July 17, 2013, 02:27:21 PM »
Hi everyone,

I thought you might be interested in a project I've been working on to improve the dual extruder performance of my Bukobot Duo.

To prevent the normal ooze problems you have with the inactive extruder when printing, I decided to split my x-carriage and drive each extruder separately. This means you can park-and-cap one extruder while the other is printing.

So far I've been getting really good results.

You can find the write up I did here: http://bukobot.com/creating-a-dual-x-carriage-bukobot

jit

  • Global Moderator
  • Full Member
  • *****
  • Posts: 174
    • View Profile
Re: Dual X-Carriage Bukobot
« Reply #1 on: July 17, 2013, 06:26:23 PM »
Awesome!

I have been thinking along the same lines for quite a while (and I'm sure others have too).  Had already accumulated a lot of the parts needed.

You just saved us all a ton of work.  (Gotta love that open source.)  Thanks!
Bukobot Duo v1

buildrob

  • Global Moderator
  • Full Member
  • *****
  • Posts: 123
    • View Profile
Re: Dual X-Carriage Bukobot
« Reply #2 on: July 31, 2013, 02:12:02 AM »
If anyone is thinking of copying this, I made an additional change which you might want to consider:

This dual-x carriage design requires that the distance between the two endstops is properly calibrated to ensure that the printing from the two extruders is aligned. I found that that the variability in triggering of the mechanical microswitches led to inconsistent alignment of the two materials (the X and Y endstops in a normal printer don't need to be very precise). I solved this by replacing the X-axis microswitch endstops with Hall-effect non-contact magnetic endstops ( http://reprap.org/wiki/Hall-%CE%98 ). Search ebay for 'Hall Endstops' - they are around $10 each.

Something that may be of interest to others beyond the dual x-carriage change is that I also replaced the Z-axis endstop with a Hall-effect endstop. This is completely unrelated to dual x-carriage support but gives a nice improvement in first layer height consistency. [ I'm sure I could design a better Z-axis endstop holder but some Polymorph/Plastimake/InstaMorpg/Polycaprolactone (https://en.wikipedia.org/wiki/Polycaprolactone - great stuff - get some if you don't have some, the uses are endless) and a cable tie is working fine for the moment. ] The endstop already includes a trimpot for fine adjustment of the trigger point.

Pictures here:http://bukobot.com/_detail/bukodualx_endstop1.jpg?id=creating-a-dual-x-carriage-bukobot http://bukobot.com/_detail/bukodualx_endstop2.jpg?id=creating-a-dual-x-carriage-bukobot [ I used bigger trigger magnets than the ones supplied but that was simply for ease of positioning. ]
« Last Edit: July 31, 2013, 10:14:16 AM by buildrob »

buildrob

  • Global Moderator
  • Full Member
  • *****
  • Posts: 123
    • View Profile
Re: Dual X-Carriage Bukobot
« Reply #3 on: August 03, 2013, 01:45:54 AM »
I added a video of the new duplication mode I implemented in the Dual X Carriage firmware if you're interested.

Here: http://youtu.be/Mdj5iZ5B2Dg

The thingiverse link is here: http://www.thingiverse.com/thing:115885

jit

  • Global Moderator
  • Full Member
  • *****
  • Posts: 174
    • View Profile
Re: Dual X-Carriage Bukobot
« Reply #4 on: October 12, 2013, 12:26:03 AM »
Like buildrob, I've been thinking about dual X-carriages for a while now.  Been accumulating parts for about a year.  Perhaps someday I will have time to do something with them.

The design floating around in my head is a bit different than his.  My design criteria are:

- Minimize firmware mods

- Minimize the building of new electronics

Our current Azteeg controller has one driver for the X axis motor, one input for the X axis endstop, and firmware to interact with these things.  By some strange coincidence, a dual X-carriage machine only needs to run one X axis motor at a time, and only needs listen to one X axis endstop at a time;  the other carriage is parked and doing nothing.  So maybe we can share our existing electronics between the two carriages by simply putting a switch between them.

In this other design, a 3PDT relay is used as the switch.  (You only need to switch three wires;  two wires to the carriage motors, and one for the endstop.)  All we need is a control signal to run the relay.

The Marlin firmware in the Azteeg knows which tool is currently active.  This is controlled with gcode; T0 activates tool zero, T1 activates tool one, etc.  So somewhere in the Azteeg is a binary number that indicates the current tool.  All we have to do is output the least-significant bit of that number to a pin on the Azteeg, and hook the relay coil to that signal.  Shouldn't take more than a few lines of code in Marlin to add this capability.  Best of all, this doesn't affect anything else, other than using up one of the spare pins on the Azteeg, so if this gets popular it wouldn't hurt to add this to the Marlin firmware on every Bukobot, and perhaps send this upstream as well.

There is no need to modify Marlin to put the X axis home position on the right side of the printer.  Both of the endstops can be on the left, mounted next to each other.  The right-hand carriage simply needs a long extension of some kind, projecting off to the left, reaching under the left-hand carriage to hit its dedicated endstop.

For both carriages, home is all the way to the left, as defined by the corresponding endstop.

A new position, let's call it "stow", is defined.  For the left carriage, stow is all the way to the left (same position as home).  For the right carriage, stow is all the way to the right, just shy of the physical limit of the carriage's movement.  Marlin does not need to understand the concept of stow;  it's defined in gcode, and specified in the "Tool change G-code" setting in Slic3r (see http://manual.slic3r.org/MultipleExtruders.html, under "Configuring Tool Changes".)

Consider what happens when the printer is printing.  At the beginning the right carriage is stowed, and the first layer is printed with the left carriage (tool # 0).  When it's tool change time, our custom tool change code homes the current carriage, then issues T1, which, thanks to the pin we programmed, switches the relay on.  The left carriage goes dead, with its endstop deactivated.  Its extruder motor is still active, but not doing anything because no commands are being sent to it.  Its heater is still working, holding its specified temperature;  the nozzle will slowly dribble into the left-hand spitoon (an optional feature on the deluxe model).  The left carriage has now been stowed.

After the relay switches on, the right carriage motor becomes energized.  The carriage may jump a small distance to the right or left, and we cannot assume anything about its position.  Because we can't make assumptions about how long this nozzle has been dribbling, we advance the filament a bit to charge the nozzle, and wait a bit (G4 P1000 or similar).  We now home the current X carriage in the usual way, G28 X0.  It moves to the left until its long probe reaches its endstop.  Then we start printing.

After this layer is printed, it's time to change tools again.  Our custom tool-change code stows the current carriage by moving it to the specified stow position at the right, then issues T0 which switches the relay back off.  The right carriage goes dead, with its endstop deactivated.  Its extruder motor is still active, but not doing anything because no commands are being sent to it.  Its heater is still working, holding its specified temperature;  the nozzle will slowly dribble into the right-hand drool bucket.  The right carriage has now been stowed.

After the relay switches off, the left carriage motor becomes energized once again.  The carriage may jump a small distance to the right or left, and we cannot assume anything about its position.  Because we can't make assumptions about how long this nozzle has been dribbling, we advance the filament a bit to charge the nozzle, and wait a bit.  We now home the current X carriage in the usual way, G28 X0.  It moves to the left until it reaches its endstop.  Then we start printing again.

And so forth.

There are a number of questions to be investigated.  Will there be a problem with the Azteeg's driver when one motor is switched out and another switched in?  We cannot assume that the motors will physically be at the same step phase during this transition, so the next motor will have to jump to whatever phase the driver is currently at.  This will send a brief current spike back to the driver.  Hopefully nothing amiss will occur.

When one carriage is deactivated, some force (your elbow?  the cat?  deezmaker and whosawhatsis carrying the printer around the fairgrounds while it prints on battery power?) might cause that carriage to move around.  If it moves far enough from its stow position so that the other carriage can hit it, weird things might happen.  It might be a good idea to add something to keep deactivated carriages from moving.  I'm thinking electromagnets, or maybe those gravity amplifiers from Area 51.

When a carriage moves from its stowed position, it will probably have a long thread of plastic hanging from it.  It would be best to remove that before the nozzle leaves the vicinity of stow.  How best to do that?  Whatever you grab it with might gradually build up a glacier of plastic, which might eventually cause problems.

So what do you think?  Is this totally the dumbest idea you have ever heard?
Bukobot Duo v1

Herb

  • Jr. Member
  • **
  • Posts: 80
    • View Profile
    • Herb Weiner
Re: Dual X-Carriage Bukobot
« Reply #5 on: October 12, 2013, 02:08:21 AM »
Well, since I have not yet gotten a good print using dual extruders, this might not be such a bad idea.

Has anyone gotten a good print using dual extruders (on the v2)? If so, I would be most interested to hear what object you've printed, what Slic3r settings you used, what filament you used, and whether you disabled the tool change code in Slic3r (see http://forum.bukobot.com/index.php?topic=2971.msg4241#msg4241).
Bukobot Duo v2

whosawhatsis

  • Administrator
  • Hero Member
  • *****
  • Posts: 598
    • View Profile
    • Whosawhatsis on G+
Re: Dual X-Carriage Bukobot
« Reply #6 on: October 12, 2013, 09:59:15 PM »
Switching the output of your stepper driver to a different motor using relays sounds like a really efficient way of frying stepper drivers to me. Constant-current power supplies don't like to have inductive loads suddenly connected/disconnected while they are energized. I fried dozens of stepper drivers due to poor wire connections back in the days before we had easily-available and self-contained printer controller boards, and I was trying to build my own on a breadboard.

jit

  • Global Moderator
  • Full Member
  • *****
  • Posts: 174
    • View Profile
Re: Dual X-Carriage Bukobot
« Reply #7 on: October 12, 2013, 10:23:54 PM »
I was afraid of that.  That's why I asked   ;D

But I find myself still wondering if there is a way of implementing dual X carriages while still reducing the required Marlin patches to perhaps a few lines of code, with the patched Marlin still being compatible with a standard Bukobot...
« Last Edit: October 12, 2013, 10:31:41 PM by jit »
Bukobot Duo v1

jit

  • Global Moderator
  • Full Member
  • *****
  • Posts: 174
    • View Profile
Re: Dual X-Carriage Bukobot
« Reply #8 on: October 13, 2013, 02:10:30 AM »
...for example:

Instead of relay:  Pull driver board off Azteeg, buy a second one.  Wire up both pololus in parallel, except for the two sets of four output pins, which go to the two motors, and except for the step pins.  Step pins hook up to the Azteeg's step pin through some simple CMOS logic which directs the step pulses to the desired pololu, as directed by the LSB of the tool #.

No need for space boots, gravity amps, spacetime modulators or flux capacitors to keep the parked carriage in place, as both steppers are always energized and holding state.

Needs one extra pololu, a few CMOS gates, a few capacitors for power lines, perfboard, some .1 inch headers (long and short), a bit of wire.  Maybe $20 altogether.  Do it as a daughterboard that sits up above the other three pololus.  I think I already have all those parts except the pololu.

This is actually what I was thinking about in the first place, but I wanted to give you all a good giggle, and anyway all those details wouldn't fit in the margin of the page.

The fact that nobody pointed out any serious flaws with any other parts of the description gives me hope that this might actually work.  But additional comments would still be appreciated.
Bukobot Duo v1

whosawhatsis

  • Administrator
  • Hero Member
  • *****
  • Posts: 598
    • View Profile
    • Whosawhatsis on G+
Re: Dual X-Carriage Bukobot
« Reply #9 on: October 13, 2013, 02:46:40 AM »
If I wanted to do it without modifying the firmware, that's pretty much what I would think of, but unless I missed something, it still does require modifying the firmware to tell the logic gates which extruder is active, unless you're proposing some kind of microcontroller mind-reading. Without that, it makes more sense to modify the firmware to redirect that step signal to a different digital pin.

jit

  • Global Moderator
  • Full Member
  • *****
  • Posts: 174
    • View Profile
Re: Dual X-Carriage Bukobot
« Reply #10 on: October 13, 2013, 03:14:50 AM »
The beauty of this plan, if it actually works, is that it requires one simple mod to the firmware that does not affect that firmware's ability to support the current Bukobots.

Firmware mods represent a significant barrier to some members of the community.  As soon as it becomes necessary for the user to recompile Marlin, you lose participants like bits leaking out of a bit bucket.  It's bad enough when someone needs to fire up arduino to flash a new firmware, as many 3D printer users have *never* done anything like this, but dealing with patches and compiling is a whole new level.

The mod to output the LSB of the tool # on an Azteeg pin could be incorporated once into the versions of Marlin hosted at Deezmaker, and just left there as the codebase evolves into the future.  As long as there is one spare output pin on the Azteeg that will never be needed for anything else.

So anybody else who wanted to switch to the dual X carriage could just download the default Marlin, put together the hardware and never have to compile anything.  And that same Marlin would have no negative effect on anybody else.
Bukobot Duo v1

kgm

  • Newbie
  • *
  • Posts: 1
    • View Profile
Re: Dual X-Carriage Bukobot
« Reply #11 on: February 28, 2014, 04:52:36 PM »
I was wanting to get a Bukobot at some point in the near future.  I would love to make it Dual X carriage.  Does anyone know if Deezmaker is planning to make a dual x carriage machine?  Should I order a Vanilla and an extra extruder and hardware to go with it since it seems the dual extruders on the Duo can't be split?  Any input appreciated.  Thanks.

whosawhatsis

  • Administrator
  • Hero Member
  • *****
  • Posts: 598
    • View Profile
    • Whosawhatsis on G+
Re: Dual X-Carriage Bukobot
« Reply #12 on: February 28, 2014, 07:59:51 PM »
The extruders on the current model (Bukobot V2) cannot be split. We're considering the possibility of using a dual x-carriage design for V3.

faber

  • Newbie
  • *
  • Posts: 1
    • View Profile
Re: Dual X-Carriage Bukobot
« Reply #13 on: March 23, 2014, 06:52:33 PM »
If I wanted to build this Dual X-carriage Bukobot right from the start would it be more sensible to order the v2 kit and the extra parts, or the v2 duo kit and the extra parts? are there significant upgrades on the DUO kit that don't exist on the single extruder kit? Would you recommend just building the duo kit and then upgrading after I get it working? also I read that it is difficult to get the duo kit printing reliably. would I be better off starting out with the single extruder kit?

rod27cn

  • Newbie
  • *
  • Posts: 6
    • View Profile
Re: Dual X-Carriage Bukobot
« Reply #14 on: March 24, 2014, 02:16:12 AM »
Hi Whoswhatsis,

Nice to hear that V3 will have dual X-carriage, when V3 will be released? I own V2 will there be any update kit for V2 to upgrade to V3?

BR
Rod

 

BloQcs design by Bloc
SMF 2.0.3 | SMF © 2011, Simple Machines