(Plan B, since can-bus control is way over my head)
I want to use an output from a MaxxECU Race unit to control my ODrive (which controls the BMW x-drive clutch).
The ECU is outputting a GND control signal, and as I understand, the ODrive will need an active high signal.
If I use a pullup to 3.3v (right, og 5v?), I would need to invert the signal from the ECU, so that the OFF (pulled up) period equals the period I need for ON signal to the Odrive?
I figured that a frequency of 25hz would be suited for RC Servo PWM, giving a period of 4ms.
Since lowest value in RC PWM is;
0% movement = 1ms
50% movement (center) = 1,5ms
100% movement = 2ms
In order to achieve this from the ECU, I will set the output duty cycle to:
0% movement = 1ms = 25% DC.
50% movement = 1,5ms = 37,5% DC.
100% movement = 2ms = 50% DC.
At first, in the ECU software, I put the control critereas into one table, where 0% equals open clutch, and 100% equals locked clutch.
Then, in another table, I map the DC signals to match the output wanted (for easier tuning)
But for this to work, with the going low (GND) output of the ECU, I will need to invert the low signal to a high. Because when the output is active, the odrive sees the low signal, and when the output is not active, Odrive sees the high signal right?
So my mapping table should be opposite, like this?:
Hopefully I explained my thoughts in a way you understand