Ik ben met Picbasic bezig en wil op termijn een schakeling bouwen om 3 groepen lumileds (RGB) individueel aan te sturen.
Nu gebruik ik PWM (software PWM) maar die stuurt alleen 1-en (of hoog impedant) terwijl ik mijn stroombronnetje voor de leds naar massa wil trekken om aan te sturen.
Is er een eenvoudige manier om dit softwarematig aan te passen zodat de led gaat branden bij een hoge toestand. PWM inverteren dus o.i.d.
Momenteel inverteer ik met een transistor die via pull-up weerstand naar de massa trekt, maar minder componenten is beter.

Grtz

Hallo.

Zo dus (HPWM 1,~waarde,frequentie)

Gr Lambiek.

Da's voor HPWM, ik gebruik PWM wegens het gebrek aan meer dan 1 HPWM-uitgang (16F628).
Ik denk ook niet dat dit de oplossing is. Zo inverteer je alleen de duty-cycle. Ik bedoel dat bij het uitsturen van een 0 de uitgang niet naar massa wordt getrokken, maar in hoog impedantie-toestand gaat. Mijn led blijft dus gewoon branden want ik moet de ingang van de stroombron naar 0 trekken.

Grtz

Ok maar dit is de (~) code voor inverteren, dus het maakt niet uit waar je het voor gebruikt.

Gr Lambiek.

Of beboel je dit misschien.

Symbol On = 1 ;1 = hoog
Symbol off = 0 ;0 = laag

Dat wordt dan.

Symbol On = 0 ;0 = hoog
Symbol off = 1 ;1 = laag

Gr Lambiek.

Je kan zelf een PWM routine schrijven die dit doet.

Ook kan je je bipolaire transistor vervangen door een mosfet: heb je al weer een weerstand minder (maar beter is om toch een gate weerstand te gebriken, anders gebruik je de interne stroombegrenzing van de PIC).