Das preemptive MT läuft absolut geschmeidig und seine threads behaken sich auch nicht, wenn etliche davon parallel ausgeführt werden, und außerdem sind immer noch Interrupts zusätzlich möglich. Schon 100MHz wären für das MT ausreichend.
Das preemptive MT läuft absolut geschmeidig und seine threads behaken sich auch nicht, wenn etliche davon parallel ausgeführt werden, und außerdem sind immer noch Interrupts zusätzlich möglich. Schon 100MHz wären für das MT ausreichend.
Wenn man eher in Timern als in Threads denkt, gäbe es z.B. diese Library
https://github.com/luni64/TeensyTimerTool/wiki
bietet neben den Hardwaretimern auch 20 in Software realisierte Timer. Steht auf meiner Liste der Dinge, die ich mir mal ansehen will.
Den Teensy 4.0 gibt es inzwischen auch als 4.1 im langen Format (ähnlich 3.6).
Ja und ich dachte, die LIB macht nur 20 Software-Timer.
Allerdings mit gut 40 Euronen etwas überdimensioniert. Ich überlege mir das noch.
Vielleicht erst mal die Preise vergleichen
https://www.exp-tech.de/plattformen/teensy/
Bei meinen meisten Teensy Projekten bin ich bisher mit einem IntervalTimer ausgekommen, der verschiedenes tut, z.B. mehrere Encoder auslesen. Die Rechenleistung ist so hoch, dass das normalerweise reicht.
Und wenn du Stepper steuern willst, schau mal hier rein
https://github.com/luni64/TeensyStep
Denke mal, du brauchst gar nicht so viele Timer, nur Kanäle von einem:
Each StepControl object requires one IntervalTimer and two channels of a FTM timer. Since all supported Teensies implement four PIT timers and the FTM0 module which has 8 timer channels the usage is limited to 4 StepControl objects existing at the same time.
Geändert von Mxt (26.05.2020 um 09:31 Uhr)
Glaube ich Dir. Ich benutze die Timer für korrekte Intervalle beim Schrittmotor, weil die schon mal da sind, kann man das ja auch so machen. Das bietet sich dann an. Einen Timer für das Schrittintervall (also die Geschwindigkeit) und einen für die Beschleunigung (wie schnell die Werte von Quell- zu Zielgeschwindigkeit angepasst werden - das geschieht auch in Einzelschritten). Die Einzelschritte des Schrittmotors dann synchronisiert mit der Lochscheibe auf der Motorwelle.
Ich habe vorher schon eine andere Steuerung für NEMA17 programmiert (hatte aber Nachteile, die mir nicht gefallen - habe das in meinen Blog geschrieben); deshalb bin ich dann umgeschwenkt auf die Hardware-Timer.
MfG
Lesezeichen