====== HUXLEY ====== {{:tech:huxley_kit_big.png?nolink&300|}} Frame: [[https://reprappro.com/documentation/huxley/]] \\ Controller (Melzi): [[http://reprap.org/wiki/Melzi]] \\ RepRap Wiki: [[http://reprap.org/wiki/The_incomplete_RepRap_Prusa_Mendel_beginner's_guide|The incomplete RepRap Prusa Mendel beginner's guide]] ==== Melzi Bluetooth modification ==== In order to get rid of the USB connection between Melzi and the PC one may like to use Bluetooth. There is a cheap module available in the market called 'JY-MCU' (vendor Shenzhen Jiayuan Electronic Co.,Ltd.). {{:tech:jy-mcu_b.jpg?nolink&200 |Bottom}} {{:tech:jy-mcu_f.jpg?nolink&200 |Top}} \\ ===Change setting=== Before the module can be used the default setting has to be changed. Connect the module from PC via USB<->RS232 (RxD/TxD) interface with default settings (9600, N, 8, 1). The module shouldn't be paired at that moment. Apply with a terminal program the following AT commands: AT OK AT+BAUD8 OK115200BAUD (set baud rate for Melzi) AT+NAMEHUXLEY OKsetname (optional set name, default: linvor) AT+PIN0000 OKsetPIN (optional set pin, default: 1234) More details about the configuration you will find here [[https://apirola.wordpress.com/2012/09/05/setup-jy-mcu-bt-board-v1-2/|[1]]] ===Wiring=== On Melzi one of the unused buffer of soldered IC 4050D takes over the mandatory level-shifting (5V -> 3.3V). Overall only 5 wires have to be soldered. Note that the TXD outputs are connected in parallel which is not recommended. On Arduino boards the serial chip is connected to the main IC via 1kOhm resistors for this reason. This are not present in the Melzi board design. {{:tech:bt_connection.png?nolink&300|}} ===Connect via Bluetooth=== Once you have setup your BT devices you can pair it, select from drop down list and control your RepRap as usual. ==== Extrusion Fan ==== For bridges an extrusion fan is mandatory. All frame based solution didn't cool the filament in all dimensions. Depending on the object the result isn't as expected. Therefor I changed to a radial fan mounted on X-Carriage. The solution is described on [[http://www.thingiverse.com/thing:927030|Thingiverse]]. {{:tech:extrusion_fan.png?nolink&350 |}} {{ :tech:sig_201532206152247903.jpg?nolink&310|}} \\ Radial fan: [[http://www.ystech.com.tw/yensun/imgFile/BD5015-2.pdf|Y.S.TECH BD125015MB 12V/0.125A]] ==== Melzi PCB Holder ==== In order to get for print area (Z dimension) I positioned the PCB in top. The original printed PCB holder (4pcs.) ate reused. The PCB is mounted on a laser-cutter 1.5mm thick [[http://www.kraftplex.com/kraftplex/|Kraftplex]]. {{:tech:huxley_pcb_holder.png?300|}} {{ :tech:melzi_pcb_cover.png?350|}} ==== Melzi LCD Controller ==== See [[http://www.wamungo.de/PrintModel/Detail/Hausgemachte-Panelolu-2-I2C-20-x-4-LCD-mit-Sound-f-r-weniger-dann-12-Euro-inkl-einfache-ISP10-sound-Modefication-538d262c8970280f88b7c72b|LCD Controller]]. {{:tech:detail_lcd_case_display_large.jpg?nolink&300|}} === I2C -> LCD converter (LMC1602) === [[http://www.exp-tech.de/doc/lcd/1602/LCM1602IICV2%20%20Schematic.pdf|]] ==== Setup Bed ==== ^Item ^ X ^ Y ^ Z ^ Unit ^ |max values| 143| 144| 45| mm| |bed size | 140| 140| -| mm| |print area| 100| 100| 45| mm| |offset bed| 3| 4| 0| mm| |offset print area| 23| 24| 0| mm| ==== CURA setup ==== Init file: [profile] layer_height = 0.1 wall_thickness = 0.9 retraction_enable = True solid_layer_thickness = 0.6 fill_density = 20 print_speed = 50 print_temperature = 200 print_temperature2 = 0 print_temperature3 = 0 print_temperature4 = 0 print_temperature5 = 0 print_bed_temperature = 70 support = None platform_adhesion = None support_dual_extrusion = Both wipe_tower = False wipe_tower_volume = 15 ooze_shield = False filament_diameter = 1.75 filament_diameter2 = 0 filament_diameter3 = 0 filament_diameter4 = 0 filament_diameter5 = 0 filament_flow = 100.0 nozzle_size = 0.3 retraction_speed = 40.0 retraction_amount = 4.5 retraction_dual_amount = 16.5 retraction_min_travel = 1.5 retraction_combing = All retraction_minimal_extrusion = 0.02 retraction_hop = 0.0 bottom_thickness = 0.2 layer0_width_factor = 100 object_sink = 0.0 overlap_dual = 0.15 travel_speed = 150.0 bottom_layer_speed = 20 infill_speed = 80 solidarea_speed = 15 inset0_speed = 30 insetx_speed = 60 cool_min_layer_time = 5 fan_enabled = True skirt_line_count = 1 skirt_gap = 3.0 skirt_minimal_length = 150.0 fan_full_height = 0.5 fan_speed = 100 fan_speed_max = 100 cool_min_feedrate = 10 cool_head_lift = False solid_top = True solid_bottom = True fill_overlap = 15 perimeter_before_infill = False support_type = Lines support_angle = 60 support_fill_rate = 15 support_xy_distance = 0.7 support_z_distance = 0.15 spiralize = False simple_mode = False brim_line_count = 20 raft_margin = 5.0 raft_line_spacing = 3.0 raft_base_thickness = 0.3 raft_base_linewidth = 1.0 raft_interface_thickness = 0.27 raft_interface_linewidth = 0.4 raft_airgap_all = 0.0 raft_airgap = 0.22 raft_surface_layers = 2 raft_surface_thickness = 0.27 raft_surface_linewidth = 0.4 fix_horrible_union_all_type_a = True fix_horrible_union_all_type_b = False fix_horrible_use_open_bits = False fix_horrible_extensive_stitching = False plugin_config = (lp1 (dp2 S'params' p3 (dp4 S'xshift' p5 V23.0 p6 sS'zshift' p7 V0.0 p8 sS'yshift' p9 V24.0 p10 ssS'filename' p11 S'XYZshift.py' p12 sa. object_center_x = -1 object_center_y = -1 [alterations] start.gcode = ;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 G1 Z15.0 F{travel_speed} ;move the platform down 15mm G92 E0 ;zero the extruded length G1 F200 E3 ;extrude 3mm of feed stock G92 E0 ;zero the extruded length again G1 F{travel_speed} ;Put printing message on LCD screen M117 Printing... end.gcode = ;End GCode M104 S0 ;extruder heater off M140 S0 ;heated bed heater off (if you have it) G91 ;relative positioning G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure G1 Z+0.5 E-5 X-20 Y-20 F{travel_speed} ;move Z up a bit and retract filament even more G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way M84 ;steppers off G90 ;absolute positioning ;{profile_string} start2.gcode = ;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 ;M104 S{print_temperature} ;Uncomment to add your own temperature line ;M109 T1 S{print_temperature2} ;Uncomment to add your own temperature line ;M109 T0 S{print_temperature} ;Uncomment to add your own temperature line G21 ;metric values G90 ;absolute positioning M107 ;start with the fan off G28 X0 Y0 ;move X/Y to min endstops G28 Z0 ;move Z to min endstops G1 Z15.0 F{travel_speed} ;move the platform down 15mm T1 ;Switch to the 2nd extruder G92 E0 ;zero the extruded length G1 F200 E10 ;extrude 10mm of feed stock G92 E0 ;zero the extruded length again G1 F200 E-{retraction_dual_amount} T0 ;Switch to the first extruder G92 E0 ;zero the extruded length G1 F200 E10 ;extrude 10mm of feed stock G92 E0 ;zero the extruded length again G1 F{travel_speed} ;Put printing message on LCD screen M117 Printing... end2.gcode = ;End GCode M104 T0 S0 ;extruder heater off M104 T1 S0 ;extruder heater off M140 S0 ;heated bed heater off (if you have it) G91 ;relative positioning G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure G1 Z+0.5 E-5 X-20 Y-20 F{travel_speed} ;move Z up a bit and retract filament even more G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way M84 ;steppers off G90 ;absolute positioning ;{profile_string} start3.gcode = ;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 ;M104 S{print_temperature} ;Uncomment to add your own temperature line ;M109 T1 S{print_temperature2} ;Uncomment to add your own temperature line ;M109 T0 S{print_temperature} ;Uncomment to add your own temperature line G21 ;metric values G90 ;absolute positioning M107 ;start with the fan off G28 X0 Y0 ;move X/Y to min endstops G28 Z0 ;move Z to min endstops G1 Z15.0 F{travel_speed} ;move the platform down 15mm T2 ;Switch to the 3rd extruder G92 E0 ;zero the extruded length G1 F200 E10 ;extrude 10mm of feed stock G92 E0 ;zero the extruded length again G1 F200 E-{retraction_dual_amount} T1 ;Switch to the 2nd extruder G92 E0 ;zero the extruded length G1 F200 E10 ;extrude 10mm of feed stock G92 E0 ;zero the extruded length again G1 F200 E-{retraction_dual_amount} T0 ;Switch to the first extruder G92 E0 ;zero the extruded length G1 F200 E10 ;extrude 10mm of feed stock G92 E0 ;zero the extruded length again G1 F{travel_speed} ;Put printing message on LCD screen M117 Printing... end3.gcode = ;End GCode M104 T0 S0 ;extruder heater off M104 T1 S0 ;extruder heater off M104 T2 S0 ;extruder heater off M140 S0 ;heated bed heater off (if you have it) G91 ;relative positioning G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure G1 Z+0.5 E-5 X-20 Y-20 F{travel_speed} ;move Z up a bit and retract filament even more G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way M84 ;steppers off G90 ;absolute positioning ;{profile_string} start4.gcode = ;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 ;M104 S{print_temperature} ;Uncomment to add your own temperature line ;M109 T2 S{print_temperature2} ;Uncomment to add your own temperature line ;M109 T1 S{print_temperature2} ;Uncomment to add your own temperature line ;M109 T0 S{print_temperature} ;Uncomment to add your own temperature line G21 ;metric values G90 ;absolute positioning M107 ;start with the fan off G28 X0 Y0 ;move X/Y to min endstops G28 Z0 ;move Z to min endstops G1 Z15.0 F{travel_speed} ;move the platform down 15mm T3 ;Switch to the 4th extruder G92 E0 ;zero the extruded length G1 F200 E10 ;extrude 10mm of feed stock G92 E0 ;zero the extruded length again G1 F200 E-{retraction_dual_amount} T2 ;Switch to the 3rd extruder G92 E0 ;zero the extruded length G1 F200 E10 ;extrude 10mm of feed stock G92 E0 ;zero the extruded length again G1 F200 E-{retraction_dual_amount} T1 ;Switch to the 2nd extruder G92 E0 ;zero the extruded length G1 F200 E10 ;extrude 10mm of feed stock G92 E0 ;zero the extruded length again G1 F200 E-{retraction_dual_amount} T0 ;Switch to the first extruder G92 E0 ;zero the extruded length G1 F200 E10 ;extrude 10mm of feed stock G92 E0 ;zero the extruded length again G1 F{travel_speed} ;Put printing message on LCD screen M117 Printing... end4.gcode = ;End GCode M104 T0 S0 ;extruder heater off M104 T1 S0 ;extruder heater off M104 T2 S0 ;extruder heater off M104 T3 S0 ;extruder heater off M140 S0 ;heated bed heater off (if you have it) G91 ;relative positioning G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure G1 Z+0.5 E-5 X-20 Y-20 F{travel_speed} ;move Z up a bit and retract filament even more G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way M84 ;steppers off G90 ;absolute positioning ;{profile_string} support_start.gcode = support_end.gcode = cool_start.gcode = cool_end.gcode = replace.csv = preswitchextruder.gcode = ;Switch between the current extruder and the next extruder, when printing with multiple extruders. ;This code is added before the T(n) postswitchextruder.gcode = ;Switch between the current extruder and the next extruder, when printing with multiple extruders. ;This code is added after the T(n)