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
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.
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).
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
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.
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
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.
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)?
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.
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.
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.
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?
Na, das es falsch ist bzw. eben nicht reziprok. Aber da habe ich mich ja korrigiert im Beitrag zuvor….
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).
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?
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
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?
Daniel schrieb: > wobei t3-t2=v2 ohhh ha! Setz mal Werte ein und nimm auch die Einheiten mit (Einheitenrechnung)
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.
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.
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?
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 !!!!!
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.
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.
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
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.
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.
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...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.