Seite 1 von 1

ftduino Messintervall der Zähleingänge zu lang

Verfasst: 27 Aug 2024, 19:02
von schröttel
Hallo,

ich experimentiere gerade mit einem Getriebe-Encodermotor herum und teste die 2 Impulsausgänge des Motors am ftduino.
Der Motor hat eine Übersetzung von 35:1 und generiert jeweils 11 Impulse pro Umdrehung der Motorwelle. Die Nenndrehzahl beträgt 170 Upm am Getriebeausgang.
20240827_180709[1].jpg
20240827_180709[1].jpg (211.49 KiB) 7831 mal betrachtet
Daraus ergeben sich 11 * 35 * 170 = 65.450 Impulse pro Minute. Das heißt es werden ca. 1.090 Impulse/Sek. ausgegeben. Wenn man jeden Flankenwechsel zählt sind es sogar 2.180 Impulse/Sek. Normal sollte das der Ftduino schaffen aber die Impulsfrequenz ist auf 1 KHz per Software in der ftduino Library beschränkt. Dort gibt es eine Definition '#define COUNTER_FILTER 250' wodurch die max. Abtastrate auf 1 KHz eingestellt wird.
Wenn ich es richtig verstanden habe, sollte ein Wert von 25 die mögliche Abtastfrequenz verzehnfachen.

Muss dazu die ftduino Library geändert werden oder kann man auch irgendwie extern die Definition von COUNTER_FILTER abändern?

Viele Grüße
Claus

Re: ftduino Messintervall der Zähleingänge zu lang

Verfasst: 28 Aug 2024, 14:13
von schröttel
Das war einfacher als ich dachte. Ich habe die Quelldatei ftduino.cpp im Editor geöffnet und den Wert für COUNTER_FILTER auf 25 geändert.
Ich hatte nicht damit gerechnet, dass beim compilieren eines Sketches die includierte ftduino Library neu compiliert wird wenn sie geändert wurde.
Komisch finde ich, das man eine .cpp Datei nicht in der Arduino IDE ändern kann (oder doch?) sondern einen externen Editor benutzen muss.
Auf jeden Fall werden jetzt auch bei höchster Drehzahl alle Impulse der Counter gezählt.

Re: ftduino Messintervall der Zähleingänge zu lang

Verfasst: 28 Aug 2024, 23:15
von juh
Hallo Claus,
die Arduino-IDE öffnet nur Arduino-Projekte, deren Hauptdatei (.ino Endung) in einem gleichnamigen Ordner liegen muss, daher ging das nicht.

Beim manuellen Ändern der Library musst du daran denken, dass deine Änderungen bei einem Update überschrieben werden.

vg
Jan

Re: ftduino Messintervall der Zähleingänge zu lang

Verfasst: 29 Aug 2024, 16:07
von MasterOfGizmo
Du kannst die ftduino.cpp und .h auch einfach in das Verzeichnis Deines Projektes kopieren und dort dann mit der IDE verändern. Dann betrifft das auch nur dieses Projekt und ist von Updates nicht betroffen.

Re: ftduino Messintervall der Zähleingänge zu lang

Verfasst: 29 Aug 2024, 20:06
von schröttel
Guter Tipp, dann kann man für jedes Projekt die Libraries individuell anpassen ohne das Original zu verändern.

COUNTER_FILTER hat anscheinend Einfluss auf die serielle Kommunikation. Ist der Wert zu gering stört das laufende Programm auf dem ftduino den Monitor und das Upload funktioniert nicht mehr.