Even though this questions looks like very specific, it can be treated indeed as a much more general case filtering question: "How can one filter out electrical noise coming from power electric motors?".
The first information data we need to gather in advance is the type of noise our circuit is exposed to. Sometimes it is really difficult to get this data in advance, sometimes it is even harder to measure the noise without prior experience and high-end laboratory equipment.
In general, we can assess our noise sources in terms of:
- Intrinsic or extrinsic. I.e.: does the noise comes/is generated inside our own system? Or does it comes outside of our system?
- Coupling mechanism: capacitive coupling, inductive coupling, ground loops, EM radiation...
- Characteristics of the noise: switched, thermal (gaussian), shot, flicker...
- Frequency band and Q. How narrow or wide band is our noise? Does it fall/dissapears abruptly outside that band (quality factor)?
The above is a partial list, incomplete, which may serve as a starting point only.
Then, there are a lot of techniques, I mean literally hundreds of tricks and broader approaches depending on the case.
Delving into the specifics of the original question, this is my best guess on the sort of noise that may be originated by the system,
- The noise is coming mainly from system itself, power motors and driver circuits. 30A of peak switching current is high enouch to generate pulses which can easily couple to the rest of the circuit.
- Capacitive coupling, inductive coupling and ground loops can be all source of trouble here, due to the high current pulses of the drivers.
- The noise is switched, I guess in the sub 1MHz region, however, armonics in the 1-10MHz range could be easily generated/radiated.
Some practical hints and techniques for dealing with the noise in the system above:
- If possible, separate physically the motors and drivers from the rest of the circuits. This is obviously not possible in all cases, for instance, if you have a single board for all the electronics. However, if you can afford having two separate boards, one for driving the motors, another one for the rest of the system, it is helpful doing so.
- Avoid ground problems and loop coupling of the noise by using a carefully thought star ground connection for all your circuits, including power drivers, batteries and chassis.
- Do not let any chassis or big metallic part floating, as this will interact with the EM fields generated by the motors and power drivers, reflecting, propagating and/or re-emitting the EM fields as additional noise.
- Regarding the motors themselves, and depending on the type of motor, you can certainly apply noise filters near/attached to your motors. For DC motors, which may not be your case, it is wise to solder small ceramic capacitors across each phase, as near as possible to the motor. Rugged (high voltage) 0.1uF capacitors are a good rule of thumb to start with. Depending on the application, you could also add another pair of ceramic capacitors from each of the phase leads to the chassis. Beware of checking the exact motor type and driver before going this route.
- The cabling connecting the drivers and motors should be as close as possible and be twisted.
- Decoupling/bypass capacitors should be generously added to your driver power lines, in two flavours: bulk capacitors (maybe in the hundreds of uF, for low frequency filtering) and high frequency capacitors (typically 0.1uF).
Returning to the circuit you posted, my initial approach would be:
- Not using a common-mode choke, as it is more indicated for capacitive coupling noises generated from outside of your system.
- Applying dual LC filtering for both lines (power and GND return) or even better, a dual L pi filter. This is the most effective filter for KHz to low MHz noise. A big inductor (in the mH range) in series with each of the battery terminals will improve dramatically the noise entering the digital part of your circuit. Ferrite beads, on the contrary, are dissipative by its own nature and best suited for higher (dozens of MHz frequencies).
- Substituting the standard zener & unidirectional TVS for a bidirectional rugged (high energy) TVS. The zener in your circuit can be kept, however, if your input regulator cannot withstand small peaks of overvoltage.
- Adding a pair of small ceramic capacitors in parallel with the bulk capacitor: for instance 1uF and 0.1uF MLCCs, rated conservatively (>100V). This will increase your filter effectiveness for higher frequencies (>1MHz).
Last but not least, devise a simple way to measure your circuit at critical points, in order to verify the effectiveness of the different approaches. Do, please, try to test under similar circumstances as the real device will operate under.
If neeeded, I can provide more references (books, articles) to the approaches aboves. If you can specify in greater detail some parts of your system, additional filtering techniques will surely apply.