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

    Duet3D Board to SBC (Raspberry Pi/Pico) to Galvo drivers

    Scheduled Pinned Locked Moved
    Duet Hardware and wiring
    5
    13
    500
    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.
    • vijaysundefined
      vijays
      last edited by

      Hi,
      I want to to drive 2 galvo motors. I intend to use a separate SBC (Raspberry pi/pico) to interface with Main Duet 3 board.

      So proposed structure is like this Duet3 ---> SBC ----> Galvo Motors

      I have few questions.

      1. How can I interface the Duet 3 Board with SBC (Raspberry Pi/Pico). Whats the configuration needs to be done in the firmware/webcontrol settings?
      2. Which GCode needs to be used to drive the galvo motors which is connected via SBC? The galvo motors are mounted into SBC and not in the main board.
      3. As per the documentation, the SBC is communicated via SPI in duet3. How the communication is enabled in Duet3 Firmware/Web Interface?

      Any references/support is much appreciated.

      adhanabalundefined o_lampeundefined 2 Replies Last reply Reply Quote 0
      • adhanabalundefined
        adhanabal @vijays
        last edited by

        @dc42 @T3P3Tony hello all can you explain this?

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

          @adhanabal how are you controlling the galvos from the SBC? If you want to synchronise control of the motion system on the Duet and the galvos on the SBC then look at the DSF API. You will need to write a program using that API to intercept the gcode and pass the required information to the galvo control. Even with that there will be some synchronization challenges due to the move buffer on the Duet.

          www.duet3d.com

          vijaysundefined adhanabalundefined 2 Replies Last reply Reply Quote 0
          • o_lampeundefined
            o_lampe @vijays
            last edited by

            @vijays What's the point of using the SBC? Do you want to use HiFi-DAC channels for galvos?

            vijaysundefined 1 Reply Last reply Reply Quote 0
            • vijaysundefined
              vijays @T3P3Tony
              last edited by

              @T3P3Tony Thanks for your response.

              SBC should act as a bridge between galvos and Duet board. The intention is that duet board should send a gcode with some positions, which is transferred via SBC (through SPI communication). The SBC will have a program to interpret the positional values received from duet and pass appropriate values to DAC and Galvo drivers .

              However, how the duet board and SBC communication communication is established at first place. Whats the configuration/settings needs to be done to enable the SPI communication from Duet to SBC..

              I had a brief look at DSF API. I think DSF works on Raspberry pi boards with .NET or python code.. Not sure if DSF could be used on raspberry pi pico boards.

              From Reprap codebase has https://github.com/Duet3D/RepRapFirmware/tree/3.4-dev/src/SBC
              I see few SPI data transfer related code, which does SPI communication to SBC.. How does Duet board calls this code to communicate to the SBC. Whats the configuration required to enable the communication.?

              I thought about the synchronization challenges you have mentioned. . But I think it could be timed and could be calibrated to move the buffer. I hope so .. Not sure.. Have to try it out.

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

                @vijays the control flow when using DSF is from the SBC to the Duet, not the other way around. How are you controlling the Galvos?

                www.duet3d.com

                vijaysundefined 1 Reply Last reply Reply Quote 0
                • vijaysundefined
                  vijays @o_lampe
                  last edited by

                  @o_lampe SBC is used, mainly to control galvos and additionally I intend to use Thermal camera mlx90640 to get grid temperature of the plate. Duet boards don't have additional pins which we could use. Hence using external SBC to drive galvos.

                  Yes. I am trying 12 bit mcp4922 DAC and using feeding into Opamp (LM324/TL084/741) to amplify and feeding this signal to drive galvo drivers. Is there any better combination of IC which could produce better signal with less noise?? Any suggestions??

                  1 Reply Last reply Reply Quote 0
                  • vijaysundefined
                    vijays @T3P3Tony
                    last edited by

                    @T3P3Tony Thanks for fast response. Ok. I assumed Duet could act as master and control SBC as slave.. Looks this is not the option.

                    My initial plan was, from Duet board, using some custom gcode sends buffer data to SBC via SPI. The SBC receives the data and sends the data to DAC and Opamp to drive the galvos..

                    Could you validate this idea? or do you suggest some better alternatives??

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

                      @vijays the RPi Pico is not a SBC (Single Board Computer) using the conventional meaning of the term. What I think you are looking to do is to use the RPi Pico as an expansion board for a Duet. That is something that we have working on an experimental basis, although we have yet to determine whether it is a reliable solution that we want to support.

                      You would need to start from the RpiPico build configuration of our Duet3Expansion project. Then you would need to modify the motion control code to drive the DACs that control the galvos, instead of driving a stepper motor driver.

                      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

                      o_lampeundefined vijaysundefined 2 Replies Last reply Reply Quote 0
                      • o_lampeundefined
                        o_lampe @dc42
                        last edited by o_lampe

                        @dc42 Would be interesting to know how fast the RPico can digest (greyscale) raster images?
                        With diode lasers we can reach upto 500mm/s for B/W images IIRC, but that's PWM from Duets own MCU. Greyscale was much slower. (too many gcode lines)
                        It's been a while when I tried it, so that might have changed.

                        1 Reply Last reply Reply Quote 0
                        • vijaysundefined
                          vijays @dc42
                          last edited by vijays

                          @dc42 Thanks @dc42 !. Yes. I am trying to use RPi Pico or Raspberry Pi via SBC interface.. Thats why referred as Rpi Pico as SBC from the interface point of view.Yes. You are right. Pico is not SBC.
                          Given that communication happens in one way from Raspberry pi ---> Duet3 Board, I have to think of some alternative solution to control Raspberry pi board from Duet3 board.

                          Sure. I will explore on the Duet3Expansion and with RpiBuild. I think then Duet3Expansion boards works only CAN ports.. Isn't it?? Not sure if there are alternative ports supported.. Let me explore.

                          dc42undefined 1 Reply Last reply Reply Quote 0
                          • adhanabalundefined
                            adhanabal @T3P3Tony
                            last edited by

                            @T3P3Tony actually @vijays is working on this project for me.

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

                              @vijays said in Duet3D Board to SBC (Raspberry Pi/Pico) to Galvo drivers:

                              Sure. I will explore on the Duet3Expansion and with RpiBuild. I think then Duet3Expansion boards works only CAN ports.. Isn't it??

                              Yes, the expansion boards communicate with the main board via CAN. As the Duet firmware is already set up to send movement commands over CAN, an expansion board with suitable firmware could translate those commands to DAC inputs to drive the galvo.

                              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 0
                              • First post
                                Last post
                              Unless otherwise noted, all forum content is licensed under CC-BY-SA