Advice Request: using a custom temp sensor and control loop
-
Hey everyone,
For a thesis project, I am working towards implementing a new sensor alongside a dedicated control loop to use it. The sensor has only SPI as a communication protocol, there are alternatives with I2C, but I avoided those due to comments I saw about interference being a killer for I2C. But at the same time, SPI is also meant for communication on the PCB, and in here the thing would be placed near the extruder, so a quite long cable is needed (~0.5-0.7m), I am unsure if this will cause problems later on.
This will be providing quite a lot of data that needs to be processed and I am trying to figure out the best way of implementing this. As I see it now, using a Raspberry Pi for this could be a good option, since I am uncertain if Duet has enough resources available for a lot of math. So the idea is to write an DSF plugin that does sensor data processing and replaces some of the current control loop logic for heaters and fans, maybe the control could be extended to vary the stepper speeds in the future somehow, but that seems on a different level of difficulty vs things that do not need synchronised pulses to be generated
Questions:
- Current hardware is Duet2 1.04 + Duex expansion board. I saw in some forum posts that only Duet3 supports SBC/Raspberry, but on the Duet2 wiki it says that RRF 3.2 is needed +extra hardware (what hardware?)
- Is it still possible to have a Duex board connected along-side a Raspberry ? Currently the Duex is using the expansion header on Duet 2. I see that its doable on Duet3, but am not certain in this case.
- What functions does the Raspberry take over when connected to Duet? As I "understand" it does everything and just uses the duet as a pulse generator for running steppers/heaters/fans etc.
- Is it possible to have the Raspberry send a PWM signal for heater/fan control directly instead of a g-code command?
- Im a bit overwhelmed with the amount of info at the moment, I could use some pointers on the workflow to getting this sort of thing running.
I apologize for the foggy description (and in case I posted this in the wrong section), I have to be careful not to share too much, since I am doing this under silly NDA restrictions. And I am also still very new to this whole firmware business, so thank you for your patience.
Kind regards,
P.