EggBot With Control Panel 3D Printer Model

Author: @
License: CC BY
File formats: stl,zip
Download type: zip
Size:1.1MB

The file 'EggBot With Control Panel 3D Printer Model' is (stl,zip) file type, size is 1.1MB.

Summary

This thing is a remix of great design by @Trigubovich

What I have changed:
-added 0.1mm clearance to all tight-fitted parts and 0.2mm for sliding parts
-designed holder for Arduino UNO with snap-on Nema17 mount
-upgraded both fittings for suction cups to hold them securely in place without using glue
-upgraded Faucet to use long M5 hex head screw instead of M5 threaded rod
-designed knob for M3 hex head bolts to make pen fitting and pen height adjustment easier
-designed control panel with 3 buttons, for more convenient use and preparation

Control panel is optional, EggBot will work without it

I'm also adding Arduino firmware files (source: EggDuino by papabricole on Github) configured for use with Arduino UNO and CNC Shield V3

Things I used (besides printed parts) to build this project:

Electronics:
-1 x Arduino UNO clone
-1 x CNC Shield V3
-2 x Nema 17 stepper motor (I have used 38mm ones, but any would be good) + suitable cables
-2 x A4988 stepstick (any Pololu-style stepstick with 1/16 microstepping would be good)
-3 x TC1212-T push button (optional, they are needed for control panel)
-1 x SG-90 servo
-1 x 12V AC/DC adapter, at least 2A output should be fine
-few dupont wires

Hardware:
-2 x 120mm + 2 x 200mm aluminum tube, 6mm outer diameter (cut from 1m long tube)
-2 x M3x25 hex head bolts (for pen fixing and pen height adjustment)
-2 x M3x20 countersunk bolts (for tightening Box_Intersecting_Rods and Tailstock_Holder, but they are not needed to make EggBot work properly if these parts are sitting tight enough on tubes)
-8 x M3x6 socket head bolts (for fixing Nema 17 to holders)
-4 x M3x10 button head bolts (for fixing Arduino UNO)
-1 x M5x70 hex head bolt (for tailstock adjustment)
-1 x M3x8 grub screw (for fixing Pen_ServoLeft_Holder_Part-1 on Nema 17 motor shaft, but any bolt with thread longer than 10mm will fit here)
-8 x M3 hex nut (4pcs for Arduino fixing, 1pc for pen holder M3x8 grub screw, 1pc for pen holder M3x25 hex head bolt, 1pc for Box_Intersecting_Rods and 1pc for Tailstock_Holder)
-3 x M5 hex nut (2pcs for locking bearing on end of bolt, 1pc for securing Faucet)
-4 x ST2.2x6.5 screw, may be a bit shorter or longer (2pcs for fixing servo, 2pcs for rubber band/spring
-1 x small rubber band or spring (mounted to Pen_ServoLeft_Holder_Part-1 and Pen_ServoLeft_Holder_Part-2 to give some tension on pen). In original design spring was used, but as I couldn't find any I tried small rubber band and it works well
-1 x 625ZZ bearing (for tailstock, fits inside Bearing_Cover)

Short piece of 1.75mm filament was used as hinge pin between Pen_ServoLeft_Holder_Part-1 and Pen_ServoLeft_Holder_Part-2

Printing

For print settings, take a look at Print Settings section.

Print only one of these (depending on whether you want or don't want control panel):
-Arduino_Holder
-Arduino_Holder_Nopanel

Almost every part needs to be printed once, except:
-2 x Knob_M3
-3 x Button_Cap (if you are building version with control panel)

When building EggBot without control panel, you won't need:
-Button_Holder
-Button_Cover
-Button_Cap

After printing check hinge holes on Pen_ServoLeft_Holder_Part-1 and Pen_ServoLeft_Holder_Part-2. Piece of 1.75mm filament should fit freely, but without too much loose to hole in Pen_ServoLeft_Holder_Part-2. If it cant fit well, try different piece of filament or try to work on hole to make good fitting.

Assembly

  1. Fit shorter aluminum tubes in Pen_Stepper_Holder.
  2. Fit Box_Intersecting_Rods on previously installed tubes. Countersunk hole should be facing up and tubes should go to higher set of holes.
  3. Fit Pen_Stepper_Holder_Foot on tubes.
  4. Fit longer tubes in Rotational_Stepper_Holder.
  5. Fit previously installed tubes in other set of holes in Box_Intersecting_Rods.
  6. Fit Tailstock_Holder on tubes.
  7. Fit Rotational_Stepper_Holder_Foot on tubes.
  8. Fix stepper motors to Pen_Stepper_Holder and Rotational_Stepper_Holder with M3x6 socket head bolts.
  9. Fix Pen_ServoLeft_Holder_Part-1 and Pen_ServoLeft_Holder_Part-2 together, they will fit well in only one orientation. For fixing them use piece of 1.75mm filament, put it through the whole hinge and fix in place by melting ends of filament with gas lighter or soldering iron.
  10. Prepare 2 thumb screws - fit Knob_M3 on M3x25 hex head bolts, they should fit tightly, help presing part on bolt head by using M3 nut if necessary.
  11. Screw pen height adjustment screw to hole in Pen_ServoLeft_Holder_Part-2 (no nut needed, should fit tightly), after that screw Servo_Adj_Cap on end of thumb screw.
  12. Put a nut to rectangular hole next to pen hole in Pen_ServoLeft_Holder_Part-2, ensure it lines up with holes in part, then screw thumb screw through everything.
  13. Put a nut to rectangular hole next to stepper motor shaft hole in Pen_ServoLeft_Holder_Part-1, ensure it lines up with holes in part, then screw grub screw in, but not completly, it shouldn't be visible in shaft hole.
  14. Fix servo to Pen_ServoLeft_Holder_Part-1, rotating part of servo should be closer to Pen_ServoLeft_Holder_Part-2, but horn shouldn't be attached at this point, it should be attached after connecting to Arduino, and after everything is set up in Inkscape.
  15. Fix prepared pen arm on pen stepper shaft, tighten grub screw to secure it.
  16. Fit Faucet on M5x70 hex head bolt, secure it with M5 nut.
  17. Screw prepared tailstock bolt into Tailstock_Holder.
  18. Secure tailstock bearing on the end of tailstock bolt using two M5 nuts (nut-bearing-nut).
  19. Fix suction cups in Bearing_Cover and in Nema17_Suction_Cup, it will require some twisting, but suction cups should be secured well after fixing.
  20. Fix Nema17_Suction_Cup on rotational stepper shaft and Bearing_Cover on tailstock bearing.
  21. Fix Arduino UNO, Arduino_Holder and Arduino_Nema17_Mount together using 4 x M3x10 button head screws and 4x M3 nuts.

    Optional (control panel)

  22. Solder dupont cables to 3x TC1212-T (two cables to each, for CNC Shield V3 cables would need to end with female connector).
  23. Put cables through holes in Button_Holder and snap buttons in place.
  24. Put Button_Cap on each button and snap Button_Cover on everything.
  25. Attach prepared panel to Arduino_Holder (attachment is designed to fit two-way, so attach it as you like)

Connecting electronics

  1. Flash firmware to Adruino
  2. Connect CNC Shield to Arduino, connect Stepsticks to X and Y axis socket with microstepping set to 1/16 (for A4988 - all 3 jumpers shorted) and connect wires as following:
    -Rotational stepper to X axis
    -Pen stepper to Y axis
    -Servo: rearrange cables in servo connector so they will go like [Signal][Ground][5V], connect short male-male dupont cable to 5V lead, connect connector to SpnEn on shield, in a way that connected dupont cable will be outside of the board, make sure servo GND is connected to black row of pins on shield. Connect dupont wire previously connected to servo connector to one of pins in A stepstick header:

    Control panel (optional):

    -PRG to "Abort"
    -PEN to "Hold"
    -MOT to "Resume"

Preparing software

  1. Install Inkscape (version 0.91.0 is required)
  2. Install EggBot extension for Inkscape:
    -Install EggBot Software: Version 2.5.0 using installer
    -Update previously installed version to newest available version from official EggBot repository on GitHub

At this point, Arduino Uno based EggBot probably won't work with EggBot extension. If it's true, you need to modify EggBot extension (advanced text editor like Notepad++ would be necessary):

  1. Connect EggBot to computer
  2. Open Device Manager, open properties of your connected board (it should appear as COM port) and look for device PID and VID (in windows device manager, you will find that information in device properties, in "Details" tab under "Hardware Ids" property). For example, my Arduino Uno clone had VID 1A86 and PID 7525. Write these values down.
  3. Open /share/extensions/ebb_serial.py file using Notepad++, look for line:
    if port[2].startswith("USB VID:PID=04D8:FD92"):
    and change VID:PID values to proper ones for your device, for example for my Arduino clone I edited it to:
    if port[2].startswith("USB VID:PID=1A86:7525"):

After that, everything should work well (Inkscape restart is required if it was running while modifying extension)

Control panel functionality:

  • PRG - programmable button, in current firmware configuration it's used for pausing plot
  • PEN - lower/raise pen
  • MOT - lock/unlock stepper motors

For using EggBot extension for Inkscape, please refer to official documentation by Evil Mad Scientists

Photos by Ryszard Hałgas https://www.pbase.com/rysio

Arduino_Holder.stl 228.2KB
Arduino_Holder_Nopanel.stl 142.5KB
Arduino_Nema17_Mount.stl 210.1KB
Bearing_Cover.stl 215.4KB
Box_Intersecting_Rods.stl 107.9KB
Button_Cap.stl 244.9KB
Button_Cover.stl 276.7KB
Button_Holder.stl 491.8KB
Faucet.stl 64.7KB
firmware.zip 24.8KB
Knob_M3.stl 269.8KB
Nema17_Suction_Cup.stl 457.8KB
Pen_ServoLeft_Holder_Part-1.stl 99.9KB
Pen_ServoLeft_Holder_Part-2.stl 68.0KB
Pen_Stepper_Holder.stl 188.6KB
Pen_Stepper_Holder_Foot.stl 139.6KB
Rotational_Stepper_Holder.stl 184.5KB
Rotational_Stepper_Holder_Foot.stl 130.9KB
Servo_Adj_Cap.stl 128.9KB
Tailstock_Holder.stl 167.8KB