Forum: Mikrocontroller und Digitale Elektronik Gegeneinander verriegelnde Taster mit Ausschaltfunktion


von Daniel K. (psykes)


Lesenswert?

Hallo zusammen

Ich möchte mir für einen Effektprozessor mit Expression-Eingang eine 
Umschaltbox mit zwei Trimmern zur Umschaltung auf voreingestellte Werte 
bauen, welche mit zwei LEDs signalisiert werden.

Die Umschaltung zwischen den analogen Spannungswerten hatte ich bisher 
mit einem Multiplexer angedacht.
Die Steuerungslogik soll wie folgt funktionieren:
Zustand 0:
  Keine LED leuchtet, Trimmer 0 ist auf den Ausgang geschalten (Mux C0, 
A = low, B = low)
Zustand 1:
  LED 1 leuchtet, Trimmer 1 ist auf den Ausgang geschalten (Mux C1, A = 
high, B = low)
Zustand 2:
  LED 2 leuchtet, Trimmer 2 ist auf den Ausgang geschalten (Mux C2, A = 
low, B = high)

Die beiden Zustände 1 und 2 sollen nicht gleichtzeitig auftreten können 
und wenn der Taster des aktivierten Zustands ein zweites Mal betätigt 
wird, soll die Schaltung in den Zustand 0 zurückspringen.

Zum steuern möchte ich die schon mehrfach verbauten Taster 
http://www.musikding.de/1PST-Fusstaster-soft-kurz mit einem Schließer 
verwenden.

Leider habe ich bei meinen Recherchen zu der Schaltungslogik bisher 
keinerlei ähnliche Schaltung gefunden.

Ich selber habe an ein FlipFlop mit Clock-Beschaltung gedacht, aber ich 
bekomme die Schaltung leider nicht hin.

Es wäre kein Problem, die Logik mit einem Arduino Nano umzusetzen, 
allerdings finde ich, das ist das sprichwörtliche "Mit Kanonen aus 
Spatzen schießen". Zudem möchte ich auch gerne mehr Erfahrungen mit 
"normalen" logischen Schaltungen sammeln.

Ich würde mich freuen, wenn mir jemand bei dem Problem helfen könnte.
Falls irgendwas unklar sein sollte, einfach nachfragen.

Gruß Daniel

von Peter D. (peda)


Lesenswert?

Daniel K. schrieb:
> Es wäre kein Problem, die Logik mit einem Arduino Nano umzusetzen,
> allerdings finde ich, das ist das sprichwörtliche "Mit Kanonen aus
> Spatzen schießen".

Es gibt auch kleinere AVRs, z.B. ATtiny4 oder ATtiny13.
Du brauchst ja nur 4 IOs (2 Tasten + 2 LEDs) Zu den LEDs hängt dann der 
74HC4051 parallel.
Der MC könnte sich sogar den letzten Zustand im EEPROM merken.

Mit Logik-ICs hättest Du das leidige Problem der Entprellung, 
Störunterdrückung und des definierten Einschaltzustandes.

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


Lesenswert?

Daniel K. schrieb:
> Es wäre kein Problem, die Logik mit einem Arduino Nano umzusetzen,
> allerdings finde ich, das ist das sprichwörtliche "Mit Kanonen aus
> Spatzen schießen".
 Bei knapp 1,8 Euro für Nano mit USB Anschluss?


> Zudem möchte ich auch gerne mehr Erfahrungen mit
> "normalen" logischen Schaltungen sammeln.
 Ja, klingt ungefähr so logisch wie eine Dampfmaschine in Porsche,
 zumindest in deinem Fall.

> Ich selber habe an ein FlipFlop mit Clock-Beschaltung gedacht, aber ich
> bekomme die Schaltung leider nicht hin.
 Mit einem Nano ist es für dich kein Problem, mit TTL kriegst du es
 nicht hin, aber du willst es trotzdem mit TTL umsetzen ?

Peter D. schrieb:
> Mit Logik-ICs hättest Du das leidige Problem der Entprellung,
> Störunterdrückung und des definierten Einschaltzustandes.

 Man sieht sofort, dass der TO über dieses Problem sehr gründlich
 nachgedacht hat.

: Bearbeitet durch User
von Georg (Gast)


Lesenswert?

Marc V. schrieb:
> Mit einem Nano ist es für dich kein Problem, mit TTL kriegst du es
>  nicht hin, aber du willst es trotzdem mit TTL umsetzen ?

Genau - man muss an seinen Schwächen arbeiten, nicht an den Stärken.

Georg

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Du kannst das entweder mit klsssischer Logik machen oder mit einem MC.

Für die Schaltung zur klassischen Logik kannst du z.B. "Logisim" 
benutzen (Freeware für Win, Mac u. Linux, weil Java). Das enthält auch 
eine Funktion "Wahrheitstabelle zu Schaltung" mit Gattern ...

Ich persönlich würde das mit einem MC machen, z.B. einem China Arduino 
Nano. Der ist zwar gnadenlos unterfordert, aber für 2 Euro?

Vlt. kommt ja der Appetit beim Essen und dir fallen noch weitere 
Funktionen ein, dann bist du damit gut gerüstet.

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


Lesenswert?

Georg schrieb:
> Marc V. schrieb:
>> Mit einem Nano ist es für dich kein Problem, mit TTL kriegst du es
>>  nicht hin, aber du willst es trotzdem mit TTL umsetzen ?
>
> Genau - man muss an seinen Schwächen arbeiten, nicht an den Stärken.

 Seine Schwäche ist etwas anderes, nicht TTL.

 11:05 sein Beitrag, 11:14 die Antwort von Peter D.
 Ganze 8 Minuten hat es gedauert (+1 Minute für schreiben), um dem TO
 alle Schwächen seines Vorhabens aufzuzeigen.

 Und in seinem Fall ist TTL "mit Kanonen auf Spatzen schiessen", nicht
 umgekehrt.

von MaWin (Gast)


Lesenswert?

Daniel K. schrieb:
> Ich selber habe an ein FlipFlop mit Clock-Beschaltung gedacht, aber ich
> bekomme die Schaltung leider nicht hin.

Na ja, das ist wirklich nicht schwer (ok, zu schwer für Marc und Frank).
1
 +5V                     +5V
2
  |                       |
3
 1k                   +------+
4
  |                   |     Q|--
5
  +--10k--+--------+--|>     |
6
  |       |        |  |  CLR |
7
Taster  100nF      |  +------+
8
  |       |        |      |
9
 GND     GND    +--(------+
10
                |  | 
11
 +5V            |  | NXP 74HC112
12
  |             |  |
13
 1k             |  |  +------+
14
  |             |  |  |     Q|--
15
  +--10k--+-----+--)--|>     |
16
  |       |        |  |  CLR |
17
Taster  100nF      |  +------+
18
  |       |        |      |
19
 GND     GND       +------+
J und K jeweils mit Q und /Q als Toogle-FF verbinden.

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


Lesenswert?

MaWin schrieb:
> Na ja, das ist wirklich nicht schwer (ok, zu schwer für Marc und Frank).

 Nein, aber ich kann schon verstehen, dass du mit dieser Schaltung an
 deine Grenzen gestossen bist und deswegen so voller Stolz davon
 redest.

 Entprellen würde wohl deine Möglichkeiten bei weitem übersteigen ?

 Von einem definiertem Einschaltzustand gar nicht zu reden...

von MaWin (Gast)


Lesenswert?

Marc V. schrieb:
> Entprellen würde wohl deine Möglichkeiten bei weitem übersteigen ?
>  Von einem definiertem Einschaltzustand gar nicht zu reden...

Man merkt, daß du zu dumm bist, um die einfache Schaltung zu verstehen.
Sie ist entprellt dank Schmitt Trogger Eingängen am NXP 74HC112
und erzwingt den Einschaltzustand "beide aus" durch geschicke Anordnung 
der 100nF Kondensatoren.

von Peter D. (peda)


Lesenswert?

Marc V. schrieb:
> Von einem definiertem Einschaltzustand gar nicht zu reden...

Im Prinzip machen das die beiden 100nF.
In meinem Fairchild Datenblatt konnte ich ulkiger Weise nichts über die 
Flankensteilheit an CLK finden.
Aus meinen früheren Logikzeiten habe ich aber die Erfahrung, daß zu 
langsame Flanken die Takteingänge durcheinander bringen. Ein simples 
RC-Glied ohne nachfolgenden Schmitt-Trigger hat da nur Chaos bewirkt.

: Bearbeitet durch User
von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

MaWin schrieb:
> Man merkt, daß du zu dumm bist, um die einfache Schaltung zu verstehen.

 Man merkt, dass du zu dumm bist:
[Ironie]
 Entprellen würde wohl deine Möglichkeiten bei weitem übersteigen ?
[/Ironie]

> und erzwingt den Einschaltzustand "beide aus" durch geschicke Anordnung
> der 100nF Kondensatoren.
 Was ist daran so "geschickt" ?
 Mein Opa hat mir erzählt, dass so etwas schon vor 40 Jahren üblich war.

 Aber jemand der im letzten Jahrhundert lebt, noch mit Röhren arbeitet
 und für den ein J-K Flip-Flop das NonPlusUltra der modernen Technik
 darstellt, kann ja auch nicht anders.

 Schuster, bleib bei deinen Röhren, Widerständen und Elkos...

von Daniel K. (psykes)


Lesenswert?

Zuerst einmal vielen Dank für die vielen und schnellen Antworten 
überhaupt!

Ich wollte eigentlich nicht, dass ihr euch wegen mir die Schädel 
einschlagt, ich habe nur nach einer kleinen Hilfestellung oder 
Denkanregung zur Lösung gesucht!

Zu meinen Fähigkeiten und meiner Motivation:
Ich studiere im 6. Semester Elektrotechnik und Informationstechnik, kann 
sowohl C/++, Assembler sowie mehrere Hochsprachen flüssig auf die 
Tastatur bringen, habe durchaus schon grundlegende Erfahrungen mit 
verschiedenen Vertretern der Arduino-Familie sammeln können und bin mir 
der "Einfachheit" meines Problems bewusst.
Während wir das Programmieren und auch die Probleme mit der Hardware im 
Studium ausgiebig behandelt haben, fehlt mir bisher leider noch völlig 
der Bezug zur Analogelektronik und der Erstellung von 
"Umgebungselektronik" um MCs und Logik-ICs.
Mit einem fertigen Board (China-Nano, von denen ich meistens auch welche 
griffbereit habe) wäre es kein Problem, die restliche Hardware sowie die 
Software incl. Entprellung in weniger als einer Stunde usw. umzusetzen.

Zur Verwendung des Moduls:
Ich habe auf dem Breadboard schon eine komplette Midi-Steuerung für 
meinen Bandkollegen zusammengebaut incl. Software auf einem Mega und es 
wäre auch absolut kein Problem, die Schaltung noch in dem Board 
unterzubringen, wenn ich das System in Hardware überführe. Aber ich als 
Bassist habe eigentlich kein Board vor mir, da ich auch gar keine 
weiteren Funktionen zusätzlich zu meinem TC Helicon VoiceLive 2 brauche. 
Lediglich die Umschaltung auf Backing-Niveau meiner Vocals will ich noch 
hiermit umsetzen, weshalb ich allerdings eine möglich einfache und auch 
Strom sparende Schaltung umsetzen möchte, um mit einer Batterie arbeiten 
zu können.

Mir ist auch bewusst, dass es fast peinlich ist, dass ich das mit TTL 
nicht umsetzen kann, aber genau deshalb möchte ich das trotzdem damit 
umsetzen. Bei den meisten meiner Eigenbauprojekte steht das Sammeln von 
Erfahrungen für mich im Vordergrund, die Funktion ist schlussendlich 
immer gegeben, was dabei sonst noch raus kommt, übersteigt den Bedarf 
und den daraus resultierenden Nutzen eigentlich immer massiv.

Trotzdem vielen Dank für eure Hilfe und Kritik!

Gruß Daniel

von Manfred (Gast)


Lesenswert?

Eine Entprellung von Tasten mit Kondensator ist erstmal Pfusch, Punkt.

Man nimmt ein D-FlipFlop (7474), etwa 20 Hz an den CLK und bekommt 
hinten das nicht prellende Signal heraus - es sei denn, der Taster 
rappelt länger als 1/20 = 50 ms. Das hat vor 35 Jahren funktioniert und 
tut es sicher auch heute noch.

Andere Variante ist ein Umschaltkontakt im Taster, welchen man auf ein 
bistabiles FlipFlop (zwei Gatter über Kreuz) schaltet. Hier bei 
Loetstelle.net: 
http://www.loetstelle.net/content/praxis/entprellen/images/entprell1.gif. 
Habe ich früher gerne gebaut, weil es auch mit sehr schlechten Kontakten 
funktioniert.

Die zwei Signale gegeneinander zu verriegeln bekommst Du mit ein bis 
drei Gattern sicherlich selbst hin?

Daniel K. schrieb:
> Arduino Nano umzusetzen,
> allerdings finde ich, das ist das sprichwörtliche "Mit Kanonen aus
> Spatzen schießen".

Wenn die Kanone billiger ist als die Gewehrkugel, was dann? Ich nähere 
mich auch langsam der Ecke, es wirtschaftlich zu sehen und zusätzlich 
Luft zu haben, wenn ich mich beim Entwurf der Logik vertan habe.

von MaWin (Gast)


Lesenswert?

Manfred schrieb:
> Eine Entprellung von Tasten mit Kondensator ist erstmal Pfusch, Punkt.

Es ist ja auch keineswegs bloss ein Kondensator am Taster (das wäre 
Pfusch), sondenr ein RC Glied mit nachfolgendem Schmitt-Trigger Eingang, 
und das ist völlig in Ordnung.

http://www.dse-faq.elektronik-kompendium.de/dse-faq.htm#F.29.1

Manfred schrieb:
> Man nimmt ein D-FlipFlop (7474), etwa 20 Hz an den CLK und bekommt
> hinten das nicht prellende Signal heraus - es sei denn,

Schlechte Lösung, du kennst offenbar metastabile Zustände nicht:

http://www.ti.com/lit/an/sdya006/sdya006.pdf

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.