Effectiveness of dc_bus_current_report_filter_k for Low-Rate Sampling on ODrive Pro

I’m using an ODrive Pro and need to monitor ibus (DC bus current) at a slower sampling rate for estimating power and energy usage. I see that the parameter It looks like from my understanding that odrvX.config.dc_bus_current_report_filter_k can be used to apply filtering to the reported current values.

How effective is this filtering at preserving the accuracy of ibus for downstream integration? Specifically, does relying on the filtered current result in a significant underestimation of energy if sharp current spikes are smoothed out? I’m interested in any experience or data others have on how well the filtered ibus reflects true cumulative charge or energy when logged at lower rates (around 100hz).

Hi! The integral of ibus will differ depending on the dc_bus_current_report_filter_k. Since it’s just a first order low pass, data will be lost. Usually, transients that are filtered will be pretty short. I’d say it’s likely fine. Would it be helpful to have colomb counter functionality on the ODrive directly? This should be a pretty easy addition, I could send you a custom build :slight_smile:

1 Like

Hi! Thanks so much for the clarification — that makes sense. Yes, we’d definitely be interested in a coulomb counter feature on the ODrive if that’s something you’re open to sharing. That would be super helpful for our application.

@trz001 Should be available on devel now! See axis0.total_charge_used and axis0.total_power_used.

Please let me know if there are any issues here!

1 Like