Hallo Leute, ich würde gerne mit meinem Spartan 3E Drehzahl einer Achse messen. Die Drehzahl bewegt sich zwischen 1000-20000. Ich bekomme von einem Schmidt-Trigger 12 Signale pro Umdrehung, der Spartan ist mit 50Mhz getaktet. Wenn ich die Taktzyklen zwischen 2 Signalen zähle, dann ist die Formel die zu berechnen gilt: 250*10^6/#Taktzyklen. Da aber Teilen ziemlich übel ist, wollte ich mal fragen ob es eine einfachere Lösung gibt. danke patrik
Moin, zähle doch einfach eine Minute (generierst Du aus dem 50MHz Takt, also 50.000.000 Takticks) lang die Impulse, die vom Sensor kommen und dividiere das Ergebnis durch 12. Oder zähle 15sek (12.500.000 Taktticks) lang die Sensorpulse und dividiere einfach dann durch 4 (einfacher Shift um 2 Stellen). Oder zähle gleich 3,75sek lang (3.125.000 Taktticks) die Sensorpulse und Du musst nicht mehr dividieren. Je nach Dynamik des Systems kannst die Messdauer auch verkürzen und dann multiplizieren... panzer
Da aber die Drehzahl der Achse nicht synchron mit der Taktfrequenz des FPGA ist, schwankt das Zählerergebnis immer um 1 . Kann man das irgendwie vermeiden?
Wenn das ganze synchron wäre, müsstest du ja die Drehzahl nicht messen, oder? Je länger dein Messzeitraum ist, desto genauer wird der Messwert. Du musst entscheiden, in welchen Intervallen du mit deinem Drehzahlwert etwas anfangen willst (z.B. Motorgeschwindigkeit nachregeln)... Da dein Motor eh eine gewisse Trägheit haben wird, wird das Schwanken um 1 kaum eine Rolle spielen.
@ hugo (Gast) >Da aber die Drehzahl der Achse nicht synchron mit der Taktfrequenz des >FPGA ist, schwankt das Zählerergebnis immer um 1 . Kann man das >irgendwie vermeiden? Nein, das ist ein prinzipielles Problem jeder Drehzahlmessung bzw. Quantisierung. Spielt aber bei richtiger Wahl der Torzeit keine Rolle. Ob du nun 2000,00 oder 2000,01 U/min misst ist doch egal. MFG Falk
Du must doch nur ganzzahlige Vielfach von 2t als Torzahlen verwenden. Die Normierung auf die FPGA-Frequenz erfolgt durch Multilplikation mit k/f, was auch wieder sehr einfach ist, wenn die Frequenz ein Pendat zu 60x60 ist. Das einfachste ist ein Addierer, der mit k x 60 x 60 x 1000 (auflösung) abgetastet wird.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.