Sida 1 av 2

Liten PWM - 555 fråga

Postat: 20 maj 2007, 17:09:14
av Eelector
Hej. Tänkte göra mig en LED dimmer med en 555 baserad PWM-krets.

Hittade detta schema
http://www.dprg.org/tutorials/2005-11a/

Skall driva en hel del leds (uppåt 400 mA @ 15V) men har ingen mosfet hemma. Funkar det byta motfeten rakt av mot en lite kraftigare småsignaltransistor (NPN) ex BC141-10?

Postat: 20 maj 2007, 17:29:50
av SvenW
Ja, förutsatt att 555 orkar driva basen och med god marginal hinner tömma/fylla transistorns basladdning. Hittar du bara en spicemodell för transistorn så ger en spicesimulering säkert svaret.

Det finns en annan sak att tänka på. Lysdioder fungerar bäst med jämn strömförsörjning. En pulsad ström ger förluster och sämre ljusutbyte. Så det kan löna sig att komplettera med induktor och dioder.

Postat: 20 maj 2007, 17:46:55
av Mindmapper
Schemat var lite ovanligt eftersom det använder pin 7 som utgång.
Använder du pin 3 - till basresistor - bas BC141 så går det bra.
Du måste ha basresistor!

Postat: 20 maj 2007, 17:52:31
av Eelector
Usch vad komplicerat det blev :) Spice har jag noll koll på, och jag är nog inte riktigt med på hur induktor och dioder skall kopplas. Spolar har jag dåligt med dessutom. Grejen är alltså att hitta en transistor med liten basladdning? Jag har ett gäng olika transistorer men vet inte riktigt hur jag skall hitta en som passar applikationen.

Ex på transistorer som finns tillgängliga:

BC140
BC141
2n2222 (om den räcker klarar av att hantera effekten)?
BD193
2n2219
2n3053

Postat: 20 maj 2007, 17:55:11
av Eelector
Tack, Mindmapper. Ja det kansek bättre med någon annan koppling. Kanske ett helt annat schema? Någon som har något på lager? (kan inte nog om 555:an för att lista ut detta själv)

Postat: 20 maj 2007, 18:08:01
av Mindmapper
Tror nog att kopplingen är ok förrutom att dom verkar ha glömt att koppla ihop 6 och 7. Det finns kopplingar med 555 som är lika denna för PWM. Normalt använder man pin 3 till transistorn. Det enda du behöver göra är att koppla som det står men ta basen via en resistor till pin3.
Behöver du hjälp med resistorn finns det en länk här på forumet om en blinkers med led som beskriver. Glöm spolar och dioder men inte strömbegränsningsmotstånd till bas och LED. Googla på 555 och pwm så får du nog träff.

Postat: 20 maj 2007, 18:10:52
av Eelector
Tackar! :)

Postat: 20 maj 2007, 18:13:57
av Mindmapper
BC141 blir perfekt!! 8)

Postat: 20 maj 2007, 19:52:55
av SvenW
Jag har gjort en liten spicesimulering bara för att illustera problemet. Tyvärr hittade jag ingen spicemodel för BC141-10 så jag tog en 2N2222 istället. Detta är en snabb switch så den är inte representativ.

Har lagt temporärt upp en plot på http://web.comhem.se/~u31829222/index.html

titta under Screenshots
"Hec simulering 2N2222 (xhec-0.1.1)"
och
"Hec simulering 2N2222 plot (hec-0.1.1)"

Efterledningstiden är här ca 150 ns.
Andra transistorer kan ha en efterledning på flera mikrosekunder.

Kör man med pulsfrekvenser kring en kHz är det inget större problem, men vid högre frekvenser får man se upp.

Postat: 20 maj 2007, 19:57:32
av bengt-re
Jag har gjort små PWM-styrningar med knappinterface med Pic10F. Ger lite större flexibilitet än att köra med 555 då denna brukar ha svårt att gå ifrån 0-100% med konstant pwm-frekvens

Postat: 20 maj 2007, 20:01:44
av Micke_s
Eller om du vill ha det hålmonterat så kan du lika bra ta PIC12F/attiny13/attiny45 osv.

Postat: 20 maj 2007, 20:03:58
av bengt-re
10F2XX är ju mindre så lättare att göra något superkompakt med den, men gillar man inte dessa små kapslar (som faktist är rätt lätta att löda - få ben ju) så finns 10F som hålmonterad ochså, men då kan man iofs lika gärna använda 12F629 om man ändå står ut med en stor 8-pin DIL

http://web.telia.com/~u95601791/dimmer.png

EDIT:

Har för att detta var koden:


list p=10F206 ; list directive to define processor

#include <p10f206.inc> ; processor specific variable definitions







;Center LED on GP0

;Two seis LED´s on GP1 and GP2

;on/off on GP1

;down on GP0

;up on GP3

;out on GP2





__CONFIG _CP_OFF & _WDT_OFF & _MCLRE_OFF & _IntRC_OSC

;******************************************************************************

;Reset Vector

;******************************************************************************

duty EQU 0x10

k EQU 0x11

j EQU 0x12

i EQU 0x13

x EQU 0x14

;*************************************

org 0x3FF

org 0x00

movwf OSCCAL

bcf OSCCAL,FOSC4

movlw b'10000000'

option

movlw b'11111011'

tris GPIO

movlw b'11110011'

movwf CMCON0

movlw b'00000111'

movwf duty

goto MAIN

; ====================================



MAIN

movlw 0x20

movwf x

movf duty,f

btfss STATUS,Z

call dutyout

movf duty,w

btfss GPIO,1

clrf duty

btfss GPIO,3

incf duty,f

btfss GPIO,0

decf duty,f

movlw b'00001111'

andwf duty

goto MAIN







dutyout

movf duty,w

movwf i

movwf j

movlw b'11110000'

addwf j,f

incf i

bsf GPIO,2

wait1

decfsz i

goto wait1

bcf GPIO,2

wait2

incfsz j

goto wait2

decfsz k

goto dutyout

decfsz x

goto dutyout

return



END

Postat: 20 maj 2007, 20:29:05
av Eelector
Har både chip och programmerare. Har 12F629 (som nog inte har hardware pwm), 16f628 och 16f877.

Har bara testat PIC med några färdiga hex-filer än så länge. Har programmerat en hel del på "stora" datorer men inte assambler.

Tänkte ta detta som nästa steg. Ville ha 555 kretsen mest för att se hur ljusstyrkan blir vid olika "pådrag".

När jag får tid och ork så blir det nog en pic i alla fall.
Då blir det kanske fjärrstyrning (IR, RC5) med.

Postat: 20 maj 2007, 20:31:19
av bengt-re
Ja, tar man en en PIC med hw-PWM så blir det givetvis mycket enklare, men finns inga riktigt små med hw-pwm och skall uC ändå inte göra så mycket annat än att generera PWM så går det bra att köra sw-pwm

Postat: 20 maj 2007, 20:39:01
av Micke_s
PIC12F683 har en pwm kanal

Attiny13 och Attiny45 har t.ex. 2 kanaler delat på 1 timer. tror att man kan få ut 4 st hw:pwm:er ur attiny45