Forum: Mikrocontroller und Digitale Elektronik PIN-Mehrfachnutzung Steuern und Messen


von Holger L. (subzero)


Lesenswert?

Hallo Zielgruppe.

Ich brauche etwas Brainstorming, zuerst die Schaltungsbeschreibung:

In habe einen Attiny85 mit 5 IO-Pins (Reset mal außen vor). Die sind wie 
folgt belegt (etwas abstrahiert, weil es mir für das Problem nicht so 
wichtig erscheint):

Pin1-3: Ausgang, 74HC595 Schieberegister (DS, CLK, RCLK)
Pin4: Ausgang, MOSFET 2N7000 zum Schalten
Pin5: Ausgang, 5 Volt-Relais zum Schalten

Problem: ich bräuchte etwas, um beim Start eine Konfiguration 
einzulesen. Dazu reicht erst Mal ein Zustand, mehrere Zustände wären 
schöner. Das würde ich, wenn ein analoger Pin frei ist, über einen 
Spannungsteiler mit ein paar Widerstände und einen 4er oder 8er 
Dip-Schalter realisieren.

Die 1-Pin-Lösungen mit dem Schieberegister kenne ich, ich brauch' 8 Bit, 
die sich nicht zwischendurch ändern.

Aktueller unausprobierter Denkansatz ist, an einen 
Schieberegistereingang (oder mehreren) einen hochohmigen Spannungsteiler 
mit DIP-Schalter in einem Zweig anzuschließen und zuerst den Ausgang als 
Eingang verwenden, messen und dann...

Andere Vorschläge? Danke!

1-Pin-Lösung: z. B. http://www.romanblack.com/shift1.htm

von LostInMusic (Gast)


Lesenswert?

>Andere Vorschläge?

Attiny84 statt Attiny85 nehmen?

von Thomas E. (thomase)


Lesenswert?

Holger Lembke schrieb:
> Pin1-3: Ausgang, 74HC595 Schieberegister (DS, CLK, RCLK)
> Pin4: Ausgang, MOSFET 2N7000 zum Schalten
> Pin5: Ausgang, 5 Volt-Relais zum Schalten

Pin1 ist Reset und Pin4 ist GND. Da ist bestimmt nichts von dem 
angeschlossen. Irgendwelche Tricks gehen immer irgendwie. Aber dazu muss 
man auch wissen, was wirklich wo angeschlossen ist.

Aber eine Möglichkeit vorweg:

Den Latch-Up für das Schieberegister kannst du auf den gleichen 
Anschluss, wie das Relais legen. Den kurzen Impuls kriegt das Relais gar 
nicht mit. Damit wäre ein Analogpin frei.

mfg.

: Bearbeitet durch User
von Holger L. (subzero)


Lesenswert?

Sorry, ich habe beim Abstrahieren einfach die Port-Bezeichnungen von 
Atmel genommen, es sind nicht die Hardware-Pins beschrieben.

In Hardware ist es:

Pin5-7: Ausgang, 74HC595 Schieberegister (DS, CLK, RCLK)
Pin3: Ausgang, MOSFET 2N7000 zum Schalten
Pin2: Ausgang, 5 Volt-Relais zum Schalten

von Thomas E. (thomase)


Lesenswert?

Holger Lembke schrieb:
> Pin5-7: Ausgang, 74HC595 Schieberegister (DS, CLK, RCLK)
> Pin3: Ausgang, MOSFET 2N7000 zum Schalten
> Pin2: Ausgang, 5 Volt-Relais zum Schalten

Nun mal nicht so sparsam. Wenn schon kein Schaltplan:

PB0 = ...
PB1 = ...

So schwer kann das doch nicht sein. Sind doch nur 5 Pins.

mfg.

von Holger L. (subzero)


Lesenswert?

PB1-3: Ausgang, 74HC595 Schieberegister (DS, CLK, RCLK)
PB4: Ausgang, MOSFET 2N7000 zum Schalten
PB5: Ausgang, 5 Volt-Relais zum Schalten

(siehe erster Text...)

von Thomas E. (thomase)


Lesenswert?

Holger Lembke schrieb:
> PB1-3: Ausgang, 74HC595 Schieberegister (DS, CLK, RCLK)
> PB4: Ausgang, MOSFET 2N7000 zum Schalten
> PB5: Ausgang, 5 Volt-Relais zum Schalten
>
> (siehe erster Text...)

Reset ist als Port geschaltet und PB0 ist noch frei?
So hab ich da keine Lust zu.

mfg.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Wenn wirklich alle 8 Bit des Shifters gebraucht werden, kaskadiere einen 
2ten dahinter und nutze dessen Ausgänge als die 'oberen' Enden der 
Sapnnungsteiler (z.B. ein R2R Netzwerk). Ein Drehschalter ( bis zu 8 
Stellungen) legt die Spannungteiler hochohmig an DS, der in dem Moment 
als Analogeingang fungiert. Solange du nichts taktest, ist der Zustand 
von DS egal, es geht nichts in die Schieberegister.
Zum abfragen legst du bitweise eine 1 ans 2te Register und schaust am 
AD, was da so ist. So kriegst du raus, welche Schalterstellung gewählt 
ist.

: Bearbeitet durch User
von Holger L. (subzero)


Lesenswert?

Danke, Matthias,

DS als Eingang war der fehlende Gedanke!

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.