Presentation of my CoreXY - PULLEYX-CUBE



  • Hello everybody,

    Below I would like to introduce you my project here, but briefly something about me:
    My name is Thomas, I am 53 years old and I come from near Augsburg-Germany.
    For about 30 years I have been to do with plastics processing, especially injection molding and project management of injection molding tools. The last years I have to do with the conveying, dosing and drying of plastics, ranging from micro devices with 100gr/h up to complete hall equipment with several 1000kg/h material turnover.

    My contacts with NC-controlled machines started in my apprenticeship. As an industrial mechanic I learned to operate turning and milling machines.
    After the apprenticeship I made sheet metal parts in a special production. The unwinding of the developments of the designed sheet metal parts were created "by hand" and initially written without post-processors in G-code for sheet metal working centers (Trumpf mills). These programs were converted on a perforated tape printer into a few meters of punched tape, carried to the machine and read.

    I have never built a printer, and have spent the last few months to get learning half-knowledge. First of all the different design principles (Delta, CoreXY, etc ...) recognized, then annoyed with the many abbreviations and technical terms and started to determine my way the construction or imitation of a CoreXY.
    To make matters worse, that the acquisition of information was hampered by my bad English. I often do not understand what the meaning of the Translation is - but "Miss Sophie, well, I'll do my very best!"

    Now to my project: I call him POLLEYX-CUBE!

    It will be a CoreXY of 3030 aluminum, 2 x ball screws for the Z axis (with 2 own motors and own Z limit switches) and everywhere linear profile guides MGN12, but no HIWIN but good (hopefully) Chinaware, where the balls will be exchanged against hardened balls from carbon steel.
    Print area will be approximately 300 x 300 x 285mm, print bed 300x300x8mm alu plate (finely milled) and 24V 450W heating bed.

    Details:

    • Controller: Duet Wifi
    • Z-Probe: Precision Piezo Orion , NEW Mini-IR Probe
    • Hotend: original E3D V6
    • Extruder: Titan extruder as Bowden
    • Nozzles + Heatbreak: partly E3D, also from MICRO-SWISS
    • Power supply: 5VDC / 50W + 24VDC / 750W-Net line + Opto-Relay -> Duet's PS-ON function
    • Belts: Gates HTD3-9mm fiberglass
    • Stepper motors: Nema 17, Z: Model 17HS19-2004S1 (1.8 °, max 2.4A), CoreXY: 17HM19-2004S (0.9 °, max 2.0A)

    Now a few Pictures:

    sample construction
    10_1551596021976_IMG_0903.JPG

    frame
    9_1551596021976_IMG_0646.JPG

    belt tensioner
    8_1551596021976_13_PulleyxCube.png

    print bed construction
    7_1551596021974_12_PulleyxCube.png

    upper loose attachment of the ball screw
    6_1551596021974_11_PulleyxCube.png

    print head
    5_1551596021973_10_PulleyxCube.png

    deflections
    4_1551596021972_09_PulleyxCube.png

    complet printer
    3_1551596021972_08_PulleyxCube.png

    mechanics without frame
    2_1551596021967_07_PulleyxCube.png

    belt course
    1_1551596021966_06_PulleyxCube.png

    frame
    0_1551596021965_05_PulleyxCube.png

    not only Theory

    0_1551596787229_IMG_1229.jpg

    1_1551596787229_IMG_1244.jpg

    now it's time to optimize … 😎 😀


  • administrators

    Hi Thomas, thanks for your post! That looks a well-built machine, and the benchy looks good too.

    It's rare that I have to explain an English joke to English readers, but some may not understand:

    "Miss Sophie, well, I'll do my very best!"

    This is a reference to "Dinner for One", a short English film starring Freddy Flintoff which is popular in Germany around New Year, but surprisingly almost unknown in England. I'd never seen it until this January. https://www.telegraph.co.uk/news/2018/11/23/dinner-one-british-comedy-beloved-germans-finally-gets-home/



  • @dc42 said in Presentation of my CoreXY - PULLEYX-CUBE:

    It's rare that I have to explain an English joke to English readers, but some may not understand:

    "Miss Sophie, well, I'll do my very best!"

    I've known this joke for well over 40 years - but I also understood much later 😂



  • What is the raspberry pi used for?



  • @nhof said in Presentation of my CoreXY - PULLEYX-CUBE:

    What is the raspberry pi used for?

    At the moment only as webcam server.



  • i forgot the plan

    0_1551628303859_02-Pulleyx-Schaltplan.jpg



  • That's a lot of linear guide for the Z motion on the bed. I'd be a little concerned about negative effects of thermal expansion with that setup, but if it works, who am I to argue? I suppose that 3030 extrusion is going to be quite stable due to its larger size as well.

    I'd probable also wire the emergency stop to interrupt the 24VDC instead of the 5V line. With the 24V line interrupted, that will stop all of the heaters and motors while still allowing a connection to the wifi. It will throw all kinds of errors, but in an emergency, that's still better, and has less of a chance of damaging the SD card.

    I just finished my printer, but I'm already looking at planning the next one, and CoreXY looks like a winner to me for print speed, so I've been looking at people's designs, to see what I want to attempt to copy.



  • @supraguy said in Presentation of my CoreXY - PULLEYX-CUBE:

    That's a lot of linear guide for the Z motion on the bed....

    Regarding the thermal expansion, I can not say anything accurate (negative) at the moment - a complete enclosure for a heated chamber is one of the next steps and than this issue will show up properly.

    The alignment of the many linear guides in Z has cost a lot of time, but the axis runs completely free of play and also quite easily - but with self-locking.
    Sure overdimensioned for a 3D printer actually, but I would do it exactly the same again - at least I say that today ... and tomorrow: what I am interested in my talk of yesterday 😉



  • I replaced the Piezo Orion with a Mini IR probe.

    Reasons:

    • Reduce the distance between the nozzle and the guide to avoid / reduce eventual vibrations (free length of the lever)

    • Contactless scanning to save the nozzle (even if the Piezo Orion really worked very well)

    • At the moment I'm more interested in building than in printing 😀

    0_1551766536444_IMG_1285.JPG

    Here the results of measuring the bed corners - please note only the deviation, not the absolute values:
    0_1551767106003_IMG_1285_x.JPG
    !the first 5 measuring points were with LED lighting of the bed, the 6 to 10 were without!

    As dc42 mentioned in a post, the resolution of the Z-axis must also be taken into account, i. in my case ball screw with pitch 4mm at 1.8 ° stepper motor -> 4.00mm / (360 ° / 1.8 °) = 0.02mm.

    So I believe that the achieved accuracy or deviations of the individual measuring points is good enough - if not, then I ask for an objection.



  • Looks like a nice build. I would question the viability of 4 linear guides in the Z axis, especially if the chamber gets heated, but you'll know soon enough.

    Does any air actually come out of the print cooling ducts/nozzles? Axial fans don't usually do well against back pressure that results from closing off one side.



  • Hi,

    Very nice work.

    Can you direct me to a resource (or can you explain) how to configure the firmware for two Z motors each having their own endstop switch?

    Thanks.

    Frederick



  • @mrehorstdmd said in Presentation of my CoreXY - PULLEYX-CUBE:

    Does any air actually come out of the print cooling ducts/nozzles ...

    Yes, at the Moment it is enough and no problem.



  • @fcwilt said in Presentation of my CoreXY - PULLEYX-CUBE:

    Can you direct me to a resource (or can you explain) how to configure the firmware for two Z motors each having their own endstop switch?

    Hi Frederik,

    I will Show you my config and homez files but at the end of the week because i am not at home



  • @thwe said in Presentation of my CoreXY - PULLEYX-CUBE:

    @fcwilt said in Presentation of my CoreXY - PULLEYX-CUBE:

    Can you direct me to a resource (or can you explain) how to configure the firmware for two Z motors each having their own endstop switch?

    Hi Frederik,

    I will Show you my config and homez files but at the end of the week because i am not at home

    That would be grand. Thanks.

    Frederick



  • Now I could access my home network, below the files:

    Attention, individual settings:

    • Limit switch X -> min, Y -> min, Z -> max
    • Installation of the two limit switches as Z-MAX and and finely aligned, so that the separate positioning (line 13 in homez.g) is not necessary for me - but can be aligned in the line exactly -> thus is an automatic heights - Alignment of the two nuts of the ball screw (Z-axis) given.
    • Assignment of the two limit switches see my wiring diagram as already posted

    Documentation: https://duet3d.dozuki.com/Wiki/Gcode#Section_M584_Set_drive_mapping

    config.g

    ; ##############  config.g -> configuration file of the Duet WiFi for my CoreXY - PULLEYX (thwe)  ##############
    ;
    ; Firmware Electronics: 1.04
    ; Board ID:             08DGM-9T6BU-FG3S0-7JKD0-3SN6T-KU6BH
    
    ;Firmware Name:	RepRapFirmware for Duet 2 WiFi/Ethernet
    ;Firmware Electronics:	Duet WiFi 1.02 or later
    ;Firmware Version:	2.03beta2 (2019-02-16b1)
    ;WiFi Server Version:	1.23beta1
    ;Web Interface Version:	1.22.6
    
    
    ; ##############  General preferences  ##############
    M667 S1 					   ; Switch to CoreXY mode
    G90                                                ; Send absolute coordinates...
    M83                                                ;    ...but relative extruder moves
    M555 P1                                            ; Set firmware compatibility to look like RepRapFirmare
    
    
    ; ##############  Network - Connect to a wifinet  ##############
    M552 S0                                            ; Disable network
    M550 PDUTH-PULLEYX                                 ; Set machine name
    ;M551 Pxxxxxxx                                     ; Set password
    M552 S1                                            ; Enable network
    M586 P0 S1                                         ; Enable HTTP
    M586 P1 S0                                         ; Disable FTP
    M586 P2 S0                                         ; Disable Telnet
    
    
    ; ##############  Drives  ##############
    M569 P0 S1                                         ; Drive 0 -> X -> goes forwards
    M569 P1 S1                                         ; Drive 1 -> Y -> goes backwards
    M569 P2 S0                                         ; Drive 2 -> Z1 -> goes forwards (right one, viewd from ahead)
    M569 P3 S0                                         ; Drive 3 -> Z2 (U) -> goes forwards (right one, viewd from ahead)
    M569 P4 S1                                         ; Drive 4 -> EXTRUDER -> goes forwards
    
    
    ; ##############  Dual Z-Drives  ##############
    M584 X0 Y1 Z2:3 U3 E4 P3                           ; Driver 0 = X, 1 = Y, 2+3 = Z, 3 = U, 4 = Extruder, 3 axis visible
    
    
    ; ##############  Drives setting ##############
    M350 X16 Y16 Z16 U16 I1                            ; Configure microstepping with interpolation
    M350 E16 I1                                        ; Configure microstepping with interpolation
    
    M92 X66.667 Y66.667 Z800 U800                      ; Set axis steps per mm
    M92 E408					                       ; Set extruder steps per mm
    
    M566 X600 Y600 Z240 U240 E240                      ; Set maximum instantaneous speed changes/jerk (mm/min)
    M203 X18000 Y18000 Z2100 U2100 E6000               ; Set maximum speeds (mm/min)
    M201 X2000 Y2000 Z600 U600 E3000                   ; Set accelerations (mm/s^2)
    M906 X2000 Y2000 Z2000 U2000 E2000 I30             ; Set motor currents (mA) and motor idle factor in per cent
    M84 S30                                            ; Set idle timeout
    
    
    ; ##############  Axis Limits  ##############
    M208 X0.00 Y-5.00 Z0.00 U0.00 S1                   ; Set axis S1 = minimum
    M208 X276.00 Y305.00 Z280.00 U280.00 S0            ; Set axis S0 = maximum
    
    
    ; ##############  Endstops  ##############
    M574 X1 Y1 Z2 U2 S1                                ; X0 = without endstop, 1 = min endstop, 2 = max endstop, S1 = active high (NC), S0 active low (NO)
    
    
    ; ##############  Z-Probe  ##############
    ;M558 P8 I1 H5 R0.3 F300 T6000                      ; Set Z probe Piezo-Orion:
    M558 P1 X0 Z0                                      ; Set Z probe Mini IR Probe:
                                                       ; P8 = switch by default (normally closed)unfiltered / I1 = invert sw reading / H5 = dive height /
                                                       ; R0.3 = Z probe recovery time after triggering / F300 = probing speed(mm/min) / T2000 = Travel speed(mm/min)
    ;G31 P500 Z-0.10                                    ; Set current probe status to Piezo Orion, P500 = trigger value
    G31 P500 Z2.04                                     ; Set current probe status to Mini IR Probe, P500 = trigger value
    
    
    ; ##############  Define mesh grid  ############## 
    M557 X20:270 Y25:275 S31.25                        ; Define mesh grid
    
    
    ; ##############  Define position of the leadscrews  ############## 
    M674 X-41:331 Y150:150 S0.5                        ; Define position of the leadscrews, S = maximum correction
    
    
    ; ##############  Heater 0 - bed  ###
    M307 H0 B0 S1.00 V23.9 A145.0 C635.0 D0.50         ; Set heating process parameters, disable bang-bang, pwm limit 100%, voltage, pid parameters
    M305 P0 S"Bed" T100000 B4138 C0 R4700              ; Set thermistor + ADC parameters for heater 0
    M143 H0 S110                                       ; Set temperature limit for heater 0 to 110C
    
    
    ; ##############  Heater 1 - nozzle  ###
    M307 H1 A425.0 C231.0 D3.5 S0.60 V24.1 B0          ; Set heating process parameters, disable bang-bang, pwm limit, voltage, pid parameters
    M305 P1 S"Noz" T100000 B4725 C7.06e-8              ; Set thermistor + ADC parameters for heater 1
    M143 H1 S275                                       ; Set temperature limit for heater 1 to 245C
    
    
    ; ##############  Fans  ##############
    M106 P0 S0.00 L0 I0 F500 H-1 C"PartFan"            ; Set fan 0 value, PWM signal inversion and frequency, Thermostat control off
    M106 P1 T30:80 H1                                  ; Sets fan 1 up thermostatic fan depending H1 (T) in proportional mode
    M106 P2 S0.02 B0 L0 C"Lights"                      ; LED strip to P2 PWM fan outputs
    
    
    ; ##############  Tools  ##############
    M563 P1 D0 F0 H1 S"Noz"                            ; Define tool 1 with fan 0, drive 0, heater 1
    G10 P1 X0 Y0 Z0                                    ; Set tool 1 axis offsets
    G10 P1 R0 S0                                       ; Set initial tool 1 active, standby temperature to 0C, temperature to 0C
    
    
    ; ##############  Automatic power saving  ##############
    M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; Set voltage thresholds and actions to run on power loss
    
    
    ; ##############  Custom settings ##############
    M81                                                ; 24VDC power supply OFF at starting
    M912 P0 S-1.9				                	   ; Calibrating the CPU temperature
    M593 F66                                           ; Configure Dynamic Acceleration Adjustment (DAA), cancel ringing at 48Hz
    ;M572 D0 S0.15                                      ; Set extruder pressure advance (Bowden extruders S value between 0.1 and 0.25)
    ;M592 D0 A0.01 B0.0005                              ; Configure nonlinear extrusion for drive 0
    
    
    
    ; ##############  Miscellaneous##############
    M501                                               ; Load saved parameters from non-volatile memory
    
    ; END OF FILE
    

    homez.g

    ; ##############  homez.g -> called to home the Z axis  ##############
    
    G91                         ; relative positioning
    
    M584 Z2 U3 P4               ; Split Z into 2 (Z+U)
    
    G1 S1 Z999 U999 F600        ; Move the bed down in the Z direction. S1 to stop if endstop is triggered
    G1 S2 Z-3 U-3 F600          ; Move the bed up 3mm in the -Z direction, ignore if axis are not homed
    G1 S1 Z9 U9 F120            ; Move slowly in the +Z direction again to stop exactly at the homing switch
    M400                        ; Wait for current moves to finish
    
    G4 P100
    G1 S2 Z0.00 U0.00 F200      ; Compensation the limit switch from z-axis drive 2 (!!can be adjusted here!!)
    G4 P100
    
    M584 Z2:3 P3                ; Join U to Z again
    G4 P200
    
    G1 S2 Z-3.66 F240           ; move to position, ignore endstops also if axis has not been homed
    G4 P200
    
    G92 Z280.00                 ; set position of Z relativ to the bed (!!must be adjusted here!!)
    G4 P200
    
    G90                         ; Back to absolute mode
    
    G1 S2 Z270 F900
    ; End of file
    


  • Hi,

    Thanks much.

    I notice that you are using a number of G4 "dwell" commands - are they necessary?

    I will have to give this dual endstop approach a try and see if it eliminates the manual "syncing" of the Z driver motors that I am doing now.

    Frederick



  • @fcwilt said in Presentation of my CoreXY - PULLEYX-CUBE:

    I notice that you are using a number of G4 "dwell" commands - are they necessary? ...

    this is a habit of old times ... no idea if it works without it, but I think so


 

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.