Polar kinematics type 3D printer software setup help



  • Hello, this is continuing from my last thread, I got my board awhile back, but didn't have time to set it up until now. Right now it's running the newest firmware 2.05, but it's got some software problems, I'll explain:
    Heaters, fans all work and the X ,E and Z are in the correct direction, I can't test Y yet because of the following:

    1. Right now when I go to home x, the Z moves up properly, and X then homes towards the maxima of the radius and also moves properly, hits the endstop but then just still goes into it, despite during testing and in the machine specific (using 2.05 firmware) the endstop says it's triggered (yes and no when the endstop is released).

    2. Homing all does the same thing, it can't get past the homing x issue (The Bltouch passes the check at the beginning though)

    There's no Y endstop.

    I have tried changing the endstops from M574 X1 S0 to M574 X2 S0 (iirc that's for to change endstop to remember as max), and the interesting thing I can see on the paneldue that the X shows when endstop is hit it does change to 91.51 for position, which means it is working, but the x motor just keeps driving it into it.

    Here are my config files and homing files:

    config.g:
    ; General preferences
    G90 ; send absolute coordinates...
    M83 ; ...but relative extruder moves
    M550 P"Circa Polar 3D Printer" ; set printer name
    M918 P1 E4 F2000000 ; configure direct-connect display

    ; Network
    M552 P0.0.0.0 S1 ; enable network and acquire dynamic address via DHCP
    M586 P0 S1 ; enable HTTP
    M586 P1 S0 ; disable FTP
    M586 P2 S0 ; disable Telnet

    ; Drives
    M669 K7 R0:92 H91.51 F30 A30 ; set Polar kinematics parameters
    M569 P0 S1 ; physical drive 0 goes forwards
    M569 P1 S1 ; physical drive 1 goes forwards
    M569 P2 S1 ; physical drive 2 goes forwards
    M569 P3 S1 ; physical drive 3 goes forwards
    M584 X0 Y1 Z2 E3 ; set drive mapping
    M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
    M92 X80.00 Y80.00 Z400.00 E420.00 ; set steps per mm
    M566 X900.00 Y900.00 Z60.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
    M203 X3000.00 Y3000.00 Z180.00 E1200.00 ; set maximum speeds (mm/min)
    M201 X500.00 Y500.00 Z20.00 E250.00 ; set accelerations (mm/s^2)
    M906 X1400 Y1500 Z1500 E1500 I30 ; set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout

    ; Axis Limits
    M208 X0 Y0 Z0 S1 ; set axis minima
    M208 X91.51 Y91.51 Z250 S0 ; set axis maxima

    ; Endstops
    M574 Y0 S0 ; set active low and disabled endstops, NO turntable homing switch
    M574 X2 S0 ; set active high endstops Maximum homing switch present
    M574 Z1 S2 ; set endstops controlled by probe

    ; Z-Probe
    M558 P9 H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds
    G31 P500 X-17 Y22.5 Z2.5 ; set Z probe trigger value, offset and trigger height
    M557 X15:70 Y15:75 S20 ; define mesh grid

    Here is the homeradius.g:

    ; homeradius.g
    ; called to home the X axis
    ;
    ; generated by RepRapFirmware Configuration Tool v2.1.2 on Thu Nov 14 2019 21:46:59 GMT-0800 (Pacific Standard Time)
    G91 ; relative positioning
    G1 H2 Z4 F6000 ; lift Z relative to current position
    G1 H1 X111 F3000 ; move radius towards MAXIMUM until the endstop switch is triggered
    G1 H2 X100 ; move radius IN by 11mm
    G1 H1 X113 F600 ; move radius slowly to the endstop switch again
    G1 H2 Z-4 F100 ; restore original Z position

    I haven't tested home z or home all since I can't get past the home x issue but here they are nevertheless:

    ; homez.g
    ; called to home the Z axis
    ;
    ; generated by RepRapFirmware Configuration Tool v2.1.2 on Thu Nov 14 2019 21:47:00 GMT-0800 (Pacific Standard Time)
    G91 ; relative positioning
    G1 H2 Z9 F6000 ; lift Z relative to current position
    G90 ; absolute positioning
    G1 H2 X0 Y3 F6000 ; go to first probe point
    G30 ; home Z by probing the bed using bltouch

    ; Uncomment the following lines to lift Z after probing
    G91 ; relative positioning
    G1 H2 Z5 F100 ; lift Z relative to current position
    G90 ; absolute positioning

    and the homeall.g:

    ; homeall.g
    ; called to home all axes
    ;
    ; generated by RepRapFirmware Configuration Tool v2.1.2 on Thu Nov 14 2019 21:46:59 GMT-0800 (Pacific Standard Time)
    ;home radius X first
    G91 ; relative positioning
    G1 H2 Z4 F6000 ; lift Z relative to current position
    G1 H1 X111 F3000 ; move radius towards MAXIMUM until the endstop switch is triggered
    G1 H2 X100 ; move radius IN by 11mm
    G1 H1 X113 F600 ; move radius slowly to the endstop switch again
    G1 H2 Z-4 F100 ; restore original Z position

    ;home bed Y next
    G91 ; relative positioning
    G1 H2 Z4 F100 ; ensure head is clear of the bed
    G90 ; absolute movement
    G1 H2 X0 ; move to centre of bed
    G92 X0 Y0 ; define current position as X0 Y0
    G91 ; relative movement

    ;home Z next
    G91 ; relative positioning
    G1 H2 Z9 F6000 ; lift Z relative to current position
    G90 ; absolute positioning
    G1 H2 X0 Y3 F6000 ; go to first probe point
    G30 ; home Z by probing the bed using bltouch

    ; Uncomment the following lines to lift Z after probing
    G91 ; relative positioning
    G1 S2 Z5 F100 ; lift Z relative to current position
    G90 ; absolute positioning

    sorry for the long post but any help is greatly appreciated, making this for my elementary as some of my students are interested in doing it as part of the science fair. Thank you very much!



  • I thought i should add this, did I wire the microswitch wrong? it's connected properly (I hope) to the GND and Signal/Stop on the Duet Maestro, but is the connection to the microswitch wrong? it's connect to the middle and other side instead of the two outer, here is a pic to show what I mean. The microswitch is being detected as being triggered or not in the web page so I don't think that's the issue but just want to put it out here to make sure it wasn't the problem. 2019-12-13 22.38.43.jpg


  • administrators

    ; homeall.g
    ; called to home all axes
    ;
    ; generated by RepRapFirmware Configuration Tool v2.1.2 on Thu Nov 14 2019 21:46:59 GMT-0800 (Pacific Standard Time)
    ;home radius X first
    G91 ; relative positioning
    G1 H2 Z4 F6000 ; lift Z relative to current position
    G1 H1 X111 F3000 ; move radius towards MAXIMUM until the endstop switch is triggered
    G1 H2 X100 ; move radius IN by 11mm
    G1 H1 X113 F600 ; move radius slowly to the endstop switch again

    Your G1 H1 move homes to the endstop switch successfully. But you are still in relative mode when you execute the next 2 G1 commands, so it continues to try to move in the same direction.



  • ah so should I change the homeall and homeradius (since they use the same gcode) part to:

    ;home radius X first
    G91 ; relative positioning
    G1 H2 Z4 F6000 ; lift Z relative to current position
    G1 H1 X111 F3000 ; move radius towards MAXIMUM until the endstop switch is triggered
    G1 H2 X-11 ; move radius IN by 11mm
    G1 H1 X12 F600 ; move radius slowly to the endstop switch again

    is this correct?


  • administrators

    Yes, that looks better.



  • Thank you very much, it works now, now the question since this is so much different than a cartesian or usual corexy, is there a gcode where I can test it "printing" (I forgot what the function is called, basically it's not actually printing just repeating the loop) a 20mm by 20mm cube to see if I got the Y axis right? (the X and Z has been fully calibrated since they are straight, just the Y since it's the a turntable now). Thanks.



  • Also another question (sorry for so many question new at Polar kinematics), when I press to increase Y axis (say +10) the turntable turns counterclockwise, is that correct or should it be clockwise when I increase Y ?



  • A Y movement or a X movement is translated into a rotary plus linear movement of the polar printer.
    X and Y are the coordinates which are used by the G-Code file and are the real word coordinations, perpendicular.
    The polar printer on the other side has a rotation movement and a linear movement.

    The X and Y coordinates are translated by firmware to the stepper commands for rotation and linear motion.

    So your G-Code commands for X, Y, Z, are the same like for a cartesian, delta, corexy... printer. The firmware translates it, depending on the printer type.

    For a test print, you need a model (often stl format) of the cube and create a gcode file in a program e.g. Cura. This g-code file can be uploaded to Duet and printed.

    To see if your rotation is correct, I would look which line the nozzle draws (imaginary) on the print bed.



  • @JoergS5 yeah that's what I mean, so I guess I'll just slice a 20mm cube in the slicer of my choice and upload it and Simulate file in the Duet and then see what it does? Thanks.



  • @iamthebest22 said in Polar kinematics type 3D printer software setup help:

    @JoergS5 yeah that's what I mean, so I guess I'll just slice a 20mm cube in the slicer of my choice and upload it and Simulate file in the Duet and then see what it does? Thanks.

    Yep. Or even take the "heat" command out and print it with no filament, if you want to watch it move.



  • @Danal oh yeah I need to take that out, that always bugged me how it still turns on heater for that. So what you mean is I edit the gcode to take out the temp right?



  • Another question just came up, i haven't set which bed leveling system I should use, now according to https://duet3d.dozuki.com/Wiki/Using_mesh_bed_compensation there's two types, one for cartesian/corexy, and the other for a delta printer. I'm assuming since I'm using Polar type and it has a circular bed, I should use the Delta type? So my M557 should look something like this?

    M557 R80 S20 ; probe within a radius of 80mm from the centre with a mesh spacing of 20mm

    is this correct?

    currently it's this:
    ; Z-Probe
    M558 P9 H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds
    G31 P500 X-17 Y22.5 Z2.5 ; set Z probe trigger value, offset and trigger height
    M557 X15:70 Y15:75 S20 ; define mesh grid

    Should I change it to:
    ; Z-Probe
    M558 P9 H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds
    G31 P500 X-17 Y22.5 Z2.5 ; set Z probe trigger value, offset and trigger height
    M557 R80 S20 ; probe within a radius of 80mm from the centre with a mesh spacing of 20mm

    Thanks.


  • administrators

    @iamthebest22 said in Polar kinematics type 3D printer software setup help:

    Also another question (sorry for so many question new at Polar kinematics), when I press to increase Y axis (say +10) the turntable turns counterclockwise, is that correct or should it be clockwise when I increase Y ?

    That sounds wrong to me, I think it should be clockwise, otherwise your prints will come out mirrored. Use the M569 S parameter to change the direction of the Y driver.



  • @dc42 good to know, btw should I change the mesh probe map setting to what I said above? from the current M557 X15:70 Y15:75 S20 ; define mesh grid to

    M557 R80 S20 ; probe within a radius of 80mm from the centre with a mesh spacing of 20mm since it's a circular bed?



  • @iamthebest22 said in Polar kinematics type 3D printer software setup help:

    @Danal oh yeah I need to take that out, that always bugged me how it still turns on heater for that. So what you mean is I edit the gcode to take out the temp right?

    Yep. If you wish to watch the printer a few times before you print, edit the temp commands (there will be three or four) out of the beginning of the G-Code file, unload filament, and print. Then you can observe.



  • And I'm not 100% certain on probe... but, were it me, I'd start with Delta-style.



  • @Danal I think Delta style worked, now since my furthest offset is 22.5 on the Y.... I'm really not sure if I have the offset correct to be honest. I took a video cause I don't think photos would make it easier, but here's what I got for the X and Y offset (ignore Z for now, that's easy for me)

    G31 P500 X-17 Y22.5 Z2.5 ; set Z probe trigger value, offset and trigger height

    and the video, https://www.dropbox.com/s/0nzm7cikaxfzp2z/2019-12-15 20.02.39.mp4?dl=0


  • administrators

    @iamthebest22 said in Polar kinematics type 3D printer software setup help:

    @dc42 good to know, btw should I change the mesh probe map setting to what I said above? from the current M557 X15:70 Y15:75 S20 ; define mesh grid to

    M557 R80 S20 ; probe within a radius of 80mm from the centre with a mesh spacing of 20mm since it's a circular bed?

    The only issue I can see with that is that it will try to probe at X0 Y0, which may be unreachable depending on your probe offset.


  • administrators

    @iamthebest22 said in Polar kinematics type 3D printer software setup help:

    @Danal I think Delta style worked, now since my furthest offset is 22.5 on the Y.... I'm really not sure if I have the offset correct to be honest. I took a video cause I don't think photos would make it easier, but here's what I got for the X and Y offset (ignore Z for now, that's easy for me)

    G31 P500 X-17 Y22.5 Z2.5 ; set Z probe trigger value, offset and trigger height

    and the video, https://www.dropbox.com/s/0nzm7cikaxfzp2z/2019-12-15 20.02.39.mp4?dl=0

    In answer to the questions in your video:

    Assuming that you haven't set a nozzle offset, the carriage is at X=0 when the nozzle is over the rotation axis of the turntable. It's up to you to decide which direction from that you want to be +X. If the nozzle can reach the edge of the bed when it moves in one direction, but not when it moves in the opposite direction, I suggest you make the first direction +X. RRF will only make use of positive X values.

    Now orient yourself in relation to the printer with +X to the right. +Y will be away from you. If the Z probe is to the right of the nozzle, the probe X offset is positive, else it is negative. If it is further away from you than the nozzle, that's in the +Y direction so the probe Y offset is positive. If it is nearer you than the nozzle, that's a negative Y offset.

    If the nozzle is printing at Y=0 and it needs to go to a positive Y point, that positive Y point is further away from you than the radius arm, so the turntable will need to rotate clockwise to bring that point under the radius arm. So clockwise turntable motion is positive.

    I don't have a polar printer, so I can't guarantee that the above is 100% correct.

    HTH David



  • @dc42 Ah I think I got it, I was in the wrong orientation of the video, so I think I got it, I went to the other side as you can see in this new video, so +x is to the right, so the BLtouch is to the left of the nozzle, so that's -x for sure.

    As for the Y I think I got it too, since it's closer to the nozzle to me, that means it's negative too, thanks.

    new video: https://www.dropbox.com/s/tk43aqloukbb8m9/2019-12-16 16.42.25.mp4?dl=0


  • administrators

    Yes that looks correct to me.


Log in to reply