Forum: Mikrocontroller und Digitale Elektronik per Taster Relais ein/aus schalten


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 Kersten D. (unbenannt-editor)


Lesenswert?

Hi!
Da ich an meinem atmega8 keine Pins mehr frei habe, muss ich folgende
Funktion auslagern:

2 Relais und 2 Taster. Jeder Taster schaltet jeweils ein Relais an oder
aus. Beim Anlegen der Betriebsspannung müssen die Relais aus bleiben.

Ich habe nur noch wenig Platz auf der Platine und möchte das möglichst
billig und mit wenig Aufwand realisieren. Es sollen normale Relais
angesteuert werden, also keine Reed-Relais usw. Die Spulenspannung
beträgt 5V.


Welche Möglichkeiten gibt es denn, um mehr an den atmega anzuschließen?
Der Atmgega8 hat 22 nutzbare Pins und ich habe alle belegt:
5x ADC
2x PWM-Ausgang
4x für 8 Taster
2x für einen Drehimpulsgeber
8x für ein LCD
1x für einen Piepser

Ich sehe da eigentlich keine Möglichkeit, noch Pins frei zu machen (die
RW-Leitung vom Display vielleicht noch).


Gruß

Kersten

von Haiko (Gast)


Lesenswert?

Moin,

Du könntest eventuell von PWR 8 verschiedene Widerstände zu den Tastern
und dise 8 Taster auf einen Analogeingang legen. Und dann entscheiden 5V
> T1, 4,5V > T2 / 4,0V >T3 / 3,5V > T4 / 3,0V > T5 / 2,5V > T6 / 2,0V >
T7 / 1,5V > T8. So hättest du alle 8 Taster an einem Analogeingangspin
und würdest 7 frei machen...


Gruß  Haiko

von crazy horse (Gast)


Lesenswert?

auch parallel zum Display-Datenbus lassen sich ganz einfach schonmal 4
Tasten anschliessen, benötigt nur 4 Dioden. Mit etwas mehr Aufwand auch
noch mehr Tasten.

von crazy horse (Gast)


Lesenswert?

oder auch das Display über ein Schieberegister ansteuern...

von peter dannegger (Gast)


Lesenswert?

Du kannst das Display über ein 74HC164 anschließen, dann reichen 3
Portpins.


Peter

von Kersten D. (unbenannt-editor)


Lesenswert?

Hi!
Wow, hätte nicht gedacht dass es da soviele Möglichkeiten gibt. Wenn
man's weiß, ist is einfach :-)

Ich werde wohl die beiden Taster für die Relais mit den anderen 8
Tastern zusammenlegen und diese 10 Taster dann an den Analogeingang
hängen.

Somit ergibt sich:
6x ADC, u.a. einer für die 10 Taster
2x Relais
2x PWM-Ausgang
2x für einen Drehimpulsgeber
8x für ein LCD
=20, noch 2 übrig für Piepser, LED oder was auch immer.

Ich werde mir mal einen 74HC164 bestellen, habe noch nie mit
Schieberegister gearbeitet.

Danke!

Kersten

von Winfried (Gast)


Lesenswert?

Für solche Fälle hatte ich mal Tastatur + Display mit einem eigenen
Controller versehen, der über I2C mit dem Hauptprozessor kommuniziert
hat. So ein System ist sehr flexibel und gut erweiterbar. Sozusagen ein
universeller Tastatur-Display-Controller. Es reicht ja z.B. ein Tiny
2313 als Prozessor.

von Kersten D. (unbenannt-editor)


Lesenswert?

Hi!
Ich probiere gerade mit einem 74HC164Schieberegister rum.
Den Resetanschluss habe ich an VCC angechlossen, die beiden
UND-Eingänge A und B verbunden und an den Controller und die
Clock-Leitung ebenfalls an den Controller.

Mir ist aber nicht klar, wie ich mit einem Schieberegister die Anzahl
der Ausgänge erweitern kann. Wenn ich z.B. am Ausgang des
Schieberegisters 01110010 haben möchte, dann muss ich diese Daten in
entsprechender Reihenfolge rein schieben. Wenn ich aber jetzt das Bit
Nr. 1 von einer 1 auf eine Null ändern möchte, z.B. um ein Relais
abzuschalten, müsste ich ja komplett von vorne alle Bits wieder neu
schieben? Dann würden die an den anderen Ausgängen angeschlossenen
Relais ja alle reagieren bis ich meine 8 Bit reingeschoben habe, oder?
Würde ein Schieberegister mit Latch weiterhelfen?

Gruß

Kersten

von Mark H. (haemi)


Lesenswert?

Genau so ist es. Der 164 ist dann okay, wenn die nachfolgende Logik eine
eigene Enable-Leitung besitzt oder träge genug ist. In Deinem Fall
brauchst Du noch ein Latch. Der 595 ist Dein Freund. :)

Mark

von Schoaschi (Gast)


Lesenswert?

Und wie wärs mit einem simplen IO-Expander(PCF8574 oder MCP23008) mit
I²C-Bus? Dann brauchst du nur 2 Pins.

von Roland (Gast)


Lesenswert?

Den 74HCT4094 kannst du auch nehmen.

von Thomas (Gast)


Lesenswert?

Steuer das LCD im 4-BIT Modus an. Dann sparst Du Dir 2 PIN-s. Oder wie
schon vorgeschlagen von einem anderen, nutze die "drei Leiter"
möglichkeit!

von Kersten D. (unbenannt-editor)


Lesenswert?

Ah ok, dann heißt es warten bis zur nächsten Reichelt-bestellung.

Die SPI-Anschlüsse sind leider schon durch Leitungen des Displays
belegt, was ich aber zur Not ändern könnte wenn dies eine Ansteuerung
des Schieberegisters vereinfachen würde.
Da ich lediglich Relais, LEDs und einen Summer ansteuern möchte, ist
das Füttern des Schieberegisters nicht Zeitkritisch und ich möchte es
nach Möglichkeit nicht mit einem Interrupt ansteuern.

Gruß
Kersten

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.