Definately Squarewave. This is about a third of the way on the POT.

Well, before you change pics. Can you give this program a quick try.
It's just a single channel, no interrupts. It runs at about 3.8khz
It should give an indication whether the higher frequencies of hardware PWM will help or not.
Code:
@ __CONFIG _HS_OSC & _WDT_ON & _PWRTE_ON & _MCLRE_OFF
DEFINE OSC 20
CLEAR
ANSEL=%00110001
CMCON=7
TRISA=%11111111 'set PORTA as all input
TRISC=%00000001 'set PORTC as all output apart from RC0
PWM1 VAR PORTC.2
DutyCycle1 VAR WORD
GoDone VAR ADCON0.1
ADCON1 = %00110000
ADCON0 = %00000011
while GoDone : wend
Main:
if ADRESH > 1 then
high PWM1
DutyCycle1 = ADRESH
GoDone = 1
pauseUS DutyCycle1
low PWM1
pauseUS 255 - DutyCycle1
while GoDone : wend
else
low PWM1
GoDone = 1
while GoDone : wend
endif
goto Main
Bookmarks