Electrical – Negative voltage PWM

icl7660negativepwmvoltage

I'm relatively new to EE, sorry if this is newbie territory.

With an Arduino, I am trying to emulate a device that outputs NEGATIVE 3.3v PWM (0V or -3.3V, square wave) at around 500 hz.

Obviously, the PWM out of an arduino is 0V or +5V (or +3.3v depending on the arduino) but there is no way to output negative voltage.

I've researched feeding the signal through a ICL7660 but it's unclear if the 7660 will produce a clean-enough negative square wave.

I also researched the MAX749, which will produce a negative voltage from a PWM, but it's unclear to me if the MAX749 will actually output a negative PWM square wave, or if it will instead output smooth negative (but variable) voltage output based on the duty cycle of the input PWM'd positive voltage source.

I've also heard that maybe I could accomplish this with a MAX232 since the RS232 standard has negative voltage signals as part of the communication standard but have no clue how to go about this.

Thoughts?

Best Answer

You can use the following circuit:

enter image description here

If the microcontroller generates a positive PWM signal, the diode will charge Uc to its maximum value (i.e. a constant value of 3.3 V or 5 V depending on your microcontroller).

Then $$Vout=-Uc + Vin$$ and therefore Vout will swing between 0 and -3.3 (or -5 V) as you want. This assumes a perfect diode with a 0 V drop, I guess that a Schottky diode should be fine for your application.