Dimensionera PNP switch för snabba signaler?
Dimensionera PNP switch för snabba signaler?
Ska driva en optokopplare från en uC och behöver ha en PNP trissa mellan för att få rätt nivåer på andra sidan. Problemet är att jag får väldigt asymmetriska kurvformer på andra sidan. Har kommit fram till att det är trissan som inte hinner stänga tillräckligt snabbt. Har kopplat emitter till matningen och kollektorn till optokopplaren. Mellan uC och bas har jag en basresistor och sen mellan emitter och bas ytterligare en resistor.
Trissan är en BC807-40 med 8mA genom kollektorn och 3mA basström. Minsta bittiden är 4us. Gissar på att jag bottnar trissan för hårt vilket gör att den stänger långsamt. Undrar därför hur man bör tänka här? Ofta står det i de flesta exemplen att trissan minst ska bottna och sen ska man lägga på lite extra marginal i basström. Men om man har snabba flanker bör man kanske lägga sig precis så att trissan bottnar?
Provade att koppla upp det hela i LTSpice och hoppade till en början över emitter till bas resistorn. Vid låga värden på basresistorn så fick jag snabba stigtider men långsamma falltider. Gissar på att trissan bottnar för hårt. Vid höga värden på basresistorn fick jag långsamma stig och falltider vilket tyder på att det är svårare att stänga än att öppna trissan genom samma basresistans. Satte sen tillbaks emitter till bas resistorn och började testa med olika värden för att få snabbare falltider och lyckades få det lite bättre.
Min fråga är då om de är vanligt att man behöver justera stig och falltider individuellt i dessa fall? Och gör man det då helst med hjälp av relationen mellan emitter till basresistorn och basresistorn? Eller har jag helt enkelt valt en alltför långsam trissa?
Trissan är en BC807-40 med 8mA genom kollektorn och 3mA basström. Minsta bittiden är 4us. Gissar på att jag bottnar trissan för hårt vilket gör att den stänger långsamt. Undrar därför hur man bör tänka här? Ofta står det i de flesta exemplen att trissan minst ska bottna och sen ska man lägga på lite extra marginal i basström. Men om man har snabba flanker bör man kanske lägga sig precis så att trissan bottnar?
Provade att koppla upp det hela i LTSpice och hoppade till en början över emitter till bas resistorn. Vid låga värden på basresistorn så fick jag snabba stigtider men långsamma falltider. Gissar på att trissan bottnar för hårt. Vid höga värden på basresistorn fick jag långsamma stig och falltider vilket tyder på att det är svårare att stänga än att öppna trissan genom samma basresistans. Satte sen tillbaks emitter till bas resistorn och började testa med olika värden för att få snabbare falltider och lyckades få det lite bättre.
Min fråga är då om de är vanligt att man behöver justera stig och falltider individuellt i dessa fall? Och gör man det då helst med hjälp av relationen mellan emitter till basresistorn och basresistorn? Eller har jag helt enkelt valt en alltför långsam trissa?
Re: Dimensionera PNP switch för snabba signaler?
Det brukar vara optokopplaren som är trög! Ska man ha snabba signaler igenom en optokopplar ska man antingen ha en speciell eller trilla lite på kopplingen och styrströmmen. Du bottnar sannolikt optokopplaren för hårt helt enkelt.
Re: Dimensionera PNP switch för snabba signaler?
Om man lägger tillrätta dom nivåer som den bipolära transistorn ska jobba mot kanske det löser problemet?
I synnerhet att den ska ligga nära gränserna så att överslag sker snabbt. En form av bistabil DC-offset.
En lösning borde vara två parallellkopplade seriekopplingar av schottydiod + resistans för att begränsa strömmen asymetriskt?
I princip att man trimmar mellan vilka strömlägen som den bipolära transistorn ska jobba. Då bipolära transistorer är strömstyrda.
Alternativt att man fixerar spänningen med två zenerdioder.
I synnerhet att den ska ligga nära gränserna så att överslag sker snabbt. En form av bistabil DC-offset.
Kod: Markera allt
5 --"1"
4
3 --"1"
2 --"0"
1 --"0"
En lösning borde vara två parallellkopplade seriekopplingar av schottydiod + resistans för att begränsa strömmen asymetriskt?
I princip att man trimmar mellan vilka strömlägen som den bipolära transistorn ska jobba. Då bipolära transistorer är strömstyrda.
Kod: Markera allt
GPIO --|>----[XX]-- PNP-bas
--[XX]----<|--
Kod: Markera allt
GPIO --|>-- PNP-bas
--<|--
- prototypen
- Inlägg: 11108
- Blev medlem: 6 augusti 2006, 13:25:04
- Ort: umeå
Re: Dimensionera PNP switch för snabba signaler?
Transistorn hänger med i typ 100 MHz medan optokopplare ligger runt 1 MHz så det är nog så som IceCap skriver, man får labba runt optokopplaren.
Men varför en transistor för att driva 8 mA? Det brukar väl vara bra tryck i uC utgångar.
Om du ändå envisas med en transistor, sätt den som emitterföljare, kommer aldrig att bottna.
Kommer du åt basen på fototransistorn så kan ett motstånd därifrån till fototransistorns emitter snabba på falltiden.
Sedan finns det snabba optokopplare, t.ex. HCPL 2400 m.fl.
Protte
Men varför en transistor för att driva 8 mA? Det brukar väl vara bra tryck i uC utgångar.
Om du ändå envisas med en transistor, sätt den som emitterföljare, kommer aldrig att bottna.
Kommer du åt basen på fototransistorn så kan ett motstånd därifrån till fototransistorns emitter snabba på falltiden.
Sedan finns det snabba optokopplare, t.ex. HCPL 2400 m.fl.
Protte
Re: Dimensionera PNP switch för snabba signaler?
Behöver PNP kopplingen eftersom optokopplaren inverterar signalen. Optokopplaren är av snabbare typ med logikutgång HCLP 0661. Har mätt med skåpet på ett par ställen och det är mellan uC sidan av basresistorn och basen det är stor fördröjning vid frånslag dvs när basen ska upp till 3,3V igen. Tycker också det inte borde vara något problem att få igenom denna hastighet av data i en vanlig trissa men det kanske börjar bli viktigt att välja rätt arbetspunkt för att få rätt stig och falltider. Får fördröjningar upp mot 1us från att flanken på uC stiger till att basen går upp till 3,3V.
Re: Dimensionera PNP switch för snabba signaler?
*tungt suck* Än en tråd där vital information undanhåll vilket ger en massa onödiga inlägg.
Problemet är alltså inte att du har en optokopplare, det är att du har en digital utgång som ska inverteras och din lösning med PNP-transistor är dålig.
Ta en TC7S04F istället! (73-298-97)
Problemet är alltså inte att du har en optokopplare, det är att du har en digital utgång som ska inverteras och din lösning med PNP-transistor är dålig.
Ta en TC7S04F istället! (73-298-97)
- prototypen
- Inlägg: 11108
- Blev medlem: 6 augusti 2006, 13:25:04
- Ort: umeå
Re: Dimensionera PNP switch för snabba signaler?
Men det beror ju bara hur man kopplar lysdioden, endera mot Vcc eller GND, behövs inte inverteras med transistor.
Protte
Dessutom har jag lärt mig att det går fort och enkelt att invertera i mjukvara.
Protte
Dessutom har jag lärt mig att det går fort och enkelt att invertera i mjukvara.
Re: Dimensionera PNP switch för snabba signaler?
Har aldrig hört talas om HCLP 0661, däremot HCPL-0661
Men jag antar att protte löste hela problemet åt dig.
Men jag antar att protte löste hela problemet åt dig.
- prototypen
- Inlägg: 11108
- Blev medlem: 6 augusti 2006, 13:25:04
- Ort: umeå
Re: Dimensionera PNP switch för snabba signaler?
Jag har en koppling för snabba optokopplare, zenerdioden och 0,1 uF ordnar till en spänning som tillsammans med de båda 1KΩ motstånden reverserar spänningen över lysdioden och även dränerar bort lite läckström när lysdioder ska slockna.
Detta var nog behövligt då det drevs med en öppen kollektor. Jag har inte konstruerat så jag VET inte.
Protte
Detta var nog behövligt då det drevs med en öppen kollektor. Jag har inte konstruerat så jag VET inte.
Protte
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Re: Dimensionera PNP switch för snabba signaler?
Men snälla... det är inte optokopplaren som är problemet! Den har en transistorutgång med emittern internt kopplat till GND. Alltså behövs bara ett pull-up motstånd och ovannämda inverter för att få signalen att passa i en UART.
Men då kommer min undran: VARFÖR invertera på mottagarsidan? Varför inte på sändarsidan?
Som jag förstår det är det typ UART-till-UART med optisk isolering som gäller och då är det väl bara att låta sändar-LED'n ligga mellan GND och UART-TX eller VDD och UART-TX, beroende på vilken polaritet man vill ha ut. KISS!
Men då kommer min undran: VARFÖR invertera på mottagarsidan? Varför inte på sändarsidan?
Som jag förstår det är det typ UART-till-UART med optisk isolering som gäller och då är det väl bara att låta sändar-LED'n ligga mellan GND och UART-TX eller VDD och UART-TX, beroende på vilken polaritet man vill ha ut. KISS!
Re: Dimensionera PNP switch för snabba signaler?
>Varför inte på sändarsidan?
Men det är väl det han har gjort?
Men det är väl det han har gjort?
Sedan kan det finnas en mycket god anledning att vara noga med om signalen är inverterad eller inte i själva optokopplaren/lysdioden: Man kanske inte vill slösa ström och låta lysdioden lysa (bränna ut sig) kontinuerligt om man bara sänder data en gång i timmen... Då ser man till att "space" (etta) från UART betyder släckt diod och "mark" (nolla) betyder ljus. Därför brukar man koppla lysdioden mellan VCC och UART-utgången (via ett motstånd).Ska driva en optokopplare från en uC och behöver ha en PNP trissa mellan för att få rätt nivåer på andra sidan.
Re: Dimensionera PNP switch för snabba signaler?
En LED bränns inte ut av att vara på! Eller - jo, den har runt 50k ljustimmar vilket är 5,7 år och då menas vid max. strömmen. Sänka den från 4mA till 3mA och den håller livet ut. Argumentet förkastas!
Och TS har helt klart inte satt LED'n på rätt ställe när han behöver invertera signalen!
Om man tar den OC och kopplar LED anod till VDD och signalen via strömbegränsarmotståndet till katoden kommer utgångssignalen att vara icke-inverterat.
Kopplar man istället LED katod till GND och signalen via strömbegränsarmotståndet till anoden blir utgångssignalen inverterat.
Så enkelt är det.
EDIT: klantade mig med anod/katod på ett punkt.
Och TS har helt klart inte satt LED'n på rätt ställe när han behöver invertera signalen!
Om man tar den OC och kopplar LED anod till VDD och signalen via strömbegränsarmotståndet till katoden kommer utgångssignalen att vara icke-inverterat.
Kopplar man istället LED katod till GND och signalen via strömbegränsarmotståndet till anoden blir utgångssignalen inverterat.
Så enkelt är det.
EDIT: klantade mig med anod/katod på ett punkt.
Senast redigerad av Icecap 14 januari 2011, 11:31:34, redigerad totalt 1 gång.
- prototypen
- Inlägg: 11108
- Blev medlem: 6 augusti 2006, 13:25:04
- Ort: umeå
Re: Dimensionera PNP switch för snabba signaler?
Visst ska det vara anod IceCap.
<<Om man tar den OC och kopplar LED katod till VDD och signalen via strömbegränsarmotståndet kommer utgångssignalen att vara icke-inverterat.>>
Eller var det någon annan koppling du tänkte på?
P
<<Om man tar den OC och kopplar LED katod till VDD och signalen via strömbegränsarmotståndet kommer utgångssignalen att vara icke-inverterat.>>
Eller var det någon annan koppling du tänkte på?
P
Re: Dimensionera PNP switch för snabba signaler?
Dang! You got me! Mutterfunker! *AAAAaaaaahhhhhhh....*
OK då, var kinkig
Fixar i originaltexten...
OK då, var kinkig
Fixar i originaltexten...
