Forum: Mikrocontroller und Digitale Elektronik Messen der Beschleunigung einer drehenden Scheibe


von Daniel (Gast)


Lesenswert?

Hallo zusammen,

ich stehe im Moment gerade irgendwie auf dem Schlauch und brauche ein 
wenig Hilfe.

Es ist die Geschwindigkeit und die Beschleunigung einer sich drehenden 
Scheibe mit dem Durchmesser 0,25m zu berechnen. Hierzu ist an der 
Scheibe am äußeren Rand ein Magnet befestigt und an einem festen Punkt 
ein Hall-Sensor der auf den Input Capture Eingang eines ATmega8 
geschaltet ist.
Pro Umdrehung erhalte ich also einen Impuls und ein Interrupt ausgelöst.

Bei der Geschwindigkeit bin ich eigentlich klar gekommen und habe ein 
bisschen Vorweg in Excel gerechnet, um dem Prozessor Rechenzeit zu 
erpsaren:
Nun habe ich mir in Excel eine Tabelle gebastelt, die zunächst einmal 
den Umfang der Scheibe berechnet mit 0,25*PI.
Ebenso habe ich die Geschwindigkeit von km/h durch 3,6 geteilt um m/s zu 
erhalten.

Teile ich die Geschwindigkeit durch den Umfang, erhalte ich die Frequenz 
in Hz. 1 durch die Frequenz ergibt mir dann die Zeit in Sekunden die für 
eine Umdrehung bei aktueller Geschwindigkeit vergeht. Diese Zeit kann 
ich mit entsprechendem Prozessortakt und Prescaler in einen Timer Wert 
umrechnen. Die Zeit ist also proportional zur Geschwindigkeit, da der 
Umfang fix ist.

Bsp.:
5km/h --> 1,388 m/s
1,388/(0,25*PI) =1,768Hz
1/1,768Hz = 0,565s pro Umdrehung

Bei einem Takt von 8 Mhz und einem Prescaler von 64 erhalte ich
0,565*8*10^6/64=70686 Timer-Takte

Nun kann ich in meinem Input Capture die Differenz zwischen zwei 
Ereignissen messen und diesen Timer Wert nehmen, der für eine bestimmte 
Geschwindigkeit steht.

Nun, aber wie messe ich die Beschleunigung? Hier stehe ich auf dem 
Schlauch. Die Beschleunigung ist ja dv/dt. Da ich aber meine 
Geschwindigkeit in Zeit ausgedrückt habe, entspricht dv=v2-v1 dt=t2-t1. 
Der Quotient ergibt also immer 1. Hier ist im Moment meine Blockade. 
Vielleicht hilft mir jemand, dies zu lösen.

Danke.

Gruß
Daniel

von Uwe (de0508)


Lesenswert?

Hallo,

dt=t2-t1

ist doch die Zeit, die zwischen zwei Messungen liegt, also musst Du noch 
zu jeder Messung einen Zeitstempel mitführen.
Ich hoffe jetzt wird es klarer.

von Daniel (Gast)


Lesenswert?

Hallo,

nein, igrendwie noch nicht.
Den Zeitstempel erhalte ich ja aus meinem Input Capture, welches ja bei 
jeder Umdrehung 1x auslöst. Also ist die Zeit von Impuls zu Impuls die 
Differenz beider Timer-Werte, die am Input Capture anliegen.

Gleichzeitig ist ja aber diese Diffrenz auch der Wert für die 
Geschwindigkeit ausgedrückt in einer Zeit, da die Wegstrecke stets 
konstant ist (Umfang).

von abc (Gast)


Lesenswert?

Servus,

dein zeitstempel kannst du durch einen Timer generieren.
Also TimerX zählt in Bspw. Mikrosekunden und dein Interrupt greift sich 
die vergangene Zeit ab, schon hast du deinen Zeitstempel.

Gruß abc

von Phil P. (john_d)


Lesenswert?

Moin,

wie mein Vorredner schon sagte, musst du an deinen diskreten Punkten die 
Werte für dv und dt haben.
Du kannst über
 (in diesem fall ist ja die Periode genau ein Umlauf) auf
kommen. dv muss dann die Differenz der Geschwindigkeiten sein, die du 
bei den jeweiligen Punkten mittels
ausgerechnet hast.

von Reinhard Kern (Gast)


Lesenswert?

Hallo,

du hast doch V gemessen - mit Hilfe von dt. Die Beschleunigung ist 
einfach die Differenz von V zum vorherigen Wert, geteilt durch die 
letzte Umlaufzeit. Du brauchst also nur den jeweils vorherigen V-Wert 
speichern und vom aktuellen V abziehen.

Gruss Reinhard

von Georg W. (gaestle)


Lesenswert?

Daniel schrieb:
> Da ich aber meine
> Geschwindigkeit in Zeit ausgedrückt habe, entspricht dv=v2-v1 dt=t2-t1.
> Der Quotient ergibt also immer 1. Hier ist im Moment meine Blockade.
> Vielleicht hilft mir jemand, dies zu lösen.

Nur, wenn die Scheibe mit konstanter Drehzahl rotiert. Aber ist die 
Beschleunigung dann wirklich 1? Es wirkt ja auch noch die 
Zentripetalbeschleunigung.

von Daniel (Gast)


Lesenswert?

Ich glaube ich habe meinen Denkfehler gefunden, Bsp.:
Der Timer zählt, beginnt bei 0, erstes Ereignis kommt bei 10, zweites 
bei 20, drittes bei 35
Die erste Geschwindigkeit ist v1=10-0=10; die zweite Geschwindigkeit ist 
v2=20-10=10, die dritte Geschwindigkeit ist v3=35-20=15

Die Zeiten:
t1=20-10=10
t2=35-20=15

a1=v2-v1/t1)=10-10/(10)=0
a2=v3-v2/t2=15-10/15=1/3

Das müsste doch so stimmen oder (sinngemäß, quantitativ natürlich nur 
ein Zahlenbeispiel)?

von Erbsenzähler (Gast)


Lesenswert?

Hier bringen einige doch etwas durcheinander.

dv
-- ist der Differentialquotient, der wird hier bestimmt nicht gemessen.
dt

Näheres siehe 
hier:http://www.austromath.at/medienvielfalt/materialien/diff_einfuehrung/lernpfad/content/06_differentialquotient.htm

Gemessen wird delta v und delta t.

von Udo S. (urschmitt)


Lesenswert?

Daniel schrieb:
> Der Timer zählt, beginnt bei 0, erstes Ereignis kommt bei 10, zweites
> bei 20, drittes bei 35
> Die erste Geschwindigkeit ist v1=10-0=10; die zweite Geschwindigkeit ist
> v2=20-10=10, die dritte Geschwindigkeit ist v3=35-20=15

DAs kann nicxht sein, wenn der Weg gleich ist (eine Umdrehung) und die 
Zeit ist länger, dann ist dei Geschwindigkeit niedriger. Die Zeit t 
steht im Nenner!
v3=35-20=15 ist falsch richtig ist a / (35 -20) mit a = Umfang.

Entsprechend muss deine Beschleunigung negativ werden da die 
Geschwindigkeit sinkt.

von Daniel (Gast)


Lesenswert?

Das stimmt in der Tat, aber ich könnte es umdrehen:
v1-v2 bzw. v_alt-v_neu

Ich bin der Meinung, dass a (Umfang) nicht nötig ist bzw. man muss nur 
davon wissen und ausgehen, dass er konstant ist:

Angenommen ein Auto beschleunigt von 10m/s auf 20m/s in 10 Sekunden. Ich 
rechne: (20-10)/10 = 1 Die Beschleunigung ist eins.
Ich kann aber auch sagen das Auto braucht um die Strecke 0-100m (Zahl 
irrelevant) in einem Fall 10s und beschleunigt dann und benötigt für die 
Strecke 100-200m (Diffrenz 100m = konst) nur 5s.
Die Beschleunigung kann ich hier ohne die Wegkenntnis (Umfang) alleine 
durch die benötigten Zeiten errechnen durch: (10-5)/5. Vorraussetzung 
ist aber, dass der Weg konstant bleibt (wie es bei dem Umfang ja ist).

Das müsste doch so stimmen oder? Weil das ist im Prinzip mein Ziel, es 
alleine durch die Zeiten aus dem Zeitstempel vom ICP Interrupt 
auszurechnen. Da sich die Zeit reziprok zur Geschwindigkeit verhält, 
müsste es dann richtig lauten v_alt-v_neu (ausgedrückt als Zeiten von 
einem Ereignis zum nächsten) geteilt durch v_neu.

von Udo S. (urschmitt)


Lesenswert?

Daniel schrieb:
> Da sich die Zeit reziprok zur Geschwindigkeit verhält

Daniel schrieb:
> Der Timer zählt, beginnt bei 0, erstes Ereignis kommt bei 10, zweites
> bei 20, drittes bei 35
> Die erste Geschwindigkeit ist v1=10-0=10;

Was fällt dir bei den beiden Aussagen von dir auf?

von Daniel (Gast)


Lesenswert?

Na, das es falsch ist bzw. eben nicht reziprok. Aber da habe ich mich ja 
korrigiert im Beitrag zuvor….

von Daniel (Gast)


Lesenswert?

Das war etwas blöd formuliert, also es ist reziprok d.h. wird v größger 
wird t kleiner, aber zu anfangs hatte ich es als nicht reziprok 
angenommen (v größer --> t größer und das ist natürlich Blödsinn).

von Daniel (Gast)


Lesenswert?

Könnte mich noch jemand unterstützen, ob meine Logik richtig ist?
Ich habe einen Zeitstempel durch das Input Capture. Bei jeder Umdrehung 
wird dies durch den Kontakt ausgelöst.
In Programm messe ich dann die Zeit von Auslösung_neu zu Auslösung_alt 
als Differenz. Dies ist mein delta_t.
Da die Zeit ja im Verhältnis zur Geschwindigkeit steht (der Weg=Umfang 
der Scheibe=const.), gibt mir die Zeit auch die Geschwindigkeit wieder, 
d.h. je geringer die Zeit, desto höher die Geschwindigkeit.

Nun glaube ich, dass ich die Beschleunigung ganz einfach aus den 
Timer-Werten des Zeitstempels bestimmen kann wie folgt:
Das Programm liefert 3 Zeitstempel zu den Zeiten t1, t2, t3.
Die Geschwindigkeit ermittle ich zu v1=t2-t1 und v2=t3-t2
Nun ist meine Beschleunigung zwischen t2 und t3:
a_23=(v1-v2)/(t3-t2), wobei t3-t2=v2 und damit
a_23=(v1-v2)/v2

Richtig oder habe ich noch einen Denkfehler?

von Reinhard Kern (Gast)


Lesenswert?

Hallo,

ich habe doch oben schon mal erklärt, dass es viel einfacher ist. Wenn 
du halt nicht lesen willst, musst du es eben komplizierter lösen.

Gruss Reinhard

von Daniel (Gast)


Lesenswert?

Reinhard Kern schrieb:
> Hallo,
>
> du hast doch V gemessen - mit Hilfe von dt. Die Beschleunigung ist
> einfach die Differenz von V zum vorherigen Wert, geteilt durch die
> letzte Umlaufzeit. Du brauchst also nur den jeweils vorherigen V-Wert
> speichern und vom aktuellen V abziehen.
>
> Gruss Reinhard

Hallo Reinhard,

nochmals danke für die Antwort, aber genau das mache ich doch im 
Prinzip:
a_23=(v1-v2)/(t3-t2), wobei t3-t2=v2 und damit
a_23=(v1-v2)/v2

Ich subtrahiere die beiden v's (ausgedrückt in einer Zeit) und teile 
durch die Umlaufzeit, die ja exakt der letzten v-Messung ausgedrückt in 
einer Zeit entspricht...

Oder sehe ich da etwas falsch?

von Ohhh (Gast)


Lesenswert?

Daniel schrieb:
> wobei t3-t2=v2

ohhh ha! Setz mal Werte ein und nimm auch die Einheiten mit 
(Einheitenrechnung)

von Daniel (Gast)


Lesenswert?

Das v in m/s ist und t in s ist mir klar.

Wenn aber Kandidat A auf 100m 10s benötigt und Kandidat B auf 100m 8s, 
so kann ich sagen Kandidat B läuft schneller als Kandidat A, obwohl ich 
nur t von den Kandidaten kenne. Bei einer konstanten Strecke (1 Umlauf 
der Scheibe = Umfang) gibt mir doch die Zeit v wieder. Je kürzer die 
Umlaufzeit, desto schneller v.

von Ohhh (Gast)


Lesenswert?

Was hat deine letzte Schlußfolgerung mit der Beschleunigung zu tun? 
Daraus folgt auf keinen Fall t3 - t2 = v2

Daniel schrieb:
> Bei einer konstanten Strecke (1 Umlauf
> der Scheibe = Umfang) gibt mir doch die Zeit v wieder. Je kürzer die
> Umlaufzeit, desto schneller v.

Daraus folgt höchstens, daß v umgekehrt proportional zur Zeit ist.

von Hein (Gast)


Lesenswert?

Und spätestens hier sollte dir klar geworden sein, dass du nicht die 
Beschleunigung suchst, denn du hast festgestellt, dass auf der Scheibe 
unterschiedliche Geschwindigkeiten und damit auch unterschiedliche 
Geschwindigkeitssteigerungen/Zeit (Beschleunigungen) existieren.

Die Strecke ist eben nicht konstant über jeden Punkt der Scheibe.

(Mal ganz davon abgesehen, dass bis auf einen infenitesimalen Punkt eine 
konstant rotierende Scheibe an jedem Punkt stetig beschleunigt)

Du willst Drehzalsteigerungen / Zeit errechnen?
Du willst Drehimpulssteigerung / Zeit errechnen?
Du willst die Beschleunignungsänderung / Zeit an einem fest definierten 
Punkt/Abstand vom Scheibenmittelpunkt errechnen?

von Udo S. (urschmitt)


Lesenswert?

Daniel schrieb:
> wobei t3-t2=v2 und damit

Daniel schrieb:
> Die Geschwindigkeit ermittle ich zu v1=t2-t1 und v2=t3-t2

Herrgott im Himmel, du hast keine Tomaten auf den Augen sondern 
fliegende Untertassen!
Du sagst selber daß die Zeit reziprok zur Geschwindigkeit ist rechnest 
aber dass sie proportional ist.
Denk doch mal nach.

v = s/t oder auch wenn du sagst s = konstant dann halt v = k/t
GETEILT DURCH t !!!!!

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Du brauchst also eine Uhr im Kontroller, die dir unabhängig von der 
Drehzahl der Scheibe einen Zeitstempel erzeugt. Beschleunigung errechnet 
sich ja nicht aus dem System in sich, sondern aus dem Bezugssystem, 
indem sich der beschleunigte Körper bewegt.
Wenn du also Zeitstempel pro Umdrehung mit einer gleichmässig laufenden 
Uhr (Timer) erzeugst, hast du z.B.
1. Umdrehung hat 2 Sekunden gebraucht
2. Umdrehung in einer Sekunde fertig
3. Umdrehung nur noch eine halbe Sekunde , usw.

von Mathematiker (Gast)


Lesenswert?

Mal ganz einfach

Beschleunigung = Valt-Vneu

Valt = Umfang / (Zeit1 - Zeit2)
Vneu = Umfang / (Zeit2 - Zeit3)

also:

Beschleunigung = (Umfang / (Zeit1 - Zeit2)) - (Umfang / (Zeit2 - Zeit3))

Du kannst diese Gleichung jetzt ausmultiplizieren, aber der Umfang lässt 
sich niemals wegkürzen.

von Hein (Gast)


Lesenswert?

Mathematiker schrieb:
> Mal ganz einfach
>
> Beschleunigung = Valt-Vneu
>
> Valt = Umfang / (Zeit1 - Zeit2)
> Vneu = Umfang / (Zeit2 - Zeit3)

Mal ganz einfach: nein.

1. Beschleunigung != Differenz zwischen Geschwindigkeiten.
2. v = s / t gilt nur in gleichmäßig bewegten Systemen

von Udo S. (urschmitt)


Lesenswert?

Hein schrieb:
> 2. v = s / t gilt nur in gleichmäßig bewegten Systemen

Das gilt genauso für ein Punkt auf einer Scheibe. Nur der 
Geschwindigkeitsvektor änderst ständig seine Richtung da die Bewegung 
nicht geradlinig ist.
Es ist nur einfacher mit Winkelgeschwindigkeit zu rechnen, aber da der 
TO noch nicht mal mit der einfachen Formel zurechtkommt, macht es wenig 
Sinn ihm jetzt Winkelgeschwindigkeit und Winkelbeschleunigung 
verklickern zu wollen.

von Udo S. (urschmitt)


Lesenswert?

Hein schrieb:
> Mal ganz einfach: nein.
>
> 1. Beschleunigung != Differenz zwischen Geschwindigkeiten.
> 2. v = s / t gilt nur in gleichmäßig bewegten Systemen

Der TO will kein Physikpraktikum machen sondern so wie ich das 
verstanden habe nur näherungsweise die Geschwindigkeit seiner Scheibe 
(ja ich weiß daß es eigentlich eine Winkelgeschwindigkeit ist) 
ermitteln, später dann die Beschleunigung. Unter der Annahme, daß die 
Änderung innerhalb einer Umdrehung niedrig genug ist kann er sehr wohl 
häherungsweise seine mittlere Geschwindigkeit pro Umdrehung mit v = 
Pi*d/(t2-t1) rechnen.

von Henry P. (henrylexx)


Angehängte Dateien:

Lesenswert?

Daniel schrieb:

> Die erste Geschwindigkeit ist v1=10-0=10; die zweite Geschwindigkeit ist
> v2=20-10=10, die dritte Geschwindigkeit ist v3=35-20=15
>
> Die Zeiten:
> t1=20-10=10
> t2=35-20=15
>
> a1=v2-v1/t1)=10-10/(10)=0
> a2=v3-v2/t2=15-10/15=1/3
>

warum hast dreimal die Differenz der Geshwindigkeit genommen aber nicht 
dreimal die Differenz der Zeiten ? zeichne dir die Diagramme dazu auf, 
Weg-Zeit, Geschwindigkeit-Zeit und Beschleunigung-Zeit. ich habs mal 
eben schnell gemacht...

von Henry P. (henrylexx)


Lesenswert?

ach ja und die direkte Umrechnung zwischen Translation und Rotation ist:

Weg                 x = r * phi      zurück gelegter Winkel in rad
Geschwindigkeit     v = r * omega    Winkelgeschwindigkeit in rad
Beschleunigung      a = r * alpha     Winkelbeschleunigung in rad

wie mein Vorredner schon sagte, der Betrag bleibt gleich nur die 
Richtung ändert sich



siehe Bild rechts oben
http://de.wikipedia.org/wiki/Winkelgeschwindigkeit

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
Noch kein Account? Hier anmelden.