Posts mit dem Label 3Dprinting werden angezeigt. Alle Posts anzeigen
Posts mit dem Label 3Dprinting werden angezeigt. Alle Posts anzeigen

2019-02-03

Parametric wire dispenser


At the moment Youmagine is pretty much broken in Firefox and in Chrome due to the choice of company they got their SSL certificate from.

However I still published a new accessory for my soldering workspace.
A simple wire dispenser that with parameters for the number and size of spools.


2018-03-18

More dust collectors

Project history

  1. Previous project: Testing the Kreg K5 Master System
  2. current posting
  3. Next project: ...



After I had designed the dust collector adapter for the Kreg K5 Master System
to Kärcher and Festool 36mm hoses, I had to go on and make some more:

Kärcher/Festool to Makita PJ7000J Lamello/Biscuit Joiner router


 

The local FabLab had a Makita biscuit joiner that didn't fit the local Festool shop-vacs.
So I quickly adjusted the diameter and labeling.
(Hooray for parametric CAD.)

Kärcher/Festool to Bosch GKS 12V-26


 

The new 12V battery operated circular saw is making quite a mess.
So for it's cute, tiny dust-collection part I made an adapter too...

Links:

2017-05-19

Alibre is back!!!

History

Back in 2010 I started 3D printing (later also CNC machining) and needed a CAD package.
I got myself a licence of Alibre Design Xpress. The small hobbyist version of Alibre Design.
Later this became the Alibrea Design Personal Edition (PE).

In 2013 it was renamed to Alibre-Geomagic Design V2013 because 3D Systeme aquired Alibre and I changed into a larger, more fully featured version of it.

In 2015 I got V17=V2015. That was the last update anyone got. 3D Systems had added support for their 3D printers and 3D scanners including a very cool Mesh-to-Solid conversion that works very well with very large meshes.

Then there was silence. 
Nothing happened for 2 years. Not even bug fixes.

The good news!

Some ex-Alibre employees have created a company called Alibre LLC and are reached an agreement with 3D Systems to get sale, support and development of Geomagic back into their hands.

...let's stay tuned.

Links:

2017-05-02

Filament sensor broke off

Looks like there was a knot in the filament and the pulling forces broke off the arm with two of the three "ultimate filament sensor" s on my modified Ultimaker II extended.
It houses the load cell to meassure filament pulling force and the encoder to meassure filament odimetry.
Both where not enabled at that time and thus didn't pause the print as soon as forces exceeded the allowed range.


2017-04-28

Hand strap for my GH4 and GH5 cages

Project history

  1. designing+prototype cages for GH5, GH4, GH4+battery grip and GH4+YAGH.
  2. add hand strap
  3. next step: machine cages from Aluminium
  4. Next project: unknown

Hand strap

Last month I started designing my own cages for GH5, GH4, GH4+battery grip and GH4+YAGH.
I am considering these cages to be finished and a carbon fiber prototype of the GH5 cage is currently in the first of 2 field trials.

However one thing bothered me all the time.
I did not find a good way to add a leather wrist strap.
This is a feature I enjoyed on my previous (chinese) cages.

Now it hit me.
All this time I wanted to add holes for the strap at the top and bottom. However at the bottom the mounting screws where not allowing for enough space.
However the GHx bodies do have attachment points for a strap already.
So I just designed a small modification to the bottom of the cages and will test it next week.


Test: PASSED



The modified GH4 cage design has been printed and it works very welll.
I'll do the same modification to the GH5 cage design...

GH5: DONE



2017-01-24

fix for broken OpenBuilds "End Stop Kit" plates


The mounting plates that come with the OpenBuilds "End Stop Kit" are crap.
  • Either you force the M3 bolts through the 2.5mm end stop and find no place to fixate them in the unthreaded 3mm holes in the plate
  • or you thread the M3 bolts through the plate and fixate them in the end stops...but then you have the head of the plates between the plate and the aluminium profile and things jsut don't aline flat.


I present 2 versions.
  • The "thread cutting" version assumes you 3D print the part and cut an M3 thread into the mounting holes for the end stop.
  • The other version has additional space for the head of the M3 bolts.
Both are also properly sized for the mounting holes of the end stops and don't use long holes to adjust to unknown sizes. The end position of the arm is always slightly beyond either the right, upper or lower side of the plate. (whatever position you choose for the switch)

2016-06-27

Getting started with the Raspberry Pi 3 OctoPrint Bundle




After upgrading to the low friction spool holder,
I just got myself the Raspberry Pi 3 OctoPrint Bundle from Watterott.
It shall be the center component of my Ultimate Filament sensor.

Since it doesn't come with any instructions, here is what you need to do:

Setup


Don't plug it in yet!
Insert the SD card into a regular computer and edit the file octopi-network.txt .


Then insert the 2 transparent elements into the 2 holes near the micro USB socket.
(Yes, there are 2 plugs for 4 holes and no instructions.)


Now insert the Raspberry Pi and then insert the SD card.
The contacts should face upwards.
(It is near impossible to the the cards out again.)

After switching it on, you can connect to it via http://octopi.local .

SSH

You can also access the raspberry via SSH
ssh pi@octopi.local
The default password is "raspberry.
The SD card is mounted as /boot
The OctoPrint config file is at "/home/pi/.octoprint/config.yaml"
You can restart the server via "sudo /etc/init.d/octoprint restart"

If your Wifi access point via
sudo sudo iwlist wlan0 scanning | grep ESSID
can't be seen by Linux, run
sudo raspi-config 
and select "5 internationalization options" -> "I4 select Wifi locale"
to enable the Raspberry to see all Wifi channels that are legal in your country.

The Raspian I got was very old. I had to provide Internet via Ethernet and do
sudo apt-get update
sudo apt-get dist-upgrade
then it was able to see Wifi networks on Channel 40 (5GHz) and 12+13 (2.4GHz).

GPIO fun 

While at the shell, you can have fun with the GPIO pins in Bash.
Sadly you can't set the pull-up resistors from the shell.
However my image came with WiringPi already installed.
It doesn't have a "--help" or a man page on the Pi itself, so here are the basics:
  • gpio readall
  • gpio mode (pin) in/out
  • gpio mode (pin) up/down/tri         (set pull up resistors)
  • gpio read (pin)
  • gpio write (pin) 0/1
  • gpio wfi (pin) rising/falling/both    (non-busy waiting for a state change)
  • (more)
  • (reading multiple gpios )
  • ...including timeout via read -t (seconds) || echo "timeout detected"  ...still in bash ;) 

Camera


Sorry, there is no hole for the Raspberry Pi camera. The best place to cut one is probably on the side (so you don't damage the cool logo), above the camera connector.

This longer cable (Reichelt) may be helpful.

Cura slicing

Luckily the Bundle comes with thje CuraEngine plugin preinstalled. So slicing it not much of a problem.You can imort your existing 15.x profiles (but not 2.1.1 profiles) in Settings->Plugins->CuraEngine->import profile.

BTW, there are "send to Octoprint" plugins for Cura on the desktop!

Ultimaker II setup

The Ultimaker series is not supported out of the box.

Settings->printer profile:

Profile  (UM2 extended)

  • Color: default
  • (X) Rectangular 
  • Origin: lower left
  • X: 223mm
  • Y: 223mm
  • Z: 315mm
  • (X) heated bed

Profile  (UM2 go)

  • Color: default
  • (X) Rectangular 
  • Origin: lower left
  • X: 120mm
  • Y: 120mm
  • Z: 115mm
  • (X) heated bed

Profile  (UM2)

  • Color: default
  • (X) Rectangular 
  • Origin: lower left
  • X: 223mm
  • Y: 223mm
  • Z: 205mm
  • (X) heated bed

 G-Code

After "after abort of a print job" enter:
;fans off
M107
;extruder heater off
M104 S0
;heated bed heater off (if you have it)
M140 S0
;metric values
G21
;absolute positioning
G90
;move Z and X/Y to min endstops
G28 Z0 X0 Y0
;relative positioning
G91
;retract the filament
G1 E-5 F300
;steppers off
M84
;absolute positioning
G90


Cura 15

in Cura set: GCode Type = RepRap (Marlin/Sprinter)
start.gcode (first line must be blank)

;Sliced at: {day} {date} {time}
;Basic settings: Layer height: {layer_height} Walls: {wall_thickness} Fill: {fill_density}
;Print time: {print_time}
;Filament used: {filament_amount}m {filament_weight}g
;Filament cost: {filament_cost}
;M190 S{print_bed_temperature} ;Uncomment to add your own bed temperature line
;M109 S{print_temperature} ;Uncomment to add your own temperature line
G21        ;metric values
G90        ;absolute positioning
M82        ;set extruder to absolute mode
M107       ;start with the fan off
G28 X0 Y0  ;move X/Y to min endstops
G28 Z0     ;move Z to min endstops
G0 X20 Y20 F{travel_speed} ;bring extruder to the front
G1 Z25.0 F{travel_speed} ;move the platform down 25mm
G92 E0                  ;zero the extruded length
G1 F200 E25              ;extrude 25mm of feed stock
G92 E0                  ;zero the extruded length again
G1 F{travel_speed}
;Put printing message on LCD screen
M117 Printing...
end.gcode (first line must be blank)
;End GCode
M107 ;fans off
M104 S0                     ;extruder heater off
M140 S0                     ;heated bed heater off (if you have it)
G21 ;metric values
G90 ;absolute positioning
G28 Z0 X0 Y0 ;move Z and  X/Y to min endstops
G91                                    ;relative positioning
G1 E-15 F300 ;retract the filament
M84                         ;steppers off
G90                         ;absolute positioning
;{profile_string}

Cura 2.1


The documentation should be here However that's not the whole picture incomplete.
You need an Ultimaker2extended, Ultimaker2Go or Ultimaker2 profile with the reprap g-code flavor to have start and end added to your gcode files including material temperatures, homing and shutdown. Like this one.
To avoid adding files to Cura itself (and keeping them after updating Cura),
you can put your .json files for a new machine definition here:
  • Cura 2.1 (Linux) ~/.local/share/cura/machines
  • Cura 2.2 (Linux) ~/.local/share/cura/definitions 
  • Cura 2.1 (OSX) ~/.cura/machines for 2.1 or ~/Library/Application Support/cura/definitions
  • Cura 2.1 (Windows) ~/AppData/Local/cura/machines
  • Cura 2.2 (Windows) ~/AppData/Local/cura/definitions for 2.2 
Due to bug #850, you need to copy the fdmprinter.json, Ultimaker2.json and other files you inherit from into the same directory.

You can also add additional materials (use the existing materials in Cura 2.1.2.app/Contents/Resources/cura/resources/profiles/materials as a reference) to
~/.cura/profiles/materials (OSX)
but be careful, the file structure is identical to the MATERIALS.txt that the firmware imports from an SD card but the property and section names inside are different. Strange design decision.

Ultimaker II attachment

mechanical

It looks like self adhesive Velcro is the best option to attach the box to the back of your Ultimaker II.

Electrical


Having a Raspberry Pi permanently connected to your printer, that has ample 5V and 12V, it is kind of silly to power it via a separate wall wart. So we should see about powering it from the Ultimaker.

Settings

g-code for "after pause"
G91 ;relative positioning
G1 E-25 F200 ;retract the filament before lifting the nozzle, to release some of the pressure
G1 Z20 F15000 ;move the platform down 20mm
G90 ;absolute positioning
G0 X20 Y20 ;bring extruder to the front
g-code for "resume after pause":
G91 ;relative positioning
G92 E0 ;zero the extruded length
G1 F200 E55 ;extrude 55mm of feed stock
G92 E0 ;zero the extruded length again
G1 Z-20 F15000 ;move the platform up 20mm again
G90  ;back to absolute positioning
G1 F600 ; set travel speed

Links:

2016-06-20

Ultimaker II upgrade with Low Friction Spool-Holder


I'm currently upgrading my Ultimaker II with a "Low friction UM2 spoolholder" the YouMagine user IRobertI.

As I print a lot, I use huge and heavy Colorfabb 2.2Kg spools.
So when a spool is fresh and heavy, there is a lot of friction involved that the extruder needs to overcome.
My hope is to reduce this friction a great deal with this simple upgrade.

Notes:   
  • Print "608 mount" ith lots of infill, a large nozzle and thick layers. It needs to be strong.
  • M8x140 is plenty of length. It should have a hex head, so you only need 2 M8 nuts
  • You can use counter nuts (4 in total), so the nuts stay in place even with lots of vibration over a long time period
  • Use a bolt that has threads all the way (no smooth shaf and only threads at the tip)
  • Clean up the inside of "608 Core2 90mm" and "core 1", so a 608 bearing can be inserted into the far end
  • check the order of assembly:
  1. insert M8x100 hex headed bolt into "608 mount
  2. add M8 nut and 608 (skateboard) bearing, so "core 1" has a small air-gap wi "608 mount"
  3. add "core 1"
  4. add spacer
  5. add another 608 bearing and M8 nut (don't overrighten)
  6. add "608 Core2 90mm"
  7. add final "608 nut"



2016-06-15

Ultimaker II filament sensor and remote control using Raspberry Pi


The Plan

This is still an idea, growing in my head. I don't know if or when I'll build it.

I want to attach a Raspberry Pi 3 to my Ultimaker II extended.
Obviously with Wifi and USB it will have
  • a camera, watching the print
  • a GPIO pin an Octoprint API call telling the Ultimaker to pause the print (via a tiny firmware modification)
I will replace the small, plastic filament idler pulley on the back of the maching (opposite to the extruder drive mechanism) and replace it with a ball bearing and 2 sensors
  • a trivial 2 bit rotary encoder to meassure the speed and amount of the filament and auto-pause if no filament is transported anymore
  • a load cell with a Hx711 module to tell how much pulling force is applied and auto-pause on no force = filament empty and too much force = something blocks the filament from moving
The too much force - part means it will also detect obstacles that would otherwise lead to underextrusion because filament is still being transported but way less then there should be.
  • a second load cell in the modified "Low friction UM2 spoolholder" will meassure the weight of the spool and thus tell me how much filament is left.
  • the modification is a 12-20cm arm with the load cell attached

Status

  1. DONE: Raspberry Pi with Octoprint installed
  2. DONE: Designed parts for first prototype (using only Encoder and Dummy-Load Cells)
  3. DONE: Rotary Encoder arrived
  4. DONE: Pinout specified
  5. DONE: Waiting for load cells and Hx711 from China
  6. DONE: Test rotary encoder from Raspberry PI command line
  7. DONE: Test Octoprint API from Raspberry PI command line
  8. DONE:  Convert rotary encoder values to binary positions, movements, direction and speed
  9. DONE:  Wrote a simple filament monitor script that detects stalls and reverse movement and pauses the print via the Octoprint API
  10. DONE: Test Hx711 and load cell on Raspberry PI using Python
  11. DONE: The current "pause" in the Octoprint API is dangerous for scripts. It can resume if issued twice. ->fixed in Octoprint update
  12. DONE: solder the final cables and mount things on my UM2extended
  13. DONE:  designed modified "608 mount" to weight the remaining filament.
  14. DONE:  meassuring the weight of the remaining filament works! 
  15. DONE:  Write the final software including monitoring pulling force and spool-scale
  16. TODO: Write an assembly instruction including setting up the software.



MKI
MKII

Testing rotary encoder
Testing load cell for extruder pulling force

The software

I'm using a Raspberry Pi running Octoprint as the central controller.
The original plan was to use the Octoprint API.
For the final software (Here on GitHub) I decided to write an OctoPrint plugin.
I can not only detect if filament is supposed to move at the moment and issue a pause command without hacking the firmware and dual-using one of the homing switches as an E-Stop.
I can also display information (such as remaining filament) in the OctoPrint web interface
and offer my meassurements as new values in the OctoPrint API.

The parts

New method (using Octoprint API)
Old method (using GPIO signal to pause the printer):

Ultimaker II filament sensor and remote control using Raspberry Pi


The Plan

This is still an idea, growing in my head. I don't know if or when I'll build it.

I want to attach a Raspberry Pi 3 to my Ultimaker II extended.
Obviously with Wifi and USB it will have
  • a camera, watching the print
  • a GPIO pin an Octoprint API call telling the Ultimaker to pause the print (via a tiny firmware modification)
I will replace the small, plastic filament idler pulley on the back of the maching (opposite to the extruder drive mechanism) and replace it with a ball bearing and 2 sensors
  • a trivial 2 bit rotary encoder to meassure the speed and amount of the filament and auto-pause if no filament is transported anymore
  • a load cell with a Hx711 module to tell how much pulling force is applied and auto-pause on no force = filament empty and too much force = something blocks the filament from moving
The too much force - part means it will also detect obstacles that would otherwise lead to underextrusion because filament is still being transported but way less then there should be.
  • a second load cell in the modified "Low friction UM2 spoolholder" will meassure the weight of the spool and thus tell me how much filament is left.
  • the modification is a 12-20cm arm with the load cell attached

Status

  1. DONE: Raspberry Pi with Octoprint installed
  2. DONE: Designed parts for first prototype (using only Encoder and Dummy-Load Cells)
  3. DONE: Rotary Encoder arrived
  4. DONE: Pinout specified
  5. DONE: Waiting for load cells and Hx711 from China
  6. DONE: Test rotary encoder from Raspberry PI command line
  7. DONE: Test Octoprint API from Raspberry PI command line
  8. DONE:  Convert rotary encoder values to binary positions, movements, direction and speed
  9. DONE:  Wrote a simple filament monitor script that detects stalls and reverse movement and pauses the print via the Octoprint API
  10. DONE: Test Hx711 and load cell on Raspberry PI using Python
  11. DONE: The current "pause" in the Octoprint API is dangerous for scripts. It can resume if issued twice. ->fixed in Octoprint update
  12. DONE: solder the final cables and mount things on my UM2extended
  13. DONE:  designed modified "608 mount" to weight the remaining filament.
  14. DONE:  meassuring the weight of the remaining filament works! 
  15. DONE:  Write the final software including monitoring pulling force and spool-scale
  16. TODO: Write an assembly instruction including setting up the software.



MKI
MKII

Testing rotary encoder
Testing load cell for extruder pulling force

The software

I'm using a Raspberry Pi running Octoprint as the central controller.
The original plan was to use the Octoprint API.
For the final software (Here on GitHub) I decided to write an OctoPrint plugin.
I can not only detect if filament is supposed to move at the moment and issue a pause command without hacking the firmware and dual-using one of the homing switches as an E-Stop.
I can also display information (such as remaining filament) in the OctoPrint web interface
and offer my meassurements as new values in the OctoPrint API.

The parts

New method (using Octoprint API)
Old method (using GPIO signal to pause the printer):

2016-03-22

Building a "uStepper Robot Arm rev. 2" during EasterHegg

 

The Plan (tm)

During EasterHegg in Salzburg, I want to build a "uStepper Robot Arm rev. 2".
(Sorry, Thingiverse doesn't offer a nice iFrame-Embedding as YouMagine does.)

I want to build it, as it is.  Using their assembly instructions from GitHub. Then check it out and install improvements.
Planned improvements are:
  • mounting holes for optical homing switches on the gears
  • reduce the number of different bolt sizes and ball bearings
  • Replace the uStepper with NEMA17 steppers controlled by a chain of L6470 (e.G. SparkFun AutoDriver boards) due to simpler synchronisation of multiple axes
    • 3xAutoDriver - Stepper Motor Driver (Watterott: 2x 38eur , Sparkfun 34USD) 3A, 8-45V
      • 15x 2 pin screw-on terminals with 3.1mm pitch (3xpower, 3xGND, 6xstepper coild, 3xE-Stop) "Schraubklemmen 2.54mm Pitch (2 Pin)"
      • 5-6x 2x5 2.54mm headers  (Comms-In + Comms-Out) "Wannen-Stiftleiste gerade 10 polig RM2,54"
      • 5-6x 2x3 2.54mm headers  (Meta-In + Meta-out)
        "Wannen-Stiftleiste gerade 6 polig RM2,54"
      • 2x cable for  2x5 2.54mm headers on both sides (SPI between boards)
      • 1x cable for  2x5 2.54mm headers on one sides (SPI to Arduino)
      • 3x cable for  2x3 2.54mm headers on one sides (Meta to Arduino)
    • 3xNEMA17  (Watterott: 2x16eur) 0.33A, 12V
    • any power supply 1A, 12V for testing (final power supply will be 38-40V)
  • Change the joins with to not only be press-fit into the aluminium tubes but to have a bolt running across it (into the tube, through the join and out the tube on the other side) to allow for pulling small loads upwards.
  • Change the effector mount to use a standard ISO-9409-1-50-4-6 (=4xM6 on a 50mm circle)
  • Have a hole in the center of the mount to allow for cables
 

Preparation

I know the uStepper Robot Arm is still a Work In Progress.
I hope to get the original CAD files just in time for Easterhegg, so I can design my improvements.
I did get most of the parts from their BoM:

http://www.thingiverse.com/thing:1398215#comment-834544

bearings

5x 608Z
  • standard skateboard-bearings.
  • for 8mm shafts
  • Z=closed on one side.
  • ZZ=closed on both sides or 608 = open will work too.
5x 625Z
  • for 5mm shafts(I'm missing these)
10x 624Z
  • for 4mm shafts
(I did an order of all standard bearings 3mm-8mm a while back. So I *hope* my stock has these covered.)

Nuts

20x M3
7x M4
1x M5
2x M8
(done)

Bolts

The BoM didn't specify the type of head or material for any bolts.
So I tried to stay with hexagonal headed and PH2 ones and tried to stay away from sink-hole bolts.

1x M8x40
  •  used in Fig.10 - use hexagonal head, so you can have the bolt from below and nut on top. Other flat heads mean the nut has to be at the bottom and can fall out on disassembly.
1x M8x70
  • used as main axis for the large gears
1x M5x40
  • 1x used in Fig.48
4x M4x20
  • 2x used in Fig.55
  • 1x used in Fig.56
  • 1x used in Fig.57
1x M4x30
  •  1x used in Fig.55
1x M4x35
  • 1x used in Fig.63
1x M4x55  substituted  M4x60 as 55mm was not avaliable.
  • 1x used in Fig.65
15x M3x8 substituted M3x10 counter sunk head
  • use 4x (M3x10) in Fig.29 
  • use 4x (M3x10) in Fig.31
  • use 4x (M3x10) in Fig.33
  • TODO: where to the other 3 go?
2x M3x10 substituted M3x10 
  • 2x used in Fig.25 - longer is okay. Any flat head type.
4x M3x12 substituted M3x16
  • 4x used in Fig.9 - must be 11-13mm, head must have at most 5mm diameter
7x M3x20
  • 5x used in Fig.3 - any flat head. steel brass or aluminium but even plastic bolts are okay.
  • 2x used in Fig.21 - indended maximum head diameter 5mm but larger ones work if the head is at most 3mm in height 
4x M3x30
  • 4x used in Fig.44

Washers

5x M8 OD=15,8mm
4x M5 OD=9,8mm
2x M4 OD=8.8mm
I didn't find ANY of these sizes. So I hope grabbing large and small washers for M4,M5 and M8 from my stock will do.

Spacers

1x 14m  (update: inner diameter just wider then M8 threads)
1x 7mm  (update: inner diameter just wider then M4 threads)
Didn't find any because the BoM doesn't specify what kind of spacers they talk about.
I can't find them on the image nor the instructions.

Update: found them. Fig.36 has a typo and speaks of "space" instead of "spacers". Aparently they must have an inner diameter to fit an M8 and M4 bolt loosely.

tubes

The instructions don't specify if they talk about the outher or inner diamter
and what wall thickness is expected. (Clearly as seen in figure 20 and 22, inner AND outher diameter are important.)

1x 15x300 I got 1m of 16x1mm, it seems to be a snug fit in Gears_main_arm_15mm.stl, large_joins.stl fits but is a bit loose
1x 15x220
2x 6x240  I got 1m of 6x1mm
1x 6x252

...as you can see. The pure number of DIFFERENT bolt sizes is staggering.


Progress

Done:
  • sourcing all nuts and bolts (some bolts replaced by longer versions)
  • cutting tubes to length
  • assembled the first parts. List of suggestions for improvements is growing... 
  • Written the source code that will rund this arm using G-Code to control L6470 chips.
  • Assembled the original design as far as I can without the 625Z bearings.
  • I forked the project on github to post an improved version of the parts and the manual
  •  
     
Doing :
  • Waiting for the electronics
  • manual is coming along nicely...
  • starting to design improved parts...
Notes about assembly instructions
  • name inner+outher diameter of tubes
  • name head-type of bolts
    • M8x40 is for Fig. 10, any flat head. Steel brass or aluminium
    • M3x20 is for Fig.3 and ??? any flat head. steel brass or aluminium but even plastic bolts are okay.
    • ...
  • name where longer versions of bolts are acceptable and up to what length
  • name and show all dimensions for spacers (one is for M8, the other for M5)
  • Fig.1: a 608 (no covers) would do just as well  as a 608z(cover on one side) or 608zz (covers on both sized)
  • Fig.2: prepare how? What am I supposed to do in this step? 
  • Fig.3: no comment
  • Fig.4 use M3x20. 
  • Fig.5: no comment
  • Fig.6: use a sturdy table to help press-fit the 608Z or 608ZZ skateboard bearing
  • Fig.7: "prepare" means "insert M3 nuts"
  • Fig.8:  this is "side2.stl", not "side1.stl"
  • Fig.9: use M3x12 (at most 13mm) to mount the sides to the base?
  • Fig.10: use M8x40mm
    • M8 x 40mm
  • Fig.11: add an M8 washer of 9-12mm (if not included as a feature of base.stl)
  • Fig.12: use M3x8mm(M3x10 works too) to mount the small gear to the motor-shaft
  • Fig.13: 
    • M3x10 is too short for the  NEMA17 motor but the M3x8 are the only ones we have >12pcs of ??? (same for Fig.29+31. Question asked here)
    • you may want to do this before Fig.12 because the mounted motor determines where on the shaft the gear has to be
  • Fig.14: no comment
  • Fig.15: no comment
  • Fig.16: no comment
  • Fig.17: use a sturdy table to help press-fit the 608Z or 608ZZ skateboard bearing
  • Fig.18: no comment
  • Fig.19 
    • Is this large_joint.stl ? 
    • The "main arm" the short 15mm pipe
  • Fig.20: use glue and/or a drill and an additional M3x20 with a self-locking M3 nut 
  • Fig.21: use M3x20mm
  • Fig.22: no comment
  • Fig.23: use a sturdy table to help press-fit the 608Z or 608ZZ skateboard bearing
  • Fig.24 TODO: I seem to be missing 624Z or 624ZZ bearings
  • Fig.25: use M3x10mm 
  • Fig.26: no comment
  • Fig.27: TODO: what size of washers?
  • Fig.28:
    • use M3x8mm(M3x10 works too)
    • don't forget about the M3 nut (hole is slightly larger then M3)
    • use the thinner one of the 2 small gears
  • Fig.29: use 4x M3x10mm, make use of the recess for the bolt-heads
  • Fig.30: 
    • use M3x8mm(M3x10 works too) to mount the small gear to the motor-shaft
    • use the wider one of the 2 small gears
  • Fig.31: use 4x M3x10mm, make use of the recess for the bolt-heads
  • Fig.32: this is needed because you can't reach all 4 motor-bolts with the main gear on
  • Fig.33: use 4x M3x10mm, make use of the recess for the bolt-heads
  • Fig.34: no comment 
  • Fig.35: no comment 
  •  
  • Fig.36 
    • "space" should be "spacer"
    • Spacer is 14mm long and fits around an M8 bolt
  • Fig.38 one washer between gear and side plate is plenty
  • ...
  • Fig.44: 
    • use 4x M3x30mm, bolt heat must be <4mm in diameter
    • bracket_part1.stl
    • bracket_part2.stl
  • Fig.45: nothing to do here
  • Fig.46: nothing to do here
  • Fig.47 see comment for Fig.48
  • Fig.48 why M5? It's the only 5mm bolt in the entire construction and introduces an entirely new type of ball bearing. M4 would have worked just the same. 
  • Fig.49 one washer on the bearing, the other where the bolt exits
  • Fig.50 one washer where the bolt exits
  • Fig.51 this should be a nylon locking nut or else it will shake loose. 
  • Fig.52: nothing to do here
  • Fig.53: nothing to do here
  • Fig.54: nothing to do here 
  • Fig.55 
    • use 1x M4x30 on the secondary arm joint 
    • use 2x M4x20 on the 2 rods that connect to the triangle
    • TODO: Where to put what rod-length and what side to mount to (inside/outside)
  • Fig.56
    • use 1x M4x20 on the rod that connect to the triangle
  • Fig.57: use  1x M4x20
  • Fig.58: nothing to do her
  • Fig.59: nothing to do here
  • Fig.60: no comment
  • Fig.61: nothing to do here 
  • Fig.63: use M4x35
  • Fig.64
  • Fig.65: use M4x55 (or longer) 
  • Fig.66: finished! (with the mechanical hardware)
Notes about improvements:
  • holes for bolts should have a camfer to make inserting bolts easier by having them self-align. 
    • the holes for the 608 bearings work surprisingly well without them but it would still be a good idea since not every printer produces dimensionally accurate results.
  • labeling the holes with the bolt-sizes costs nothing in 3d printing.
  • use less different bolt sizes
  • name bolt sizes in assembly steps
  • all parts are very low resolution. Lots of clearly visible polygon-edges.
  • Gears are a highly simplified design. They however do have only little backlash.
  • ...
  • base.stl
    • M3 bolt-holes too small. 3.1mm would be better. 
    • M3 nut-holes could use a camfer (any stray sterand of filament makes this harder).
    • my bolts have a 6mm wide head. The hole is 5mm. Wider heads should be supported.
    • Make M8 hole smaller to allow for M8 washer of 9-12mm to sit on bottom 608/608Z/608ZZ bearing OR include that washer as a feature of the base.stl design
  • Gears_bottom_edited_plus10.stl
    •  M3 bolt-holes too small. 3.2mm would be better (slightly larger then the hole in the side that holds the nut). 
    • nuts are inserted too deep. You can't align them after having them fall down the shaft to meet the bolt.
  • side_plate1.stl
    • is a very tight fit into base.stl
    • a tapper on the nuts that slide into base.stl coult also help.
    • holes for M3 nuts should be hexagonal and closed on one side to prevent the tiny bolt from slipping out. (This isn't laser-cutting.)
    • move the bolt that doesn't go through the bottom gear further outwards, so it can be removed without having to disassemble the bottom gear.
  • Gears_main_arm_15mm.stl
    • camfer for 3mm bolts needed. Any stray strand of filament makes this harder then it needs to be 
    • label the gear "main gear"
  • Gears_second_arm.stl
    • no tapper for M5 nuts
    • mirror the small gear to have the bolt on the inside of the machine (accessible from above). That way it won't interfere with a longer bolt in the side_plates and the side plate can be made stronger by not having the access tunnes for this bolt.
  • second_gear_arm.stl
    • no hexagonal holes for the M3 nuts. They may shake loose.
  • link.stl
    • M4 hole is too tight 
    • large hole needs camfer. Hard to inser.
    • A flat instead of round end should make push-fitting the rod with force easier
  • triangle.stl
    • M3 holes definately need a camfer
    • convert to use M4 and get rid of the 625Z bearing size in favor of only using 624Z
  • end_part3.stl
    • integrate the M4 spacer into this part
  • bracket_part1.stl
    • wider brace to allow for 16mm aluminium rods 
    • convert to use M4 and get rid of the 625Z bearing size in favor of only using 624Z
  • bracket_part2.stl
    • should have a slightly wider holt then bracket_part1.stl , so the bolt fastens properly in the plastic
    • should allow for wider bolt-heads
    • wider brace to allow for 16mm aluminium rods 
    • convert to use M4 and get rid of the 625Z bearing size in favor of only using 624Z

Software

I'm planning to use this trivial Arduino G-Code parser, throw out the Bresenham line algorithm (since we need not generate step+dir pulses ourself) to instead feed tool-coordinates into the L6470 Autodriver boards.

Result

Links

2015-07-04

printing working threads on an Ultimaker II extended

Even at 20 micron and less layer height, most theads have too many threads-per-millimeter/threads-per-inch to be reasonably 3D printed.
I'm regularly using a thread cutter on 3D printed parts to do this instead.

Now I have some  solenoid valves with a very strange NPT1/2 thread.
This is a very rare imperial sized, trapezoidal (getting smaller, not staying at one diameter)
thread with only 1,814mm per thread instead of 1mm.
(BTW NPT1/2 isn't even near 1/2" in size. )
So it looks like a perfect test to 3D print the thread without cutting.

Due to the extreme heat recently, I had some issues with my Ultimaker II extended at first.




But int he end it worked out.
Here is the same thread printed in normal quality,  high quality(at 200% speed) and ulti quality (40 micron).
The (at first) strange result it, that the thread printed at normal quality was far more clean then the other ones.
...that is until you think about a thread as one giant overhang. A thicker layer-height seems to work better for overhangs as it's not as compressed by the next layer. This is no problem in solid areas bu when there is air below the layer...you can guess.








Fits perfectly!

2015-04-26

Ultimaker II Glue Stick issues

Help!

As glue-stick I have used the triangular Teasy EasyStick so far and they worked great.
However now the winter is gone and I had to move the printer to another city.
It's not as cool and the room is much smaller.
The ambient temperatures are rising above 23°C at 50° humidity indoors with a 75°C or 60°C heated bed and nearly no air flow in the tiny room and the glue stick completely evaporates within 10-30 seconds.

Filament either doesn't stick (if applied too early) or objects curl up and detach from the glass (if applied right before the print starts).

What European household brand of glue stick works in high temperatures? (Sorry, no Elmer's Invisible Glue on the right side of the pond.)
I don't have wood glue in the house but I'll try to get some and mix it with water to try.
I don't like to apply hair spray directly and the brand I tried doesn't work when applied to a piece of paper and then rubbed onto the glass.

2015-03-29

Ultimaker II servicing

My replacement glass fiber reinforced PTFE liners for the Ultimaker II hotend arrived.
While replacing parts I looked up just how long this Ultimaker II has been printing so far:
machine has been on for 2954 hours
printing for 1855 hours using 1166 meters of 2.85mm filament.

The PTFE is pretty banged up for sure.

In the forum people talk about 300-500 hours before seeing serious degradation.


I replaced the PTFE,
doing a cold-pull cleaning in the process,
Added a piece of aluminium foil,
cleaned the extruder gears
cleaned the bed

...now let's start with the next 2000 hours of printing.


PS:
I just found out you can get them (for a premium price) at Reichelt or
remakes (no mention of glass fiber) at  another German Store and in China too.
Without Fedex.

2014-11-21

Accuracy tesing 3D scanner



I want to know how well the Sense 3D scanner together with the Skanect software (since the Sense software only works on one computer per scanner and is pretty much crap without CUDA) captures mechanical dimensions.
Both in terms of absolute dimensions in millimeters (scaling of the entire part) and in terms of relative sizes of components to each other.

As a first test I scanned my camera. It's a small object and I had an error of about 10mm for a 130x70mm part in all 3 dimensions. Not very good.


Then I scanned my face.
Cleaned up that scan in Skanect, then NetFabb, then Meshlab (because the free NetFabb version doesn't allow you to fix some errors unless you buy the pro version).
Then imported that mesh into Geometric Design (my CAD program with 3D scanner and -printer integration).
Designed a mask with no allowance (not even under the nose or in the eyes).
Printed that mask on my Ultimaker II using default settings.
result?  It fits my face perfectly!

I'm currently waiting for a FabScan Cube to also scan small objects, where the Sense failes and am waiting for Skanect to support my higher resolution Kinect V2 for Windows. (I'll try the libfreenect2 software on MacOS/Linux next week.)




2014-11-13

Micro Mesh Pad Holder

I'm using Micro Mesh mini sanding pads (regular and MX) extensively.
So I designed myself a pad-holder that would
  • keep them sorted
  • allow them to dry (wet sanding)
  • tell me the coarseness
  • have symbols to roughly compare the coarsness of regular and MX pads
  • interlock to extens this sorting system
  • add a module for bottles of Mr Surfacer while I'm at it anyway


I printed these on an Ultimaker II. Every module needs about 7 hours using the Cura medium quality default settings.

2014-08-13

BMPCC display shade

I finally got around to design something again.
It's not perfectly refined yet but doing it's job.

I have a Blackmagic Pocket Cinema Camera with the Zacuto Z-Finder.
But often I don't want to use the Z-finder on my eye, yet I need something to keep the sun out.
So I designed this parametric display shade to attach to the Zacuto's quick release frame for quick swapping.

2014-07-22

Ultimaker II

Shortly after my Kinect II (Skanect doesn't support it yet),
I received my Ultimaker II.
It's not a perfect tool but still the most reliable 3D printer I have ever seen!

Both my Makibox 3D printers (one heavily upgraded, one in stock conditon) are still for sale.
They work.
It's just that what I need is a reliable workshop tool and a $300 3D printer just doesn't reach that level.

Same as for my TravelCNC I ordered a custom made flightcase for it.
But this time I'll have a pneumatic rivet gun instead of doing this manually. ;)
I'll also custom make some plastic sheets to protect the mounted filament from any dust.
My suspicion is that my frequent filament stalls did have something to do with the slightly dusty environment. I vacuumed the filament spool regularly but there would always be some dust on it.



2014-07-02

TravelCNC broken

While installing homing switches on my TravelCNC,
I replaced the broken component in the spindle driver that only allowed to run at full speed anymore.
Result is...the spindle controller is now fully broken.

So currently I'm looking at getting a new 600W spindle+controller from China or to invest a lot and get a spindle with automatic tool changer, controller box and silent, portable 8 bar compressor.
That would be a huge and great upgrade but I'm reluctant to shell out that kind of money right after ordering an Ultimaker 2 for 2000eur. :/

2014-05-20

Experiment failed

I tried the experimental Makibox hotend upgrade Jaywward made for me.
Without a fan it didn't work out.
I'll have to try with a fan next.

I'm getting more and more frustrated with the shortcommings of the Makibox. :(