I use AS5048 encoder with a gimball motor, everything works great when the cable between the encoder and the board is short. But now i need to increase the lenght of the encoder cable. I use a shielded cable and the shield is connected to ground but the connection is not robust, i experience a lot of encoder faults.
How can i decrease the SPI clk speed ? Is a command provided in the firmware or do i need to recompile the code firmware with a lower clock speed ?
Have a good day,
I’ve had a lot of problems with cable length vs encoder errors in the past. The solution that always seems to work for me (and a lot of other people) is to solder 22nF capacitors from the ODrive encoder pins to ground. Here is an entire thread detailing this. I know it’s not the answer you were looking for, but I hope it helps.
Jacob, you’re thinking of incremental (A/B/Z) encoders, not SPI encoders.
SPI encoders are a very diferent beast, and I have had endless problems with AMS ones in particular.
@Robin2906 I think the SPI clock speed is set in Firmware/Drivers/DRV8301/drv8301.cpp - the SPI bus is shared between the DRV8301 gate drivers and the absolute encoders