Hallo, vorne weg: Ich bin absoluter Anfänger bzgl. Microcontrollern und beiße mich da nun zum ersten Mal für ein Hochschulprojekt rein. Bisher hatte ich mit einem Arduino Nano gearbeitet, mit dem ich mich auch schon gut anfreunden konnte, aber leider kommt die geforderte Aufgabe an dessen Grenzen. Nun habe ich ein STM 32F407VG zur Verfügung gestellt bekommen. Die Aufgabe scheint erst mal einfach: Die Signale eines inkrementalen Drehgebers müssen bei einer max. Geschwindigkeit von 30 Umdrehungen pro Sekunde erfasst und hochgezählt werden. Nach einem bestimmten Wert muss ein TTL Signal als Trigger für eine Highspeedkamera ausgegeben werden, während die Zählung weiterläuft. Die 2 Signale des Drehgebers sind zwei um 90° phasenverschobene Rechteckimpulse, deren abwechselnder LOW/High-Wechsel ein Greycode darstellt und man ausserdem aus der Reihenfolge der Signalflanken die Drehrichtung bestimmen kann. Pro Umdrehung geben diese Signale zusammen 4000 Flanken aus, die vom Programm zu zählen sind. Ich kämpfe mich gerade durch die Konfiguration mit CubeMX und möchte den Rest mit der STM 32 Workbench erledigen. Ich habe keine Ahnung, welche Einstellungen ich hier beachten muss, geschweige denn wie ich die Cklock Configuration machen soll ^^ Ich habe bereits herausgefunden, dass die Timer des Boards unter "combined channels" den Modus "Encoder" bieten, was wohl genau für die 2 Quadratur- Signale, die der Drehber ausgibt, geeignet ist. Nur habe ich überhaupt keine Ahnung, wie ich das was mir das Board zur Verfügung stellt, nutzen soll. Ich muss wohl "einfach ein Timer-Interrupt" setzen, aber ich benötige grundlegende Einstiegskenntnisse für die Handhabung. Auch bei der Programmierung in der Workbench weiß ich bisher nur, dass ich irgendwo in einer Main-Datei, die mir das CubeMx erstellt, meinen Code an einer Stelle einfügen kann... Mit den Befehlen wie GIO_HAL etc. kann ich auch noch nichts anfangen. Ich finde im Netz leider keine Übersciht über die wichtigsten Befehle bei der Verarbeitung von digitalen Eingängen/Ausgängen, das war beim Arduino alles viel einfacher^^ Ich hoffe es kann mir jemand in irgendeiner Form weiterhelfen
:
Bearbeitet durch User
Rick M. schrieb: > Ich finde im Netz leider keine Übersciht über die wichtigsten Befehle > bei der Verarbeitung von digitalen Eingängen/Ausgängen, Dann hast du wohl nicht richtig gesucht. https://www.st.com/content/ccc/resource/technical/document/user_manual/2f/71/ba/b8/75/54/47/cf/DM00105879.pdf/files/DM00105879.pdf/jcr:content/translations/en.DM00105879.pdf Und für den Einstieg sind auch die Videos von ST recht nützlich: https://www.youtube.com/user/STonlineMedia/playlists
Rick M. schrieb: > Hallo, Hallo > Die Aufgabe scheint erst mal einfach: Die Signale eines inkrementalen > Drehgebers müssen bei einer max. Geschwindigkeit von 30 Umdrehungen pro > Sekunde erfasst und hochgezählt werden. Nach einem bestimmten Wert muss > ein TTL Signal als Trigger für eine Highspeedkamera ausgegeben werden, > während die Zählung weiterläuft. Die 2 Signale des Drehgebers sind zwei > um 90° phasenverschobene Rechteckimpulse, deren abwechselnder > LOW/High-Wechsel ein Greycode darstellt und man ausserdem aus der > Reihenfolge der Signalflanken die Drehrichtung bestimmen kann. Pro > Umdrehung geben diese Signale zusammen 4000 Flanken aus, die vom > Programm zu zählen sind. > Ich kämpfe mich gerade durch die Konfiguration mit CubeMX und möchte den > Rest mit der STM 32 Workbench erledigen. Ich habe keine Ahnung, welche > Einstellungen ich hier beachten muss, geschweige denn wie ich die Cklock > Configuration machen soll ^^ > Nur habe ich überhaupt keine Ahnung, wie ich das was mir das Board zur > Verfügung stellt, nutzen soll. Ich muss wohl "einfach ein > Timer-Interrupt" setzen, aber ich benötige grundlegende > Einstiegskenntnisse für die Handhabung. Auch bei der Programmierung in > der Workbench weiß ich bisher nur, dass ich irgendwo in einer > Main-Datei, die mir das CubeMx erstellt, meinen Code an einer Stelle > einfügen kann... Mit den Befehlen wie GIO_HAL etc. kann ich auch noch > nichts anfangen. Sei unbesorgt, wir programmieren dir das. Ich habe schon angefangen und andere bestimmt auch. Wann soll es denn fertig sein?
ich brauche einfach eine Einstiegshilfe und will das ja selbst lernen. Das ist gerade so ein riesiger Berg an Informationen und ich blicke einfach noch nicht durch und weiß nicht, wie ich anfangen soll...
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.