mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Gegeneinander verriegelnde Taster mit Ausschaltfunktion


Autor: Daniel K. (psykes)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Peter D. (peda)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Marc V. (Firma: Vescomp) (logarithmus)
Datum:

Bewertung
-1 lesenswert
nicht 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
Autor: Georg (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Frank E. (Firma: Q3) (qualidat)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Marc V. (Firma: Vescomp) (logarithmus)
Datum:

Bewertung
-1 lesenswert
nicht 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.

Autor: MaWin (Gast)
Datum:

Bewertung
1 lesenswert
nicht 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).
 +5V                     +5V
  |                       |
 1k                   +------+
  |                   |     Q|--
  +--10k--+--------+--|>     |
  |       |        |  |  CLR |
Taster  100nF      |  +------+
  |       |        |      |
 GND     GND    +--(------+
                |  | 
 +5V            |  | NXP 74HC112
  |             |  |
 1k             |  |  +------+
  |             |  |  |     Q|--
  +--10k--+-----+--)--|>     |
  |       |        |  |  CLR |
Taster  100nF      |  +------+
  |       |        |      |
 GND     GND       +------+
J und K jeweils mit Q und /Q als Toogle-FF verbinden.

Autor: Marc V. (Firma: Vescomp) (logarithmus)
Datum:

Bewertung
-1 lesenswert
nicht 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...

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Peter D. (peda)
Datum:

Bewertung
0 lesenswert
nicht 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
Autor: Marc V. (Firma: Vescomp) (logarithmus)
Datum:

Bewertung
-1 lesenswert
nicht 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...

Autor: Daniel K. (psykes)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Manfred (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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/entprelle.... 
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.

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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-fa...

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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.