Forum: Analoge Elektronik und Schaltungstechnik Schaltung mehrere Taster für Strom + GPIO


von Michael W. (michael_w459)


Lesenswert?

Hallo zusammen,

ich stehe vor einer vermeitlich einfachen Herausforderung und außerdem 
irgendwie auf dem Schlauch, so dass mir keine Lösung einfällt.

Ich möchte einen Mehrfach-Taster bauen, welcher die gedrückte Taste per 
CAN auf einen Bus sendet. Das ganze soll von einem µC (z.B. ATMega) 
gesteuert werden, der beim Druck auf einen der Taster bestromt wird und 
gleichzeitig weiß, welcher der Taster gedrückt wurde.

Bei einem Taster ist es enfach. Taster zwischen VCC und Spannungseingang 
vom µC + an einen GPIO. Bei zwei Tastern geht es aber so nicht mehr. Die 
Ausgänge vom Taster sind dann ja beide am Spannungseingang vom µC 
verbunden, so dass auch alle GPIOs an den Tastern verbunden wären und 
der µC nicht weiß, welcher Taster gedrückt wurde.

Gibt es eine einfache Schaltung, mit der ich herausfinde, welcher Taster 
gedrückt ist? Idealer Weise auch, wenn mehrere gleichzeitig gerückt 
werden.

Vielen Dank,
Michael.

von Noname (Gast)


Lesenswert?

Versorgung mit je einer Diode pro Taster entkoppeln. Tasterzustand vor 
Diode abfragen.

von Peter D. (peda)


Lesenswert?

Michael W. schrieb:
> Das ganze soll von einem µC (z.B. ATMega)
> gesteuert werden, der beim Druck auf einen der Taster bestromt wird und
> gleichzeitig weiß, welcher der Taster gedrückt wurde.

Laß den AVR einfach ständig an VCC im Power-Down (<1µA) und per 
Pin-Change aufwachen.

CAN ist allerdings kein Stromsparbus, d.h. der Verbrauch des MC wird eh 
keine Rolle spielen.

von Stefan F. (Gast)


Lesenswert?

Man kann mehrere Taster mit Widerständen verschalten, so dass sich 
unterschiedliche Spannungen ergeben. Diese dann analog abfragen.

Ansonsten ist es auch gängige Methode, mehrere Taster als Matrix zu 
verschalten. Das mach bei mehr als 5 Tastern Sinn.

Welcher ATmega hat einen CAN Bus? Ich würde lieber einen Mikrocontroller 
nehmen, der CAN und genug I/O Pins hat. Zum Beispiel einen STM32F302 
oder 303.

von W.S. (Gast)


Lesenswert?

Michael W. schrieb:
> Ich möchte einen Mehrfach-Taster bauen, welcher die gedrückte Taste per
> CAN auf einen Bus sendet.

Was denn, die ganze Taste? Mit oder ohne Tastenkappe?

Nein, solche schwammigen Sätze lassen auf ebenso schwammiges Denken 
dahinter schließen. wenngleich auch unsereiner sich darauf einen 
sinnvollen Reim machen kann, dahingehend, daß man aus der Änderung einer 
der Tasten von ungedrückt auf gedrückt ein Tastenereignis generieren 
will, wovon man dann eine Botschaft über den Bus der Wahl zu schicken 
beabsichtigt.

Und elektrisch geht sowas auch - jedenfalls für den Part der Tasten, 
allerdings müßte man dazu etwas selbst nachdenken.

W.S.

von Michael B. (laberkopp)


Lesenswert?

Michael W. schrieb:
> Das ganze soll von einem µC (z.B. ATMega) gesteuert werden, der beim
> Druck auf einen der Taster bestromt wird

Unsinn, moderne uC wie ATmega brauchen in sleep so wenig Strom als ob 
sie abgeschaltet sind.
Also einfach dauernd an Strom, den Taster an einen Pin  und in sleep auf 
pin change interrupt warten,  dann weisst du auch welcher Taster es war.

Und wenn der uC hinter einen Spannungsregler soll: es gibt auch da 
wekche, die mit Mikroampere auskommen, also auch dauernd dran bleiben 
können.

von Michael M. (Firma: Autotronic) (michael_metzer)


Angehängte Dateien:

Lesenswert?

Noname schrieb:
> Versorgung mit je einer Diode pro Taster entkoppeln. Tasterzustand
> vor Diode abfragen.

von Michael W. (michael_w459)


Lesenswert?

Vielen Dank für die vielen Antworten.

Mit Dioden geht es. Das Argument mit dem geringen Verbrauch des µC im 
sleep ist aber auch sehr gewichtig, zumal das Netzteil, was den ganzen 
Spaß versorgt eh dauerhaft läuft. Damit ist die Schaltung dann auch 
wesentlich einfacher und ich bin flexibler.

ATMega war nur ein Beispiel. Für den CAN würde ich entweder ein Modul 
mit TJA1050 + mcp2515 einsetzen oder wenn der µC direkt CAN spricht, 
halt nur den TJA1050.

> CAN ist allerdings kein Stromsparbus, d.h. der Verbrauch des MC wird eh
keine Rolle spielen

Auf dem Bus habe ich aber nur Verbrauch, wenn da Teilnehmer aktiv sind. 
Bei ein paar Tastern sind das recht wenige Ereignisse, die in Summe auch 
entsprechend wenig Strom verbrauchen werden.

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.