I’m working on a robotics project and thought it made sense to start with brushless hub motors, specifically beefy ones for an offroad scooter. I bought two of these - I can’t recall if it’s this exact listing or just very similar: Amazon.com
The idea is to drive two of them with an ODrive 3.6.
The issue I’m running into is that they’re hall sensor feedback, with the sensors in an open-drain configuration (which I gather is extremely common for hubmotors of this class), but the sensor lines are run straight down the same cable right next to the phase drive conductors, with no shielding or anything. That is, 3 high-impedance sense lines running for like 2.5ft right alongside massive high-current drive wires.
Looking at the scenario with an oscilloscope, yeah, the noise coupling is colossal. Every single drive pulse shows up on the sense lines, and the ODrive keeps failing self-calibration because the “motor is in an invalid position” or something like that, presumably because the controller is sampling mostly noise on the sensors.
I added capacitors of course, which did little to nothing.
I went as far as building a two-pole passive RC filter with a corner around 1kHz, and that noticeably cuts the noise down, but it’s still nowhere clean enough to solve the problem and successfully pass calibration.
Has anyone run into this problem before? Is there an “industry standard” solution to filtering super noisy sense lines like this? Do I have to strip the jacket all the way back to the motor and add my own shielding or something?