ftduino Messintervall der Zähleingänge zu lang

Community-Firmware (cfw), Selbstbaucontroller (TX-Pi, ftduino, usw.), usw.
Forumsregeln
Bitte beachte die Forumsregeln!
Antworten
schröttel
Beiträge: 21
Registriert: 22 Sep 2022, 19:50

ftduino Messintervall der Zähleingänge zu lang

Beitrag von schröttel » 27 Aug 2024, 19:02

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) 1391 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

schröttel
Beiträge: 21
Registriert: 22 Sep 2022, 19:50

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

Beitrag von schröttel » 28 Aug 2024, 14:13

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.

juh
Beiträge: 931
Registriert: 23 Jan 2012, 13:48

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

Beitrag von juh » 28 Aug 2024, 23:15

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

Benutzeravatar
MasterOfGizmo
Beiträge: 2724
Registriert: 30 Nov 2014, 07:44

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

Beitrag von MasterOfGizmo » 29 Aug 2024, 16:07

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.
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

schröttel
Beiträge: 21
Registriert: 22 Sep 2022, 19:50

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

Beitrag von schröttel » 29 Aug 2024, 20:06

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.

Antworten