www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LED-Schaltung für TTL-Auswertung - richtig so?


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

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute!

Es geht um Folgendes:
Ich will eine kleine Schaltung bauen, die ein TTL-Signal (TTL In, JP1) 
abfragt und damit 2 LEDs ansteuert.
- LED1 soll leuchten, wenn der Eingang Low ist.
- LED2 soll leuchten, wenn der Eingang Low oder High ist.
- Wenn am Eingang nichts angschlossen ist, dann soll keine LED leuchten.

Funktioniert die Schaltung, die ich dazu entworfen habe?
Stimmen die Werte der Vorwiderstände?
Oder ist das Blödsinn, und funktioniert nicht?
Wenn ja, wie kann ich es dann am Besten machen?

Eigentlich sollten aus Platzgründen so wenig Bauteile wie möglich 
verbaut werden...

Ich bin zwar relativ fit im Nachbauen und Löten von Schaltungen, aber 
selber entworfen habe ich bis jetzt eben noch nichts.

Schon mal Danke im Voraus!

MfG

Autor: Bensch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sagen wir's mal so: Die Betriebsspannung ist richtig angeschlossen.

Pegel ausserhalb H und L lassen sich nur mit einem Analogkomparator 
ordentlich feststellen.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit einem LM393. also 2 Komparatoren, bist du da besser dran, weil sich 
die beiden TTL-Schaltschwellen 0,8V/2,0V damit genau einstellen lassen. 
Mehr als TTL ist mit dem LM393 aber nicht drin, für CMOS-Pegelerkennung 
taugt er nicht.

Pegelerkennung über die Gatespannung der MOSFETs ist ziemlich ungenau. 
Kommt ungefähr 2V/3V bei raus, plus/minus Toleranzen, was auf CMOS-Pegel 
notfalls grob passt, aber auf TTL-Pegel rein garnicht.

Autor: SeinEwigDunklerSchatten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Erst mal vielen Dank für die Antworten!

Ich habe mir schon gedacht, dass das nicht so einfach funktioniert... 
schade.

Eine genaue Erkennung des Spannungspegels inklusive Einhaltung der 
Toleranzen ist eigentlich nicht notwendig, nur "TTL High", "TTL Low" 
oder "Pin hängt in der Luft".
Sinn ist folgender: Ich habe einen Festplatten-Wechselrahmen. An diesem 
ist ein Pin, der für die Festplattenaktivität zuständig ist.
Nun will ich eben eine Anzeige haben, ob eine Festplatte angeschlossen 
ist (LED2), und ob gerade auf sie zugegriffen wird (LED1).

Ich hab mir das eben so vorgestellt:

Wenn keine Festplatte im Rahmen ist, hängt der Pin einfach in der Luft, 
ist also wirklich nirgends angeschlossen.
Dann sind doch die Gates von T1 und T2 ebenfalls offen, und sie steuern 
nicht durch, oder?
Dadurch sollte sich der Eingang 1 des XOR über R2 auf High befinden, 
Eingang 2 über R3 auf Low. LED1 sollte also aus sein.
Der Ausgang des XOR wäre High, und T3 sollte sperren, also wäre LED2 
ebenfalls aus.

Wenn eine Festplatte drinsteckt, bekommen T1 und T2 am Gate ein sauberes 
(nehme ich zumindest an) TTL-Signal.

Normalerweise liegt High-Pegel an.
Dann solle T1 durchsteuern, T2 aber nicht. Somit bleibt LED1 weiterhin 
aus. Am Ausgang des XOR sollte nun aber Low anliegen, wodurch T3 
durchsteuert und LED2 leuchtet.

Beim Zugriff auf die Platte gibt sie einen Low-Pegel aus.
Dann müsste T1 sperren, und T2 durchsteuern. Also sollte LED1 leuchten.
Am Ausgang des XOR sollte immer noch Low anliegen, und LED2 weiter 
leuchten.

Stimmen meine Überlegungen denn zumindest theoretisch?
Auch wenn mein Schaltungsentwurf nicht gerade der beste ist...
Ich habe auch gerade gelesen, dass die von mir gewählten MOSFETS bei 
TTL-Pegeln eventuell gar nicht durchsteuern.

Wie würde denn eine Schaltung mit dem LM393 dazu ungefähr aussehen?
Muss kein fertiger Entwurf sein, ich will ja selber was lernen.
Oder ist der dafür doch nicht geeignet?

MfG

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
SeinEwigDunklerSchatten wrote:

> Dann sind doch die Gates von T1 und T2 ebenfalls offen, und sie steuern
> nicht durch, oder?

Offene Gates haben keinen definierten Pegel. Kann alles dabei 
rauskommen. Wenn dabei ausdrücklich "nix" rauskommen soll, dann muss 
explizit ein Zwischenpegel erwungen werden, z.B. mit Spannungsteiler 
100K/100K.

Mit diesen MOSFETs könnte das je nach Streuung grad so funktionieren. 
Andere Typen mit geringerer Gatespannungsschwelle sind besser geeignet. 
Es müssen aber garkeine MOSFETs sein, simple NPN/PNP tun es in dieser 
Rolle genauso und haben das Problem nicht.

Was dir aber passieren kann: Der Disk-LED-Ausgang zieht möglicherweise 
nur in eine Richtung. Bei "LED an". Und bleibt offen wenn "LED aus". 
Dann funktioniert das in dieser Form überhaupt nicht.

Autor: SeinEwigDunklerSchatten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die MOSFETs wollte ich eigentlich nur verwenden, um die Belastung für 
den Ausgang möglichst gering zu halten. Aber nachdem ich nun erfolglos 
nach P-Kanal Typen gesucht habe, die sich über TTL-Pegel ansteuern 
lassen, hab ich das mittlerweile aufgegeben.

Wie wären stattdessen BC337 bzw BC327?

Laut diesem Logiktester hier (Beitrag "hochohmig am Eingang erkennen?") 
gibt der Ausgangspin der Platte wirklich einen High- bzw. Low-Pegel aus.

Die Schaltung habe ich mal testweise aus Bauteilen meiner Restekiste 
aufgebaut.

Das mit dem Spannungsteiler hab ich noch nicht so richtig begriffen 
(sorry, ist ja auch schon spät...).
Wo soll der dann genau hin? Zwischen JP1 und den Basen von T1 und T2?

Würde sich dann nicht die Arbeitsweise der Schaltung ändern?
bei offenem Kontakt wären ja dann T1 und T2 auf Masse gezogen, genau wie 
beim Low-Pegel, oder? Dann wäre ja die Unterscheidung Low/offen nicht 
mehr möglich.

Und bei High-Pegel würden ja beide Transistoren ein bisschen 
durchsteuern...

Ich glaub ich steh grade voll auf dem Schlauch...

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
SeinEwigDunklerSchatten wrote:

> Wie wären stattdessen BC337 bzw BC327?

Geht auch. Die Standardtypen sind BC547,BC557.

> Das mit dem Spannungsteiler hab ich noch nicht so richtig begriffen

Ist bei bipolaren Typen nicht erforderlich. Die sind stromgesteuert.

> Würde sich dann nicht die Arbeitsweise der Schaltung ändern?

Die Schaltung wegen der Basiswiderstände. Die Logik weil bei offenem 
Eingang beide Transistoren eingeschaltet sind. Letzteres wäre bei 
passenden MOSFETs und Vorspannung auf Vcc/2 aber auch nicht anders.

> bei offenem Kontakt wären ja dann T1 und T2 auf Masse gezogen

Nein. Es entsteht ein Querstrom von Vcc durch die Basis von T2, dessen 
Basiswiderstand, den Basiswiderstand von T1 und dessen Basis nach GND. 
Somit leiten beide.

> Und bei High-Pegel würden ja beide Transistoren ein bisschen
> durchsteuern...

Unterhalb von 0,6V schaltet T1 ab, oberhalb von Vcc-0,6V schaltet T2 ab. 
Dazwischen sind beide an (mehr oder weniger).

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

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

Bewertung
0 lesenswert
nicht lesenswert
Danke für deine Geduld!

Ich denke, jetzt habe ich begriffen was du gemeint hast.

Die Schaltung von Falk habe ich mir mal angesehen, und versucht auf 
dieser Basis eine einfachere Version für mich aufzubauen (siehe Anhang).

Gedacht ist die Funktion folgendermaßen:

Wenn an JP1 kein Signal anliegt, liegt am Eingang von IC1A durch den 
Spannungsteiler HIGH an, wodurch der Ausgang LOW wird.
Am Eingang 1 von IC1B liegt dann ebenfalls LOW an.
Am Eingang 2 von IC1B liegt durch den Spannungsteiler LOW an.
Dadurch geht der Ausgang von IC1B auf HIGH, T1 sperrt, und LED1 bleibt 
dunkel.
Am Eingang von IC1C liegt HIGH an, der Ausgang wird LOW.
T2 sperrt, LED2 bleibt dunkel.

Wenn an JP1 HIGH anliegt, liegt der Eingang von IC1A auf HIGH-Pegel, der 
Ausgang wird LOW.
Am Eingang 1 von IC1B liegt LOW an.
Am Eingang 2 von IC1B liegt HIGH an.
Dadurch geht IC1B auf LOW, T1 steuert durch und LED1 leuchtet.
Am Eingang von IC1C liegt HIGH an, der Ausgang wird LOW.
T2 sperrt, LED2 bleibt dunkel.

Wenn an JP1 LOW anliegt, liegt der Eingang von IC1A auf LOW, der Ausgang 
wird HIGH.
Am Eingang 1 von IC1B liegt HIGH an.
Am Eingang 2 von IC1B liegt LOW an.
Dadurch geht IC1B auf LOW, T1 steuert durch und LED1 leuchtet.
Am Eingang von IC1C liegt LOW an, der Ausgang wird HIGH.
T2 steuert durch, und LED2 leuchtet.

Stimmt das jetzt so?
Wenn ja, wie bekomme ich eventuell noch die Pulsverlängerung von LED2 
hin?
Einfach einen Elko zwischen den Ausgang von IC1C und Masse wird ja nicht 
funktionieren, der brät mir bestimmt den Ausgang wenn LOW anliegt...


MfG

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  SeinEwigDunklerSchatten (Gast)

>Die Schaltung von Falk habe ich mir mal angesehen, und versucht auf
>dieser Basis eine einfachere Version für mich aufzubauen (siehe Anhang).

Für eiun paar LEDs braucht man keine extra Transistoren, die kann man 
direkt mit dem Gatter treiben, erst recht Low Current LEDs.


>Wenn ja, wie bekomme ich eventuell noch die Pulsverlängerung von LED2
>hin?

Versuch nit das Fahrad neu zu erfinden, bau die Schaltung 1:1 nach und 
sei glücklich. Die gesparte Zeit und Energie kannst du dann in richtige, 
neue Projekte stecken.

MfG
Falk

Autor: SeinEwigDunklerSchatten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das sind aber leider keine Low-Current LEDs.  Die sind schon im 
Wechselrahmen eingebaut, nur hängen da eben nur je zwei Strippen dran. 
Die haben wohl auch nicht nachgedacht, wie man die eigentlich zum 
Leuchten bringen soll...
Deshalb habe ich einfach die Treibertransistoren vorgesehen, nicht dass 
mir noch der IC stirbt...

Ich versuche ja nicht das Fahrrad neu zu erfinden. Ich dachte nur, dass 
so etwas einfaches (ja ich war naiv :D ) doch genau der richtige 
Einstieg wäre.

Nur kenn ich mich in diesem Schaltungsvorschlag vor lauter Gattern nicht 
mehr aus, bin ja schließlich noch Anfänger auf dem Gebiet des digitalen 
Schaltungsentwurfs. ;)
Und die die Schaltung macht ja nicht genau das, was ich haben wollte.

Außerdem wollte ich es ja eigentlich mit möglichst wenigen Bauteilen 
realisieren, um die Größe und den Drahtverhau in Grenzen zu halten.

Aber es hat mich eben "inspiriert", weil ich glaube, zumindest einen 
Teil des verwendeten Konzepts zu verstehen.

Ich komme aus der Programmierer-Ecke (C#, ABAP, ...) und von daher kenne 
ich schon gut die Vorgehensweise, nicht jedes Mal das eckige Rad neu zu 
erfinden. ;)
Klar, erst mal wird gesucht was es schon gibt. Aber da das nicht immer 
genau zu dem passt was man haben will, muss man eben ein wenig Hand 
anlegen.
Und genau das hab ich hier eben auch versucht.

PS: Seid mir nicht böse, ist alles nicht negativ gemeint ;)

MfG

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.