Hallo!
Ich sitze an der Entwicklung eines Schaltplans dran.
Mein erster Schaltplan in dem Umfang.
Ich möchte eine Digitale Quarzuhr erweitern mit einer Binäruhr:
Beitrag "Sekundenanzeige 7 Segment (Digitaluhr ohne µC)"
Für die Umschaltung von Digitaler Uhr zu Binärer Uhr soll es einen
Taster geben, der nach jeder Betätigung eine andere Funktion hervorruft.
Die Binäruhr soll auch ohne µC aufgebaut werden. Habe mir für die LEDs
der 3 Anzeigen: Stunden, Minuten & Sekunden den CMOS 4024 (7 stufiger
Binärzähler) ausgesucht. Den Schaltplan für die Binäre Uhr hab ich
skizziert, es soll in diesem Topic um die Umschaltung der Funktionen
gehen.
Es soll 3 Fälle geben:
Fall 1: Wenn Spannungsversorgung eingeschalten wird, soll dieses RS
FlipFlop gesetzt sein. In diesem Fall soll die Digitale Uhr aktiviert
werden.
Fall 2: Nach betätigen des Tasters soll 2tes RS-FF aktiviert werden,
erstes auf Reset. In diesem Fall sollen nur die Sekunden der Digitalen
Uhr aktiv sein und die Stunden sowie Minuten der Binären Uhr.
Fall 3: Nach betätigen des Tasters soll 3tes RS-FF aktiviert werden,
2tes auf Reset. In diesem Fall soll nur die Binäre Uhr aktiviert sein,
also Stunden, Minuten und Sekunden.
Habe diese 3 Fälle gedanklich durch die Zeichnung im Anhang versucht zu
erstellen.
Fragen:
1.) Beim ersten UND Baustein (oben links), wird da das RS-FF Fall 2
schon nach der ersten Betätigung aktiviert, weil der Ausgang von RS-FF
Fall 1 ja schon bei steigender Flanke da ist?
2.) Mir fällt gerade ein, entprellen wäre auch sinnvoll, da sonst ein
nach dem prellen gesetzter Fall aktiviert ist, richtig?
3.) Und wie kann ich das technisch umsetzen, das beim Einschalten der
Spannungsversorgung schon direkt Fall 1 aktiviert ist, auch wenn Fall 3
aktiv war und dann die Verbindung zum Netz getrennt wurde?
Gruß
Chris
Benutze doch einen Zähler-IC mit Reset. An den Reset wird der Ausgang 4
logisch verodert mit Einschalt-Reset angeschlossen.
Einschalt- oder System-Resetsignal kann mit RC-Glied, einer Diode und
einem Schmitt-Trigger aus der Logikversorgung erzeugt werden.
mfg mf
Morgen,
habe mir das CMOS-Kochbuch in der Bibliothek ausgeliehen. Darin steht
zum Beispiel der Dezimalzähler CMOS 4017 drin. Laut Buch würde Carry Out
auf High gelegt für die ersten Ausgänge. Würde dann den 4ten Ausgang
einfach auf Reset legen. Sollte funktionieren, oder?
F. F. schrieb:> Nimm ein µC!
Habe mir jetzt meinen Arduino zur Hand genommen.
Habe 6 LEDs mit Vorwiderständen für die Sekunden auf ein Breadboard
gesteckt.
Habe einen Konflikt beim einlesen des Taktsignals.
Es kommt noch vom astabilen Multivibrator und hat dadurch nicht den
richtigen Pegel.
Ich kann versuchen das Signal mit einem OP oder dem NE555 für den
Arduino zu stabilisieren.
Das kommt in der nächsten Freizeit. Ich melde mich.
Gruß
Chris
Das meinte ich anders.
Wenn du über ein Taster verschiedene Tastendrücker auch verschieden
auswählen willst, dann kannst du das doch viel besser über einen
Mikrocontroller, mit entsprechender Software machen.
Genau (unter anderem) dafür sind die Dinger gemacht.
@Chris
Du hast Dir vorgenommen, einen Zähler ohne µC aufzubauen.
Das geht! Viele Wege führen nach Oberunterhinter (oder auch nach Rom).
Eine kleine Schwierigkeit, schon wird nach einem Arduino gerufen.
Das geht! Was sagt das aber über Deine Standfestigkeit?
Es gibt hier viele, die offensichtlich bereits einen eingebauten Reflex
haben, der bei jedem kleinen Problem: "Nimm 'nen µC", schreit. Ich
bezweifle aber, dass das dem Lerneffekt förderlich ist.
Natürlich ist das sinnvoll - wer sich auskennt - aber die meisten
vergessen dabei, wie schwierig das Ganze ist, wenn man bei Adam und
seiner Frau beginnen soll.
Sebastian S. schrieb:> Es gibt hier viele, die offensichtlich bereits einen eingebauten Reflex> haben, der bei jedem kleinen Problem: "Nimm 'nen µC", schreit. Ich> bezweifle aber, dass das dem Lerneffekt förderlich ist.> Natürlich ist das sinnvoll - wer sich auskennt - aber die meisten> vergessen dabei, wie schwierig das Ganze ist, wenn man bei Adam und> seiner Frau beginnen soll.
Hörst du dich nur gern selbst reden?
Warum bei Adam und Eva anfangen, wenn wir heute Plantagen mit
Apfelbäumen haben?
Sebastian S. schrieb:> Es gibt hier viele, die offensichtlich bereits einen eingebauten Reflex> haben, der bei jedem kleinen Problem: "Nimm 'nen µC", schreit.
Das hätte ich vor 10 Jahren auch noch gesagt, aber ein kleines
achtbeiniges IC ist immer noch besser als ein Grab aus FF und Gattern
für eine handgestrickte Statemachine - das habe ich nach heutigem Wissen
viel zu spät erkannt.
HildeK schrieb:> Sebastian S. schrieb:>> Es gibt hier viele, die offensichtlich bereits einen>> eingebauten Reflex haben, der bei jedem kleinen Problem:>> "Nimm 'nen µC", schreit.>> Das hätte ich vor 10 Jahren auch noch gesagt,
Ich sage das immer noch.
> aber ein kleines achtbeiniges IC ist immer noch besser
Für welchen Maßstab von "besser"?
> als ein Grab aus FF und Gattern
Na aber geh.
Je nach gewähltem Prinzip kommt man mit drei, vier ICs aus.
Selbst wenn man die Schrittkette systematisch nach Strick-
muster baut, wird das Dutzend nicht voll.
> für eine handgestrickte Statemachine
Ich finde es extrem nützlich, zu wissen, wie man eine
Schrittkette systematisch konstruiert. Leider habe ich das
erst viel zu spät erlernt...
Possetitjel schrieb:> Für welchen Maßstab von "besser"?
Platzbedarf, Verdrahtungsaufwand, Flexibilität...
Drei, vier ICs, meist 14pol. ist schon Aufwand gegenüber einem
Achtbeiner oder eine 14pol.
Das hört sich für mich alles nach Nostalgie an.
Oltimer fahren ok, aber willst du zum Fernseher gehen und immer
umschalten, wenn die Werbung kommt.
Fernbedienung, so ein neumodischer Kram. Braucht keiner und das andere
hält auch noch schlank.
Komischerweise gibt es hier immer welche, die aus der "guten alten Zeit"
berichten und ins Schwärmen geraten, aber sollten sie sich mit kaltem
Wasser waschen müssen oder draußen aufs Plumpsklo müssen, dann würden
sie sich ganz schnell wieder unsere Zeiten wünschen.
Geht in diesem Fall doch nichts über einen µC. Viel weniger Aufwand,
alle Möglichkeiten offen und wenn die Anforderungen etwas anders werden,
dann eben neu programmieren.
Possetitjel schrieb:> Ich finde es extrem nützlich, zu wissen, wie man eine> Schrittkette systematisch konstruiert.
Richtig, und der Chris lernt was über Digitaltechnik
beim konstruieren mit Logikbausteinen.
Gruß
HildeK schrieb:> Possetitjel schrieb:>> Für welchen Maßstab von "besser"?>> Platzbedarf, Verdrahtungsaufwand, Flexibilität...> Drei, vier ICs, meist 14pol. ist schon Aufwand gegenüber> einem Achtbeiner oder eine 14pol.
Ja, okay. Für diese Metriken stimmt das sicher.
Schon bei den Bauteilkosten stimmt es nicht mehr zwingend,
und beim Maßstab "Zeitaufwand für die Entwicklung" wird
die Antwort vollends unbestimmt. Nicht jeder hat C als
erste Muttersprache.
F. F. schrieb:> Das hört sich für mich alles nach Nostalgie an. [...]
Naja.
Das wird vermutlich auch so bleiben (müssen). Ich bin nicht
(mehr) motiviert, Leute meine Meinung zu erklären, die an
einer Erklärung gar nicht interessiert sind.
Possetitjel schrieb:> Nicht jeder hat C als erste Muttersprache.
Ja, sehe ich ein.
Aber gerade so kleine Problemchen bieten eine gute Möglichkeit, sich
damit zu beschäftigen. 'Diskrete' digitale Lösungen werden immer
seltener werden und auch da sollte man am Ball bleiben.
Es kommt auch drauf an, ob Hobby oder Profession betrachtet werden. Da
könnten sich auch deine Zweifel an den Kosten relativieren: auch
Platinenfläche kostet. Andererseits will man manchmal keine Software
haben wegen dem Aufwand bei der Qualitätssicherung.
Ich ziehe hier mal einen anderen Vergleich. Alle die das große Latinum
gemacht haben, hat das sicher angekotzt. Geschadet hat es keinem und
alle aus den medizinischen Berufen oder Botanik und einige mehr brauchen
das oder es macht ihnen zumindest das Leben leichter. Dann war es gut
das gelernt zu haben, aber für alle anderen war es ne Qual und wird
allenfalls bei bestimmten Anlässen nur noch raus geholt, um auf die
Kacke zu hauen. Sprechen wird es keiner.
Oder auch der Schmied. Sicher gut, wenn der Lehrling noch den
Schmiedeofen anmachen kann, aber heute arbeiten alle mit Gas, also
braucht er nicht mehr zu lernen wie ein Schmiedefeuer gemacht wird. Erst
wenn er in einer historischen Anlage den Schmied mimen soll, wird er es
wieder brauchen und dann kann er es immer noch lernen.
Vielleicht braucht Chris das ja gerade, aber es "nur so" zu lernen, ganz
ehrlich, da soll er die Zeit lieber mit seiner Freundin/Frau oder im
Café verbringen.
HildeK schrieb:> 'Diskrete' digitale Lösungen werden immer seltener werden> [...]
Klar.
Der Witz ist aber: Die Prinzipien sind allgemeingültig.
AND, OR, XOR, INC, DEC, SHL, SHR kann jeder Mikrocontroller;
das sind aber auch genau die Bausteine, die man als diskrete
Logik kaufen kann, nämlich Gatter, Zähler, Schieberegister.
Wer nur mäßig C programmieren kann, kann eben nur mäßig C
programmieren.
Wer weiss, wie eine Schrittkette strukturell funktioniert,
kann so eine Ablaufsteuerung
- mit Gattern,
- mit Ventilen (Pneumatik/Hydraulik),
- mit Relais/Schützen,
- im FPGA,
- im Mikrocontroller
implementieren.
Es sind im Prinzip immer dieselben endlichen Automaten;
mit welcher Hilfsenergie die Schaltglieder funktionieren,
ist für die logische Funktion völlig wumpe.
DAS ist der Grund.
> Andererseits will man manchmal keine Software haben> wegen dem Aufwand bei der Qualitätssicherung.
Eben.
Chris schrieb:> Ich sitze an der Entwicklung eines Schaltplans dran.> Mein erster Schaltplan in dem Umfang.
Unabhängig davon, ob Dein plan funktioniert oder nicht, empfehle
ich Dir, Schaltpläne auf nicht gerastertem Papier zu zeichnen, das
ist mit einiger Übung auch ohne Lineal und Raster zu zeichnen und
erhöht die Sichtbarkeit...
F. F. schrieb:> Ich ziehe hier mal einen anderen Vergleich. Alle die das> große Latinum
Ja; guter Vergleich.
> gemacht haben, hat das sicher angekotzt. Geschadet hat es> keinem
Das weisst Du doch gar nicht.
Es gibt sicher Leute, die dadurch eine Aversion gegen die
Beschäftigung mit Fremdsprachen aufgebaut haben.
[Latein]
> Sprechen wird es keiner.
Richtig.
Aber bei Leuten, die sich mit Sprache beschäftigen, setzt man
gewisse Grundkenntnisse in Latein voraus -- einfach weil
Einflüsse des Lateinischen in zahllosen Sprachen nachweisbar
sind.
> Oder auch der Schmied. Sicher gut, wenn der Lehrling noch> den Schmiedeofen anmachen kann, aber heute arbeiten alle> mit Gas, also braucht er nicht mehr zu lernen wie ein> Schmiedefeuer gemacht wird.
Nein, das nicht.
Aber jeder Zerspaner (und auch jeder Mechatroniker) lernt auch
heute noch, wie man mit einer Feile umgeht. Viele kotzt das
zwar an, aber es sind meiner Meinung nach Grundfertigkeiten,
die man als Techniker haben muss.
> Vielleicht braucht Chris das ja gerade, aber es "nur so" zu> lernen, [...]
Du unterliegst augenscheinlich einem fundamentalen Irrtum.
An Logikbausteinen ist überhaupt nichts "nur so" -- das ist
die Grundlage für alles Digitale.
Possetitjel schrieb:> AND, OR, XOR, INC, DEC, SHL, SHR kann jeder Mikrocontroller;
... und haben wir (wenn nicht schon vorher) auch alle gelernt. Und genau
deshalb muss man da keine Schaltung draus machen.
Wir hatten mal ein Steuergerät, da musste man das zu Fuß so machen.
Natürlich ging das, aber zum kotzen war das schon.
Ist doch viel schöner eben eine switch case Anweisung für den Schalter
zu schreiben. Gut, du musst ihn entprellen, dann schauen, dass der
Taster auch innerhalb einer gewissen Zeit entsprechend gedrückt wurde.
Ich möchte mir nicht einmal Gedanken darüber machen, wie ich das mit
Gattern machen sollte.
F. F. schrieb:> Gut, du musst ihn entprellen, dann schauen, dass der> Taster auch innerhalb einer gewissen Zeit entsprechend gedrückt wurde.> Ich möchte mir nicht einmal Gedanken darüber machen, wie ich das mit> Gattern machen sollte.
Besser gesagt, der MC kann ohne großen Aufwand nebenbei Entprellen.
Bei Logik-ICs ist das ein großer zusätzlicher Aufwand.
Ich hab mal alte Logikplatinen gesehen mit einen riesen Grab an
RC-Gliedern und Schmitt-Triggern an jedem Eingang, damit es einigermaßen
störfest ist.
M. M. sollte man den jeweiligen Anwendungsfall betrachten. Insbesondere
bei sicherheitsrelevanten Anwendungen sollte man insbesondere bei
µC-Verwendung recht sattelfest beim Programmieren sein. (bin ich leider
nicht)
Mal ein Beispiel: Ich habe mir ein kleines Gerät mit µC gebaut, welches
mich an die regelmäßige Tabletteneinnahme erinnern soll. Dazu wurde eine
„Uhr“ programmiert, die zu bestimmten Zeiten LED blinken lässt bzw.
einen Signalton auslöst.
Das Ganze lief ca. 1,5 Jahre problemlos, aber plötzlich ging die Uhr ca.
1 Minute vor. Das ist zwar hier nicht so schlimm, könnte aber bei
bestimmten Anwendungen zu ernsthaften Problemen führen.
F. F. schrieb:> Ist doch viel schöner eben eine switch case Anweisung> für den Schalter zu schreiben.
Ich möchte Dir nicht zu nahe treten, aber hast Du mal
einen Automaten nennenswerter Größe gebaut? Da geht es
nicht um "schöner", da geht es ums nackte Überleben.
Da brauchst Du irgend eine Systematik, die vernünftig
skaliert.
> Gut, du musst ihn entprellen, dann schauen, dass der> Taster auch innerhalb einer gewissen Zeit entsprechend> gedrückt wurde.
Ahh. Und dann muss man natürlich noch Zustandsübergänge
und Signalausgabe irgendwie sinnvoll trennen. Ach ja,
strukturierte Behandlung von Anfangs- und Endzustände
kommt ja auch noch dazu...
Ach so, und Timer sollen natürlich auch nicht blockierend
sein...
> Ich möchte mir nicht einmal Gedanken darüber machen,> wie ich das mit Gattern machen sollte.
Ich verstehe das Problem nicht.
Wenn man das Bauprinzip verstanden hat, kann man fast
mechanisch zwischen Codezeilen und Gattern hin- und
herübersetzen.
Possetitjel schrieb:> Ich möchte Dir nicht zu nahe treten, aber hast Du mal einen Automaten> nennenswerter Größe gebaut? Da geht es nicht um "schöner", da geht es> ums nackte Überleben.> Da brauchst Du irgend eine Systematik, die vernünftig skaliert.
Nein habe ich nicht und sicher ist das auch alles aufwändig, wenn alles
perfekt abgestimmt sein muss, in einem komplexen System.
Das man das auch mit Gatten umsetzen kann, wenn man das System
verstanden hat, ist auch klar, aber allein der Aufbau dieser Platine und
was Peter erst erwähnte, mit der analogen Entprellung, das ist sicher
nicht minder aufwändig.
Doch hier ging es um einen Taster und die Abfrage von der
Mehrfachbetätigung eben dieses Tasters.
Die einfachste Variante den Taster zu entprellen, wenn man es nicht so
perfekt wie Peters Routine braucht und die Laufzeit nicht kritisch ist,
reicht ein delay von einigen Millisekunden.
Habe das im Anfang einmal ausprobiert und kam runter (trifft immer nur
für meine Umgebung und meine Materialien zu) bis auf 3 Millisekunden.
Einfacher geht es bei geringen Anforderungen der Anwendung wirklich
nicht mehr.
Hallo!
Möchte mich etwas verspätet melden.
Habe mir einen CMOS 4017 Dezimalzähler zugelegt.
Reset wird HIGH geschalten, wenn Ausgang 3 HIGH ist.
Es werden 3 Schritte Ausgang 0,1 & 2 benutzt.
Ich weiss gerade nicht so ganz wie ich weiterschalten soll.
Laut Beschreibung: http://www.cmos4000.de/cmos/4017.html
- Soll EN = Takt-Freigabe (Pin 13) auf LOW liegen. OK..
- CARRY-OUT-Anschluß ist High für Zählungen von 0 bis 4. OK..
- Takteingang Clock soll nun mittels Flankenauswertung LH-Übergang
weiterschalten- OK..
- Spannungsversorgung an Pin 16 und 8 liegt an
Habe mir nun einen PullUp-Widerstand eingebaut und eine Verbindung
zwischen Widerstand und Taster nach Clock Pin 14 gesteckt.
https://playground.arduino.cc/CommonTopics/PullUpDownResistor
Der Zähler schaltet nicht weiter. Es bleibt nur ein Ausgang aktiv.
Nur wenn ich die Steckverbindung zwischen Widerstand und Taster löse,
zählt der Zähler weiter und hört nicht auf.
Was sollte ich an der Schaltung warum ändern, sodass es auf Betätigung
des Schalters funktioniert?
VG
Chris
Hallo
auch wenn es auf den ersten Blick wenig mit den Thema gemein hat sollte
man sich doch mal folgendes Video anschauen:
https://www.youtube.com/watch?v=H-Ui5wxCzvU
Ungefähr bei Minute 51 stellt jemand aus dem Publikum eine Fachfrage die
sehr schön zeigt wie tief das Software- und Komplettsystemdenken (Ein
fertiger hoch integrierter Baustein) auch in der Fachwelt verwurzelt
ist, und das es selbst dort so manchen nur noch schwer möglich ist sich
vorzustellen das letztendlich doch alles Hardware ist welche sich
letztlich aus einigen Grundfunktionen (Gatter, Zähler, Teiler,
Multiplexer...) aufbaut - natürlich mittlerweile in einer unglaublich,
nicht mehr dirkt nachvollziehbaren Komplexität.
Ich finde es für jemanden der wirklich verstehen will was im Innersten
abläuft gar nicht mal so schlecht das auch heute noch (einmalig)mit
Logikschaltungen und anderen Grundschaltungen auf zu bauen. Im
"produktiven" Umfeld, oder als Teilproblem einer größeren Sache
verwendet man natürlich auch im Hobbybereich einen µC - aber jemanden
der auch die Hardware dahinter im Detail verstehen möchte ist die Lösung
mit Gattern und weiteren Grundbausteinen auch heute noch(wenn auch nur
einmalig aufgebaut und eventuell als fertige Schaltung dann doch nicht
praktisch verwendet) sehr zu empfehlen.
Siehe auch den Beitrag von Autor: Possetitjel (Gast)Datum: 13.09.2017
02:16
In Extremis hat das ja Henry Westphal aus dem Video gemacht - und das
nicht nur als Persönliches Spaßobjekt eines Verrückten Nerds, sondern
mit einen ernsthaften Hintergrund und zusammen mit einigen (angehenden?)
hochgebildeten Menschen aus dem E-Technik Bereich.
Stan Smith schrieb:> Ungefähr bei Minute 51 stellt jemand aus dem Publikum eine Fachfrage die> sehr schön zeigt wie tief das Software- und Komplettsystemdenken (Ein> fertiger hoch integrierter Baustein) auch in der Fachwelt verwurzelt> ist, und das es selbst dort so manchen nur noch schwer möglich ist sich> vorzustellen das letztendlich doch alles Hardware ist welche sich> letztlich aus einigen Grundfunktionen (Gatter, Zähler, Teiler,> Multiplexer...) aufbaut
Hallo!
Habe mir den empfohlenen Teil angesehen. Bei mir geht es darum, das ich
meinen elektrotechnischen Kenntnisstand in Bezug auf Digitalelektronik
erweitern möchte. Ich programmiere zwar auch sehr gerne, allerdings
mache ich das beruflich wenig bis gar nicht. Ich finde es zum Beispiel
bei Frequenzumrichtern schön zu sehen, wenn es 7-Segment Anzeigen gibt,
die beispielsweise die Fehlercodes ausgeben. Dann weiß ich, moment mal,
das kenne ich doch von meinen privaten Projekten. Es steckt einen Logik
dahinter, die ich teilweise verstehe. Außerdem habe ich am Arduino gar
nicht so viele Digitalen Ein-/Ausgänge die ich für mein Projekt brauche.
Reine Hardware beinhaltet viel mehr Verdrahtungsaufwand. Die Ansteuerung
eines Zählers habe ich bisher insoweit verstanden, dass ich mehr
ausprobiere, bzw. stecke bis es funktioniert, damit zurück zum Thema:
Habe nun 2 Möglichkeiten gefunden den Zähler 4017 anzusteuern.
Habe einen Quarztaktgeber 1Hz aufgebaut und es ist mir gelungen den 4017
zum automatisierten weiterschalten zu befähigen, indem die Flanke von
LOW auf HIGH vom Taktgeber ausgwertet wird. Carry liegt auf HIGH, Enable
auf LOW und mit Clock wird getaktet. Das funktioniert, ist allerdings
nicht mein Ziel. Ich kann das zwar auch aso aufbauen das die Flanke von
HIGH auf LOW ausgewertet wird, das ist allerdings auch nicht mein Ziel.
Würde das gerne über eine Betätigung eines Tasters realisieren, ohne das
die Schaltung flackert.
Hat jemand eine Idee?
Gruß
Chris
Guten Abend!
Kurze Statusmeldung. Es funktioniert wie gewünscht.
Habe den Pull-UP Widerstand als Pull-Down Widerstand umfunktioniert und
nun funktioniert die Schaltung. Habe sie aufgezeichnet. Siehe Anhang.
Eine weitere Frage: Habe eine Schaltung mit System Reset im
CMOS-Kochbuch gefunden. Sie beinhaltet ein D-FlipFlop. Kann man diese
Schaltung auch mit einem oder mehreren normalen SR-FlipFlop aufbauen?
Ich habe das RS-FF-IC da aber kein D-FF.
VG
Chris