Forum: Mikrocontroller und Digitale Elektronik Übliche Beschaltungsregel: Welche Richtung?


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 Christian (dragony)


Lesenswert?

Hallo zusammen,

Ich möchte 10 Knöpfe an einen IC anschliessen. Macht 20 Kontakte an den 
Knöpfen. Jetzt habe ich eine Masseleitung gelegt und die an 10 
Knopfkontakte gelötet. Vom IC kommen jetzt 10 Kabel, die an die anderen 
10 Knopfkontakte gehen. Insgesamt also 11 Kabel.

Jetzt kann ich aber genausogut die Masseleitung mit der 5V Leitung 
vertauschen, dann fliesst der Strom halt andersrum. Gibt es da eine 
"Standardregel", wie man es macht, wenn man die Wahl hat, oder ist das 
je nach Mondphase anders?

PS: Wen es interessiert, der "IC" ist der MCP23008 PortExpander. Es geht 
hier aber eher um eine allgemeine Frage.

: Bearbeitet durch User
von Fabian H. (hdr)


Lesenswert?

In diesem Fall musst du den Common an Masse anschließen, da der MCP23008 
lediglich über Pull-Ups und nicht über Pull-Downs verfügt.

von Axel S. (a-za-z0-9)


Lesenswert?

Christian S. schrieb:
> Ich möchte 10 Knöpfe an einen IC anschliessen. Macht 20 Kontakte an den
> Knöpfen. Jetzt habe ich eine Masseleitung gelegt und die an 10
> Knopfkontakte gelötet.

Ähhm. Knöpfe? Löten? Werden Knöpfe nicht eher angenäht?
Mal ernsthaft: kannst du nicht die korrekten Bezeichnungen verwenden?

> Wen es interessiert, der "IC" ist der MCP23008 PortExpander.

Das ist nicht nur interessant, sondern essentiell wichtig zu wissen.

Allerdings hat dieser Portexpander nur 8 Ein/Ausgänge. Ich bin gespannt, 
wie du da 10 Taster anschließen willst. Ferner hat er interne 
Pullup-Widerstände. Das bedeutet, man kann Taster anschließen die gegen 
GND schalten ohne daß man selber noch Pullups bräuchte. Wenn man die 
Taster gegen +5V schalten lassen will, muß man hingegen selber 
Pulldown-Widerstände vorsehen. Weswegen man in 99% der Fälle die 
Variante mit GND vorziehen wird.

Und weil du jetzt bestimmt gleich "HÄH? Pullup? Pulldown?" fragen wirst: 
lies das AVR-Tutorial Abschnitt IO-Grundlagen. Da wird erklärt, wie 
man einen Taster anschließt und was ein Pullup-Widerstand macht.

von Christian (dragony)


Lesenswert?

Da habe ich zu stark verallgemeinert. Es sind 6 Knöpfe :)

Dennoch geht es um den Fall, wo beide Wege möglich sind.

von m.n. (Gast)


Lesenswert?

Axel S. schrieb:
> Mal ernsthaft: kannst du nicht die korrekten Bezeichnungen verwenden?

Gegenfragen sind leider nicht erlaubt!
Aber es handelt sich wohl um die beliebten 2-Wege-Knöpfe: an die Backe 
nähen und ein Klavier dran hängen.

von M. L. (ado)


Lesenswert?

Für mich persöhnlich finde ich es von der Logik schöner, daß bei 
gedrücktem Taster ein HIGH-Impuls entsteht.
Wenn man dies erreichen will muß man oft selber für die 
Pull-Down-Widerstände sorgen.

In vielen ICs gibt es aber schaltbare Pullup Widerstände.
Bei Verwendung ändert sich die Logik bei der Programmierung.
Bei Low-Impulse ist der Taster gedrückt.
Mitlerweile verwende ich oft die eingebauten Pullups und drehe die Logik 
in der Software. Finde ich jetzt nicht so schön, aber ich spare mir 
dadurch ein weiteres Bauteil.

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Christian S. schrieb:
> Da habe ich zu stark verallgemeinert. Es sind 6 Knöpfe :)

Aha, Du belügst also absichtlich die Leute, die Dir unentgeltlich bei 
der Lösung Deines Problems helfen wollen?

Und in Wirklichkeit willst Du auch keine Knöpfe annähen, sondern einen 
Schrittmotor an einen Arduino ankleben?

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Christian S. schrieb:
> Gibt es da eine
> "Standardregel", wie man es macht, wenn man die Wahl hat

Ist die Frage damit beantwortet? Wurde m.E. alles schon gesagt:

Wenn bereits PullUps vorhanden sind (wie bei Dir), benutzt man diese 
vorzugsweise.

Ansonsten gibt es noch Wakup-fähige Pins, die nur in eine Richtung 
funktionieren.

Ansonsten ist es egal, und man kann die "schönere" Lösung (High = True) 
wählen, falls man sie schöner findet.

Einige MCUs haben dafür auch zuschaltbare PullDowns.

: Bearbeitet durch User
von F. F. (foldi)


Lesenswert?

Dass man häufiger gegen GND schaltet wird wohl daran liegen, dass die 
IC's nach GND mehr Strom vertragen. So vermute ich das. In den AVR's ist 
das jedenfalls so.

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Andreas S. schrieb:
> Und in Wirklichkeit willst Du auch keine Knöpfe annähen, sondern einen
> Schrittmotor an einen Arduino ankleben?

 Annähen man, annähen...

: Bearbeitet durch User
von spess53 (Gast)


Lesenswert?

Hi

>Dass man häufiger gegen GND schaltet wird wohl daran liegen, dass die
>IC's nach GND mehr Strom vertragen. So vermute ich das. In den AVR's ist
>das jedenfalls so.

Nö. Bei AVRs ist Sink Current und Source Current etwa gleich.

MfG Spess

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

F. F. schrieb:
> Dass man häufiger gegen GND schaltet wird wohl daran liegen

Ich vermute, wegen "wired or" mit "open collector" bzw. "open drain" 
sieht man das häufiger als anders rum.

von Gietam (Gast)


Lesenswert?

Oft liegt auch eine Massefläche näher als eine VCC Leitung.

von Dennis H. (c-logic) Benutzerseite


Lesenswert?

Wenn der Portexpander ja Ein- und Ausgang kann, wäre doch ne 
Matrixschaltung interessant für > 8 Taster.

von Tom (Gast)


Lesenswert?

Torsten C. schrieb:
> Ich vermute, wegen "wired or" mit "open collector" bzw. "open drain"
> sieht man das häufiger als anders rum.

Warum soll man das nicht genauso mit Pull-Downs und Schaltern gegen VCC 
aufbauen können. Dann muss man nur alles in negativer Logik formulieren.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Tom schrieb:
> Warum soll man das nicht genauso mit Pull-Downs und Schaltern gegen VCC
> aufbauen können.

Klar geht das. Wie ist die Frage?

F. F. schrieb:
> Dass man häufiger gegen GND schaltet wird wohl daran liegen, dass …

Ach ja. Dann liegt es daran, dass man bei verschiedenen 
Spannungsversorgungs-Pegeln in der Regel eine gemeinsame Masse hat. Mit 
"open collector" bzw. "open drain"  hat man dann einen Pegelwandler.

von HildeK (Gast)


Lesenswert?

spess53 schrieb:
>>Dass man häufiger gegen GND schaltet wird wohl daran liegen, dass die
>>IC's nach GND mehr Strom vertragen. So vermute ich das. In den AVR's ist
>>das jedenfalls so.
>
> Nö. Bei AVRs ist Sink Current und Source Current etwa gleich.

Für Ausgänge ist das höchstwahrscheinlich so - ich hab es nicht 
überprüft. Die andere Ansicht stammt noch aus der Zeit von TTL und 
LS-TTL.

Aber hier ging's doch um Eingänge, an die die 'Knöpfe' dran sollen - 
oder nicht?

von Kurt B. (kurt-b)


Lesenswert?

Tom schrieb:
> Torsten C. schrieb:
>> Ich vermute, wegen "wired or" mit "open collector" bzw. "open drain"
>> sieht man das häufiger als anders rum.
>
> Warum soll man das nicht genauso mit Pull-Downs und Schaltern gegen VCC
> aufbauen können. Dann muss man nur alles in negativer Logik formulieren.

LogikIC und Mikrokontr. haben nach dem Einschalten meisst/oft eine 1 an 
den Pins.
Da ist es vorteilhaft die Taster und Ausgangsbausteine so anzuordnen 
dass da nichts geschaltet, bzw. ein gedrückter Taster erkannt wird.


 Kurt

von Max H. (hartl192)


Lesenswert?

Kurt B. schrieb:
> LogikIC und Mikrokontr. haben nach dem Einschalten meisst/oft eine 1 an
> den Pins.
Bei denen die ich kenne sind die Eingänge nach dem (Power On) Reset 
hochohmig bzw. Eingänge. Bei CMOS ist das floatend, also nicht 
definiert, bei TTL war das High.

von m.n. (Gast)


Lesenswert?

HildeK schrieb:
> Aber hier ging's doch um Eingänge, an die die 'Knöpfe' dran sollen -
> oder nicht?

Das weiß doch Keiner, aber es waren doch 2-Wege-Knöpfe?

Es ist schon etwas amüsant, wie hier ohne klare Basis gemutmaßt wird, 
aber der eigentliche 'Knopf' wohl schon längst in den Brunnen gefallen 
ist und nicht mehr auftaucht.

von F. F. (foldi)


Lesenswert?

spess53 schrieb:
> Nö. Bei AVRs ist Sink Current und Source Current etwa gleich.

Hey Spess, :-)

wollte es dir gerade um die Ohren hauen, aber ich muss feststellen, dass 
du recht hast.
Habe gerade im Datenblatt nachgesehen und da steht es. Ich bin mir jetzt 
auch sicher, dass ich das mal irgendwo auf Deutsch gelesen hatte. Das 
muss sich wohl eingebrannt haben.
Man muss doch jede Aussage immer wieder mal überprüfen.
1:0 für dich!

:-)

P.S.: Du schreibst ja nicht so viel (oder ich sehe nur wenig von dir), 
aber das hat dann bis jetzt immer Hand und Fuß gehabt.

von Kurt B. (kurt-b)


Lesenswert?

Max H. schrieb:
> Kurt B. schrieb:
>> LogikIC und Mikrokontr. haben nach dem Einschalten meisst/oft eine 1 an
>> den Pins.
> Bei denen die ich kenne sind die Eingänge nach dem (Power On) Reset
> hochohmig bzw. Eingänge. Bei CMOS ist das floatend, also nicht
> definiert, bei TTL war das High.

Und von da (TTL) kommt das wohl auch her.
Ich hatte mit dem Z80 (die PIO) schon mal das Problem dass er/diese nach 
Reset Verbraucher anschaltete, darum die Vorsicht bei kritischen 
Anlagen.

 Kurt

von Christian (dragony)


Lesenswert?

Danke euch, meine Knöpfe blinken endlich!

                                                        .
            ___---""""""""""""""---____                / |
       _--""   \)))))))))))))))))))))))"""""___       /  |
    _-" _       \))))))_-"|))))))))))))))))))))"""---' __|
 _-"   / \       |))))|   |)))))))))))))))))))))))))/--  |
<___.  \_/       |))))|   |))))))))))))))))))))))))<-    |
 "-_             |))))|   |)))))))))))))))))))))))))\--__|
    "-_         /)))))) -_|))))))))))))))))))))___---.   |
       "--__   /)))))))))))))))))))))))_____"""       \  |
            """---______________---""""        mga     \ |
                                                        '

: Bearbeitet durch User
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.