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

Duet 3 CAN bus protocol

Scheduled Pinned Locked Moved
General Discussion
5
11
1.9k
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.
  • undefined
    oskarodrive
    last edited by 15 Apr 2019, 05:52

    Hi,

    I make a servomotor controller called ODrive. Some people are using Duet together with ODrive via step/dir signals. However, this interface is very limiting, a lot of velocity and acceleration feed-forward information is thrown away from the motion controller.

    I am very excited to see that Duet 3 will support a CAN connection for synchronized control from the master controller to slave boards. I am very interested to know what is sent over CAN?

    I hope it is either some sort of Position Velocity Time (PVT) data, or some polynomial/spline primitives, and a time sync mechanism. This would make it possible to track the trajectories locally on the ODrive and hence have full access to the feed-forward terms. This would allow for very high performance and dynamic tracking accuracy.

    Very excited to hear what is currently the plan for the CAN interface, and if there is any possibility to get early access.

    Thanks!

    Cheers,
    Oskar

    1 Reply Last reply Reply Quote 3
    • undefined
      dc42 administrators
      last edited by 15 Apr 2019, 12:06

      The message format we are currently using for CAN movement messages is here https://github.com/dc42/Duet3Expansion/blob/master/src/CAN/CanMessageFormats.h. But this will change when we implement the separate time sync protocol and S-curve acceleration.

      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

      1 Reply Last reply Reply Quote 2
      • undefined
        oskarodrive
        last edited by oskarodrive 15 Apr 2019, 19:01

        Thanks!

        Is there any documentation as to what these parameters mean? The accel, steady and decel clocks I can guess are the timing parameters of a trapezoidal profile. I take it the actual displacement target is int32_t steps;.

        What are initialSpeedFraction and finalSpeedFraction?

        I think we are OK to skip the delta specific stuff for now.

        1 Reply Last reply Reply Quote 1
        • undefined
          dc42 administrators
          last edited by dc42 15 Apr 2019, 19:53

          Yes the acceleration and deceleration clocks define the time spent accelerating and decelerating. The clock frequency is currently 120MHz. I will probably change the units to microseconds to allow different clock speeds.

          The initial and final speed fractions give the starting and ending speeds, as a fraction of the top speed parameter.

          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

          1 Reply Last reply Reply Quote 1
          • undefined
            oskarodrive
            last edited by 15 Apr 2019, 20:12

            Great thanks for the clarification.

            What would you suggest is a good next step when it comes to implementing compatability? Are there any docs or code that pertains to the other parts of the CAN configuration?

            What you said about clocks vs microseconds (or maybe nanoseconds?) would be great. Please keep us (or others that may want to implement compatibility) in mind for the future too!

            Thanks!

            1 Reply Last reply Reply Quote 1
            • undefined
              dc42 administrators
              last edited by dc42 15 Apr 2019, 21:32

              Most of the rest of the CAN commands are still to be implemented. I concentrated on the movement commands because they are time-critical, unlike most other commands.

              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

              1 Reply Last reply Reply Quote 1
              • undefined
                oskarodrive
                last edited by 15 Apr 2019, 22:33

                Great, it's actually pretty much only the movement commands that would pertain to us, since we would just be implementing an axis without much else. At least to start with.

                Do you think it's best to wait for the protocol to mature a bit before we start with implementation on our side? Or do you think we can get started now?

                1 Reply Last reply Reply Quote 2
                • ?
                  A Former User
                  last edited by 21 Apr 2019, 13:40

                  Have you been in touch with the linuxcnc guys to see if you could market the expansion boards as hardware for them?

                  If they could interface their hardware abstraction layer to the CAN bus protocol that could be a interesting combination for a more feature complete Duet CNC solution.

                  1 Reply Last reply Reply Quote 0
                  • undefined
                    m1klos
                    last edited by 16 May 2020, 22:46

                    This post is deleted!
                    1 Reply Last reply Reply Quote 0
                    • undefined
                      elixirtrip
                      last edited by 23 Jul 2020, 00:18

                      Is there any news about odrive and duet 3 connection?

                      ? 1 Reply Last reply 23 Jul 2020, 21:34 Reply Quote 0
                      • ?
                        A Former User @elixirtrip
                        last edited by 23 Jul 2020, 21:34

                        @elixirtrip said in Duet 3 CAN bus protocol:

                        Is there any news about odrive and duet 3 connection?

                        not by means of can bus afaik, but this expansion support 1 external step/dir driver
                        https://www.duet3d.com/Duet3Expansion1XD

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