Hallo an alle, kurze Frage. Wie berechne ich meinen Speicherbedarf? Habe einen Sensor der pro Umdrehung 5000 Impulse liefert Bei einer Drehzahl von 6000 U/min und die Dauer beträgt 5s (5000 6000 5)/60 = 5 MB Ist das so richtig oder muss ich noch irgendetwas beachten?
AJ schrieb: > Wie berechne ich meinen Speicherbedarf? WAS willst du speichern? Wenn du Umdrehungen zählen willst, dann brauchst du nur eine genügend große Zahl und keinen Speicherbereich.
AJ schrieb: > Habe einen Sensor der pro Umdrehung 5000 Impulse liefert > Bei einer Drehzahl von 6000 U/min und die Dauer beträgt 5s > > (5000 × 6000 × 5) ÷ 60 = 5 MB > > Ist das so richtig Das ist noch nicht mal zahlenmäßig richtig gerechnet. Woher du die Einheit "Byte" nimmst, ist auch schleierhaft. Auf der linken Seite der Gleichung kommt jedenfalls nirgendwo ein Byte vor. Und warum teilst du durch 60? > Wie berechne ich meinen Speicherbedarf? Gegenfrage: wofür sollte ein Sensor, der Impulse liefert, überhaupt Speicherbedarf haben? Impulse werden üblicherweise nur gezählt
Das würde schon stimmen, kann aber auch 2x, 4x sein, je nachdem WAS der Sensor misst. @axel: das sind die 60 Sekunden pro Minute
Ups tut mir leid.. ich speichere bei jeder Flanke die Auftritt, einen Zeitstempel ab. Daraus berechne ich mir später dann die Geschwindigkeit. Dafür benutze ich einen 32-Bit Timer.
6000 U/min x 5000 Impulse x 4 Bytes = 120 MByte/min
120 MByte/min / 60s x 5s = 10 MByte
Du kannst die Daten aber eventuell auf weniger Bits komprimieren, indem
du nicht die absoluten Zeitpunkte, sondern die Differenz zwischen
aufeinander folgenden Zahlen speicherst.
> Daraus berechne ich mir später dann die Geschwindigkeit.
Die kannst du auch während der Messung berechnen und ausgeben. Ich nehme
mal stark an, dass du die ermittelte Geschwindigkeit nicht 5000 mal pro
Umdrehung aktualisieren musst. Wenn doch, würde mich mal brennend
interessieren, was das für eine Raketenwissenschaft ist.
Stefanus F. schrieb: > 6000 U/min x 5000 Impulse x 4 Bytes = 120 MByte/min Das haut so noch nicht hin, was passiert mit den Impulsen?
Gurgl schrieb: > was passiert mit den Impulsen? Die Lösen sich in Luft auf. Mal ehrlich, was soll diese blöde Frage? Willst du jetzt den Mathe-Lehrer raushängen lassen und uns erklären, wie man korrekt mit Einheiten umgeht? Bitte, mach nur!
AJ schrieb: > ich speichere bei jeder Flanke die Auftritt, einen Zeitstempel ab. > Daraus berechne ich mir später dann die Geschwindigkeit. Ich vermute dir geht es darum, einen Graph über 5s zu zeichnen, der einen Geschwindigkeitsverlauf (z.B. Beschleunigung, Gleichlaufverhalten, Abbremsen) darstellt. Abspeichern eines Timerwertes bei jedem Impuls hat die Schwierigkeit, dass der Timer überlaufen kann, wenn der Motor sehr langsam dreht oder steht. Alternative wäre, in sinnvollen Zeitabständen die Impulsanzahl (=Momentangeschwindigkeit) abzuspeichern. Das lässt sich dann auch direkt in einen Graphen umwandeln. Wenn die zeitliche Auflösung z.B. 1 ms ist, hättest du für die 5s nur noch 5000 Messwerte (Impulsanzahl) zu speichern. Bei 6000 U/min treten in einer ms ca. 500 Impulse auf, du kämst also mit 16-bit Werten aus, macht 10 KB Speicherbedarf.
Vielen Dank Stefanus, das passt so. Joe das würde nach meiner Berechnung erst nach 72s Überlaufen. Und der Timer zählt erst, wenn die erste Flanke auftritt. Und ja es wird danach ein Graph dargestellt, ich hau im Matlab einfach meine ganzen Zeitstempel rein und das Programm erledigt den Rest.
AJ schrieb: > Und ja es wird danach ein Graph dargestellt, ich hau im Matlab einfach > meine ganzen Zeitstempel rein und das Programm erledigt den Rest. Tja, das ist die heutige Generation Ingenieurskunst. Für die gleiche Aufgabe sind statt 10 KB Daten auch 10 MB Daten okay, Mathlab erledigt den Rest, und wenn das Reinzoomen in den 2500000 Punkte-Graph zu langsam wird, kauft man einen schnelleren Rechner. Ehrlich jetzt?
Stefanus F. schrieb: > Willst du jetzt den Mathe-Lehrer raushängen lassen und uns erklären, > wie man korrekt mit Einheiten umgeht? Ne ich dachte eigentlich du kommst da vielleicht selbst drauf!
Gurgl schrieb: > @axel: das sind die 60 Sekunden pro Minute Mift. Irgendwie war ich bei 5 Minuten Meßzeit hängen geblieben. Es sind aber nur 5 Sekunden. Die Rechnung stimmt trotzdem nicht. Weder von den Zahlenwerten noch von den Einheiten.
Gurgl schrieb: > Stefanus F. schrieb: >> 6000 U/min x 5000 Impulse x 4 Bytes = 120 MByte/min > > Das haut so noch nicht hin, was passiert mit den Impulsen? Guter Einwand. Aber einfach zu beheben. Denn es muß "4 Bytes / Impuls" heißen und dann kürzen sich die Impulse auch ordnungsgemäß raus.
Aus persönlichem Interesse: wo bekommt man einen so schönen Encoder, der 5000 Imp/U liefert?
Joe F. schrieb: > Abspeichern eines Timerwertes bei jedem Impuls hat die Schwierigkeit, > dass der Timer überlaufen kann, wenn der Motor sehr langsam dreht oder > steht. Bei 6000 1/min wird das bestimmt nicht passieren. Je nach dem, was man als "langsam" klassifiziert, wird selbst bei eine Umdrehung pro Minute immer noch alle 12 Millisekunden ein Impuls kommen.
Joe F. schrieb: > Aus persönlichem Interesse: wo bekommt man einen so schönen Encoder, der > 5000 Imp/U liefert? Kann man kaufen, hier z.B. mit bis zu 20480 Imp/U https://www.wachendorff-automation.de/drehgeber-hohlwellendrehgeber-hohlwelle-durchgehend-isolation-inkremental-optisch-wdg100i/
Wolfgang schrieb: > Je nach dem, was man als "langsam" klassifiziert Bei Motoren rechne ich da prinzipiell mit 0 U/min.
Joe F. schrieb: > Bei Motoren rechne ich da prinzipiell mit 0 U/min. Geht aber hier laut Eröffnungspost an der Fragestellung vorbei, i.e. der Fall interessiert hier wohl überhaupt nicht. Bei einem 32-Bit Zähler und 16MHz Takt, nur um mal irgendwelche Zahlen zu nennen, besteht erst unterhalb von 0,00005 1/min die Gefahr eines unbemerkten Überlaufs. Das wirst auch DU kaum noch als Drehung wahrnehmen.
Wolfgang schrieb: > Bei einem 32-Bit Zähler und 16MHz Takt, nur um mal irgendwelche Zahlen > zu nennen, besteht erst unterhalb von 0,00005 1/min die Gefahr eines > unbemerkten Überlaufs. Das wirst auch DU kaum noch als Drehung > wahrnehmen. ...dachte sich der Programmierer bei Boeing... Nein, natürlich kann man auch einen Schwellwert festlegen, unterhalb dessen die Geschwindigkeit als 0 gilt etc. Ich finde halt nur die Vorgehensweise Geschwindigkeitsmessungen in diskreten Zeitabschnitten vorzunehmen deutlich praktikabler, und sie deckt auch den Fall 0 U/min problemlos ab.
AJ schrieb: > Habe einen Sensor der pro Umdrehung 5000 Impulse liefert > Bei einer Drehzahl von 6000 U/min und die Dauer beträgt 5s Wenn nur Umdrehungen gezählt werden müssen, dann würde ich nur jeden 5000 Impuls zählen. Das ergibt bei 6000U/min 100 Impulse / sec. Bei 5 sec Messdauer würden das 500 Impulse sein. Bei einem Integer (2 bzw. 4 Byte) würde sich der Sensor zerlegen bevor es einen Überlauf gäbe. Bei 4 Byte alle 5 sec ergeben sich 720 Byte / Stunde, 17280 Byte / Tag 6,3072 MByte / Jahr
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.