A1 Poop Conveyor

A1 Poop Conveyor

Boost
99
154
36

Print Profile(3)

All
A1
X1 Carbon
P1S
P1P
X1
X1E

0.2mm layer, 2 walls, 15% infill
0.2mm layer, 2 walls, 15% infill
Designer
12.9 h
3 plates
5.0(10)

Striped Belt 0.2mm layer, 2 walls, 15% infill
Striped Belt 0.2mm layer, 2 walls, 15% infill
3.3 h
1 plate
5.0(2)

0.28mm layer, 2 walls, 15% infill
0.28mm layer, 2 walls, 15% infill
6.6 h
3 plates
5.0(1)

Boost
99
154
36
5
190
123
Released

Description

Loving my A1, but it's a little messy… and I'm a little lazy. So I developed this poop conveyor. This project is not intended to define how you power the conveyor, I use a pico-controlled 38mm high NEMA17 stepper, which is less than ideal, but works for me. If there is any interest, I'll publish how I made my electronics, and upload a blank coupler so you can customise the connection. You'll be good if your drive spindle centre is 28.2mm off the ground.

Additional bits

You'll need four 608 bearings, 3d printed ones will do. Ideally, you'll also have a poop deflector that aims the poop more downward, like this one. You'll need to work out a way to drive the conveyor, You may also require two M3 screws to hold the spindle caps on the one spindle. Tracks are assembled with filament from the end of a roll.

Printing

I'd recommend printing everything in PLA, for no particular reason, it's just easier and the project has no specific needs. The tracks work fine for me in PLA, but if you're printing in PETG a lot, then the poop can be quite hot, and I have had it stick to the conveyor a bit until it's scraped off underneath after a while. Maybe print the tracks in PETG for more heat tolerance.

Assembly

  • Slide the box halves together and insert the lock pins in the insides.
  • Add your bearings of choice. They should be tight, but not require a hammer.
  • Assemble the track using 32 links, don't close the loop yet. Depending on what you print them in, the holes may require drilling out to 2 mm. They are designed to use a piece of end roll filament as it is naturally curvy enough to ‘lock’ in place.
  • Slide the track in from the ‘bin’ end, and rest it on the track support in the box.
  • Put the drive wheel inside the box and slide a spindle through the bearings and drive shaft.
  • Put the second drive wheel in for the ‘bin’ end but don't put the spindle on it yet, and then close the track with the final bit of filament.
  • If you lift the box and hold it from the drive end, the track should hang at the right point for you to insert the second spindle.
  • For the spindle at the ‘bin’ end, you can screw on the spindle caps with M3 screws of your choosing.
  • Now you just need to attach the motor to the drive ned and you're off.

Electronics

I use a PICO (with headers) to power things, I have no idea how to set this up and get stuff working properly, so I followed the PICO install micropython guide and it seemed to work eventually. I also use the motor shield and a NEMA 17 stepper motor. Here is the code I used to drive it. Tweak, and you do you. I can't seem to upload a python file.

 

#####################################

from machine import Pin
import time

led = Pin("LED", Pin.OUT)

# Stepper motor controller
M1E = 17 # Enable
M1A = 21 # Phase 1
M1B = 20 # Phase 2

M2E = 16 # Enable
M2A = 19 # Phase 1
M2B = 18 # Phase 2

#step_count = 8

m1e = Pin(M1E, Pin.OUT)
m1a = Pin(M1A,Pin.OUT)
m1b = Pin(M1B,Pin.OUT) 
m2e = Pin(M2E, Pin.OUT)
m2a = Pin(M2A,Pin.OUT) 
m2b = Pin(M2B,Pin.OUT)

step_ms = time.ticks_ms() # to calculate deltas
step_delay=1000
step_now = -1 # Starting state

led_ms = time.ticks_ms() # to calculate switch off LED time
led_delay=10;

def setStep(p1, p2, p3, p4):
    m1a(p1)
    m1b(p2)
    m2a(p3)
    m2b(p4)

def doStep():
    global step_now, step_count, n
    step_now += 1
    if step_now >= step_count:
         step_now = 0
    setStep(n[step_now][0], n[step_now][1], n[step_now][2], n[step_now][3])

def setup():
    global n, led_state, step_count
     # motor loop enable, set value 0 to disable
    m1e(1)
    m2e(1)

    # Set up the motor driver energise loop
    step_count = 8
    n = list(range(0, step_count))
    n[0] = [0,1,0,0]
    n[1] = [0,1,0,1]
    n[2] = [0,0,0,1]
    n[3] = [1,0,0,1]
    n[4] = [1,0,0,0]
    n[5] = [1,0,1,0]
    n[6] = [0,0,1,0]
    n[7] = [0,1,1,0]
    
    led(0)
    print("Setup complete")

def loop():
    global step_ms, step_delay, led_ms, led_delay
    now_ms = time.ticks_ms()
    if now_ms > (step_ms + step_delay):
        led_ms = now_ms
        step_ms = now_ms
        led.value(1)
        doStep()

    if now_ms > (led_ms + led_delay):
        led.value(0)

setup()
while True:
    loop()
 

Comment & Rating (36)

Please fill in your opinion
(0/5000)

Print Profile
0.2mm layer, 2 walls, 15% infill
Modified it slighty to hold 2040 extrusion so I can add sensor etc :) turning it into a bigger project!
(Edited)
0
Reply
This is pretty cool. I have a very tight space behind 2 printers (P1S, X1C) so had to make a conveyor belt. Your design is much more refined. However I thought using an arduino or stepper motor and drivers was too overpowered. You can do the same thing with a few simple electronic circuit modules. If it's as slim as yours, I think you'd only need to add one delay switch module to the modules I used. This is mine: https://www.youtube.com/watch?v=_yE_z_jgJoA https://www.youtube.com/watch?v=9GFR5SxtjNw
(Edited)
The designer has replied
3
Reply
That is a great solution, I looked at several improvements including moving the stepper to behind the conveyor to save space, it would fit on the A1, and there would be space for the A1 Z-axis upright, but connecting the motor to the drive would have required printing out another case half and using some belts or gears that I didn't have. So I leave this up to others for their needs. I also thought really hard about how to trigger the conveyor. I REALLY wanted some way to have it work only when it was needed. I thought about gcode and MQ (when the filament change occurred), but that was serious overengineering, and I couldn't get anything to integrate with the closed system. I guess Klipper would do it or so would Octoprint, but... meh. The laser interrupt is brilliant.
1
Reply
Replying to @nigeljohnson73 :
I'm considering running it intermittently, but it seems the sooner you get the poop off the less likely it is to stick. I was thinking of putting a switch on the poop deflector that the head would hit when it purges filament.
0
Reply
This is an extreme over engineering piece of art and I love it. Amazing idea man, keep it up for us folks who are also lazy ;)
The designer has replied
3
Reply
Overengineered???? Hold my Beer :D
1
Reply
Replying to @nigeljohnson73 :
yes yes, like this attitude. It needs a wiper or brush at the end :p and a poop counter?
0
Reply
I'd love more information on the electronics. I want to make this but have no knowledge in pico stuff.
The designer has replied
1
Reply
I've added a section on the electronics. I winged it for the most part, but hopefully you can get it running.
1
Reply
Replying to @nigeljohnson73 :
Thanks a ton!!!
1
Reply
Replying to @krapclap :
You're welcome. I've also noticed a striped set of belt bits from you. They are amazing. thanks for adding them! If there is a love button I need to press, let me know :)
0
Reply
Print Profile
Striped Belt 0.2mm layer, 2 walls, 15% infill
(Edited)
1
Reply
Print Profile
0.2mm layer, 2 walls, 15% infill
Love it, just needs a solution for stuck poop.
The designer has replied
1
Reply
i had hoped it would scrape off underneath, but pla does weld itself sometimes. I found that printing petg belt bits does help a little bit, but I haven't tried petg printing with a petg belt.
0
Reply
Replying to @nigeljohnson73 :
I've found that for the most part, the only filament that sticks is the initial purge for some reason. I have tried adding oil to the tracks and that didn't work, next I will try an automotive wipe on ceramic clear coat, then a spray on acrylic clear coat if that doesn't work. If none of that works then a physical removal option will be tested like a brush or wire.
0
Reply
This is great. Love it. You can program this with any microcontroller. And even with a servo 360 might work. Don't think you need a motor shield that way. And a sensor for the conveyer to work only if something is dropped. :p I see possibilities. One question, it does stand in front of the ventilation area on the A1. Is this a problem?
1
Reply
I'd love a cupler uploaded
The designer has replied
0
Reply
Which coupler would you want? There is one for the NEMA 17
0
Reply
Print Profile
0.2mm layer, 2 walls, 15% infill
sehr gut zu drucken und zusammen Bau wahr auch Wunder Bahr
0
Reply
Boosted
Print Profile
0.2mm layer, 2 walls, 15% infill
amazing! worked great!!!
0
Reply