Logisim
#1
Nabend zusammen,

ich glaube dass es hier Fachleute für viele Dinge gibt die nicht unbedingt was mit nem Tonband zu tun haben, dafür gibt es ja auch diese Sparte.

Kennt sich jemand mit Logisim aus? Ich habe neben der Evolution auch noch die ältere Version.

Mein Problem, die Logik der Schaltung klappt so wie ich es mir vorgestellt und entworfen habe,
baue ich das dann auf einem Steckbrett nach, funktioniert so gut wie nix, die möglichen Schwingungen bei den CMOS ICs habe ich im Griff, 
es schaltet jedoch nicht so wie geplant.

Falls jemand helfen kann, gibt es auch genauere Infos.


Gruß
Peter
Zitieren
#2
Das hängt natürlich von der Schaltung ab, eine Möglichkeit sind  nicht beachtete (Gatter-) Laufzeiten.

Gruß Ulrich
Zitieren
#3
Hallo Ulrich,

das wird jetzt etwas länger,
das mit den Laufzeiten hatte ich auch schnell im Verdacht, deshalb habe ich mehrere Varianten probiert, auch sind alle nicht benutzten Gatter Eingänge  an GND.

Kurze Erklärung zu dem Bild.

[attachment=66655]

Das ist eine Steuerlogik für einen Timer, Stoppuhr.  Bei Rallyes muss man viele Zeitprüfungen machen, das Teil soll zum Üben sein. Alle 3 Varianten funktionieren in Logisim toll, nur im Aufbau nicht. Der Timer funktioniert schon mal wie er soll.
2-mal mit D-Flip Flops und einmal mit JK FF.

Funktionsweise:

[attachment=66654]

Resett stellt den Zähler auf null und die Anzeige leuchtet.  Lichtschranke 1 (LS) startet den Zähler, die Anzeige wird aber dunkel, damit man nicht sieht wann man durch die LS 2 fahren soll. LS 2 Stoppt den Zähler und die LED Anzeige zeigt das Ergebnis. Alle weitern Impulse von LS1 oder LS2  bewirken nichts mehr, bis Resett, kleiner Sender, den Timer wieder startklar macht. Es geht auch nur mit einer LS.

Diese Art von Aufbau ist mit CMOS der Horror, 

[attachment=66658]

die Netzfrequenz verursacht  oft schon Schwingungen, ich kann aber nicht immer Platinen ätzen die dann nachher nix taugen.

Die erste Logik funktionierte eigentlich perfekt,

[attachment=66656]  [attachment=66657]

allerdings war der Timer damit nicht einverstanden, ich hatte angenommen man könnte den mit dem Clock enable Signal starten und stoppen, der Start geht aber nur mit dem Resett Signal und der Stopp dann mit dem Clock enable. Starte ich mit Clock enable zeigt der auch ohne Tackt schon 4 mal eine 1.

Wahrscheinlich stehe ich mir hier irgendwo auf nem Schlauch.

Gruß Peter
Zitieren
#4
Hallo Peter,

hast Du schon mal darüber nachgedacht, die ganze Mimik in Software auf z.B. einem Rasperry-Pi-Pico laufen zu lassen? (mal abgesehen von der Großanzeige). Beide Lichtschranken per Interrupt auswerten, die Zeit kann im µs-Bereich gemessen werden. SW-Änderungen und Bugfixes gehen um Längen einfacher, als Schaltung und Platinen ändern.

Viele Grüße
Volker
Zitieren
#5
Hallo Volker,

offensichtlich kommt man heute nicht mehr an Arduino oder Rasperry vorbei.

Seit vielen Jahren habe ich ein teures Enwicklungsboard von MICROCHIP für PCI Controller  hier rum liegen und habe es noch nicht geschafft das mal in die Gänge zu kriegen.  Wenn  ich so einen Rasperry in einer Woche verstehen könnte, täte ich mich vielleicht da dran geben. Ich bin kein Gegner von Innovationen, meine Zeit wird aber nicht mehr mit dem Alter, im Gegenteil.

Hier noch ein Nachtrag, zum zeitlichen Ablauf.

[attachment=66659]

Gruß
Peter
Zitieren
#6
Hallo Peter,

da hast Du natürlich recht, der Zeitaufwand ist schon nicht ganz unerheblich, sich in die Controller-Materie und SW-Entwicklung einzuarbeiten. Ich hatte beruflich das Glück, vom Hardwarentwickler über Embedded-Software bis zur FPGA-Logig-Entwicklung alles machen zu dürfen. Und bin im Alter eigentlich ganz froh, nicht mehr über digital Logik nachdenken zu müssen. Das überlasse ich den Werkzeugen, ob VHDL-Synthese oder auch Softwarecompiler.

Zum eigentlichen Thema: CMOS-Logik (74HC 74AC) ist ziemlich schnell (auch wenn nicht mehr für heutige Verhältnisse). Der kleinste Störpups oder ein "klingeln" in einer Flanke triggert die Flip-Flops. Die Störungen sieht man mit normalen Scopes meistens nicht einmal, weil ein passiver Tastkopf das Signal mit ein paar pF belastet und die Störungen damit plattbügelt. Mein Tip: mal alle Eingänge mit RC-Gliedern filtern, 1k gegen 100nF, wenn es das Signal zulässt. Das Breadboard trägt mich hohen Kapazitäten und langen Verbindungsleitungen (Induktivitäten) auch nicht gerade zur Stabilität bei. Was hast Du für IC verwendet? 74HC? Dann funktioniert LS evtl. besser. Die CD4000-Serie sollte langsam genug sein. Und immer alle unbenutzten Eingänge beschalten. Immer 100nF auf kürzestem Weg zwischen VCC und GND pro IC einfügen (sogenannte "Angstkondensatoren" Wink ).

Viele Grüße
Volker

Nachtrag: Für den RPI-Pico oder auch ESP32 wäre eine Woche Einarbeitung gar nicht so wenig. Visual-Studio-Code instalieren, PlatformIO Erweiterung dazu installieren. Die Magie kommt, sobald Du dann ein PlatformIO-Projekt öffnest: Alle Tools, Compiler usw. werden automatisch passend installiert. Der RPI-Pico oder ESP32 kommt der Micro-USB an den Rechner und bekommt direkt den Code aus der IDE geflasht. Hier mal ein Link, falls Du mal Zeit hast:
https://randomnerdtutorials.com/vs-code-...6-arduino/

Mit einem Beispielprojekt beginnen (blinkende LED Wink ), würde ich behaupten, dass Du das komplette Projekt in einer Woche drauf hast Smile

Viele Grüße
Volker

P.S. Bei mir werkeln ESP32 als Controller für die Weihnachtslichterketten, um die Helligkeit zu regeln. Die machen PWM in Hardware + MOSFET. Mit Kanonen auf Spatzen geschossen, aber bei Hardwarekosten <10€ muss ich da nur mal kurz darüber grinsen Smile
Zitieren
#7
Hallo Volker,

ich verwende die CD4000 Serie, vermutlich kommt Logisim damit nicht klar.

In der Bauteile Bibliothek  ist nur die 74 TTL Familie vorhanden, man kann aber auch mit „Generic Gattern,  FF“ arbeiten, was ich gemacht habe. Ich hab zwar auch die 74LS Bauteile, da aber alles mit Akku, oder Batterie versorgt wird, ist geringe Stromaufnahme ein wichtiges Kriterium, deshalb die CD4000 Bauteile.

Ich vermute das Programm ist eher statisch orientiert und dem ist es egal, wenn der Ausgang des nachfolgenden FF zu spät auf den Eingang des vorhergehenden FF kommt. Deshalb hab ich es mit JK-FF versucht, wo J und K gesetzt werden müssen bevor der Takt etwas ändert.

Ich hab doch tatsächlich hier ein Arduino UNO 3 Bord liegen, keine Ahnung wozu ich das mal angeschafft  habe, vielleicht kann ich da mal nachsehen wozu das fähig ist, sofern der Anwender fähig genug ist.

Allerdings wird mein EGO leiden, wenn es mir nicht gelingt so eine simple Logik zu bauen, die davor hat ja auch funktioniert, leider nur mit den falschen Steuersignalen.  Als ich Logisim noch nicht kannte, klappe das auch irgendwie besser.

Für deinen Link braucht man ja auch schon eine Woche,,,,

Gruß
Peter
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste