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

    Requests for help: Gcode cam follower/ tangential knife control.

    Scheduled Pinned Locked Moved
    General Discussion
    12
    62
    10.2k
    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.
    • Russ Griesundefined
      Russ Gries
      last edited by

      Yes, this was also a question I had.

      David,

      If it was you trying to make what im trying to make, How would you set up and control a rotanial axis?

      You deeply know the limitations of the firmware.

      In the end it might not be possible to make fluid movements like im trying to do.

      So what ever the best options i have ill stick with those. I want others to be able to use there Duet controler to use a tool end as im making.

      At the moment My current limitation is that I want to position the tool in the direction I want to go and in order to do this the tool has to stop every time it has to turn. I'm not sure if there's any way to work around this problem?

      If I use arcs instead of point to point then is it possible to command the tool to follow the Ark. In any fashion?

      From what I can tell so far I'm going to have to stop every time I want to turn the tool

      Thanks for your feedback I'll do whatever I can with what options I have and eventually may have to try a completely different platform and order to achieve this, but even if it's slow it will still allow people to make knife cutters and other things so it's still worth pursuing.

      ~Russ

      One Day At A Time…
      My Main Research Page:
      http://rwgresearch.com/open-projects/3d-printing-research/

      1 Reply Last reply Reply Quote 0
      • Russ Griesundefined
        Russ Gries
        last edited by

        I will be upgrading my firmware and testing the homing here in a couple of hours so will find out and make sure everything is good on that part.

        ~Russ

        One Day At A Time…
        My Main Research Page:
        http://rwgresearch.com/open-projects/3d-printing-research/

        1 Reply Last reply Reply Quote 0
        • Russ Griesundefined
          Russ Gries @dc42
          last edited by

          @dc42

          ok, firmware up to date.

          FIRMWARE_NAME: RepRapFirmware for Duet 2 WiFi/Ethernet FIRMWARE_VERSION: 2.02RC2(RTOS) ELECTRONICS: Duet WiFi 1.0 or 1.01 FIRMWARE_DATE: 2018-09-07b2

          now, i see its homing but i cant move it at all once its homed or even before its homed?

          But now i get an error if its not homed and try to move it. where before it just moved only if it was not home yet.

          now I'm stuck, i cant move it. U is rendered useless. ? strange because it dose home

          did i miss end stop liniments or something?

          I also updated my config.g

          these now should be correct. I redefined the extruder drives correctly yes? and moved M574 after M584

          ; Axis and motor configuration
          M569 P0 S1 ; Drive 0 goes forwards
          M569 P1 S1 ; Drive 1 goes forwards
          M569 P2 S1 ; Drive 2 goes forwards
          M569 P3 S1 ; Drive 3 goes forwards
          M569 P4 S0 ; Drive 4 goes backwards
          M569 P5 S0 ; Drive 5 goes backwards
          M584 U4 E3:5
          M574 X2 Y2 Z2 U2 S0

          when I run a file with U commands, it completely ignores the U commands?.

          not sure what to check next, please let me know what to look for. Thanks!!!!

          ~Russ

          One Day At A Time…
          My Main Research Page:
          http://rwgresearch.com/open-projects/3d-printing-research/

          adavidmundefined 1 Reply Last reply Reply Quote 0
          • Russ Griesundefined
            Russ Gries
            last edited by

            also something to note, U dose not show up here? E0 andE1 do? but the current is correct for E0 for U ?

            is this normal?

            0_1538719085754_where u at.jpg

            ~Russ

            One Day At A Time…
            My Main Research Page:
            http://rwgresearch.com/open-projects/3d-printing-research/

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

              @russ-gries said in Requests for help: Gcode cam follower/ tangential knife control.:

              also something to note, U dose not show up here? E0 andE1 do? but the current is correct for E0 for U ?

              ~Russ

              At one point, the Web interface had problems if the printer itself was configured for axis that were not in sequence. Be sure you are on the very latest web interface, and/or that bug may still exist.

              Delta / Kossel printer fanatic

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

                Russ,

                Given David's answer that RepRap does not distinguish axis, and given that G-Code (and RepRap) ensure that all axis in a given single move reach their individual endpoints in sync, this all adds up to doing EXACTLY what you want for a coil winder.

                That is, if the current XYZ position of the "control point" is somwhere around a coil, ready to make the next coil, and the U axis is "pointed aft" to correctly lay the wire, then a G2 arc move that specifies a next XY 1/4 of the way around the coil, and a U that specifies 90 degrees from where U starts (in the correct positive or negative direction)... that move will smoothly rotate U as XY accelerate, move, deccelerate.

                Personally, I'd do 1/4 arcs while debugging so that you can "see" what is happening better.... but once you've confirmed how this all should work, and "good" g-code, then G2 moves that do full circles, one entire coil per G2 line, should be easy.

                This is all very hard to put into words... does it make sense?

                p.s. I'd still recommend you define your rotational axis as A (not U). This is a widespread standard for extra axis in CNC. It also MIGHT make the Web interface display it better.

                Delta / Kossel printer fanatic

                Russ Griesundefined 2 Replies Last reply Reply Quote 0
                • adavidmundefined
                  adavidm @Russ Gries
                  last edited by

                  @russ-gries said in Requests for help: Gcode cam follower/ tangential knife control.:

                  I redefined the extruder drives correctly yes?

                  You are using:

                  M584 U4 E3:5

                  Is E3:5 valid? if you don't have a Due5x or Due2x then you only have 5 drivers total and the first one is 0.

                  1 Reply Last reply Reply Quote 0
                  • Russ Griesundefined
                    Russ Gries @Danal
                    last edited by

                    @danal said in Requests for help: Gcode cam follower/ tangential knife control.:

                    Russ,

                    Given David's answer that RepRap does not distinguish axis, and given that G-Code (and RepRap) ensure that all axis in a given single move reach their individual endpoints in sync, this all adds up to doing EXACTLY what you want for a coil winder.

                    That is, if the current XYZ position of the "control point" is somwhere around a coil, ready to make the next coil, and the U axis is "pointed aft" to correctly lay the wire, then a G2 arc move that specifies a next XY 1/4 of the way around the coil, and a U that specifies 90 degrees from where U starts (in the correct positive or negative direction)... that move will smoothly rotate U as XY accelerate, move, deccelerate.

                    Personally, I'd do 1/4 arcs while debugging so that you can "see" what is happening better.... but once you've confirmed how this all should work, and "good" g-code, then G2 moves that do full circles, one entire coil per G2 line, should be easy.

                    This is all very hard to put into words... does it make sense?

                    p.s. I'd still recommend you define your rotational axis as A (not U). This is a widespread standard for extra axis in CNC. It also MIGHT make the Web interface display it better.

                    Hi Danal,

                    Thanks for all your feed back,

                    what your saying makes sense. but let me get something correct.

                    If i send "G2 X90.6 Y13.8 I5 J10 U45"

                    David is saying that as the arc move is happening, The U will slowly move around the arc. and the motion will be fluid on the U along the direction of the arc?

                    however, doing it point to point i will need to add the U on the line before the move so i know its going in the right direction. correct?

                    i just want to be sure i understand... clearly...

                    Also, are you able to make a simple script program that has an in interface for such a G code generator?

                    if yes and your willing to give it a go let me know. ill need to make a list of parameters that i would need. just thought I would through it out there.

                    Thanks for the help and feed back!

                    ~Russ

                    One Day At A Time…
                    My Main Research Page:
                    http://rwgresearch.com/open-projects/3d-printing-research/

                    Danalundefined 1 Reply Last reply Reply Quote 0
                    • Russ Griesundefined
                      Russ Gries
                      last edited by

                      @adavidm said in Requests for help: Gcode cam follower/ tangential knife control.:

                      @russ-gries said in Requests for help: Gcode cam follower/ tangential knife control.:

                      I redefined the extruder drives correctly yes?

                      You are using:

                      M584 U4 E3:5

                      Is E3:5 valid? if you don't have a Due5x or Due2x then you only have 5 drivers total and the first one is 0.

                      yeah i think so, even tho nothing will happen with E5... but i can remove it and see if anything changes.

                      nope, same thing.

                      ~Russ

                      One Day At A Time…
                      My Main Research Page:
                      http://rwgresearch.com/open-projects/3d-printing-research/

                      1 Reply Last reply Reply Quote 0
                      • Russ Griesundefined
                        Russ Gries
                        last edited by Russ Gries

                        ok, good news, i needed to set up my M208 correctly, now i can move my axis to the limits. and homing works.

                        now, whats a workaround to disable the limits? I dont want any limits on the rotational axis?

                        A have to have them in place or i cant move the axis at all... but i really dont want them at all because it can spin in one direction forever... so is there a way to disable the software limits for one axis?

                        and yes i know i can set them to some crazy high / low number... but that seems a bit odd. so i thought i would ask if they can be disabled in any way?

                        Thanks!
                        ~Russ

                        One Day At A Time…
                        My Main Research Page:
                        http://rwgresearch.com/open-projects/3d-printing-research/

                        Phaedruxundefined 1 Reply Last reply Reply Quote 0
                        • Phaedruxundefined
                          Phaedrux Moderator @Russ Gries
                          last edited by Phaedrux

                          @russ-gries Perhaps with this: https://duet3d.dozuki.com/Wiki/GCode#Section_M564_Limit_axes

                          M564: Limit axes ¶
                          Parameters

                          Hnnn H1 = forbid movement of axes that have not been homed, H0 = allow movement of axes that have not been homed (firmware 1.21 and later)
                          Snnn S1 = limit movement within axis boundaries, S0 = allow movement outside boundaries
                          Example

                          M564 S0 H0
                          Allow moves outside the print volume and before homing, or not. If the S parameter is 0, then you can send G codes to drive the RepRap outside its normal working volume, and it will attempt to do so. Likewise if the H parameter is zero you can move the head or bed along axes that have not been homed. The default behaviour is S1 H1. On some types of printer (e.g. Delta and SCARA), movement before homing may be prohibited regardless of the H parameter.

                          However, I believe that disables limits for all axis. And may not even apply to you as you use a Delta. Perhaps @dc42 can provide more details.

                          Z-Bot CoreXY Build | Thingiverse Profile

                          1 Reply Last reply Reply Quote 0
                          • Russ Griesundefined
                            Russ Gries @Danal
                            last edited by Russ Gries

                            @danal

                            it seems that G2 and G3 commands work well, nice and smooth.

                            can you pose some simple arc commands to test? a circle or something.

                            The U ( will change it to A later) is set up so that i can send it 0-360 as a full circle....

                            I tried to match the steps/mm to = 360 deg rotation. as genghisnico13 was saying would be a good idea.

                            so in the code just put the proper deg angle with the arc.

                            and ill run some tests and see how it reacts. so far it looks good playing with it but i done have a proper way to generate the G code with arc commands ATM.

                            and my hand coding of those commands is not working well 🙂

                            Thanks,
                            ~Russ

                            One Day At A Time…
                            My Main Research Page:
                            http://rwgresearch.com/open-projects/3d-printing-research/

                            JoergS5undefined 1 Reply Last reply Reply Quote 0
                            • JoergS5undefined
                              JoergS5 @Russ Gries
                              last edited by JoergS5

                              @russ-gries You have a nice idea. I am following it with great interest!

                              Your construction could support such ideas like PCB motor and PCB actuator.
                              https://hackaday.io/project/158017-linear-pcb-motor
                              https://reprap.org/forum/read.php?160,813817,page=1
                              or Venture Tape for heat bed
                              https://www.henschke-geraetebau.de/dr/heizbett.html

                              1 Reply Last reply Reply Quote 0
                              • T3P3Tonyundefined
                                T3P3Tony administrators
                                last edited by T3P3Tony

                                @Russ-Gries

                                Have you reached out to @Kulitorum to find out how he setup and coded the tangential blade in the 3d print huset printer:
                                https://3dprinthuset.dk/the-bod/
                                The video linked form there shows it printing.

                                (edit: I saw you have done, I will email him in case he is not monitoring the forum)

                                www.duet3d.com

                                Russ Griesundefined 1 Reply Last reply Reply Quote 0
                                • Russ Griesundefined
                                  Russ Gries @T3P3Tony
                                  last edited by Russ Gries

                                  @t3p3tony

                                  Yes, i asked him for an example of the gcode,

                                  He did not respond.

                                  I also asked him if he could shate the script. He said he could not share it. Due to restrictions with the company im sure.

                                  This is ok.

                                  We current have built a simple Gcode script that adds the values in for U acording to the vectors. For point to point. My friend Matt has been helping me with that.

                                  However it seems that using arcs and sright lines is going to be the best option.

                                  We will need to require that the U move is done already before the sright line is executed.

                                  This is all fine and from what i can tell he is doing this on his concrete printer. As well as arc moves so it all looks smoth until it gets to a cornner.

                                  But yes. If you can get a sample of his code that would be great. That would help us understand if he is using G2 &G3 commands. I think he is.

                                  Thanks for the input and help everyone!

                                  ~Russ

                                  One Day At A Time…
                                  My Main Research Page:
                                  http://rwgresearch.com/open-projects/3d-printing-research/

                                  T3P3Tonyundefined JoergS5undefined 2 Replies Last reply Reply Quote 0
                                  • T3P3Tonyundefined
                                    T3P3Tony administrators @Russ Gries
                                    last edited by

                                    @russ-gries Yeah i asked him as well and the post processing is proprietary which is understandable.

                                    That said it sounds like you are on the right track. For straightlines it is simple as you say, take the two end points, calculate the tangent of the vector and then move the U axis accordingly. For a true arc (G2,G3) its more of a pain, probably break it down into segments?

                                    www.duet3d.com

                                    1 Reply Last reply Reply Quote 0
                                    • JoergS5undefined
                                      JoergS5 @Russ Gries
                                      last edited by JoergS5

                                      @russ-gries You could try to contact this person also:
                                      https://www.youtube.com/watch?v=1ZyMd8CaONQ&t=1s
                                      http://www.3ders.org/articles/20170904-researchers-at-singapores-ntu-making-recycled-3d-printable-concrete-that-could-save-the-planet.html
                                      It's a university of Singapore, maybe they are allowed to share code or knowledge.
                                      In one of his articles he told that the 3D model he created was built from splines, so he already knew the values for the 4th axis. He used a CNC gantry printer supporting 4th axis as 3D printer:
                                      http://sffsymposium.engr.utexas.edu/sites/default/files/2017/Manuscripts/ApproachingRectangularExtrudatein3DPrintingf.pdf
                                      chapters 2 and 3.

                                      I searched a bit at the grbl corner, because what you do is similar to using the CNC A Axis, which is used in CNC to control the rotary table e.g., routing gears. There are some starting activities, but I did not find finished code yet.

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

                                        To draw a circles in the same direction each time, you would need to increase U from e.g. 0 to 360 degrees for the first rotation, then 360 to 720 degrees for the second, and so on. For linear axes the maximum distance you set in M208 can be very high, so this shouldn't be a problem, although you may get some loss of accuracy when the U coordinate gets very high because of rounding error.

                                        You could use G92 U0 to reset the assumed U position to zero occasionally, however this will have the side effect of causing motion to stop momentarily.

                                        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

                                        JoergS5undefined Russ Griesundefined 2 Replies Last reply Reply Quote 0
                                        • JoergS5undefined
                                          JoergS5 @dc42
                                          last edited by

                                          This post is deleted!
                                          1 Reply Last reply Reply Quote 0
                                          • Russ Griesundefined
                                            Russ Gries @dc42
                                            last edited by

                                            @dc42 said in Requests for help: Gcode cam follower/ tangential knife control.:

                                            To draw a circles in the same direction each time, you would need to increase U from e.g. 0 to 360 degrees for the first rotation, then 360 to 720 degrees for the second, and so on. For linear axes the maximum distance you set in M208 can be very high, so this shouldn't be a problem, although you may get some loss of accuracy when the U coordinate gets very high because of rounding error.

                                            You could use G92 U0 to reset the assumed U position to zero occasionally, however this will have the side effect of causing motion to stop momentarily.

                                            THANKS,

                                            Can you explain this rounding error.

                                            What is the maximum amount of numbers after the decimal place i can have for the axis?

                                            I also noticed that this might be a problem.

                                            Right now I'm using absolute accordance for U (soon to be A) so yes. There continuing to count up for the pulses.

                                            It should be accurate for the most part but i would like to hear more about this rounding that happens im guessing in the firmware yes?

                                            Becuse after 100's of loops it could get way off...

                                            THANKS!

                                            ~Russ

                                            One Day At A Time…
                                            My Main Research Page:
                                            http://rwgresearch.com/open-projects/3d-printing-research/

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