-
-
Erfahrener Benutzer
Robotik Visionär
Die analoge Filterung sollte vor den AD wandler, um die Lücken zwischen den Wandlungen zu überbrücken. Wo man da die Grenzfrequenz hinlegt ist hier weniger wichtig irgendwas zwischen etwa 10 Hz und 1 kHz sollte passen. Da sollte auch ein einfacher passives RC gleid reichen.
Soweit ich weiss wartet getadc(..) auf 2 Wandlungen und dauert damit Größenordnungsmäßig 0,2 ms. Die Schleife ist damit gar nicht so schnell. Einfach 5000 Werte Aufsummieren und man hat auch einen Sekunde.
Wenn man statt der Testversion von Bascom GCC nimmt, hat man die Begrenzung auf 4 K nicht und der Code wird meistens auch noch etwas kürzer. Allerdings hat man dann kein Double und einige der vordefinierten Funktionen (z.B. LCD, servo etc.) fehlen.
Die Idee mit dem fließenden Mittel ist auch nicht schlecht, braucht aber in den meisten Ausfürungen eine division und Fließkommazahlen. Es geht ohne, wenn über diesen Trick:
Mittel := (1023*Mittel+ ADwerrt) / 1024
Wobei man die Division bei Integer (32 Bit) auch durch shifts ersetzen kann.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen