Filtering BEMF noise from ADC using software help please ?


Joined Apr 20, 2004
If your PWM control works, the direction of rotation is never in doubt. And with two optointerrupters and a second set of holes on a different radius, the same result is obtained. The reso is less, but so is the cost.

Thread Starter


Joined Jul 23, 2007
I think my environment is ok, I got a PCB made as I noticed it was to easy to destroy fets using breadboards. I made the tracks from the PIC to the FET gates as short as I could, and used transistors on the P Channels to overcome the voltage/gate level problem. I will start looking at keeping the anolog feedback signals away from main power lines. I can't use an encoder, it has to be BEMF of some type as there is no space for encoder. Someone talked about snubbers, I have read a little on this but not sure what is a good starting point for a 12v motor. What about across my supply voltage of DC16v, what caps should I use after the bridge, reading up on cleaning up the ripple people say I should use a larger value to smooth the ripple and a small value to bypass high frequences. What do you guys think ?


Joined Jul 26, 2008
Best is first to look with the oscilloscope if the BEMF signal. Note that during the break period, you need to activate 1 of the FET's (that go to ground). Otherwise, the signal floats.
Normally, the signal is very stable. With all types of motors.
I have done the same with nearly the same circuit.

I use a 12v DC motor. PWM 16khz, I want to know if someone has some code for filtering noise out of the ADC from the BEMF input. I have the code for PDFF/PID which is ok. But becuase of the interference from the motor which gets introduced into the input of the ADC I am looking for some clever softare that can filter this. I do have some clean up filtering hardware before the BEMF is inputed into the ADC. But Since the motor type can change I would like some code to control the rest of the filtering though software. Does anyone know how to do that ?