Vielleicht gibt es ja Interesse an meinem STM32 "Scope". Entstanden aus der Motivation zu sehen was an den Eingängen des STM los ist, ist daraus ein "Ist kein vollwertiges Scope" Projekt geworden. Und da meine eigene Platine sowieso niemand außer mir hat, habe ich das ganze noch auf ein Nucleo-64 Board mit STM32F411 (war das bei Reichelt verfügbare Nucleo-64 mit dem größten RAM) portiert. Features: * Bis zu 200kHz Samplerate (unabhängig von der Anzahl der gewählten Eingänge). Der Begrenzende Faktor ist hier die Interrupt Verarbeitung um die Triggerbedingung zu überprüfen. Nicht ohne Grund sind in einem richtigen Scope meist FPGAs verbaut ;) Der ADC des STM könnte 20x mehr. * Bis zu drei Eingänge aus den ADC Eingängen wählbar. * X (Zeit) und Y (Spannung) Skalierung. * Einstellbarer Y Offset. * Als Trigger sind Level, steigende Flanke und fallende Flanke verfügbar. * Als Analyse kann der Max, Min und Durchschnittswert pro Eingang angezeigt werden. * Die Sampletime des ADC wird automatisch auf das mögliche Maximum angepasst. * Einstellungen können auf der MMC/SD/SDHC/SDXC Karte gespeichert und geladen werden. Ebenfalls können Screenshots als komprimiertes .tga abgespeichert werden. Bevor jetzt aber jemand sagt "das ist kein Scope" - stimmt. Dazu fehlen (mindestens) folgende Features: * Der X Offset ist nicht einstellbar. Der Trigger ist immer in der Mitte des Bildschirms. * Der Y Offset und Skalierung ist immer für alle Eingänge gleich. * X-Y Modus. * Es ist halt nur für Eingangssignale bis ~20kHz sinnvoll nutzbar. * Es gibt keine auswählbare Eingangsskalierung - bei 3.3V ist Schluss, und unter 0V geht auch nicht. * Die Eingangsimpedanzen sind halt die vom ADC und eine ordentliche Analog/Digital Trennung fehlt auch. * Es gibt keinen "Graustufen" Modus in der Darstellung. Ist die Triggerbedingung öfters erfüllt als die GUI die Daten verarbeiten kann, so werden die Daten dazwischen schlicht nicht aufgezeichnet, statt ein überlagertes Bild zu generieren. Das alles reicht aber um zum Beispiel das Verhalten eines analogen Joysticks (im Bild Universalbox angeschlossen) zu analysieren. Als Schüler mit knapper Kasse hätte ich mich drüber gefreut. Als Hardware wird derzeit benötigt: STM32F411 mit ILI9341 LCD. Optional eine angeschlossene SD Karte. Ohne können halt keine Screenshots und Einstellungen gespeichert werden. Am einfachsten lässt sich die GUI per serieller Schnittstelle steuern (W-A-S-D Tasten). Für andere STM32 wäre etwas Portierungsarbeit notwendig. Auf meiner Platine läuft ein STM32L452, so dass der ADC Code dort auch fertig wäre. Generell werden ca 70KiB Programm und ca 90KiB RAM Speicher benötigt. Und ganz ohne Hardware lässt sich das Programm unter Linux (oder vermutlich auch mit Windows und WSL2) ausprobieren. Dazu im Verzeichnis apps/11-adc-scope/pc-simulator "make" und dann "make test" ausführen. Vorher muss vermutlich noch freeglut3-dev installiert werden. Die Steuerung ist dann in der GUI per Cursor und in der Konsole per W-A-S-D Tasten möglich. Falls das Programm jemand nutzt, freue ich mich über Feedback und Bilder vom Aufbau :)
Ich bin Neugierig: Hast du Schrauben als Tastenkappe verwendet? Fotografiere das mal von innen. Ich würde gerne sehen wie das mechanisch gelöst wurde.
Monk schrieb: > Ich bin Neugierig: Hast du Schrauben als Tastenkappe verwendet? > Fotografiere das mal von innen. Ich würde gerne sehen wie das mechanisch > gelöst wurde. Ich hab die aus einer 10mm Aluplatte gefräst (mit einer auf CNC umgebaute Proxxon MF70). Das ganze war ziemlich fummelig, da die Taster nur einen Hub von 0,25mm haben und ich entsprechend zum Gehäuseabstand ohne eine vollwertige 3D Fräse ein exakt passendes Loch von der Rückseite bohren musste. Hinzu kommt, dass sich das Gehäuse selbst ein wenig verbiegt, sobald die Ober mit der Unterseite verschraubt wird. Ich habe da mit gefühlt X Iterationen immer versucht das Loch 0,05mm tiefer zu bekommen bis es endlich passte. Der Button auf dem Foto war zu tief geworden, so dass ich 1x von vorne anfangen musste.
Danke für die Info. In der Tat ziemlich aufwändig.
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.