Projekt Drehachse für Fräsmaschine

madworm:
Der interrupt ist mehr oder weniger deterministisch. Auf jedenfall im vergleich zu einem 21Hz signal. Er kommt dann, wenn er getriggert wird. Spaetestens nachdem ein anderer laufender interrupt abgearbeitet worden ist, also etwas spaeter als gedacht. In deinem fall soltle das dann 2 identische speed werte liefern. Ist dein encoder signal deterministisch? ]:smiley:

Mir faellt es sehr schwer zu glauben, dass ein 16MHz microcontroller nicht in der lage sein sollte ein quasi DC signal von 21Hz zu verarbeiten. Das sind von flanke zu flanke ca. 24ms, oder in anderen worten 384000 clock cycles, also eine halbe ewigkeit.

Man verliert einen Interrupt während derZeit, in der die Interrupt deaktiviert sind. Falls in der Interruptroutine die Interrupt nicht deaktiviert sind arbeitet ein Interrupt der während des Durcharbeiten der Interruptroutine kommt die Interruptroutine von neuem ab, Das zu komischen reaktionen.
Ich teile Deiner Auffassung, daß ein 16MHz Arduino mit einem 21Hz Signal allemal zurechtkommen muß.
Viele grüße Uwe