Dit is de werking van een PWM signaal "links". Op het rechtse plaatje staat een PFM signaal, daar is de pulsbreedte een vast gegeven en varieert de frequentie.
Bij pwm is het zo dat de frequentie vast is en dat de pulsbreedte varieert. Stel dat je de frequentie instelt op 10KHz dan blijft dat zo, alleen de pulsbreedte wordt aangepast.
Hier een klein voorbeeld:
pic basic code:
Declare Adin_Res = 8
Declare Adin_Tad = frc
Declare Adin_Stime = 50
Declare CCP1_Pin PORTB.0
Dim POTMETER As Byte
START:
POTMETER = ADIn 0
HPWM 1,POTMETER,10000
GoTo START.
END
Je selecteert eerst je HPWM poort en je maakt een variabele aan bijv. potmeter. Dat wordt in dit geval een byte. De potmeter lees je in met een analoge ingang, de waarde van je pulsbreedte kan nu variëren tussen de 0 en 255.
Je kunt het ook via drukknoppen doen, dan maak je een teller aan die je via de drukknoppen bediend. De teller laat je dan van 0 tot 255 tellen en van 255 tot 0. Dat kun je doen met DEC en INC.
Wat jij nu gedaan hebt is twee uitgangen aan elkaar geknoopt en dat gaat niet, dat zal even werken maar niet voor lang, dat gaat stuk. Dus gewoon één HPWM uitgang gebruiken en zoals Arco al zei, zet er een fet driver tussen.
Misschien heb je dit al eens gelezen, maar misschien ook niet. Staat het één en ander in over mosfets en drivers.
https://www.circuitsonline.net/artikelen/view/41