Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Tool Calibration Station E3D Toolchanger

    Scheduled Pinned Locked Moved
    General Discussion
    5
    21
    1.6k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Danalundefined
      Danal
      last edited by Danal

      Having a separate station is a great idea.

      Regarding all the commands required to make it work: See the commands in the "tool align" and/or "zonly" script here:

      • https://github.com/DanalEstes/PythonDSF

      Ignore the python... just look a the gcode and read here about the commands and options, such as G1 H2, and work those into conditional Gcode. More doc on the Gcode here:

      • https://duet3d.dozuki.com/Wiki/Gcode

      *****************************

      Regarding your camera... do you intend to use machine vision? Or human alignment to an overlay on the image, such as a crosshair or a circle? For either one of those, you will probably want 'openCV' on your Pi. Almost every install instruction on the internet has you put openCV in a virtual environment, so that you can run multiple releases of opencv. This is a huge hassle. And we really only want one release.

      Therefore, there is a 'direct install' script called "installOpenCV.sh" here:

      https://github.com/DanalEstes/DuetPython

      There are also several sample scripts showing different levels of Machine Vision, or Human Alignment, or ...

      *****************************

      None of the above is EXACTLY what you seek. At the same time, all the pieces you need to create what you seek are in the above. Please be sure and read the 'readme' in both repositories.

      Delta / Kossel printer fanatic

      smoki3undefined 1 Reply Last reply Reply Quote 2
      • Danalundefined
        Danal
        last edited by

        Oh, and pics? We need pics of your station!!! GREAT idea.

        Delta / Kossel printer fanatic

        1 Reply Last reply Reply Quote 0
        • smoki3undefined
          smoki3 @Danal
          last edited by smoki3

          @Danal said in Tool Calibration Station E3D Toolchanger:

          Having a separate station is a great idea.

          Regarding all the commands required to make it work: See the commands in the "tool align" and/or "zonly" script here:

          • https://github.com/DanalEstes/PythonDSF

          Ignore the python... just look a the gcode and read here about the commands and options, such as G1 H2, and work those into conditional Gcode. More doc on the Gcode here:

          • https://duet3d.dozuki.com/Wiki/Gcode

          *****************************

          Regarding your camera... do you intend to use machine vision? Or human alignment to an overlay on the image, such as a crosshair or a circle? For either one of those, you will probably want 'openCV' on your Pi. Almost every install instruction on the internet has you put openCV in a virtual environment, so that you can run multiple releases of opencv. This is a huge hassle. And we really only want one release.

          Therefore, there is a 'direct install' script called "installOpenCV.sh" here:

          https://github.com/DanalEstes/DuetPython

          There are also several sample scripts showing different levels of Machine Vision, or Human Alignment, or ...

          *****************************

          None of the above is EXACTLY what you seek. At the same time, all the pieces you need to create what you seek are in the above. Please be sure and read the 'readme' in both repositories.

          So with the G1 Hx commands I just can Home the axis and set it to the axis limits. H2 mean it does ignore the Endstop, H1 set to M208 axis limit and H3 overrides the M208 limit.

          This is the Station:

          I also planed a place a LED inside to illuminate the Nozzle. The camera itself is protected by a small piece of glass, which can be purchased from laboratory equipment

          2020-02-19_08-57-08.png
          2020-02-19_09-12-11.png

          timcurtis67undefined 1 Reply Last reply Reply Quote 1
          • timcurtis67undefined
            timcurtis67 @smoki3
            last edited by

            @smoki3 This is awesome! I'll be following this concept.

            1 Reply Last reply Reply Quote 0
            • Danalundefined
              Danal
              last edited by

              @smoki3 said in Tool Calibration Station E3D Toolchanger:

              So with the G1 Hx commands I just can Home the axis and set it to the axis limits. H2 mean it does ignore the Endstop, H1 set to M208 axis limit and H3 overrides the M208 limit.

              H3 in particular moves until it hits an endstop, and will move even if not "homed". Capture the position when it stops.

              H3 also has the side effect of resetting the axis limit, so be sure and reset it.

              Delta / Kossel printer fanatic

              1 Reply Last reply Reply Quote 0
              • Danalundefined
                Danal
                last edited by

                So the tool (nozzle) touches the glass to click the switch? Given that we want the tool to be hot (this does change Z), will there be a problem with plastic on the glass?

                Delta / Kossel printer fanatic

                1 Reply Last reply Reply Quote 0
                • smoki3undefined
                  smoki3
                  last edited by smoki3

                  No the glass just keep the camera clean. Above there will be a small metal platform which presses the Microswitch.

                  I think to do it with G1 H3 isn't a good idea. I will try to test the tool probe command M585.

                  UPDATE:
                  I found this command: G38.2 to G38.5: Straight Probe

                  This sounds interesting but is described very detailed.

                  1 Reply Last reply Reply Quote 0
                  • Danalundefined
                    Danal
                    last edited by Danal

                    G38 series, at the moment, can only work with a Z axis endstop, or Z axis probe. I'm not a million percent clear where your station goes... but... I suspect that your Z axis will still need a switch separate from the station's probe.

                    Multi probe support looks like it is coming soon (the K parameter on the probe definition) but it is certainly not there yet.

                    You COULD re-define the endstop/probe while using the station, and define it back to Z when finished with the station. Having done this in the past, anything that causes the "define back to z" to be skipped will lead to a physical Z crash at the next home.

                    That's why I chose G1 H3, even with its other side effects. Lesser of two evils.

                    Delta / Kossel printer fanatic

                    1 Reply Last reply Reply Quote 0
                    • Danalundefined
                      Danal
                      last edited by

                      And... if the metal platform clicks the switch, and the nozzle tip is visible to the camera, I am inferring that the nozzle TIP is not what hits the metal and switch?

                      If that statement is true, how does this calibrate for different length nozzles?

                      Delta / Kossel printer fanatic

                      smoki3undefined 1 Reply Last reply Reply Quote 0
                      • smoki3undefined
                        smoki3 @Danal
                        last edited by

                        @Danal said in Tool Calibration Station E3D Toolchanger:

                        And... if the metal platform clicks the switch, and the nozzle tip is visible to the camera, I am inferring that the nozzle TIP is not what hits the metal and switch?

                        If that statement is true, how does this calibrate for different length nozzles?

                        So the calibration of the z axis is independent from the XY axis. You calibrate the Z Axis, the you place the nozzle above the camera und calibrate XY Offset.

                        Ate you sure that the G38 is not working with multiple probes? According to documentation it is working. I have to wait for my new rpi zero then I can wire everything and test the gcode

                        Danalundefined 1 Reply Last reply Reply Quote 0
                        • Danalundefined
                          Danal @smoki3
                          last edited by

                          @smoki3 said in Tool Calibration Station E3D Toolchanger:

                          According to documentation it is working.

                          It will need a lot of experimentation. I did some when developing those macros... but... several x.x.X have passed, and the use cases are a tiny bit different.

                          Keep us posted!

                          Delta / Kossel printer fanatic

                          1 Reply Last reply Reply Quote 0
                          • smoki3undefined
                            smoki3
                            last edited by smoki3

                            So I made some process today.

                            I connected my probe.
                            It works pretty fine with G38.2. So it should be easy now to calculate the Z Offset.

                            I also made some reliable test.

                            22.2.2020, 09:08:07	M409 K"move.axes[4]"
                            {"key":"move.axes[4]","flags":"","result":{"acceleration":400.0,"babystep":0,"drivers":["4"],"homed":true,"jerk":8.0,"letter":"V","machinePosition":27.392,"max":34.0,"min":0,"speed":1200.0,"userPosition":27.392,"visible":true,"workplaceOffsets":[0,0,0,0,0,0,0,0,0]}}
                            
                            22.2.2020, 09:07:53	M409 K"move.axes[4]"
                            {"key":"move.axes[4]","flags":"","result":{"acceleration":400.0,"babystep":0,"drivers":["4"],"homed":true,"jerk":8.0,"letter":"V","machinePosition":27.390,"max":34.0,"min":0,"speed":1200.0,"userPosition":27.390,"visible":true,"workplaceOffsets":[0,0,0,0,0,0,0,0,0]}}
                            
                            22.2.2020, 09:07:39	M409 K"move.axes[4]"
                            {"key":"move.axes[4]","flags":"","result":{"acceleration":400.0,"babystep":0,"drivers":["4"],"homed":true,"jerk":8.0,"letter":"V","machinePosition":27.392,"max":34.0,"min":0,"speed":1200.0,"userPosition":27.392,"visible":true,"workplaceOffsets":[0,0,0,0,0,0,0,0,0]}}
                            

                            Looks like the repeatability is very good just a deviation of 0.002mm.

                            But I also noticed some issues:
                            I can not probe my titan aero on the tool changer due to the too short axis. I have the same issue on Gregs brush station. So I have to redesign the arm a bit to bring every thing more upwards.

                            I wrote a short macro:

                            G1 X-29.5 Y124 F30000
                            G38.2 P1 V34
                            
                            G10 P{state.currentTool} Z{move.axes[4].machinePosition-44.23}
                            
                            G91
                            G1 V-2 F1000
                            G90
                            

                            With this the tool offset is applied.

                            1 Reply Last reply Reply Quote 0
                            • smoki3undefined
                              smoki3
                              last edited by

                              So next problem:

                              M500 doesn't save the tool offset. It there a way to save it?

                              1 Reply Last reply Reply Quote 0
                              • jay_s_ukundefined
                                jay_s_uk
                                last edited by

                                I usually take a copy of the output from M307 and then manually edit the config override with the correct values.

                                Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

                                smoki3undefined 1 Reply Last reply Reply Quote 0
                                • smoki3undefined
                                  smoki3 @jay_s_uk
                                  last edited by

                                  @jay_s_uk said in Tool Calibration Station E3D Toolchanger:

                                  I usually take a copy of the output from M307 and then manually edit the config override with the correct values.

                                  To copy manually isnt what I understand from a automatic probe.

                                  Anyway M307 reports just the Heating parameter and not the tool offset. These a reported with G10 Px. But I need to save it

                                  jay_s_ukundefined 1 Reply Last reply Reply Quote 0
                                  • jay_s_ukundefined
                                    jay_s_uk @smoki3
                                    last edited by

                                    @smoki3 sorry, of course it is.
                                    I don't think tool offsets are currently supported by M500.

                                    You'd have to request it to be added by dc42 or look at writing some conditional gcode when variables are implemented in 3.02

                                    Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

                                    1 Reply Last reply Reply Quote 0
                                    • dc42undefined
                                      dc42 administrators
                                      last edited by

                                      The S-2 option of the G30 command at https://duet3d.dozuki.com/Wiki/Gcode?revisionid=HEAD#Section_G30_Single_Z_Probe may be what you need. If you use G30 S-2 to set the tool Z offset, then a subsequent M500 will save the offset in config-override.g. You can also save it explicitly using M500 P10.

                                      Duet WiFi hardware designer and firmware engineer
                                      Please do not ask me for Duet support via PM or email, use the forum
                                      http://www.escher3d.com, https://miscsolutions.wordpress.com

                                      smoki3undefined 1 Reply Last reply Reply Quote 0
                                      • smoki3undefined
                                        smoki3 @dc42
                                        last edited by

                                        @dc42 I get the tooloffset applied with meta commands easily. I just want to save it to config override.
                                        Will try it tomorrow with M500 P10

                                        1 Reply Last reply Reply Quote 0
                                        • Danalundefined
                                          Danal
                                          last edited by

                                          What is the 44.23 constant?

                                          Or, same question phrased another way: Is it possible to have the station calibrate itself?

                                          Delta / Kossel printer fanatic

                                          smoki3undefined 1 Reply Last reply Reply Quote 0
                                          • smoki3undefined
                                            smoki3 @Danal
                                            last edited by smoki3

                                            @Danal said in Tool Calibration Station E3D Toolchanger:

                                            What is the 44.23 constant?

                                            Or, same question phrased another way: Is it possible to have the station calibrate itself?

                                            The offset between the Z Probe and the Tool Probe.

                                            I think think this is not possible duet to both micro switches and to the fact that the my V Axis is too short

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Unless otherwise noted, all forum content is licensed under CC-BY-SA