Messungen von Temperatur, Geschwindigkeit usw.

Hallo zusammen,

ich stehe noch recht weit am Anfang meiner "Mikrocontroller-Karriere" daher bitte ich um Nachsicht für meine vielleicht einfachen oder dümmlichen Fragen.

Ich plane gerade die Messung von verschiedenen physikalischen Größen an einem Versuchsfahrzeug (RC-Car). Unter anderem will ich die Temperatur und die Batteriespannung aber auch die Geschwindigkeit über der Zeit aufzeichnen.
Für Temperatur und Spannung hätte ich einfach ein Auslesen der jeweiligen Sensoren mit anschließendem delay von beispielsweise 1000 ms. Somit erhalte ich eine Messreihe zu jeder Sekunde - soweit alles gut.
Was sich meiner Meinung nach noch recht schwer gestaltet, ist die Geschwindigkeitsmessung. Meine erste Idee wäre nun, einen Magnet ans Rad montieren und mit einem Hall-Sensor feststellen, wann das Rad sich einmal gedreht hat. Allerdings verträgt sich diese Messung ja nicht mit den statischen Messintervallen von beispielsweise 1000 ms. Daher meine Fragen an euch:

  1. Kennt ihr bessere Möglichkeiten, um eine Geschwindigkeit am Rad zu messen?
  2. Falls das Messverfahren eurer Meinung nach gut und gängig ist, wie kann ich das programmtechnisch umsetzen?

Vielen Dank für eure Hilfe!

Verwende millis() statt delay() für das Timing.

Marco81:

  1. Kennt ihr bessere Möglichkeiten, um eine Geschwindigkeit am Rad zu messen?

Je nach Häufigkeit der Impulse würde ich das mit Interrupts machen. Leider ist das besser aber nicht anfängerfreundlich.

Marco81:
2. Falls das Messverfahren eurer Meinung nach gut und gängig ist, wie kann ich das programmtechnisch umsetzen?

Nö, wobei delay() mit Interrupt sogar funktionieren könnte, solltest Du Dir aber erst garnicht angewöhnen, daher siehe #1.

Jede Sekunde Impulse auswerten ist OK.

wie schon gesagt, ohne delay() programmieren.

über millis() den geeigneten Zeitpunkt ermitteln, an dem Temperatur etc gelesen bzw. gespeichert werden soll.
Schau dir dazu mal das Beispiel "Blinkwithoutdelay()" an, und vielleicht den Beitrag "BlinkwithoutDelay - Die Nachtwächtererklärung"

Marco81:

  1. Kennt ihr bessere Möglichkeiten, um eine Geschwindigkeit am Rad zu messen?

Eigentlich nicht. Ich würde nur den Magneten nichts ans Rad, sondern im Auto an einem Zahnrad oder einer Achse befestigen. Alternativ wäre auch eine Erfassung über Lichtschranke denkbar.

Ich würde zuerst einen Sketch schreiben, der - ohne delay - richtigen Zeitraster deine Sensoren einliest (und abspeichert? vielleicht auf SD)

Wenn das läuft, die Drehzahlerfassung angehen. Am besten auch erstmal in einem eigenen Sketch.

Super!

Vielen Dank für Eure Hilfen!

Heute Abend setze ich mich ran und bastel mir eine Testumgebung.

Danke!