Bytes berechnen

Gast #5838314
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:
> 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
Gast
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.
Gast
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.
Gast
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.
Gast
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?
Gast
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.
Gast
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.
Gast
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

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 7 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.