I have a protoboard microphone amp powered by 12V with a 9V regulator feeding an Uno's Vin. WHen I enable PWM, the amp output shows significant 500Hz and 1000Hz PWM artifacts. I assume the PWM is feeding back into the circuit through the Vin line. There is a 100uF cap at the 9V regulator output feeding the Uno, but perhaps I need a small value ceramic there also? What about a small resistor in line with the Uno's Vin?
Do you have schematics of your circuit?
What about a small resistor in line with the Uno's Vin?
That won't help in your described problem.
WHen I enable PWM, the amp output shows significant 500Hz and 1000Hz PWM artifacts.
Which amp? What do you use PWM for?
No schematic at the moment. The inline resistor would be in the line from 9v regulator to Uno to form an RC filter. Microphone amp (gain of 500 over audio range) and PWM controlling LED brightness based on audio input to microphone. A color organ of sorts but with a twist or two. I should also improve the circuit grounds.
I am building something similar at the moment (actually waiting for thr parts). I am planning to do this circuit below based on a tutorial by jeremy blum. This should, just like your description make an LED flash by amplifying the initial low voltage from the audio signal, followed by a buffer and a little storage to smooth the wave.
The pot R1 is needed to fine tune the blinking by trimming the amplification value.
The amplification will cut off the negative part of the wave. The LM2 is kind off like a buffer and R3 and C1 will smooth over the gap that arises when you cut off half the wave.
It is explained in very much detail here (Tutorial 14 for Arduino: Holiday Lights and Sounds – JeremyBlum.com)
Do you have a picture of the PWM artifacts?
The inline resistor would be in the line from 9v regulator to Uno to form an RC filter.
This is not a signal filter, this is decoupling. Forget the resistor.
No need for artifacts pictures any more… the artifacts are GONE.
Took a shotgun approach…
Moved Arduino ground to right at the power input of the circuit.
Added a 0.1uF ceramic cap across the 100uF cap at the LM317 9V regulator output.
Added a 56 Ohm resistor in series with Arduino Vin.
I plan to remove these one at a time to see which had greatest effect. Would like to remove the resistor since that’ll change Arduino input voltage as its load changes and it draws more current. THe inline resistor does make a nice 28Hz lowpass with the 100uF cap, helping to squash the 500Hz and 1000Hz PWM artifacts.