Duet3D Board to SBC (Raspberry Pi/Pico) to Galvo drivers
-
@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.
-
@vijays What's the point of using the SBC? Do you want to use HiFi-DAC channels for galvos?
-
@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.
-
@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?
-
@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??
-
@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??
-
@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.
-
@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. -
@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.
-
-
@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.