18.08.2014, 09:08 PM
Ich schaffs nicht. Das ist ein Bit-Schubser. Kein Formel-Cruncher. Ich brauch 300us zum Rechnen. In nur 400us ist meine Spule aber randvoll. So geht das nicht.
Nun gibts noch eine Chance.
Ich muss ihn gemütlich im Vordergrund rechnen lassen.
Und im Hintergrund - per Interrupts gesteuert - muss ich an den Pins rumwackeln, den Timer steuern und den ADC anwerfen. Der Vordergrund-Rechentask setzt - irgendwann - t_on und t_off. Und der Hintergrund liefert stets frische Werte der ADC-Wandlungen.
Also völlige Entkopplung durch Bufferung.
Das hat natürlich den großen Charme, dass ich mit einem Schlag allen Timing-Stress los bin. Die Controller-Geschwindigkeit ist mir dann schnuppe. Wen kümmerts, wann das Ding genau auf Lastschwankungen reagiert? Das dauert dann halt ein paar Millisekunden, bevor er seine Formeln durchgeleiert hat. Na und? Im Hintergrund tackert der Motor trotzdem gleichmäßig und zuverlässig.
Nun gibts noch eine Chance.
Ich muss ihn gemütlich im Vordergrund rechnen lassen.
Und im Hintergrund - per Interrupts gesteuert - muss ich an den Pins rumwackeln, den Timer steuern und den ADC anwerfen. Der Vordergrund-Rechentask setzt - irgendwann - t_on und t_off. Und der Hintergrund liefert stets frische Werte der ADC-Wandlungen.
Also völlige Entkopplung durch Bufferung.
Das hat natürlich den großen Charme, dass ich mit einem Schlag allen Timing-Stress los bin. Die Controller-Geschwindigkeit ist mir dann schnuppe. Wen kümmerts, wann das Ding genau auf Lastschwankungen reagiert? Das dauert dann halt ein paar Millisekunden, bevor er seine Formeln durchgeleiert hat. Na und? Im Hintergrund tackert der Motor trotzdem gleichmäßig und zuverlässig.