Forum: Mikrocontroller und Digitale Elektronik Kippschalter an zwei AVRs gleichzeitig anschließen


von Tim 🔆 (solarlicht)


Angehängte Dateien:

Lesenswert?

Ich will einen Kippschalter an zwei AVRs gleichzeitig anschließen. Siehe 
Skizze.

Die I/O sind als Eingänge mit internen Pullups konfiguriert. Der 
Schalter schaltet sie gegen Masse. Da ich das Programm auf das fertige 
Gerät sicher noch ein paar Mal neu aufspiele, kann ja doch mal was 
schiefgehen und deshalb würde beide Eingänge mit 330 Ohm absichern.

Ist das ok so?

Brauche ich noch einen Abblockkondensator an den Eingängen?

Ich hätte es gerne anders gelöst, aber mir sind erst nach dem die 
Platine fertig war, noch ein paar Funktionen eingefallen :(

von Daniel F. (df311)


Lesenswert?

warum nimmst du nicht einfach einen zweipoligen Kippschalter?

von Dieter S. (hotsystems)


Lesenswert?

Wichtig ist, beide GND müssen verbunden sein und du kannst die Eingänge 
mittels 2 Dioden am Schalter verbinden.

von Tim 🔆 (solarlicht)


Lesenswert?

Daniel F. schrieb:
> warum nimmst du nicht einfach einen zweipoligen Kippschalter?

Weil der Schalter schon vorhanden ist und der Pfostenstecker voll 
belegt.

Dieter S. schrieb:
> Wichtig ist, beide GND müssen verbunden sein und du kannst die Eingänge
> mittels 2 Dioden am Schalter verbinden.

Komme ich mit den Dioden ausreichend auf Low? Das Datenblatt des AVR 
sagt Input Low Voltage max. 0,2V.

: Bearbeitet durch User
von Manfred P. (pruckelfred)


Lesenswert?

Du warst schneller!

Dieter S. schrieb:
> Wichtig ist, beide GND müssen verbunden sein

Nur dann geht das.

> und du kannst die Eingänge mittels 2 Dioden am Schalter verbinden.

Ich würde zwei Schottky nehmen.

Wenn beide µC immer an der selben Versorgung hängen, kann er sie 
auch direkt parallel schalten.

Tim 🔆 schrieb:
> Komme ich mit den Dioden ausreichend auf Low? Das Datenblatt sagt max.
> 0,2V.

Schaue noch einmal genau, ob nicht 0,2xVcc gemeint ist.

von Holger R. (holgerr)


Lesenswert?

Tim 🔆 schrieb:
> Die I/O sind als Eingänge mit internen Pullups konfiguriert. Der
> Schalter schaltet sie gegen Masse.

Einen Pull-Up Widerstand solltest Du mindestens einbauen.
HolgerR

: Bearbeitet durch User
von Tim 🔆 (solarlicht)


Lesenswert?

Dieter S. schrieb:
> Wichtig ist, beide GND müssen verbunden sein und du kannst die Eingänge
> mittels 2 Dioden am Schalter verbinden.

Die AVR sind an der selben Versorgung, die GND sind verbunden.

Manfred P. schrieb:
> Schaue noch einmal genau, ob nicht 0,2xVcc gemeint ist.

In der Tat, das CC ist im Datenblatt so winzig, dass ich es glatt 
übersehen habe. Hab mich auch über die 0,2V gewundert. Also dann steht 
Dioden ja nichts im Wege und der ganze Thread erübrigt sich :-)

Beitrag #7750372 wurde vom Autor gelöscht.
von Manfred P. (pruckelfred)


Lesenswert?

Tim 🔆 schrieb:
> Die AVR sind an der selben Versorgung, die GND sind verbunden.

Na dann:
Manfred P. schrieb:
> Wenn beide µC immer an der selben Versorgung hängen, kann er sie
> auch direkt parallel schalten.

Also ohne Dioden oder Widerstände.

von Peter D. (peda)


Lesenswert?

Tim 🔆 schrieb:
> Die AVR sind an der selben Versorgung, die GND sind verbunden.

Sind die denn so dermaßen ausgeknautscht, daß der ATmega328 die Aufgaben 
des popeligen ATtiny13 nicht mehr schafft?

Die selbe VCC muß auch sein, sonst zieht der ohne VCC den Eingang des 
anderen mit runter.

von Udo S. (urschmitt)


Lesenswert?

Dieter S. schrieb:
> Wichtig ist, beide GND müssen verbunden sein und du kannst die Eingänge
> mittels 2 Dioden am Schalter verbinden.

Tim 🔆 schrieb:
> Also dann steht
> Dioden ja nichts im Wege

Wozu denn Dioden. Solange das Eingänge sind brauchts keine Dioden.

Und falls die µCs nicht an der gleichen Versorgung hängen würden, dann 
halt einen Eingang über einen Optokoppler.

von Tim 🔆 (solarlicht)


Lesenswert?

Peter D. schrieb:
> Sind die denn so dermaßen ausgeknautscht, daß der ATmega328 die Aufgaben
> des popeligen ATtiny13 nicht mehr schafft?

Einige Ports habe ich schon doppelt belegt, trotzdem fehlen noch vier.

Udo S. schrieb:
> Wozu denn Dioden. Solange das Eingänge sind brauchts keine Dioden.

Prinzipiell nicht, so lange ich nichts falsches programmiere.

von Udo S. (urschmitt)


Lesenswert?

Tim 🔆 schrieb:
> Prinzipiell nicht, so lange ich nichts falsches programmiere.

Da hilft auch die Diode nichts. Wenn der Schalter auf Masse steht muss 
die Diode so gepolt sein, dass der Eingang auch die Masse sieht, sonst 
über Pull Up eben Vcc.
Wenn du den Port jetzt auf Ausgang schaltest und auf High legst, fließt 
genauso der Kurzschlussstrom über die Diode zum Schalter.
Mit den Dioden vermeidest du nur dann einen Kurzschluss über die beiden 
parallelen Ports, falls diese beide auf Ausgang stehen und 
unterschiedlich auf High/Low.
Insofern sind die beiden Vorwiderstände sogar besser.

: Bearbeitet durch User
von Peter D. (peda)


Lesenswert?

Tim 🔆 schrieb:
> Einige Ports habe ich schon doppelt belegt, trotzdem fehlen noch vier.

Die Aufgaben lassen sich oft nicht vollständig teilen, so daß die beiden 
µCs irgendwie miteinander kommunizieren müssen. Und ein Protokoll 
zwischen 2 Softwaren wird schnell recht aufwendig.

Daher bevorzuge ich Portexpander (PCF8574, 74HC595). Dann bleibt alles 
in einer Software und die hat 100% Kontrolle über alle IOs.
Mehrere Taster lassen sich auch gut über einen ADC-Pin und Widerstände 
einlesen, wenn keine gleichzeitige Betätigung gefordert ist.

von Frank K. (fchk)


Lesenswert?

Tim 🔆 schrieb:
> Peter D. schrieb:
>> Sind die denn so dermaßen ausgeknautscht, daß der ATmega328 die Aufgaben
>> des popeligen ATtiny13 nicht mehr schafft?
>
> Einige Ports habe ich schon doppelt belegt, trotzdem fehlen noch vier.

Die Standardlösung wäre, einfach einen Controller mit mehr Pins zu 
verwenden. Dann sind diese ganzen Verrenkungen nicht mehr notwendig.

fchk

von Tim 🔆 (solarlicht)


Lesenswert?

Udo S. schrieb:
> Wenn du den Port jetzt auf Ausgang schaltest und auf High legst

Autsch, das hatte ich gar nicht bedacht. Dann halt zurück auf Anfang und 
zwei Widerstände.

Frank K. schrieb:
> Die Standardlösung wäre, einfach einen Controller mit mehr Pins zu
> verwenden. Dann sind diese ganzen Verrenkungen nicht mehr notwendig.

Natürlich, aber das Layout war schon fertig, als mir weitere Ideen 
kamen. Bei der vollgestopften Platine (19cm x 20cm)  möchte ich nicht 
alles neu routen. In eine Ecke passt aber gerade noch der ATtiny. Ist 
nicht schön, aber man sieht es ja von außen nicht und für meine 
Hobbybastelei wird es genügen.

von Frank K. (fchk)


Lesenswert?

Tim 🔆 schrieb:

> Frank K. schrieb:
>> Die Standardlösung wäre, einfach einen Controller mit mehr Pins zu
>> verwenden. Dann sind diese ganzen Verrenkungen nicht mehr notwendig.
>
> Natürlich, aber das Layout war schon fertig, als mir weitere Ideen
> kamen. Bei der vollgestopften Platine (19cm x 20cm)  möchte ich nicht
> alles neu routen. In eine Ecke passt aber gerade noch der ATtiny. Ist
> nicht schön, aber man sieht es ja von außen nicht und für meine
> Hobbybastelei wird es genügen.

Ich tippe mal darauf, dass die fürs Neulayouten gesparte Zeit dreimal 
wieder in die jetzt deutlich komplexere Software reingeht. Schöne Grüße 
auch ans Milchmädchen.

fchk

von Rainer W. (rawi)


Lesenswert?

Udo S. schrieb:
> Wenn du den Port jetzt auf Ausgang schaltest und auf High legst, fließt
> genauso der Kurzschlussstrom über die Diode zum Schalter.

Dann also doch mit Serienwiderstand zum Port-Pin ...

von Falk B. (falk)


Lesenswert?

Frank K. schrieb:
> Schöne Grüße auch ans Milchmädchen.

Laktosefrei! ;-)

von Thorsten S. (whitejack)


Lesenswert?

Ich schätze wenn du deinen Schaltplan hier mal komplett zeigst, würden 
sicher viele "Abkürzungen" auffallen...ggf. brauchst du dann auch nur 
eine wesentlich kleinere Platine...aber es wird ja Gründe geben warum 
das nicht bereits gleich zu Anfang geschehen ist...

von Manfred P. (pruckelfred)


Lesenswert?

Thorsten S. schrieb:
> Ich schätze wenn du deinen Schaltplan hier mal komplett zeigst, würden

.. jede Menge Leute diese zerreißen, egal, wie gut oder schlecht sie 
ist. Man sollte schon sehr belastbar sein oder einen Hang zum 
Masochismus haben, hier mehr als unbedingt nötig zu zeigen.

von Marcel V. (mavin)


Lesenswert?

Manfred P. schrieb:
> hier mehr als unbedingt nötig zu zeigen.

Egal wie man's macht, macht man's falsch. Zeigst du zu wenig, gildest du 
als unkooperativ.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.