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

    TMC4671 expansion board

    Scheduled Pinned Locked Moved
    Hardware wishlist
    3
    7
    974
    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.
    • lee7670undefined
      lee7670
      last edited by

      The TMC4671 (https://www.trinamic.com/products/integrated-circuits/details/tmc4671/) can support steppers, Three-Phase, and DC motors/voice coils all running closed loop with Field Oriented Control for steppers and three phase motors.

      Having an expansion board running one or more of these of these drivers with a power stage of 4 half bridges would allow maximum flexibility for motors/feedback.

      There are dual feedback inputs so you can have one feedback mechanism for commutation and one for the actual position loop. They support both incremental ABN encoders, Hall sensors, and BISS-C/SSI encoders.

      This would allow you to drive essentially any motor in step/direction mode from a duet.

      Sweet tiny extruder with a micro geared dc motor for the smallest direct drive possible (https://www.pololu.com/product/3055)? You got It!

      Drive a linear motor for the absolute fastest speeds for benchy printing? You can do it!

      Motor torque feedback for extruder pushing force tracking and grinding prevention? Totally doable.

      Want to drive a voice coil optical stage that you got on ebay just because? Easy.

      Got your hands on some optical scales from a CNC and never want to use limit switches again? Sure.

      That's a lot of functionality for a 12USD chip...

      o_lampeundefined 1 Reply Last reply Reply Quote 2
      • 3DPMicroundefined
        3DPMicro
        last edited by

        @lee7670 That's some serious bang for the buck. FW will probably be a whopper though.
        We should first focus on having DC42 cloned 10x then we can have it all 😁 . Some form of closed loop is already in the pipeline I believe

        Duet controlled Lathe, micro mill, 3d printer and 1992 Haas VF2 VMC

        1 Reply Last reply Reply Quote 0
        • o_lampeundefined
          o_lampe @lee7670
          last edited by o_lampe

          @lee7670 said in TMC4671 expansion board:

          Sweet tiny extruder with a micro geared dc motor for the smallest direct drive possible (https://www.pololu.com/product/3055)? You got It!

          I wouldn't be too enthusiastic about the geared DC motors, they spin 20k RPM and they won't stop at once.
          I'm currently experimenting a lot with the exact same N20 encoder motors and they have some overshooting problems.

          v-slot_N20-test.jpg

          TBH I'm not a code-wizard, so there might be a propper solution for that issue.
          I'm using TB6612 drivers btw. and hardware quadrature decoding on a separate Arduino Due.

          PS: Did you know the N20 motor can be found in these 3D-printer pens as extruder motor? Alas without encoder...but with drive gear and idler bearing incorporated 🙂

          lee7670undefined 1 Reply Last reply Reply Quote 0
          • lee7670undefined
            lee7670 @o_lampe
            last edited by lee7670

            @o_lampe I've done some custom robotics work with the same motors and I was able to get a stable PID loop going no problem in a position mode. Even so, there are also brushed DC motors from reputable manufacturers like Faulhaber which would work great for the purpose.

            o_lampeundefined 1 Reply Last reply Reply Quote 0
            • o_lampeundefined
              o_lampe @lee7670
              last edited by

              @lee7670
              I'm trying to use them as stepper motors, which adds a bit complexity. I can't use PID, since it reacts on every step-pulse. It would be much easier to send the final position and speed, but that's not gcode conform...
              I'm also halfway sure, I have the interrupt-mapping wrong and every DIR -pulse adds a step too.

              lee7670undefined 1 Reply Last reply Reply Quote 0
              • lee7670undefined
                lee7670 @o_lampe
                last edited by lee7670

                @o_lampe You can totally, do that, your stepping just changes the position target. You just have to tune it to react quickly enough, which is the trick... Gotta have a fast ADC and power stage as well as high resolution PWM. Edit: Gotta have a real fast control loop, an ASIC which does it for you (TMC4671 runs control loops at 200KHz according to a webinar I found from the trinamic people), or an FPGA to do similar.

                o_lampeundefined 1 Reply Last reply Reply Quote 0
                • o_lampeundefined
                  o_lampe @lee7670
                  last edited by

                  @lee7670 said in TMC4671 expansion board:

                  You can totally, do that, your stepping just changes the position target.

                  In a test run the Due was quick enough to answer every step pulse. There is no 'piling up' of steps I could apply a PID algorythm to.
                  The hardware QDE is capable of reading the encoder pulses at 42MHz. Not sure about the other interrupts, though...
                  If you like, we can discuss it here
                  [\OT]

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