Open drain, hur?

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
Användarvisningsbild
sommarlov
Inlägg: 581
Blev medlem: 28 november 2015, 19:03:40
Ort: 08

Open drain, hur?

Inlägg av sommarlov »

Vill dubbelkolla hur Open Drain fungerar, jag har ett interface till en värmepump där den utgång jag är intresserad av att läsa är Open Drain. Som jag förstått OD är den fladdrande ut vid hög signal och nära noll om det är låg signal, och att man ska (i mitt fall då jag är enda "lyssnaren" på denna) dra den hög via pull-up. Men då jag i nästa steg har en optokopplare blir väl signalen inverterad? Därav min transistor i kretsen nedan. Har jag förstått det hela rätt?
kicad_2023-01-04_20-41-26.png
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
danei
EF Sponsor
Inlägg: 27414
Blev medlem: 2 juni 2003, 14:21:34
Ort: Östergötland
Kontakt:

Re: Open drain, hur?

Inlägg av danei »

Varför inte koppla optokopplaren direkt till utgången utan transistorn?
Användarvisningsbild
sommarlov
Inlägg: 581
Blev medlem: 28 november 2015, 19:03:40
Ort: 08

Re: Open drain, hur?

Inlägg av sommarlov »

Det är här jag är osäker på hur OD fungerar. Om ..
* conn_01 = 0 så kommer den inre transistorn att dra utgången låg?
* conn_01 = 1 så kommer den inre transistorn att dra utgången flytande?

Om det är så det fungerar så kommer min pull-up göra att det blir rätt och jag behöver inte transistorn... ?
Jag vart fundersam om det blir inverterad signal, men om ovan stämmer följer signalen till optkopplaren vad conn_01 säger.
Användarvisningsbild
Icecap
Inlägg: 26636
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Open drain, hur?

Inlägg av Icecap »

Tänk på open-drain som en brytare där ena ändan är kopplar till GND och den andra är ditt inkopplingspunkt.

Det enda signal du får ut är en 0 eller frånkopplat.
Med ett pull-up motstånd får du tydliga 0 och 1.

Om du vill att optokopplaren ska aktiveras när utgången går till 0 ska du koppla den mellan VDD och utgången, såklart med strömbegränsermotstånd i serie.
Användarvisningsbild
sommarlov
Inlägg: 581
Blev medlem: 28 november 2015, 19:03:40
Ort: 08

Re: Open drain, hur?

Inlägg av sommarlov »

Tack!
Mindmapper
Inlägg: 7104
Blev medlem: 31 augusti 2006, 16:42:43
Ort: Jamtland

Re: Open drain, hur?

Inlägg av Mindmapper »

sommarlov skrev: 4 januari 2023, 20:42:10 Vill dubbelkolla hur Open Drain fungerar, jag har ett interface till en värmepump där den utgång jag är intresserad av att läsa är Open Drain. Som jag förstått OD är den fladdrande ut vid hög signal och nära noll om det är låg signal, och att man ska (i mitt fall då jag är enda "lyssnaren" på denna) dra den hög via pull-up. Men då jag i nästa steg har en optokopplare blir väl signalen inverterad? Därav min transistor i kretsen nedan. Har jag förstått det hela rätt?
kicad_2023-01-04_20-41-26.png
Du har redan fått förklaring till funktionen så jag går inte in på den. Jag kommenterar din konstruktion med transistorn BC546. När transistorn leder blir strömmen genom resistorn. I = U/R = 5 / 1000 = 5mA (Jag bortser ifrån att du får ett litet spänningsfall över transistorn (ca 0,1V).

När transistorn inte leder går strömmen genom optokopplarens LED istället. IL2 har ett spänningsfall av max 1,65 V. Nu leder den inte fullt så det blir lite mindre. Vi drar till med 1,5V. Kvar över resistorn blir alltså 3,5V. Strömmen genom resistorn blir alltså 3,5V / 1000 = 3,5 mA. Samma ström går igenom optokopplaren. 3,5 mA blir väldigt lite till optokopplaren. Nästan på gränsen till att den kommer att slå till riktigt. Om det räcker eller inte beror på hur mycket du vill belasta optokopplaren.

Du får också en konstig strömförbrukning. 5mA när du inte har signal till optokopplaren. 3,5 mA när du har signal till optokopplaren.
Kopplar du optokopplaren mellan transistorn och resistorn, dvs i serie med dessa. Då kommer strömmen att bli 0mA genom kretsen utan signal och 3,5mA med signal.

Jag skulle ökat strömmen genom LED i optokopplaren till 5 eller 10 mA. Men eftersom jag inte vet vad du belastar med är det svårt att säga om det är bra eller inte.
Användarvisningsbild
sommarlov
Inlägg: 581
Blev medlem: 28 november 2015, 19:03:40
Ort: 08

Re: Open drain, hur?

Inlägg av sommarlov »

Uppskattas att du kollat, kommer göra justeringar. Tack!
Mindmapper
Inlägg: 7104
Blev medlem: 31 augusti 2006, 16:42:43
Ort: Jamtland

Re: Open drain, hur?

Inlägg av Mindmapper »

Vi kan gå vidare med baskretsen eftersom du verkar vilja ta åt dig och få en bättre förståelse.
Kopplingen som du har transistorn i kallas GE-koppling. Den används mest pga att den har en bra förstärkning både av spänning och ström. Du utnyttjar inte den förmågan.
Strömmen in på basen är beroende av 1 kohms resistorn. Normalt sett så är späningsfallet över basen Ube (spänning bas-emitter) ca 0,6 V. Strömmen Ib blir då Ib = 4,4 / 1000 = 4,4mA I princip lika stor som strömmen på kollektorn Ic. Du använder alltså transistorns möjlighet att förstärka väldigt dåligt. Utan problem klarar den transistorn du använder en förstärkning på 100 ggr. Strömmen på basen skulle alltså kunna vara 100ggr mindre på basen än den ström du vill ha på kollektorn.
Du skulle utan problem kunna ha 10 kohm i baskretsen. Ib blir då 0,44mA. Förstärkt 100ggr skulle du kunna ta ut en kollektorström på 44mA.
Du har alltså marginaler att öka resistorn i baskretsen ännu mera.
Användarvisningsbild
sommarlov
Inlägg: 581
Blev medlem: 28 november 2015, 19:03:40
Ort: 08

Re: Open drain, hur?

Inlägg av sommarlov »

Tack för att du tar dig tid.
För många år sedan läste jag 4-årig teknisk (el), men de kunskaperna är inte purfärska. Jag kommer dock ihåg hFE.
De elgrejer jag gör har så mycket utrymme att ta ut svängarna att jag aldrig behöver fundera på strömanvändning etc, använder mest transistorer som levelshifters 5v<->3.3v då jag bygger allt i mitt hus med esp8266.
Mindmapper
Inlägg: 7104
Blev medlem: 31 augusti 2006, 16:42:43
Ort: Jamtland

Re: Open drain, hur?

Inlägg av Mindmapper »

Kul! Har också börjat lite med ESP8266 och hemautomation, men det har inte blivit så mycket än.
Skriv svar