Experimentation with high speed PWM

A project log for LowFER Transmitter for your Arduino

Transmit on the license free Longwave band using your Arduino!

casey-halversonCasey Halverson 07/22/2015 at 21:380 Comments

I have been experimenting with high speed PWM on the Arduino. After some exploring, I found a couple of libraries:

I am currently using Sam Knight's library to generate PWM at 170,000 Hz, which seems to work just fine.

For my first test, I connected a short wire (4") directly to the PWM line and placed it next to my Sony ICF-SW7600CR. I heard nothing on AM -- which is a good thing. After I switched it into SSB mode, I heard a CW tone! Using my fine tuning knob, I was able to raise and lower the tone's frequency. Tuning off frequency eliminated the tone, which I found a bit surprising. The PWM was remarkably clean with zero filtering.

I looked around for harmonics. I found one on 340 KHz (Frequency * 2), but it was a bit weaker. I was unable to find one on 510 KHz and higher due to some very strong AM stations in my area.

In order to comply with 20dB down from my carrier, and to play nice with everyone, this circuit is going to need a Low Pass Filter (LPF). This allows lower frequencies to pass unhindered, while attenuating higher frequencies. This will help squash this 340 KHz harmonic and anything up the band. There may also be some random spurs from the PWM signal that will also be attenuated, but I will not know what I am looking for until I put it on a spectrum analyzer.

Now for a better antenna...