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

    how to move a stepper motor constantly?

    Scheduled Pinned Locked Moved
    General Discussion
    5
    6
    650
    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.
    • jhonf441undefined
      jhonf441
      last edited by

      Does Duet have a command or set of them that makes a stepper motor move constantly?

      3mmundefined zaptaundefined 2 Replies Last reply Reply Quote 0
      • Danalundefined
        Danal
        last edited by

        Not at present. There is only one movement queue (with some exotic exceptions), and G0 G1 with multiple axis perform "coordinated linear motion", ensuring that all axis arrive a the specified point at the same instant in time.

        Future releases will contain both conditional g-code and multiple movement queues, and these MIGHT do what you want.

        What is the use case? There could be a potential range of solutions that involve an IO pin that can be manipulated by gcode on the Duet, that pin then driving an arduino or similar to drive the stepper.

        Delta / Kossel printer fanatic

        1 Reply Last reply Reply Quote 0
        • 3mmundefined
          3mm @jhonf441
          last edited by 3mm

          @jhonf441

          There is a way to do it using additional hardware. Using additional hardware would enable a stepper motor to turn continuosly, and the circuitry to do so could be arranged in many different ways. One strategy might use DUET fan IO pin, (controllable by codes) to gate on/off a nano-arduino driving an A4988 step-stick hooked up to a stepper motor. Another, might use a LM555 timer chip arranged as an astable multivibrator, again gated (drive the RESET line up/down by a DUET fan I/O pin). The output of the timer would be connected to an A4988 stepstick. If you need to control the direction of spin, use another fan pin.

          There is almost always a way to do things. The DUET controllers are excellent.

          See:

          https://www.instructables.com/id/555-TIMER-CIRCUIT-TO-DRIVE-a-STEPPER-MOTOR/

          https://www.makerguides.com/a4988-stepper-motor-driver-arduino-tutorial/

          These are just a few ideas. If you look around a bit I'm fairly certain you are likely to find an actual step-by-step solution, although there is enough information in the above URLs to implement your own solution.

          Good Luck,

          3mm

          There are 10 types of people: Those who understand binary and those who don't.

          1 Reply Last reply Reply Quote 0
          • zaptaundefined
            zapta @jhonf441
            last edited by

            How long is 'constantly' ? A day? a year? 100 years?

            You can have a very long macro file with a larger number of move operations.

            1 Reply Last reply Reply Quote 0
            • jhonf441undefined
              jhonf441
              last edited by

              @Danal said in how to move a stepper motor constantly?:

              Not at present. There is only one movement queue (with some exotic exceptions), and G0 G1 with multiple axis perform "coordinated linear motion", ensuring that all axis arrive a the specified point at the same instant in time.

              Future releases will contain both conditional g-code and multiple movement queues, and these MIGHT do what you want.

              What is the use case? There could be a potential range of solutions that involve an IO pin that can be manipulated by gcode on the Duet, that pin then driving an arduino or similar to drive the stepper.

              The use case is a 3mm filament coil extruder, when I am not printing I am manufacturing filament.

              @3mm said in how to move a stepper motor constantly?:

              @jhonf441

              There is a way to do it using additional hardware. Using additional hardware would enable a stepper motor to turn continuosly, and the circuitry to do so could be arranged in many different ways. One strategy might use DUET fan IO pin, (controllable by codes) to gate on/off a nano-arduino driving an A4988 step-stick hooked up to a stepper motor. Another, might use a LM555 timer chip arranged as an astable multivibrator, again gated (drive the RESET line up/down by a DUET fan I/O pin). The output of the timer would be connected to an A4988 stepstick. If you need to control the direction of spin, use another fan pin.

              There is almost always a way to do things. The DUET controllers are excellent.

              See:

              https://www.instructables.com/id/555-TIMER-CIRCUIT-TO-DRIVE-a-STEPPER-MOTOR/

              https://www.makerguides.com/a4988-stepper-motor-driver-arduino-tutorial/

              These are just a few ideas. If you look around a bit I'm fairly certain you are likely to find an actual step-by-step solution, although there is enough information in the above URLs to implement your own solution.

              Good Luck,

              3mm

              Thank you for your answers as well as they have given me ideas, surely use a GPIO pin to control a microcontroller with some...

              @zapta said in how to move a stepper motor constantly?:

              How long is 'constantly' ? A day? a year? 100 years?

              You can have a very long macro file with a larger number of move operations.

              some hours no more than one day.

              A Former User? 1 Reply Last reply Reply Quote 0
              • A Former User?
                A Former User @jhonf441
                last edited by

                @jhonf441 said in how to move a stepper motor constantly?:

                The use case is a 3mm filament coil extruder, when I am not printing I am manufacturing filament.

                @jhonf441 said in how to move a stepper motor constantly?:

                some hours no more than one day.

                so you just need a very long motion, and the limitation, if any, would be the size of the datastructure used for the coordinate systems and settings. Lets say 3kg 1.75mm filament is 1,000m, or 1,000,000mm - if the firmware cannot move to 1,000,000mm then you could do 1,000 moves of 1,000mm each? Or maybe you could set up the machine step/mm to be step/m and only need to move to 1,000m insteaf of 1,000,000mm?

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