I have a PWM-based controller with an Attiny13 to control the motor of a cassette tape player (similar to this layout.) Attiny13 is producing PWM of varying pulse width with a frequency of about 75 Hz.

When I start decreasing the tape speed with the pot (by changing pulse width,) I start hearing a low frequency noise injected in the audio of the tape player. My assumption is that this is from the PWM getting into the audio part of the circuit.

What is the best way to remove the noise? Filter the PWM? I tried filter caps on the motor terminals, which did not help.

Circuit diagram:

enter image description here

  • \$\begingroup\$ Welcome. You may need a LC filter at the motor using a CM choke. \$\endgroup\$ – user105652 Aug 10 '19 at 4:15
  • \$\begingroup\$ Can you change the PWM frequency to non audible range? \$\endgroup\$ – User323693 Aug 10 '19 at 4:34
  • \$\begingroup\$ The DC motor is an averaging device so you don't need a series filter between the switching component and the motor. A low C across the motor (you'll see 10 nF used) can remove contact noise for brushed motors. Try using 2 kHz PWM as a starting point. The rise/fall times from the PWM source current charging and discharging the FET gate-source capacitance through the 100R will restrict the maximum frequency, though, so calculate that. Ensure it's well below 10% of the PWM frequency period. \$\endgroup\$ – TonyM Aug 10 '19 at 5:23
  • \$\begingroup\$ There may be a speed controller in the motor already and you'll be fighting that. Look for a trimmer pot covered by a small label on the back of the motor. \$\endgroup\$ – Transistor Aug 10 '19 at 9:07

That circuit looks dodgy. The MCP1700 has an absolute maximum rating of 6.5V, but the note says battery voltage could be as high as 6.8V!

D3 should be a Schottky type if you use a reasonable PWM frequency - and it's not just for MOSFET protection, it recirculates current through the motor which reduces peak current and improves efficiency (provided PWM frequency is high enough).

At 75Hz the motor's inductance is not sufficient to smooth out the current flow, so it becomes a series of high current pulses which could induce interference via magnetic coupling, battery voltage variations or ground currents. Most small dc motors need at least 3kHz PWM, however the human ear is very sensitive to this frequency so a higher frequency may be quieter.

Tape playback amplifiers generally have lowest amplification at 6~10KHz where the tape head produces highest output, so the circuit should be less sensitive to interference in this range. If that isn't sufficient then you could increase it to 15-20KHz.

I tried filter caps on the motor terminals, which did not help.

The motor should already have suppression caps on it. If it doesn't then a 0.01~0.1uF ceramic cap from each terminal to the case will be sufficient to suppress brush noise. Higher values are counter-productive because they cause current spikes as they are rapidly charged and discharged by the PWM pulses.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.