Electrical – SENT (Single edge nibble transmission) signal to analog signal conversion

analogarduinoconverterpwmraspberry pi

I'm currently getting a SENT signal output feedback(IC MLX90367 used in the simple actuator) from an actuator. For closed loop control, I have to feed this signal back to the motor controller. Unfortunately, the motor control takes in only Analog values. Is there a way to convert the SENT signal to Analog signal using an Arduino/ RPi with or without a DAC?

Best Answer

The SENT stream is only conveying the sensor information. The system needs not only to convert the protocol, but also to implement a suitable control loop which also takes in your positioning commands and implements the slewing actions to move the device.

** (Where is the control loop being processed?) **

The control loop should have low delay to help with stability and performance. If your board taking in the SENT stream is also doing the control loop, the Raspberry Pi has more horsepower than Arduino and so will have less delay. On the other hand if your servo is low performance then the Arduino (ATMega328) may be enough. If the R-Pi or Arduino isn't doing the control loop, and is instead only translating SENT to analog, then Arduino is more than enough.

Either way, you can translate the SENT protocol to analog using either PWM-to-analog conversion (that is, PWM to low-pass integrator), or use a multichannel DAC. Again, choose the approach with low enough delay to get good performance for your loop.

As far as a ready-made solution to convert SENT protocol, I didn't see one pop up immediately for R-Pi or Arduino, sorry.

Some Arduino-oriented SPI DAC discussion here: https://forum.arduino.cc/index.php?topic=385741.0

And an appnote from NXP on decoding SENT: https://www.nxp.com/docs/en/application-note/AN4219.pdf