Panning Dual Hotend for Prusa I3
Description
Hey Guys, I'Ve Designed For My Printer A Panning Dual Hotend. It Can Lift The Unused Nozzle, So There Isn'T A Contaminant Of The Printed Filament An No Oozing. The Filament Cooling Is Integrated As An Air Duct In The Slider. You'Ve To Print The Parts Careful. They Have Some Critical Points. Furthermore You Need Some Purchase Parts: 2X 50Mm Fans 3X Igus Rjmp-1-8 Linear Bearings 1X Graupner Des586Bb Digital Servo Some M3 & M4 Screws 2X Hotends 2X Aluminium Bracket 30X30X2 1X Ljc12A3 Proximity Switch Some Hot-Temperature Silicon You Can Watch A Video Oft The Prinhead In Action On Youtube Https://Www.Youtube.Com/Watch?V=6Enaf-Hhfro ####Note: It Could Be, That The Nozzle Moves Not To The Limit Stop. So The Servo Isn'T Strong Enough To Bend The Cables An The Filament Ptfe Tubes. Make The Cable Loop A Little Bit Bigger And Take Longer Filament Tubes ###Software Implementation There Are Two Ways To Implement This In Software: The First Easier Way Is, To Use In Slic3R A Tool Change Command Like This: <Code>M340 P0 S[Next_Extruder]</Code> Then You Can Replace The S0 Or S1 With A Post-Processing Script. Here Is An Example, Wihch Should Work Under Linux Or Os/X: <Code>#!/Bin/Sh</Code> <Code>File="$*"</Code> <Code>Echo "Post-Processing G-Code File: $File"</Code> <Code>#Replace S0</Code> <Code>Sed -E 'S/M340 P0 S0$/M340 P0 S1570/G' $File > "$File.Tmp"</Code> <Code>#Replace S1</Code> <Code>Sed -E 'S/M340 P0 S1$/M340 P0 S1850/G' "$File.Tmp" > "$File"</Code> <Code>#Remove Tmp</Code> <Code>Rm "$File.Tmp"</Code> The Other Way Is To Modifiy The Firmware Of The Printer. I'M Using The Repetier Firmware. Here Are Only Two Little Modifications Nessecary: Add In The Configuration.H These Two Lines: <Code>#Define T0_Servo_Position 1570</Code> <Code>#Define T1_Servo_Position 1850</Code> The Values Are Individual And They Depends How The Servo Is Assembled The Other Modification Is In The "Commands.Cpp" Near Line 2450 There Is Following Else-If-Condition : <Code> Else If(Com->Hast()) // Process T Code { Commands::Waituntilendofallmoves(); Extruder::Selectextruderbyid(Com->T); } </Code> A Modification Like This Should Drive The Servo Automatically With A T0 Or T1 Command In The Gcode Or From Terminal: <Code> Else If(Com->Hast()) // Process T Code { Commands::Waituntilendofallmoves(); Extruder::Selectextruderbyid(Com->T); //----------------Addition Panning Hotend -------// If(Com->T == 0) Hal::Servomicroseconds(0,T0_Servo_Position,0); Else If (Com->T == 1) Hal::Servomicroseconds(0,T1_Servo_Position,0); //------------------------------------------------// } </Code> Havefun Henning
Statistics
Likes
206
Downloads
0