Guten Abend, Ich habe folgendes Problem das ich (amliebsten) mit einem IC lösen würd, finde aber leider kein passendes. Nun meine Frage: Gibt es ein IC das zb 8 Eingänge hat und sobald an einem Eingang ein High Pegel anliegt alle anderen eingänge gesperrt werden und das IC meinem microcontroller sagt welcher Eingang als erstes HIGH war? und dann zb. noch ein reset Pin um alle Eingänge wieder freizuschalten. Konkretere Infos gibt es noch nicht, bin aktuell erstmal dabei ein Konzept für mein Projekt zu entwerfen und zu schauen was ich wie lösen könnte. Sprich letzendlich gehts erstmal dadrum von mehreren Eingängen den ersten der HIGH wird rauszufiltern. Gibt es hier jemand der dafür eine Idee hat? Vielen Dank schonmal.
Patrick G. schrieb: > Gibt es ein IC das zb 8 Eingänge hat... Das klingt erstmal nicht nach einem konkreten Problem, wenn das IC „zum Beispiel“ 8 Eingänge hat. Patrick G. schrieb: > sobald an einem Eingang ein > High Pegel anliegt alle anderen eingänge gesperrt werden und das IC > meinem microcontroller sagt welcher Eingang als erstes HIGH war? Patrick G. schrieb: > Sprich letzendlich gehts erstmal dadrum von mehreren Eingängen den > ersten der HIGH wird rauszufiltern. Weshalb macht der uC das nicht direkt, ohne weitere Bausteine?
Hi es gibt als IC den 8 zu 3 Prioritäts-Encoder. Allerdings kann der seine Eingänge nicht sperren, da wird einfach der höchst-wertigste Eingang am Ausgang abgebildet. Also mit TTL wird das eher kompliziert. Also warum nicht per uC? Gruß gerhard
Ehrlich? Blödsinn. Absoluter Blödsinn.
Mit jedem halbwegs normale Mikrocontroller kann man ohne
Zusatz-Sonder-Spezial-IC erkennen welcher Eingang (mit einer gewissen
Auflösung) zuerst High war. Die anderen Eingänge dann in Software zu
ignorieren ist ebenfalls so trivial das ich mich schon an den Kopf
fassen muss.
> Konkretere Infos gibt es noch nicht,
Oh ja, also mal wieder die geheime Erfindung des Jahrhunderts. Also ich
werde dir nicht Zucker in den Arsch blasen um mehr von dem Blödsinn zu
erfahren.
Grundidee: CD4532 Prioritätsencoder. Dahinter ein Register, das bei Aktivierung die Bitnummer festhält und den Encoder sperrt. Offen: Ob das Timing das von selbst bereits hergibt.
Patrick G. schrieb: > Ich habe folgendes Problem das ich (amliebsten) mit einem IC lösen würd, > finde aber leider kein passendes. Dann hast du einfach nicht nachgedacht. Probiere mal folgendes: ein 8fach-OR, 8 Latches, ein RS-FF. Das sollte reichen, evtl. je nachdem, wie herum die Latches funktionieren ein Inverter. Rate mal, in was für einer Art IC sowas drin ist. W.S.
Beitrag #6635846 wurde von einem Moderator gelöscht.
Beitrag #6635850 wurde von einem Moderator gelöscht.
Das klingt nach der klassischen Oder-Verknüpfung (OR auf auswärts). Wird aber mit diskreten ICs relativ aufwändig - da mehrstufig. Egal welcher Eingang auf High geht, der Ausgang geht dann auch auf High. In Zeiten der aussterbenden Logik-ICs kann es ein Problem werden, ein 8-fach-Or zu besorgen. Ist aber kein Problem, da man die Teile einfach kaskadieren kann. Parallel zu den 8 Eingängen brauchst Du dann noch 8 Speicher (z.b. D-Flip-Flops) die ihrerseits mit dem Ausgang des 8-fach-Oders getaktet werden. Geht jetzt irgendein Eingang auf logisch High, so werden die Flip-Flops getaktet und speichern den aktuellen Zustand. Einer war ja high. Mit ein Bisschen Drum-Herum (Reset-Logik) können dann die 8 Speicher zurückgesetzt werden. Dem nach je kann es auch noch nötig werden, die Takteingänge der D-Flip-Flops zu verriegeln. Nich unbedingt Anfängergeignet.
Das ging ja mal schnell, Danke. Es geht hier nicht um eine "Erfindung" etc. sondern seit der Corona langeweile spielen meine cousins und ich sehr viel Dart und bin dabei mir mal ein paar Gedanken darüber zu machen wie man eine Dartscheibe aus Kork bzw Sisal realisieren könnte die elektronisch ausgewertet wird. Alls erste Idee habe ich mir mal einen Vibrationssensor bestellt den ich mit einer passenden Fassung aus dem 3D Drucker in jedes Feld integrieren möchte. Wenn man jetzt einen Dart wirft reagieren aber logischerweiße auch die umliegenden Felder und das (vermutlich) in sehr kurzer reihenfolge und meine Angst ist das die uC Eingänge keine hochgenuge abtastrate haben. Sind meine Bedenken berechtigt? Könnt ja mal eure Gedanken und Ideen schreiben, wäre ich dankbar für. Und ja mein erster Beitrag war eventuell nicht perfekt formuliert ;)
Kleines Problem asynchroner Lösungen: race conditions. Also was genau passiert, wenn sich in sehr kurzer Zeit mehrere Eingänge melden. Da gibts einige Möglichkeiten, was schief gehen kann.
Sebastian S. schrieb: > Nich unbedingt Anfängergeignet. Wenn jemand meint, so etwas an Logik u brauchen, dann sollte er auch die nötigen Vorkenntnisse sich durch Lernen angeeignet haben. Sowas läßt sich strunzeinfach mit einem billigen kleinen CPLD erledigen. Die haben z.T. bis mehr als 32fache AND-Gatter drin und die gehen dafür ja auch, da man zu jedem Pin auch dessen Inverses in der Matrix hat. Was mir hier überhaupt nicht schmeckt ist, daß immer wieder Leute daherkommen und ohne nähere Umstände den anderen so einen Brocken vor die Füße schmeißen und erwarten, einen passenden IC auf dem Silbertablett kredenzt zu kriegen. W.S.
W.S. schrieb: > den anderen so einen Brocken vor > die Füße schmeißen und erwarten, einen passenden IC auf dem > Silbertablett kredenzt zu kriegen. So falsch nicht. Wenns funktioniert, weil es bei jemanden was triggert. Mal kommt was dabei raus, mal nicht. Aber fragen darf man. Besser ist allerdings, den Kontext mitzureichen. Also ob es um GHz geht, oder eben um Dart.
Hannes J. schrieb: > Ehrlich? Blödsinn. Absoluter Blödsinn. > > Mit jedem halbwegs normale Mikrocontroller kann man ohne > Zusatz-Sonder-Spezial-IC erkennen welcher Eingang (mit einer gewissen > Auflösung) zuerst High war. Die anderen Eingänge dann in Software zu > ignorieren ist ebenfalls so trivial das ich mich schon an den Kopf > fassen muss. > >> Konkretere Infos gibt es noch nicht, > > Oh ja, also mal wieder die geheime Erfindung des Jahrhunderts. Also ich > werde dir nicht Zucker in den Arsch blasen um mehr von dem Blödsinn zu > erfahren. Genau so. 8 Gpios aufsetzen. Interrupt drauf legen, und die Maske sagt einem, welcher Pin es war. Eine Sache von 10 Minuten.
Patrick G. schrieb: > Wenn man jetzt einen Dart wirft reagieren aber logischerweiße auch die > umliegenden Felder und das (vermutlich) in sehr kurzer reihenfolge und > meine Angst ist das die uC Eingänge keine hochgenuge abtastrate haben. Da kannst du schon mal den Information vorweg erarbeiten, die du sowieso brauchst: Wie gross der kleinste Zeitabstand zweier Sensorensignale bei Reaktion auf das gleiche Signal ist. Also die mindestens geforderte zeitliche Auflösung jedes Verfahrens.
PittyJ schrieb: > 8 Gpios aufsetzen. Interrupt drauf legen, und die Maske sagt einem, > welcher Pin es war. Sind dabei weitere Interrupts gesperrt, sobald der erste eintrifft? Sonst wärs ja einfach. Aber das eigentliche Problem ist, dass die nicht nur ein Sensor reagieren wird. Und genau da muss man nun erst einmal wissen, ob der µC rechtzeitig reagiert, um nur den ersten zu erwischen.
Bevor die Corona-Langeweile dich und deine Verwandschaft jetzt umbringt, erkunde doch erst mal, wie elektronische Dartscheiben das (richtig) machen! Zwischendurch könnt ihr ja trotzdem weiterspielen :-) und das mit den Vibrationssensoren wird wohl nicht klappen...denk mal drüber nach... Trotzdem viel Spass und Gruß, Rainer
W.S. schrieb: > Was mir hier überhaupt nicht schmeckt ist, daß immer wieder Leute > daherkommen und ohne nähere Umstände den anderen so einen Brocken vor > die Füße schmeißen und erwarten, einen passenden IC auf dem > Silbertablett kredenzt zu kriegen. Und? Warum das Rad neu erfinden, wenn jemand hier eventuell ein spezialisiertes Bauteil kennt? Ich bin beruflich in einem Klima aufgewachsen, wo wir mitsamt Chef immer im interdisziplinären Team Mittag gemacht haben. In dieser Runde konnte jeder ALLES fragen. Ein besseren Katalysator für Innovation als schnellen Erfahrungsaustausch gibt's fast garnicht. Was soll denn schlimmeres passieren, als ein "nö, kenn ich nicht" als Antwort?
(prx) A. K. schrieb: > PittyJ schrieb: >> 8 Gpios aufsetzen. Interrupt drauf legen, und die Maske sagt einem, >> welcher Pin es war. > > Sind dabei weitere Interrupts gesperrt, sobald der erste eintrifft? > Sonst wärs ja einfach. Aber das eigentliche Problem ist, dass die nicht > nur ein Sensor reagieren wird. Und genau da muss man nun erst einmal > wissen, ob der µC rechtzeitig reagiert, um nur den ersten zu erwischen. Genau das beschreibt meine Bedenken sehr gut, aber du hast schon recht, ich sollte mal rausfinden wie viel zeit zwischen den Sensoren liegt wenn sie auf den selben Dart reagieren. Ich bin gerade noch ein paar 3D Teile am drucken, morgen versuch ich dann mal eine Dartscheibe damit auszustatten. Habe die 3D Teile so konstruiert das zwischen jedem Feld ein hohlraum von 1mm ist unter der hoffnung das das die Felder ein wenig voneinander abdämpft. Dann werde ich einfach mal ein paar Darts werfen und die Eingangssignale aufzeichnen lassen mit timestamps, dann sollte ich ja hoffentlich sehen wie viel ms dazwischenliegen. Wenn ich das weiß kann ich weitersehen. Danke!
Patrick G. schrieb: > Gibt es ein IC das zb 8 Eingänge hat und sobald an einem Eingang ein > High Pegel anliegt alle anderen eingänge gesperrt werden und das IC > meinem microcontroller sagt welcher Eingang als erstes HIGH war? Welche Zeit liegt zwischen dem ersten und folgenden Ereignis ? Patrick G. schrieb: > bin dabei mir mal ein paar Gedanken darüber zu machen wie man eine > Dartscheibe aus Kork bzw Sisal realisieren könnte die elektronisch > ausgewertet wird. Gibt es haufenweise. > Alls erste Idee habe ich mir mal einen Vibrationssensor bestellt den ich > mit einer passenden Fassung aus dem 3D Drucker in jedes Feld integrieren > möchte. Niemand möchte wissen, von welchem Feld ein Pfeil abgeprallt ist. > Wenn man jetzt einen Dart wirft reagieren aber logischerweiße auch die > umliegenden Felder und das (vermutlich) in sehr kurzer reihenfolge und > meine Angst ist das die uC Eingänge keine hochgenuge abtastrate haben. > Sind meine Bedenken berechtigt? Nein. Falscher Ansatz. Wenn es wirklich nur um abprallen geht, reichen 3 Sensoren am Rand der Scheibe. Der erste Aufprall eines Darts produziert eine Schwingung, ein Geräusch, und je weiter der Sensor vom Aufprallpunkt entfernt ist, um so später kommt das Geräusch dort an. Es muss also nur der Laufzeitunterschied des Geräusches der 3 Sensoren ermittelt werden, dann kann man den Aufprallpunkt berechnen. Bei 330m/s reicht eine Auflösung von 3us, um den Aufprallpunkt auf 1mm genau ermitteln zu können. Ein STM32 kann jede Mikrosekunde einen Analogwert per ADC erfassen und das 3-kanalig per DMA speichern, die Software kann nach Erfassung dann analysieren und berechnen. Man braucht also keine zusätzliche Hardware. Ob der Pfeil dann stecken blieb oder abprallte, ist nochmal eine andere Frage. Vielleicht beantwortbar durch KI.
Minimalist schrieb: > W.S. schrieb: >> Was mir hier überhaupt nicht schmeckt ist, daß immer wieder Leute >> daherkommen und ohne nähere Umstände den anderen so einen Brocken vor >> die Füße schmeißen und erwarten, einen passenden IC auf dem >> Silbertablett kredenzt zu kriegen. > > Und? Warum das Rad neu erfinden, wenn jemand hier eventuell ein > spezialisiertes Bauteil kennt? Ich bin beruflich in einem Klima > aufgewachsen, wo wir mitsamt Chef immer im interdisziplinären Team > Mittag gemacht haben. In dieser Runde konnte jeder ALLES fragen. Ein > besseren Katalysator für Innovation als schnellen Erfahrungsaustausch > gibt's fast garnicht. > Was soll denn schlimmeres passieren, als ein "nö, kenn ich nicht" als > Antwort? Danke, genau sowas wie hier im Forum ist auch ein Lernprozess. Ich erkundige mich nach möglichen Lösungswegen und Meinungen, werde diese dann in der Praxis ausprobieren und daraus lernen, was soll daran jetzt bitte falsch sein?
Patrick G. schrieb: > Genau das beschreibt meine Bedenken sehr gut, aber du hast schon recht, > ich sollte mal rausfinden wie viel zeit zwischen den Sensoren liegt wenn > sie auf den selben Dart reagieren. Auf dem Weg dorthin wirst du vielleicht feststellen, dass Sensor des Feldes, in dem er traf, von der Position des Signals weiter entfernt sein könnte, als der nächste Sensor in einem Nachbarfeld. Dart ist kein Schachbrett.
MaWin schrieb: > Vielleicht beantwortbar durch KI. ... oder ganz banal durch NI. ;-) Ja, Zeitmessung kam mir auch in den Sinn. Zu Kork finde ich ca 500 m/s. Da gehts. Bei Holz mit 5000 m/s wärs knapper.
...und wieso eigentlich ausgerechnet etwa 8 Eingänge? Du hast auf der Scheibe 82 Felder, die getroffen werden könnten. Ich sehe schon das TTL-Grab, egal ob mit oder ohne Prozessor. Immerhin könnte die Pandemie schon vorrüber sein, bevor der erste Pfeil sicher erkannt wurde :-) Gruß Rainer
(prx) A. K. schrieb: > Patrick G. schrieb: >> Genau das beschreibt meine Bedenken sehr gut, aber du hast schon recht, >> ich sollte mal rausfinden wie viel zeit zwischen den Sensoren liegt wenn >> sie auf den selben Dart reagieren. > > Auf dem Weg dorthin wirst du vielleicht feststellen, dass Sensor des > Feldes, in dem er traf, von der Position des Signals weiter entfernt > sein könnte, als der nächste Sensor in einem Nachbarfeld. Dart ist kein > Schachbrett. Da hast du recht, so schnell haste meine Idee zerstört :D Ne Spaß beiseite, da hatte ich wohl einen großen Denkfehler.
(prx) A. K. schrieb: > Kleines Problem asynchroner Lösungen: race conditions. Also was genau > passiert, wenn sich in sehr kurzer Zeit mehrere Eingänge melden. Das kommt drauf an, wie groß "sehr kurz" bezogen auf Gatterdurchlaufzeiten der verwendeten Logik ist - und natürlich auf die Schaltung.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.