An einem Pin eines ATMega habe ich einen NPN-Transistor der ein Relais
schaltet.
Nun möchte ich 2 Relais mit einem Pin schalten und suche eine (einfache)
Schaltung. Der Portpin hat 4 Zustände, die für diesen Zweck in Frage
kommen:
Output 5 Volt, Relais 1 ein, Relais 2 aus
Output 0 Volt, Relais 2 ein, Relais 1 aus
Imput float, Relais 1 & 2 aus
Input PullUp, NV
Für das 2. Relais einen PNP zu nehmen funktioniert nicht, da dies der
Querstrom über die BE-Strecken zu nichte macht.
Wer hat eine Lösung?
M.E. Kannst Du float nicht auswerten, da Du den Zustand der T mit Pullup
oder Pulldown initialisieren musst damit sie ein definiertes verhalten
haben.
Damit fällst Du hier in Fall 1 oder 2 zurück.
> Gerüchteweise hat jeder AtMega mehr als nur einen Portpin.> Oliver
*1 Gibst du dich nur blöd oder bist du es wirklich?
> Ganz einfach: Du nimmt einen zweiten uC und misst die Impedanz vom Pin> des ersten. :-P
siehe *1
Das könnte wie im Anhang gezeichnet gehen.
Ist der Pin floating, fließt kein Basisstrom (dazu ggfs. Zenerspannung
anpassen und Vorwiderstände für Transistoren nicht vergessen).
Ist der Pin low, kann der PNP-Basisstrom ungleich 0 werden.
Ist der Pin High, kann der NPN-Basisstrom ungleich 0 werden.
@Bernd (Gast)
>Nun möchte ich 2 Relais mit einem Pin schalten und suche eine (einfache)>Schaltung.
Sooo einfach ist es nicht wie einen 2. Portpin zu nehmen.
>Output 5 Volt, Relais 1 ein, Relais 2 aus>Output 0 Volt, Relais 2 ein, Relais 1 aus>Imput float, Relais 1 & 2 aus
Kriegt man hin, wenn man 2 Komparatoren nimmt und bei >3V bzw. <2V das
jeweilige Relais schaltet. Wenn dann das Pin per hochohmigem
Spannungsteiler auf VCC/2 legt, sind im Falle von Tristate beide Relais
aus.
Hallo Bernd,
es fällt schwer vernünftige Antworten zu geben, basierend auf den
wenigen Informationen, die du zur Verfügung stellst. Es liest sich, als
sei die Hardware schon "fixiert" und nun soll die Funktion erweitert
werden.
Die einfachste (beste?) Lösung wäre es sicherlich einen anderen MCU zu
verwenden bzw. an einer anderen Stelle der Schaltung einen Pin zu sparen
(z.B. Verzicht auf einen Quarz, falls möglich, und stattdessen die
interne Clock zu verwendne, oder anstelle eines Quarzes einen externen
Oszillator verwenden, der nur einen Pin braucht, falls das bei deinem
MCU geht).
Ansonsten, was man sich vorstellen könnte, wovon ich aber nur begrenzt
etwas halte: Mit dem Pin ein RC-Glied (als tiefpass) via PWM speisen und
hinter dem RC-Glied dann eine Komparatorschaltung mit mehreren
Schaltschwellen. Eines der Probleme dabei wird sein, dass die Zustände
nicht völlig beliebig angewählt werden können, sondern nur in einer
gewissen Sequenz. Ausser natürlich, du würdest (wiederum "analog") eine
Anzugsverzögerung implementieren.
Eine andere Möglichkeit wäre es sicherlich auch hinter den Pin des MCU
eine Schaltung aufzusetzen, die die Frequenz auswertet und dann eine
Fallunterscheidung über Frequenz zu realisieren. Das kann z.B. ein
Bandpass-Filter sein, kann auch ein zweiter (sehr kleiner) MCU sein, das
kannst du mit den "TimerBlox" von Linear Technology machen etc..
Hoffe dir damit ein bisschen geholfen zu haben...
Eine "schöne" Lösung fällt mir so spontan leider nicht ein.
Grüße,
Alex
@ Felix Adam (Gast)
>Steht im Absatz mit "floating..."
Nö. Es fehlt immer noch der Basiswiderstand. Schau dir mal die Ströme
an, wenn der Ausgang aktiv 0/5V treibt.
Lest ihr eigentlich auch mal oder wollt ihr alle nur rumtrollen?
Das Bild entstand auf die Schnelle. Als es ein PNG geworden ist, habe
ich das .asc geschlossen und nicht gespeichert. Und nochmal zeichnen, um
die Basiswiderstände extra einzufügen, was über den Text auch notfalls
geht, wollte ich nicht. Ist das sooo schwer zu verstehen?
@ Felix Adam (Gast)
>Lest ihr eigentlich auch mal oder wollt ihr alle nur rumtrollen?
OK, jetzt hab ich es kapiert.
>Das Bild entstand auf die Schnelle. Als es ein PNG geworden ist, habe>ich das .asc geschlossen und nicht gespeichert. Und nochmal zeichnen, um>die Basiswiderstände extra einzufügen, was über den Text auch notfalls>geht, wollte ich nicht. Ist das sooo schwer zu verstehen?
Ja, ist es! So einen Mist macht man nicht! Das irritiert maximal. Oder
man muss EXPLIZIT hinschreiben.
ACHTUNG, da fehlt der Vorwiderstand im Bild!
Im Bild fehlen die nicht. Genaugenommen sind die Transistoren nur an der
Basis angeschlossen, daher ist der Basiswiderstand nicht nötig.
Ich las zu sowas mal einen guten Spruch:
"Wenn du dich auf die Fehler anderer konzentrierst und dauernd an ihnen
herumnörgelst, gedeiht deine Gier mehr und mehr, ohne Chance, sie zu
beenden."
Hallo,
ich würde die beiden Z-Dioden eher je 3,3V machen, um sicher mit der
Summe 2*Z-Diode + 2xUbe über den 5V Betriebsspannung zu sein. Die
Z-Dioden mit kleinen Spannungen haben keinen sonderlich ausgeprägten
Knick in der Kennlinie. Den Spannungsteiler ganz weg, dafür jeweils ein
Widerstand 4,7k zwischen E und B des jeweiligen Transistors und in den
Pfad zum µC dann eben noch ein paar hundert Ohm. Bei 3,3V Z-Diode wäre
knapp 1 Volt, also 100 Ohm vielleicht.
Der Basisstrom muß natürlich für den Relaiskram reichen.
Gruß aus Berlin
Michael
Bernd schrieb:> Nun möchte ich 2 Relais mit einem Pin schalten und suche eine (einfache)> Schaltung
Es gibt dafür keine EINFACHE Schaltung!
Wenn es sie gäbe müsstes du nicht suchen!
Max M. schrieb:> Bernd schrieb:>> Nun möchte ich 2 Relais mit einem Pin schalten und suche eine (einfache)>> Schaltung>> Es gibt dafür keine EINFACHE Schaltung!> Wenn es sie gäbe müsstes du nicht suchen!
Du hast vermutlich recht, Max.
Den Vorschlag mit den Zenerdioden (siehe oben) habe ich versucht
umzusetzen. Das ist aber eine ziemliche Bastelei.
Als Lösung werde ich einen ATTiny10 o. ä. an den Pin des Megas (plus 2
Transistoren) zu hängen.
Vielen Dank an alle, die konstruktive Vorschläge gepostet haben.
@ Felix Adam (Gast)
>Im Bild fehlen die nicht. Genaugenommen sind die Transistoren nur an der>Basis angeschlossen, daher ist der Basiswiderstand nicht nötig.
Selten so eine dumme Ausrede gehört . . .
Bernd schrieb:> *1 Gibst du dich nur blöd oder bist du es wirklich?>>> Ganz einfach: Du nimmt einen zweiten uC und misst die Impedanz vom Pin>> des ersten. :-P>> siehe *1Bernd schrieb:> Als Lösung werde ich einen ATTiny10 o. ä. an den Pin des Megas (plus 2> Transistoren) zu hängen.
Aha, gerade noch blöd und jetzt die Lösung. ;-)
geht doch schrieb:> Bernd schrieb:>> *1 Gibst du dich nur blöd oder bist du es wirklich?>>>>> Ganz einfach: Du nimmt einen zweiten uC und misst die Impedanz vom Pin>>> des ersten. :-P>>>> siehe *1>> Bernd schrieb:>> Als Lösung werde ich einen ATTiny10 o. ä. an den Pin des Megas (plus 2>> Transistoren) zu hängen.>> Aha, gerade noch blöd und jetzt die Lösung. ;-)
Nein. Die Impedanz werde ich garantiert nicht messen: Bin doch nicht
blöd :)
Hallo,
irgendjemand soll mal gesagt haben: würde man heute die Sicherheitsnadel
erfinden, hätte sie 7 Transistoren und 12 bewegliche Teile...
mindestens 4 (eher 6) statt 7 Bauteilen zusammenzulöten und sich eine
Software dafür auszudenken ist wirklich ein merklicher Vorteil.
Gruß aus Berlin
Michael
Earl S. schrieb:> oder du nimmst Relais mit Ruhekontakten, dann kannst du die beiden> rechten Transistoren und den Widerstand weglassen.
Die Schaltung funktioniert nur mit vier Transistoren.
Pin Transistoren
--- ------------
5 V unten links & oben rechts leiten -> Relais 1 ein, Relais 2 aus
0 V oben links & unten rechts leiten -> Relais 1 aus, Relais 2 ein
float oben links & unten links leiten -> beide Relais aus
Danke. :)
Bernd schrieb:> Den Vorschlag mit den Zenerdioden (siehe oben) habe ich versucht> umzusetzen. Das ist aber eine ziemliche Bastelei.>> Als Lösung werde ich einen ATTiny10 o. ä. an den Pin des Megas (plus 2> Transistoren) zu hängen.
Gibst du dich nur blöd oder bist du es wirklich?
Von aussen sieht auch der ATTINY nur 1 oder 0. HiZ kann der nicht
erkennen.
Anstatt von Anfang an einen ATTINY vorzuschalten und dann mit einem
Impuls von 100us fur Relais1 ein, 200us fur Relais1 aus, 300us fur
Relais2 ein, 400us fur Relais2 aus oder so ahnlich zu versuchen, du
versuchst verzweifelt eine einfache Losung fur etwas, was gar nicht
so einfach ist, zu finden.
Wieso kommst du nicht selber drauf, wenn es so einfach ist ?
Weil du blod bist ?
Aber nein, du spuckst hier die Leute an, ohne selbst ein bisschen
Ahnung bzw. Gehirn zu haben.
Leute mit IQ > 70 hatten so etwas schon lange gemacht und da ein TINY85
auch nur etwas mehr als 1E kostet, hatten die auch TINY85 genommen, um
in Zukunft vielleicht etwas mehr damit zu tun, als nur Relais ein- oder
ausschalten.
DMX512 macht vor, was man alles mit einem Pin anstellen kann.
Das 1Wire Zeugs ist ebenfalls ein gutes Beispiel dafür.
Auch bei diesem Problem gilt: Das gabs alles schon.
Also abschauen, und genauso machen.
@Marc Vesely (Firma: Vescomp) (logarithmus)
Du verwechselst da etwas. Blöd bist nur du.
> Leute mit IQ > 70 hatten so etwas schon lange gemacht ...
Genau das ist dein Problem: deiner ist < 70.
> Weil du blod bist ?
Du bist so blöd, dass du nicht einmal weißt wie man blöd schreibt.
Nebenbei: du musst sogar auch noch plenken, genau wie en kleiner dummer
Junge, der du ja auch bist-.
Wenn man deinen "Beitrag" liest, sieht man förmlich wie du mit den Füßen
scharrst und auf Schnappatmung umgestellt hast. Atom- & MegaLOL.
Marc V. schrieb:> Von aussen sieht auch der ATTINY nur 1 oder 0. HiZ kann der nicht> erkennen.
Warum nicht? Er kann doch den ADC verwenden. Dazu noch ein Widerstand
nach GND und einer nach VCC.
Aber ich würde eher ein One-Wire Protokoll verwenden, ist halt
flexibler. Evt. will man später doch beide Relais gleichzeitig schalten
oder ein Monoflop und sich nicht ums Ausschalten kümmern müssen. Zudem
kann man zu schnelles Umschalten einfach unterdrücken. Etwas Verzögerung
durch ein Protokoll ist bei Relais ja meistens egal, die sind auch nicht
blitzschnell.
Ulrich F. schrieb:> Frei nach Göte:>> Wenn eine Eskalationsspirale los läuft, suche>> man die Schuld immer beim klügeren!
Na, dann brauchst Du Dir ja keine Sorgen zu machen, daß man die Schuld
bei Dir suchen könnte.
Bernd schrieb:> Die Schaltung funktioniert nur mit vier Transistoren.>> Pin Transistoren> --- ------------> 5 V unten links & oben rechts leiten -> Relais 1 ein, Relais 2 aus> 0 V oben links & unten rechts leiten -> Relais 1 aus, Relais 2 ein> float oben links & unten links leiten -> beide Relais aus
mit zwei Transistoren sind bei hochohmigem Ausgang beide Relais
angezogen. Ruhekontakte sind dann beide geöffnet.
be s. schrieb:> Aber ich würde eher ein One-Wire Protokoll verwenden, ist halt> flexibler. Evt. will man später doch beide Relais gleichzeitig schalten> oder ein Monoflop und sich nicht ums Ausschalten kümmern müssen. Zudem> kann man zu schnelles Umschalten einfach unterdrücken. Etwas Verzögerung> durch ein Protokoll ist bei Relais ja meistens egal, die sind auch nicht> blitzschnell.
der TO hat ein Problem und sucht eine Lösung.
Du hast eine Lösung und suchst Probleme, das ist nicht immer
zielführend.
Bernd schrieb:>> Weil du blod bist ?>> Du bist so blöd, dass du nicht einmal weißt wie man blöd schreibt.
Natürlich weiß ich das, nur will ich die Tastatur nicht jedesmal auf
Deutsch umstellen. Und Umlaute mit 'oe' zu schreiben ist unschön.
Leute mit IQ > 70 wissen das.
Du mit deinem IQ von kaum 50 bist natürlich entschuldigt, deswegen
habe ich es nur für dich umgestellt.
Und jetzt troll dich.
Die Induktivitäten sollen die Relaisspulen sein.
uC Pin auf High: Unterer TRansistor leitet, untere Spule wird bestromt
und mit dem Low-Zustand entsprechend. Wenn der uC-Pin im Z-Zustand ist,
leitet keiner der Transistoren.