Quellcode |
Die Software dieses Projektes steht als Download zur Verfügung.
Folgende Funktionen sind in der Software abgedeckt:
- Grafikoberfläche mit Toucheingabe
- Manuelles
Verfahren des Schlittens (links/rechts)
- Setzen von virtuellen Endpunkten
- Automatisches Pendeln zwischen Endpunkten (virtuelle Endpunkte oder
Endschalter)
Um ein "Flackern" der Bedienoberfläche bei geringer Schrittmotorfrequenz zu vermeiden, wird die Weiterschaltung der Motorschritte durch einen Timer-Interrupt getriggert. Somit kann die Visualisierung auch während der Wartezeit zwischen zwei Motorschritten mit einer hohen Bildwiederholfrequenz (größer als 30 Bilder/Sekunde) aktualisiert werden.
Bei der Verwendung einer Delay/Sleep Funktion würde das Programm für die Wartezeit zwischen zwei Schritten blockiert werden und die Bildwiederholfrequenz könnte nicht gewährleistet werden.
Da bei der manuellen Bewegung des Motors der Touch dauerhaft gedrückt werden muss, wird laufend ein Interrupt durch den Touchscreen erzeugt. Damit der Schrittmotor trotzdem die volle Geschwindigkeit erreicht, werden die Motorfunktionen aus der Timer-Interrupt-Service-Routine aufgerufen. Somit ist sichergestellt, dass nach einem Triggern des nächsten Motorschrittes, dieser auch ausgeführt wird.
Zur Erstellung des Quellcodes wurden folgende Hilfsmittel verwendet:
1. Entwicklungsumgebung (IDE): System Workbench for
STM32F7 von ST (basierend auf Eclipse)
http://www.st.com/en/development-tools/sw4stm32.html
2. Konfigurationstool: STM32 Cube MX von ST
http://www.st.com/en/development-tools/stm32cubemx.html
3. Grafikbibliothek: STemWin von ST und Seeger
Microcontroller GmbH
http://www.st.com/en/embedded-software/stemwin.html