Jump to content

NLCbanner2024.jpg.2478be509670e60c2d6efd04834b8b47.jpg

tekkydave

Members
  • Posts

    1,798
  • Joined

  • Last visited

Posts posted by tekkydave

  1. 17 minutes ago, Gina said:

    Read this thread again and I'm confused (it's not unusual!).  Am I right in thinking you have :-

    1. manual bed levelling with four adjusters - one in each corner. 
    2. three threaded Z drive rods.
    3. three separate Z motors.
    4. individual control of the Z motors.

    ?  When I feel like a break from current project (ASC) I'm thinking about my next 3D printer with 300x300 bed and wondering about how to arrange the Z drive.

    Yes, spot on.

    The 3 Z motors are defined individually in config.g, but act in concert as one z axis. The Duet Wiki explains how it works.

    Setup is a 3-stage process which is all run by a single macro:

    1. Calibrate the 3 leadscrews by probing adjacent to them and using G32 to set the z axis frame level i.e. parallel to the x & y axes. The Duet will move 1 or more leadscrews individually to make them all the same height.

    2. Manually adjust the 4 corners of the heated plate so it is level wrt the z axis frame. This can take care of any slight sags or twists in the plate. Once done this is rarely adjusted.

    3. Run G29 Mesh Grid Compensation to create the heightmap.csv file. Mops up any remaining imperfections in the plate & glass.

     

     

    • Thanks 1
  2. Agreed. To be fair the D-Bot original design only carries a PCB-style heated bed which weighs next to nothing. Putting a 6mm cast ali plate and 3mm borosilicate glass on it like I have breaks the design a bit :)

    I have resolved that one way, others have other solutions. Having 3 screws, whether independent or driven by a single motor + belt(s) sets the bed very accurately in the X-Y plane. The wheels at the rear just stabilise the position and support very little weight.

    Your solution for the Concorde would work on the D-Bot but would also steal a significant amount of the Z height. I suspect using the v-slot wheels will always produce a certain amount of 'give' in any system. The next evolution would be to go to linear rails. Maybe next year ?

     

  3. The nuts below the bed lock the bolt to the bed. There is a captive nut in the centre of the knurled wheel. Once adjusted they dont move unless I turn them :)

    I could add locking nuts but so far I haven't needed them.

  4. I printed some M4 bed adjusters and reverted to 4-point bed support. I put the old leadscrew nut holders back too.

    The low-profile M4x30mm bolts arrived in the post this p.m. so they will replace the bolts in these pics.

    1903253570_2019-03-2213_46_23.thumb.jpg.605ad16f9156ad738ca90f512dc845ba.jpg

    947590271_2019-03-2213_46_48.thumb.jpg.db2b2fcca55adb986d00256bb8f2c15e.jpg

    1649666291_2019-03-2213_47_17.thumb.jpg.ec6292459b9a94acd55e0e6c817beb23.jpg

     

  5. 1 hour ago, Gina said:

    Put the above in homez.g but with 1.3mm offset as determined by lifting the bed in 0.1mm steps until the Z endstop triggered then further lifting in same steps until paper just stopped from moving under the nozzle.  However, homing Z fives an error :-

    Nothing found by Googling!  Any suggestions please?

    Have you executed a G90 first to put it in absolute position mode? That's all I can think of :)

     

  6. I tried having wheels in all 4 corners with 2 leadscrews in an earlier iteration. I still had some rocking of the bed which is why I went to 3 screws. Once I had that I found having 4 sets of wheels overconstrained the frame causing binding. So I removed the front wheels and everything was good.

    I think I might be backing out my lastest changes, although I'll keep the bigger 340x340mm bed.

  7. I will have to rethink this design. Because of the extra cross-piece of 4020 extrusion there is no longer sufficient 'flex' in the z carriage for the 3 screws to level it correctly. Especially when the 6mm plate is bolted on it tends to pull the plum couplers apart rather than level the bed.

  8. Some pics of progress so far

    Before: 3 leadscrew levelling of the frame with 4-point levelling of the bed (on weedy 3mm bolts)

    597102439_2019-03-1613_28_29.thumb.jpg.199bb9b88632fe8f6ff0ef511b97d25a.jpg

     

    The new frame with new 300mm cross piece. This supports the centre-back leadscrew and bed mount and also adds some extra rigidity. The bed mounts are equidistant.

    498462454_2019-03-1615_12_17.thumb.jpg.eef7ab86008faef580a5021a1371131c.jpg

     

    Newly designed common leadscrew and bed mounting part. The bed will mount using M4 low-profile bolts to an M4 nut embedded in the part.

    1631902510_2019-03-1615_14.15(1).thumb.jpg.f1136ed7d5917ee2fbfed4c1aa04530a.jpg

    With leadscrew nut fitted

    1744015951_2019-03-1615_52_27.thumb.jpg.c44686b6ef1550251977cd801dc0506a.jpg

    That's as far as I have got today. Next job is to fit the frame back into the printer and line up the screws. I'll drill the new plate once I'm happy with the screw positions and the levelling is working correctly.

    • Like 3
  9. The D-Bot has been performing well since my last update. The only major change was to use optical X & Y endstops. I was using sensorless endstops which relied on detecting motors stalling as the carriages hit the endstops. It worked ok but was a bit noisy.

    I have been thinking a lot about bed levelling recently. I have 3 independent motors so the Duet can calibrate the leadscrews by probing the bed next to each leadscrew. It then uses G32 to automatically level the frame which the leadscrews are attached to.

    Despite this I still had 4-point levelling of the bed plate itself relative to the frame which sort of defeats the object.

    So... I have decided to redesign the bed plate mounting to be 3-point. Each of the mounting points will coincide with the lead screw positions. The 6mm plate will be mounted rigidly to the same part that the leadscrew nut is fitted to. This way the G32 bed calibration will level the plate correctly. I hope that makes sense :)

    I have bought a slightly larger plate 340x340x6mm as it needs to overlap the 20mm frame for mounting purposes. I haven't decided how I'm going to hold the 300x300mm glass plate in place yet but I want to get away from clips. I have also bought a new 300x300mm 750W 220V silicone heating pad. I don't fancy trying to peel the old one off the old plate - its well stuck down.

    I'll post some pics once I've edited them.

     

    • Like 1
  10. That's very strange. How thick is your Ali plate? I can't feel any difference between the top of the glass & surface of the heater below. Mine is completely open too. My heater is 750W 220V.

    Also, what type of glass? I'm using borosilicate.

  11. Do you have the thermistor set up correctly in config.g? It shouldn't be that far out. I have 6mm bed & 3mm glass and it reads within a few degrees difference top/bottom.

    From my config.g

    M305 P0 T100000 B3950 C0 R4700            ; Set thermistor + ADC parameters for heater 0

    You have a different make heater to me so they may differ, but most of the silicone heaters are fairly similar.

    Also have you run a PID tune on the Bed? (M303 H0 P1 S60)

    Another thing you could try is printing all layers at same extruder temperature. Maybe some relative shrinkage going on and popping the print off. 

  12. What temperature are you using. I generally print PLA at 210 or even 220. Seems to make it 'stickier'. Bed is 70 for first layer and 60 after that.

    I haven't had any issues if the glass is clean and nozzle at correct height. PLA seems to benefit from being well squished to the bed.

    HTH :)

     

  13. Just looked back at some old config files and before I upgraded to the Aero I had a noisy V6 clip-on fan like yours. I had this in my homez.g

    M106 P1 S0.75       ; Hotend Fan to 75% (reduce vibration)

    The positive thing I suppose is that your piezo is no longer being interfered with by any z axis movement noise :)

     

    • Thanks 1
  14. Ok - how I do it:

    Firstly I have a macro that I run when I first turn on the printer:

    Calibrate (First Print)

    ; Warm Hotend and Bed
    T0				; Select Tool 0
    M104 S130		; Set Tool 0 temperature to 130 - no wait
    M190 S60		; Set Bed temperature to 60 - wait
    
    ; Clear Values
    G29 S2				; Clear Mesh Compensation Values
    M290 R0 S0      	; Clear Baby-stepping
    
    ; Home all Axes
    G28
    
    ; Bed levelling (G32)
    G30 P0 X10  Y50  Z-99999 		; probe near a leadscrew
    G30 P1 X290 Y48  Z-99999 	; probe near a leadscrew
    G30 P2 X148 Y284 Z-99999 S3 	; probe near a leadscrew and calibrate 3 motors
    
    ; Re-home z axis in case it has shifted
    G28 Z
    
    ; Mesh Compensation (G29)
    G29 S2					; Clear Mesh Compensation Values
    G29						; Run Mesh Compensation
    G1 Z30 F310             ; Move bed down
    G1 X150 Y145 F15600		; Move to centre

    You only need the Bed levelling (G32) and the subsequent G28 Z if you are using 3 independent Z motors.

    This will create a heightmap.csv file on the Duet's SD card containing the shape of the bed. This can be loaded into memory by a G29 S1 command in the slicer start gcode.

    I have also removed all gcode from the slicer (Cura) config and put it in a macro on the Duet. That way it wont get lost if I upgrade/reinstall the slicer. Here are my macros for Cura:

    start-gcode

    M106 P0 S0               		; Start with the part cooling fan off
    M290 R0 S0               		; clear Babystepping
    G29 S1                          	; Load Mesh Compensation Settings from file
    G1 Z5 F100                	 	; Raise Nozzle to 5mm
    G1 X20 Y20 F3600  			; Move to front-left of bed
    G21                                 	; metric values
    G90                                 	; absolute positioning
    M82                                	; set extruder to absolute mode
    G92 E0                                  ; Reset Extruder Position
    G1 E-1.00000 F1800.00000      		; Retract 1mm
    G92 E0                                  ; Reset Extruder Position

    end-gcode

    M104 S0 		; turn off extruder temperature
    M140 S0 		; turn off bed temperature
    G28 X0 Y0		; home X and Y axis
    M84 			; disable motors

    These can be referenced in cura's config like this. You will need to adjust the path depending on where you put them. I have a Cura and a Slic3r subdirectory in my macros folder on the Duet to keep things neat:

    M98 P/macros/Cura/start-gcode
    M98 P/macros/Cura/end-gcode

    Notice that I have removed any Homing Commands (G28) from the startup gcode. The printer should be homed and ready to go after running the Calibrate macro.

    If it needs re-homing as it will between prints I have another macro that handles it:

    Rehome (Subsequent Prints)

    ; Warm Hotend and Bed
    T0			; Select Tool 0
    M104 S130		; Set Tool 0 temperature to 130 - no wait
    M190 S60		; Set Bed temperature to 60 - wait
    
    ; Clear Values
    M290 R0 S0      	; Clear Baby-stepping
    
    ; Home all Axes
    G28
    
    G1 Z30 F310             ; Move bed down
    G1 X150 Y145 F15600	; Move to centre

    Thats it!

     

  15. Try dropping the fan speed during probing. Also heating the hotend to 130C for probing ensures any plastic gets squashed on contact and doesn't give incorrect height reading. Other possibility is a noisy fan - is it the supplied aero fan as mine is virtually silent?

    I have separated the homing & probing process out from the print start gcode and put it in a macro. This only needs to be run once at the start of a session. The start gcode can then just load the saved heightmap at the start of each print. I'll post all the files a bit later.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. By using this site, you agree to our Terms of Use.