-
-
Erfahrener Benutzer
Robotik Visionär
Man muß nicht die Methode wechseln, aber ggf. den Vorteiler.
Man kann z.B. erst ohne Vorteiler anfangen die Periodendauer zu messen. Wenn man dabei feststellt, das die Flanken zu schnell kommen, dann schaltet man den Vorteiler dazu. Um zu erkennen das die Flanken zu schnell kommen, braucht es nur ein ganz paar Perioden, was bei einer hoher Frequenz ja sehr schnell geht (z.B. 100 Periode bei 100 kHz oder etwa 1 ms). So habe ich das jedenfalls bei meinem Zähler gelöst.
Genauer so:
Für die Periodenmessung wird erstmal die Position der Flanken per ICP bestimmt, und eine gewisse Zeit (ca. 1/5 der angestrebten Messzeit) gemittelt, maximal aber 255 Flanken. Wenn die 255 zu schnell voll sind wird ein Vorteiler (:256 dazugeschaltet) und dann nochmal angefangen. Bei mir ist das zu schnell bei etwas über 300 kHz erreicht, allerdings in ASM. Dann wird etwas gewartet und nur die Zahl der Flanken gezählt (bis ca. 4/5 der normalen Messzeit) und dann für die gleiche Zahl an Flanken wieder die Postion bestimmt. Aus der Differenz kann dann die Periodendauer berechnet werden. Durch das mitteln über viele Flanken hat man schon sehr schnell eine hohe Auflösung und ist nicht so empfindlich auf Störungen (Jitter).
Mit dem einen Umschalten des Vorteilers geht so eine Messung von etwa 0.1 Hz bis ca. 40 MHz - was der Vorteiler halt mitmacht. Die Auflösung ist über den ganzen Bereich sehr gut. Die Messung über die Periodendauer ist mit der Auswertung mehrerer Flanken immer besser als ein direktes Zählen im µC. Man braucht das andere Verfahren also nicht.
Wenn man das gleiche in Bascom Programieren will, sollte man die ISRs eventuell auch in ASM schreiben, denn die bestimmen die maximale Frequenz ohne Teiler. Wenn nicht wird man vermutlich ein größeren Teiler brauchen (z.B. :1024). In Bascom hat man immerhin den Vorteil, dass man Fleißkommazahlen hat - in ASM sind lange Zahlen ziehmlich unhandlich.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen