mikrocontroller.net

Forum: Analoge Elektronik und Schaltungstechnik Transistor: Forward Transconductance


Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich möchte wissen welche Schaltzeiten mein Transistor (BSS123) hat. Ich 
habe folgende Angaben aus dem Datenblatt entnommen:

Was ist Forward Transconductance?

Dieser Wert ist mir doch schon etwas hoch. Schaltzeiten im ns-Bereich 
wären gut.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alex schrieb:

> Was ist Forward Transconductance?

Die Vorwärtssteilheit.  Das ist die Änderung des Drainstroms
bezogen auf eine Änderung der Gate-Source-Spannung.

> Dieser Wert ist mir doch schon etwas hoch.

Er ist für einen heutigen MOSFET OK. :-)

> Schaltzeiten im ns-Bereich
> wären gut.

Hast du ja auch.

Leitwerte (und die Steilheit ist rechnerisch einer) werden in Siemens
gemessen, Abkürzung S.  Zeiten werden in Sekunden gemessen, Abkürzung s.

Ja, die Amis haben damit oftmals so ihre Schwierigkeiten und neigen
zuweilen dazu, Zeiten in Millisiemens anzugeben...

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ah danke. In einem anderem Datenblatt zum selbem Transistor war die 
Angabe in mS. Dachte das sollte Millisekunden heißen. An Siemens habe 
ich garnicht gedacht.

Autor: Alex (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Direkt noch eine kleine Frage.

Wenn ich eine Leitung habe die mittels Pull-Up auf VCC liegt und ich 
diese per N-Channel MOSFET auf GND ziehen will, ist dann der Anschluss 
wie im Bild richtig?

Man merkt vielleicht, dass dies mein erster Versuch an Elektronik ist.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist OK so.

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke.

Nur zur Sicherheit frage ich hier direkt nochmal genau:

Sehe ich das auch richtig das ich mit
DDRA &= ~(1 << DDA0);
PORTA |= (1 << PA0);
den Pin 0 von PortA eines AVRs über den internen Pull-Up auf VCC (5V) 
ziehe? Wenn ich anschließend diesen Pin wie oben in dem Bild an den 
Transistor anschließe dann kann ich den über die Steuerleitung auf Low 
ziehen?

Autor: Hubert G. (hubertg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Grundsätzlich ja, wenn du ihn aber auf Ausgang schaltest
DDRA|=(1<<DDA0);
dann kannst du mit PORTA|=(1<<PA0); auf high legen oder mit
PORTA&=~(1<<PA0); auf low.
Du brauchst also keine zusätzliche Steuerleitung.
Der interne PullUp ist eigentlich für den Eingang gedacht.

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Pin soll ein Eingang sein. Wenn von der Steuerleitung ein Signal 
kommt will ich eine 0 am Pin einlesen, wenn kein Signal kommt eine 1.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nur so: kannst du das Signal nicht gleich direkt anschließen und
dann die Negierung in der Software erledigen?

Ansonsten ist in aller Regel ein aktiver Inverter (also ein Gatter
eines 74HC04) die schnellere Lösung im Vergleich zu einem einzelnen
Transistor.   Die Dinger gibt's auch als Einzelgatter in der
Bauform SOT-23-5, falls es klein sein muss.

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich kann es nicht direkt anschließen, da ich über die Steuerleitung 
nicht genug Spannung bekomme, um einen Highpegel zu erkennen.

Ja, klein soll es sein aber einige Transistoren habe ich hier und daher 
wollte ich auf diesen zurückgreifen. Mir ist eigentlich schon das SOT23 
Gehäuse zu groß.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alex schrieb:
> Ich kann es nicht direkt anschließen, da ich über die Steuerleitung
> nicht genug Spannung bekomme, um einen Highpegel zu erkennen.

Wie viel Pegel hast du denn?

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich bekomme dort 2,X V (maximal ca. 3V) und bräuchte mindestens 3,5 V. 
Das Ganze brauch ich zwei mal. Da ich die Transistoren hier habe wollte 
ich es über diese realisieren.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist schon ziemlich knapp mit dem BSS123, bei Ugs = 2,0 V werden
garantiert nur 1 mA Drainstrom erreicht.  Schnell ist das dann
nicht mehr unbedingt.  Auch der interne Pullup ist nicht sehr
kräftig, der hat so ~ 30 kΩ.  Mit 10 pF Schaltungskapazität bist
du dann schon bei 300 ns Zeitkonstante.  Da brauchst du nicht mehr
auf die letzte Nanosekunde in den Schaltzeiten des Transistors
gucken...

Ein 74HCT04 kommt garantiert mit 2,0 V als High-Eingangsspannung
aus.  Damit müsste er sich für deinen Zweck eignen.  Musst mal
gucken, ob du den als Einzelgatter in SOT-23 bekommst.

Ansonsten baut Maxim mit den MAX3372 & Co. eine ganze Reihe an
Pegelwandlern, die man bei Bedarf auch im ``chip-scale package''
bekommen kann (praktisch eine Art Flipchip).  Das stellt dann
allerdings wieder ein wenig höhere Anforderungen an deine
Strukturbreiten...

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jörg Wunsch schrieb:

> Ein 74HCT04 kommt garantiert mit 2,0 V als High-Eingangsspannung
> aus.  Damit müsste er sich für deinen Zweck eignen.  Musst mal
> gucken, ob du den als Einzelgatter in SOT-23 bekommst.

Z. B. 74HCT2G04, gibt's aber selbst bei Digikey nur als ganze Rolle.
Den 74HCT1G04 gibt's dafür sogar bei Farnell.

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aber wenn ich eine Spannung von min 2,6 V habe, dann sollte eine 
Schaltfrequenz im MHz Bereich doch noch möglich sein oder?

Wie gesagt würde ungerne weitere Bauteile bestellen.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alex schrieb:
> Aber wenn ich eine Spannung von min 2,6 V habe, dann sollte eine
> Schaltfrequenz im MHz Bereich doch noch möglich sein oder?

Der MHz-Bereich geht von 1 MHz bis 999 MHz. ;-)

Ein tau von 300 ns ist schon recht heftig, selbst wenn du nur mit
1 MHz takten willst, und da waren die 10 pF schon nicht gerade sehr
hoch geschätzt.  Du wirst also zumindest nicht um separate Pullup-
Widerständer herum kommen.

Ansonsten kannst du ja ggf. noch die Transistoren auf geringe
Schwellspannung aussuchen.

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also die Spannung beträgt im Minimum 2,6V aber leider kann ich bis jetzt 
noch nicht sagen wie viel es wirklich sein werden. Allerdings wirds wohl 
nicht nennenswert über 3V.

Geschaltet werden soll der Transistor mit geschätzen 4 MHz.

Einen externen Pull-Up Widerstand könnte sogar noch an die Stelle 
passen.
Wie groß sollte der sein? Afaik zwischen 20 und 50 kOhm aber eher 20 
oder eher 50?

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alex schrieb:

> Wie groß sollte der sein? Afaik zwischen 20 und 50 kOhm aber eher 20
> oder eher 50?

Damit ist dir nicht geholfen.  Rechne dir doch die Zeitkonstante mal
selbst aus: wenn du zu den internen 30 kΩ noch 20 kΩ parallel
schaltest, ergeben sich 12 kΩ.  Zusammen mit den geschätzten 10 pF
an Schaltungskapazitäten sind das tau = 120 ns.  Du hast f = 4 MHz,
also T = 250 ns, davon je 125 ns für den High- und den Low-Teil
deines Impulses bei 50 % Tastverhältnis.  Das Resultat wird also ein
ziemlicher Sägezahn werden.

Ich würde eher mit 1 kΩ ins Rennen gehen.

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Öhm ok hier enden meine Kenntnisse der Elektronik.

Soll ich die internen Pull-Ups verwenden und zusätzlich noch einen 
externen Pull-Up parallel schalten? Bei 1k wären das dann ja gesamt 
weniger als 1k.

Der eingesetzt Controller ist ein mega32.

Was ist im dem Fall tau und wie berechnet sich dies?

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alex schrieb:

> Soll ich die internen Pull-Ups verwenden und zusätzlich noch einen
> externen Pull-Up parallel schalten? Bei 1k wären das dann ja gesamt
> weniger als 1k.

Das kannste halten wie ein Dachdecker; die internen Pullups tragen
halt nicht mehr viel zum Ergebnis bei.

> Was ist im dem Fall tau und wie berechnet sich dies?

Die Zeitkonstante des RC-Gliedes, in diesem Falle mit R vom Eingang
nach Vcc und C vom Eingang nach Masse (Schaltungskapazitäten,
Eingangskapazität des AVR).  Der Wert ist das Produkt aus R und C.
Wenn dein FET öffnet (also seine Gatespannung kleiner als die
Schwellspannung wird), dann lädt der Pullup-Widerstand den Kondenstor
auf, wobei der Spannungsverlauf einer e-Funktion folgt.  Die
Zeitkonstante ist dabei ein Maß für den Verlauf der Kurve, nach einer
Zeit von t = tau hat sich der Kondensator auf 63 % von Vcc aufgeladen:

http://de.wikipedia.org/w/index.php?title=Datei:Se...

Wenn deine Impulszeit also in die Größenordnung von tau kommt, hast
du bereits eine sehr starke Impulsverformung.

Der Entladeteil ist etwas besser, da der FET bei Ugs = 2,5 V schon so
um die 100 mA Drainstrom bringt.  Dieser Strom ist relativ unabhängig
von der Drain-Source-Spannung (typisches Konstantstromverhalten eines
FET), sodass die Entladung nicht nach einer e-Funktion, sondern als
Gerade erfolgt.  Bei 100 mA und 10 pF (= 10 pAs/V) wären die 5 V
also in theoretisch 0,5 ns bereits wieder entladen.  Allerdings
dürfte in diesem Bereich von Ugs die Exemplarstreuung der FETs halt
recht groß sein, und wenn deine 2,6 V nennenswert weniger werden,
verschlechtert sich das dann rapide.

Autor: kurz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was macht denn ein 4 MHz-Signal am Eingangspin ? Zähler bedienen, oder?

Autor: Alex (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Also wenn ich das richtig verstehe könnte/wird es Probleme geben bei dem 
Wechsel von Steuerleitung High (Transistor schaltet durch) zu 
Steuerleitung Low (Transistor sperrt).

Wenn ich die Beschaltung so mache wie im Bild im Anfang und dann wie 
folgt konfiguriere
DDR &= ~(1<<PinNo); // Input
PORT &= ~(1<<PinNo); // Kein internen Pull-Up

// Einlesen
var |= PIN & (1<<PinNo);
und entsprechend häufig einlese, dann kann es sein das durch die 
Ladezeit die Leitung immernoch als Low interpretiert wird, obwohl der 
Transistor geschlossen ist und die Leitung somit eigentlich High sein 
sollte?

Die Steuerleitung ist auch recht lang (andere Platine). Könnte das auch 
noch zum Problem beitragen?

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alex schrieb:

> und entsprechend häufig einlese, dann kann es sein das durch die
> Ladezeit die Leitung immernoch als Low interpretiert wird, obwohl der
> Transistor geschlossen ist und die Leitung somit eigentlich High sein
> sollte?

Ja, für eine gewisse Zeit lang.

> Die Steuerleitung ist auch recht lang (andere Platine). Könnte das auch
> noch zum Problem beitragen?

Nur, wenn die Signalquelle recht hochohmig ist.

Aber: du hast bei 4 MHz (symmetrisches Tastverhältnis) je 125 ns
lang high und low anliegen.  Beim maximalen CPU-Takt von 16 MHz
sind das gerade mal 2 CPU-Takte jeweils.  Wie willst du das denn
noch softwaremäßig pollen?

Vielleicht gehst du ja mal zurück auf ,Los' und erklärst uns, was
du überhaupt vor hast.

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Einlesen muss ja nicht zwangsläufig durchgehend passieren. Es reicht 
wenn ich zu bestimmten Phasen des Programmablaufs auf diesen Pin achte.

Über einen externen Interrupt sollte es doch auch möglich sein 
durchgehend auf den Pin zu reagieren.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alex schrieb:
> Das Einlesen muss ja nicht zwangsläufig durchgehend passieren. Es reicht
> wenn ich zu bestimmten Phasen des Programmablaufs auf diesen Pin achte.

Trotzdem wirst du Schwierigkeiten bekommen, einen 125 ns lang dauernden
H- oder L-Pegel sicher in einer gepollten Schleife zu erkennen.  Allein
das Abfragen des Ports dauert ja 62,5 ns (einen CPU-Takt) und der
Rücksprung der Schleife dann nochmal 125 ns (zwei Takte).  Da hast
du aber aus den 8 Bits des Ports noch keine Pin-Bits extrahiert,
geschweige denn ihren Wert bewertet.

Nochmal: erzähl die Geschichte ganz von Anfang an, wenn du irgendwelche
sinnvolle Hilfe bekommen willst.

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich vermute eine Software-SPI. Vielleicht auch nur ein Zähler.

Wollte noch nachfragen aber der "Auftraggeber" ist erstmal nicht zu 
erreichen und irgendwie hat sonst auch keiner Ahnung was der da vorhat.

Ich weiß welche Spannungen ca. auf der Leitung liegen, auf welchen AVR 
das gehen soll und das der Takt wohl recht hoch sein wird. Ich sehe im 
Layout das wenig Platz vorhanden ist und das diese Leitung von Außerhalb 
kommt. Vorsichtshalber wollte ich das Ganze dann auf einen 
Interrupteingang legen.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alex schrieb:

> Wollte noch nachfragen aber der "Auftraggeber" ist erstmal nicht zu
> erreichen und irgendwie hat sonst auch keiner Ahnung was der da vorhat.

Nun, dann lässt sich seinen unbekannten Anforderungen auch schlecht
gerecht werden.

> Vorsichtshalber wollte ich das Ganze dann auf einen
> Interrupteingang legen.

Interrupts helfen dir bei den Frequenzen gar nicht.  Bevor der
Interrupt angenommen ist, ist dein Signal schon über alle Berge.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.