Problem med transistor som ej bottnar
Problem med transistor som ej bottnar
Har en kWh-mätare med open-collector puls utgång.
Lägger jag +5 V via 500 ohm på kollektorn och emitter
direkt på jord så mäter jag +0,5-0,6 V på den negativa
pulsen (30 mS).
Jag behöver högst +0,4 för att TTL skall tolka säkert som "0".
Hur gör jag?
Har lyckats få det att fungera med en ingång på parallellporten
pinne 12 direkt på kollektorn samt emitter till jord men den missar
puler ganska ofta. (Har ett VB-program som räknar pulserna)
Lägger jag +5 V via 500 ohm på kollektorn och emitter
direkt på jord så mäter jag +0,5-0,6 V på den negativa
pulsen (30 mS).
Jag behöver högst +0,4 för att TTL skall tolka säkert som "0".
Hur gör jag?
Har lyckats få det att fungera med en ingång på parallellporten
pinne 12 direkt på kollektorn samt emitter till jord men den missar
puler ganska ofta. (Har ett VB-program som räknar pulserna)
500 ohm är inte mycket.
Prova med 10kohm.
> Jag behöver högst +0,4 för att TTL skall tolka säkert som "0".
Kör *någon* med TTL i dag ??
Jag trodde alla hade gått över till 74HC eller liknande...
Dessutom, om utgången har en bipolär trissa, så kan den inte
gå till 0V, du får alltid en diodövergång...
Prova med 10kohm.
> Jag behöver högst +0,4 för att TTL skall tolka säkert som "0".
Kör *någon* med TTL i dag ??
Jag trodde alla hade gått över till 74HC eller liknande...
Dessutom, om utgången har en bipolär trissa, så kan den inte
gå till 0V, du får alltid en diodövergång...
- Schnegelwerfer
- Inlägg: 1863
- Blev medlem: 8 november 2004, 13:46:56
-
- Inlägg: 7010
- Blev medlem: 31 augusti 2006, 16:42:43
- Ort: Jamtland
Är drivningen på basen tillräcklig, så ska den bottna och du ska
inte ha så mycket mera än 0,1V mellan kollektor-emitter, även med 500ohm. Men som Sodjan säger så prova med högre motstånd.
Det ska inte vara något problem att få detta att funka med opencollector.
Tror ej detta har så mycket med tråden opto att göra, borde flyttas till allmänt.
inte ha så mycket mera än 0,1V mellan kollektor-emitter, även med 500ohm. Men som Sodjan säger så prova med högre motstånd.
Det ska inte vara något problem att få detta att funka med opencollector.
Tror ej detta har så mycket med tråden opto att göra, borde flyttas till allmänt.
-
- Inlägg: 7010
- Blev medlem: 31 augusti 2006, 16:42:43
- Ort: Jamtland
Är det en optokopplare så är det rätt tråd. Inget att be om ursäkt för. Men det framgick inte så tydligt.
De flesta optokoplare klarar ej av så mycket kollektorström.
I det fallet ger 500ohm väl mycket ström i kollektorn.
Ic =5V/500 = 0,01A = 10mA
Eftersom transistorn har en viss förstärkning behövs det visst mycket drivning på basen för att få transistorn att bottna. Drivningen i det här fallet
är ljus, som du knappast kan ändra. Alternativet för att få den att bottna mer i detta fall är alltså att minska kollektorströmmen.
1Kohm ger 5mA
10kohm ger 0,5mA
Är ej säker på om 10kohm räcker som pullup för parallellporten.
Vore också bra att veta vilken optokopplare det är.
De flesta optokoplare klarar ej av så mycket kollektorström.
I det fallet ger 500ohm väl mycket ström i kollektorn.
Ic =5V/500 = 0,01A = 10mA
Eftersom transistorn har en viss förstärkning behövs det visst mycket drivning på basen för att få transistorn att bottna. Drivningen i det här fallet
är ljus, som du knappast kan ändra. Alternativet för att få den att bottna mer i detta fall är alltså att minska kollektorströmmen.
1Kohm ger 5mA
10kohm ger 0,5mA
Är ej säker på om 10kohm räcker som pullup för parallellporten.
Vore också bra att veta vilken optokopplare det är.
Nej, jag var inte tydlig nog, trodde det var allmänt känt att
man optokopplar från en trefas kWh-mätare till open collector (S0),
nåja det är lugnt.
Jag har tyvärr inte specen för min mätare men på andra fabrikat hittar man
t.ex.
Open collector output (SO)
Optocoupler
Impedance
Pulse duration
max. 30 V / 20 mA and 5 V min.
100 Ω
50 ms
En annan:
Open collector (NPN transistor )
VON 1.2 VDC / max. 100 mA
VOFF 30 VDC max.
Pulse duration 220 ms (ON), ≥ 220 ms (OFF)
According to DIN43864
Insulation By means of optocouplers,
2000 VRMS outputs to
measuring inputs
Här ser man att VON är 1,2 V och man kanske inte kan förvänta sig
lägre spänning än minst 0,5-0,6.
Jag bara undrar vad en vanlig skrivare till PC har för krets för att
signalera out of paper (pinne 12 som jag använder). Jag kan tänka mig att det kunde vara en logikkrets med open collector out med tillräckligt pullup R.
Har ingen gammal skrivare jag kan kolla på.....
Bild på en del av mätaren (från mitt VB program):
http://web.telia.com/~u30325494/diagram.htm
man optokopplar från en trefas kWh-mätare till open collector (S0),
nåja det är lugnt.
Jag har tyvärr inte specen för min mätare men på andra fabrikat hittar man
t.ex.
Open collector output (SO)
Optocoupler
Impedance
Pulse duration
max. 30 V / 20 mA and 5 V min.
100 Ω
50 ms
En annan:
Open collector (NPN transistor )
VON 1.2 VDC / max. 100 mA
VOFF 30 VDC max.
Pulse duration 220 ms (ON), ≥ 220 ms (OFF)
According to DIN43864
Insulation By means of optocouplers,
2000 VRMS outputs to
measuring inputs
Här ser man att VON är 1,2 V och man kanske inte kan förvänta sig
lägre spänning än minst 0,5-0,6.
Jag bara undrar vad en vanlig skrivare till PC har för krets för att
signalera out of paper (pinne 12 som jag använder). Jag kan tänka mig att det kunde vara en logikkrets med open collector out med tillräckligt pullup R.
Har ingen gammal skrivare jag kan kolla på.....
Bild på en del av mätaren (från mitt VB program):
http://web.telia.com/~u30325494/diagram.htm
-
- Inlägg: 7010
- Blev medlem: 31 augusti 2006, 16:42:43
- Ort: Jamtland
Trevligt program.
Gamla skrivare har TTL-kretsar som driver utsignalerna.
Dom nya har säkert något modernare.
Prova att koppla in en NPN-transistor mellan mätaren och
datorn. När den bottnar ska den bara ha ca 0,1V mellan
Kollektor och emitter. Begränsa strömmen till basen med
1kohm eller liknande. Du får en invertering av signalen
men det gör väl ingenting.
Annars gör du som Schnegelwerfer sa.
Gamla skrivare har TTL-kretsar som driver utsignalerna.
Dom nya har säkert något modernare.
Prova att koppla in en NPN-transistor mellan mätaren och
datorn. När den bottnar ska den bara ha ca 0,1V mellan
Kollektor och emitter. Begränsa strömmen till basen med
1kohm eller liknande. Du får en invertering av signalen
men det gör väl ingenting.
Annars gör du som Schnegelwerfer sa.
Trevligt program....
Tack...
Nu har jag testat med en npn och erhöll då nästan 0 V
i vila och +4 puls.
Det är uppenbart inte detta som är problemet. Programmet missar ändå.
Nu har ja att välja mellan PC hårdvara eller programmet.
Jag lutar åt att Visual Basic inte riktigt hänger med.
Jag har en infinite loop som testar inporten och när ändring
sker uppdaterar jag 500-räknaren. Jag får undersöka möjligheten
med interrupt-programmering ev. en subrutin i C++ eller nåt.
Pust.. med en microswitch mellan pinne 12 och 25 fungerar det varje gång,
men då är ju pulsen lite längre än 30 mS förstås som manuellt påverkad. Eftersom pulserna
kommer så sällan skulle man ju kunna förlänga dom, elyt kanske
Tack...
Nu har jag testat med en npn och erhöll då nästan 0 V
i vila och +4 puls.
Det är uppenbart inte detta som är problemet. Programmet missar ändå.
Nu har ja att välja mellan PC hårdvara eller programmet.
Jag lutar åt att Visual Basic inte riktigt hänger med.
Jag har en infinite loop som testar inporten och när ändring
sker uppdaterar jag 500-räknaren. Jag får undersöka möjligheten
med interrupt-programmering ev. en subrutin i C++ eller nåt.
Pust.. med en microswitch mellan pinne 12 och 25 fungerar det varje gång,
men då är ju pulsen lite längre än 30 mS förstås som manuellt påverkad. Eftersom pulserna
kommer så sällan skulle man ju kunna förlänga dom, elyt kanske

-
- Inlägg: 7010
- Blev medlem: 31 augusti 2006, 16:42:43
- Ort: Jamtland
Jag tror jag vet vad egentliga problemet är. Datorn...
Jag använder en gammal långsam dator med liten hårddisk, 2.5 Gb,
och i samma dator kör jag temperaturmätningsprogrammet samt
ftp- upp till servern.
Då jag uppdaterar både puls- och kWhfiler blir det tydligen för mycket
för datorn, jag kör W98 på det dessutom. Jag tog bort uppdateringen
av pulser-filen och lät kWh-filen vara kvar och då går det mycket bättre.
Det är då sannolikt att hårdvaran klarar av pulserna men programmet
i miljön hänger inte med.
Jag tänker nu försöka ändra på så sätt att jag sätter i en större
och snabbare hårddisk, kanske Windows XP där man kan ställa
högre prioritet på processen. Vi får se.
Tack för alla tips, dom finns ju om jag behöver dom senare.
Ha det,
Ralph
Jag använder en gammal långsam dator med liten hårddisk, 2.5 Gb,
och i samma dator kör jag temperaturmätningsprogrammet samt
ftp- upp till servern.
Då jag uppdaterar både puls- och kWhfiler blir det tydligen för mycket
för datorn, jag kör W98 på det dessutom. Jag tog bort uppdateringen
av pulser-filen och lät kWh-filen vara kvar och då går det mycket bättre.
Det är då sannolikt att hårdvaran klarar av pulserna men programmet
i miljön hänger inte med.
Jag tänker nu försöka ändra på så sätt att jag sätter i en större
och snabbare hårddisk, kanske Windows XP där man kan ställa
högre prioritet på processen. Vi får se.
Tack för alla tips, dom finns ju om jag behöver dom senare.
Ha det,
Ralph