[F] ATMega: 2 Relais - 1 Pin

Gast #4395813
Lesenswert?

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?
Gast #4395820
Lesenswert?

> 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
Gast #4395839
Lesenswert?

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.
Angehängte Dateien:
#4395843
Lesenswert?

@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.
(Firma: Ucore Fotografie www.ucore.de) Persönliche Seite #4395848
Lesenswert?

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
Gast #4395872
Lesenswert?

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?
#4395882
Lesenswert?

@ 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!
Gast #4395899
Lesenswert?

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."
#4396027
Lesenswert?

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
Gast #4396152
Lesenswert?

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.
Gast #4396196
Lesenswert?

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. ;-)
Gast #4396210
Lesenswert?

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 :)
#4396222
Lesenswert?

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
Gast #4396375
Lesenswert?

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. :)
(Firma: Vescomp) #4396443
Lesenswert?

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.
Gast #4396462
Lesenswert?

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.
Gast #4396528
Lesenswert?

@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.
#4396569
Lesenswert?

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.
Gast #4396603
Lesenswert?

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.
(Firma: Vescomp) #4396624
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren