Forum: Analoge Elektronik und Schaltungstechnik Relais durch Transistor ersetzten (NC notwndig wenn 0V an Basis bzw. I/O Pin auf low)


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Rainer (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich möchte mit einem AVR ein LED Band ansteuern (Helligkeit dimmen).
Jedoch möchte ich nicht, das wenn mein AVR einen Schuss abbekommt das 
LED Band ausgeht.

Das LED Band einfach zu dimmen ist kein Problem.

Jetzt möchte ich die Schaltung aber so aufbauen, dass wenn der Pin am 
Atmega auf LOW ist (0 Volt) am Ausgang dann soll das LED Band leuchten. 
Wenn 5V anliegen soll es aus sein.

Gibt es eine Möglichkeit das mit einem Transistor aufzubauen wie mit 
einem Relais? Da würde ich an NC einfach das Leuchtband anschliessen und 
bei NO nichts, dann hätte ich bei 5V Steuerspannung am Relais das LED 
Band ausgeschaltet.

Vielen Dank für eure Hilfe :-)

: Verschoben durch Admin
von U. M. (oeletronika)


Bewertung
0 lesenswert
nicht lesenswert
Hallo,
> Rainer schrieb:
> ich möchte mit einem AVR ein LED Band ansteuern (Helligkeit dimmen).
> Jedoch möchte ich nicht, das wenn mein AVR einen Schuss abbekommt das
> LED Band ausgeht.
Was soll das für ein Schuß sein?

Zu Bedenken sind immer undefinierte Zustände, also zumindest RESET
und die Zeit während der uC bootet und Anwendungprogramme noch nicht 
laufen.
In der Regel werden GPIO-Ports von uC passiv (hochohmig bzw. als 
Einganggeschaltet), wenn ein Reset ausgelöst wurde.

> Das LED Band einfach zu dimmen ist kein Problem.
> Jetzt möchte ich die Schaltung aber so aufbauen, dass wenn der Pin am
> Atmega auf LOW ist (0 Volt) am Ausgang dann soll das LED Band leuchten.
> Wenn 5V anliegen soll es aus sein.
Das kann man mit einem Negator machen.
http://www.elektronik-kompendium.de/sites/bau/1506161.htm

Ist aber meiner Ansicht nach gar nicht nötig.
Beschalte das Pin einfach mit einem Pull-Up-R, dann geht es automatisch 
auf High, wenn das Port-Pin noch passiv ist.
http://www.elektronik-kompendium.de/public/schaerer/pullr.htm
https://learn.sparkfun.com/tutorials/pull-up-resistors

Gruß Öletronika

von Thomas H. (thoern)


Bewertung
0 lesenswert
nicht lesenswert
Hi,

Rainer schrieb:
> ich möchte mit einem AVR ein LED Band ansteuern (Helligkeit dimmen).
> Jedoch möchte ich nicht, das wenn mein AVR einen Schuss abbekommt das
> LED Band ausgeht.


Ich möchte auch, dass mich mein Auto noch heimfährt, wenn der Motor 
kaputt ist....


Im Ernst, woher willst du denn wissen, wie der AVR kaputt geht und 
welchen Zustand dann der Ausgang hat?  Low, high, irgendwas?

: Bearbeitet durch User
von Cyborg (Gast)


Bewertung
0 lesenswert
nicht lesenswert
555er zwischen schalten. Wenn der nicht regelmäßig getriggert wird,
schaltet der Ausgang nicht mehr, quasi wie ein Watchdog.

von U. M. (oeletronika)


Bewertung
0 lesenswert
nicht lesenswert
Hallo,
> Cyborg schrieb:
> 555er zwischen schalten. Wenn der nicht regelmäßig getriggert wird,
> schaltet der Ausgang nicht mehr, quasi wie ein Watchdog.
ist eigentlich auch nicht nötig, wenn man den Watchdog im uC aktiviert.
Gruß Öletronika

von Rainer (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Vielen dank für die ERNST gemeinten Antworten.

Ich erkläre es nochmal.

Ich habe einen Atmega8 und ein LED Band welches über einem MOSFET an 
12VDC betrieben wird. Damit kann ich das perfekt dimmen und so weiter.

Aber mich würde das ja mal interessieren wie das "umgekehrt" 
funktioniert.

Nehmen wir doch mal an, der LED Steifen wäre sicherheitsrelevant.
Wenn ein defekt am uC (egal welcher Art) vorliegen würde, dann sollte 
das LED Band / der LED Streifen komplett leuchten.

Mit einem Relais ist dies einfach zu lösen.

Ich setzte an NC den LED Streifen der gegen GND geschalten ist und an NO 
schließe ich nichts an. An COM kommen die 12V.
Aber das Problem ist ja jetzt das ich mit dem Relais den Streifen nicht 
dimmen kann und das ich gerne wissen würde wie es ohne Relais geht.

Ich bitte nochmal um eine Erklärung und nicht ein. Das brauchst du nicht 
...

von Harald W. (wilhelms)


Bewertung
0 lesenswert
nicht lesenswert
Thomas H. schrieb:

> Ich möchte auch, dass mich mein Auto noch heimfährt, wenn der Motor
> kaputt ist....

Vielleicht klappt das ja mit dem "Notmotor" Anlasser. :-)

von Stefan ⛄ F. (stefanus)


Bewertung
0 lesenswert
nicht lesenswert
> Wenn ein defekt am uC (egal welcher Art) vorliegen würde,
> dann sollte das LED Band / der LED Streifen komplett leuchten.
> Mit einem Relais ist dies einfach zu lösen.

Ein Relais alleine kann das ganz sicher nicht leisten. Erstens brauchst 
du eine Stromversorgung, die bei defekten (egal welcher Art) nicht 
ausfallen. Das ist prinzipiell schonmal unmöglich. Aber man kann sich 
gemäß Pareto mit 80% Lösungen zufrieden geben, zum Beispiel indem man 
eine Batteriegepufferte Notstromversorgung verwendet (wie jedes 
Not-Ausgang Schild enthält).

Also gehen wir mal davon aus, dass die Stromversorgung immer verfügbar 
ist. Dann musst irgendein Ding als nächstes Defekte am µC (egal welcher 
Art) erkennen. Auch dies ist wieder unmöglich. Der µC könnte zum 
Beispiel schön brav das PWM Signal erzeugen, aber Eingaben über das 
Bedienfeld ignorieren, möglicherweise weil seine Eingänge kaputt 
gegangen sind. Solche Defekte kannst du nur durch vollständige 
Funktionskontrollen erkennen. Du müsstest dazu das Bedienfeld betätigen 
und schauen, ob die gewünschte Funktion noch arbeitet. Also schruaben 
wir unsere undere Anforderung wieder gemäß Pareto herunter und geben uns 
mit 80% zufrieden. Zum Beispiel: Wir schalten das Licht nie ganz aus, 
dann kann ein externer Timer erkennen, wenn das PWM Signal unerwartet 
ausgefallen ist. Diese kann wiederum ein Relais ansteuern oder auch 
einen Transistor. Oder ein Logikgatter, dass den µC abhängt und an 
dessen Stelle die LED's ansteuert.

Du siehst: Zuerst muss genau definiert werden, was "Defekte egal welcher 
Art" sein sollen. Eine 100% Lösung würde extrem teuer, die wirst du 
nicht haben wollen.

So oder so hat das Ganze mit einem Relais ungefähr gar nichts zu tun. So 
einfach, wie Du es Dir denkst, kann es nicht sein.

> Vielen dank für die ERNST gemeinten Antworten.
Ich glaube, die waren alle ernst gemeint. Da war kein Unfug dabei - 
dieses mal ausnahmsweise nicht.

> Ich bitte nochmal um eine Erklärung und nicht ein "Das brauchst du nicht"
Kläre du erstmal die genauen Anforderungen, sonst wird das nichts.

Abgesehen davon: Ich denke wirklich, dass du sowas nicht brauchst. Denn 
Mikrocontroller arbeiten (wenn man sie richtig verwendet) äußerst 
zuverlässig. Sie können sich in gewissem Maße sogar selbst überwachen, 
allerdings hatte ich in 30 Jahren noch keinen einzigen Fall, wo das 
nötig gewesen war. LED's und Schaltnetzteile haben gefühlt eine 100 mal 
höhere Ausfallrate, als Mikrocontroller. Du suchst da gerade nach einer 
Lösung für ein Problem das gar nicht existiert.

Wie Calgon! Damit löst man nicht existente Kalkrückstände aus 
Waschmaschinen und Spülmaschinen. Aber egal, es gibt genug leute, die es 
trotzdem kaufen.

: Bearbeitet durch User
von Wolfgang (Gast)


Bewertung
0 lesenswert
nicht lesenswert
U. M. schrieb:
> ist eigentlich auch nicht nötig, wenn man den Watchdog im uC aktiviert.
> Gruß Öletronika

Das kommt doch wohl drauf an, was an dem µC kaputt geht, wenn er "einen 
Schuss abbekommt". Der interne Watchdog schützt nur gegen Fehler im 
Programmablauf, nicht aber gegen HW-Defekte in der Ausgangsstufe.

von U. M. (oeletronika)


Bewertung
0 lesenswert
nicht lesenswert
Hallo,
> Wolfgang schrieb:
> Das kommt doch wohl drauf an, was an dem µC kaputt geht, wenn er "einen
> Schuss abbekommt". Der interne Watchdog schützt nur gegen Fehler im
> Programmablauf, nicht aber gegen HW-Defekte in der Ausgangsstufe.
ja, aber defekte in der Ausgangsstufe kann man auch nicht mit einem 
Relais abfangen, denn das ist völlig ungeklärt, ob die Ausgangsstufe 
Kurzschluss nach Masse oder Kurzschluss nach +Ub macht oder hochohmig 
wird.
-> siee auch die Bemerkungen von Stefan Us.

Kritisch wäre in dem Fall allerdings nur der Kurzschluss nach Masse, der 
möglicherweise sogar am unwahrscheinlichsten ist.

Ansonsten hilft die Beschaltung mit Pullup oder Pulldown, so dass man in 
den unbestimmten Zuständen des uC immer einen definierten Pegel hat, 
egal ob Reset aktiv ist, der Prozessor evtl. gar nicht mehr startet und 
damit den Ausgang auch nicht mehr aktiviert oder das programm sich 
irgend wo verlaufen hat, so dass der Watschdog anspricht.

Natürlich hilft gegen Defekte auf Port-Pin erstmal eine zuverlässige 
Schuztbeschaltung und wenn das alles nicht reicht, müssen ganz andere 
Konzepte her mit inheränter Sicherheit, Redundanz und umfangsreichen 
Ausfallbertachtungen incl. FMEA usw.
Gruß Öletronika

: Bearbeitet durch User
von Wolfgang (Gast)


Bewertung
0 lesenswert
nicht lesenswert
U. M. schrieb:
> ja, aber defekte in der Ausgangsstufe kann man auch nicht mit einem
> Relais abfangen, denn das ist völlig ungeklärt, ob die Ausgangsstufe
> Kurzschluss nach Masse oder Kurzschluss nach +Ub macht oder hochohmig
> wird.

Aber mit einem Kondensator und z.B. einem nachtriggerbaren Monoflop, 
dessen Ausgang die Steuerung übernimmt.

Rainer sollte erstmal erklären, wogegen er konkret schützen möchte.

von U. M. (oeletronika)


Bewertung
0 lesenswert
nicht lesenswert
Hallo,
> Rainer schrieb:
> Nehmen wir doch mal an, der LED Steifen wäre sicherheitsrelevant.
> Wenn ein defekt am uC (egal welcher Art) vorliegen würde, dann sollte
> das LED Band / der LED Streifen komplett leuchten.
> Mit einem Relais ist dies einfach zu lösen.
Nö, da bist du auf dem Holzweg.

> Ich setzte an NC den LED Streifen der gegen GND geschalten ist und an NO
> schließe ich nichts an. An COM kommen die 12V.
Im Fehlerfall ist keinesfalls geklärt, ob der Ausgang auf High bleibt 
oder auf Low oder hochohmig wird oder irgend eine Spannung zwischendrinn 
ausgibt. Somit ist auch es auch völlig undefiniert, was dein Relais 
macht.

> Aber das Problem ist ja jetzt das ich mit dem Relais den Streifen nicht
> dimmen kann und das ich gerne wissen würde wie es ohne Relais geht.
In der einfachen Form, wie du es vorgegeben hast, habe ich es erklärt.
Man kann noch kontrollieren bzw. testen, welche Art des 
Hardwareausfalles am wahrscheinlichsten ist und die Schaltung darauf hin 
optimieren.
Manche Halbleiter machen bei Überlast einen Kurzschluss in sich selbst, 
manche machen eher eine Unterbrechung.
Außerdem sollte man natürlich durch zuverlässige Schutzbeschaltungen 
jeden denkbaren Fall der Überastung von außen absichern.

> Ich bitte nochmal um eine Erklärung und nicht ein. Das brauchst du nicht
Ein Konzept, das deine Anforderungen formal erfüllt, sieht z.B. so aus.

Die LED wird mit einem Timer so beschaltet, dass diese im Normalfall 
immer leuchtet. Die LED kann nur ausgeschaltet werden, indem der Timmer 
in regelmäßigen Abstanden mit einer Impulsflanke getriggert wird.
Bleibt der Impuls aus, geht die LED zwingend an.

Falls da der uC in irgend einer Form nichts mehr macht, egal welchen 
Zustand das Port dann hat, wird die LED dauerhaft leuchten.

Aber natürlich löst das das Problem nicht zu 100%, weil auch der Timer 
und das Stellglied zwischen Timer und LED einen "Schuß" abbekommen kann.
Gruß Öletronika

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]
  • [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.