2 van 3

Re: Treinwielen

Geplaatst: vr 07 jul 2023, 13:35
door jkien
Hier zijn de meetgegevens in csv-formaat:

heenreis
treinoscillatie1
(1.06 MiB) 118 keer gedownload

terugreis
treinoscillatie2
(1.11 MiB) 103 keer gedownload

Elk csv-bestand bevat 2 kolommen van de accelerometer (kolom1: tijd; kolom2: versnelling in de zijwaartse richting, en 2 kolommen van de gps-sensor: kolom1: tijd, kolom2: snelheid volgens de gps-sensor. De accelerometer maakt ongeveer 50 samples per seconde, de gps-sensor ongeveer 1 sample per seconde.

Re: Treinwielen

Geplaatst: vr 07 jul 2023, 17:23
door CoenCo
Ik moet zeggen dat ik het verband nog niet echt zie (oscillatie1.csv)...

Re: Treinwielen

Geplaatst: vr 07 jul 2023, 18:52
door Gps
Nesciyolo schreef: do 06 jul 2023, 10:01 In de opgave wordt gevraagd bij welke snelheid resonantie optreedt. In de praktijk zal je op een treinrit allerlei bewegingen meten die ook van andere bronnen afkomstig zijn dan elliptische wielen. Omdat de NS haar best doet om de wielen zo rond mogelijk te maken stel ik me voor dat bij de meeste snelheden het effect heel klein is en niet merkbaar. De vering zal het grootste deel van de bewegingen opvangen. Het zou me daarom niets verbazen als je het effect in de trein nooit zou meten of alleen bij bepaalde snelheden.

Ik vind het trouwens wel opmerkelijk. Ik zou denken dat λ in dit geval simpelweg de omtrek van het wiel is.
Zoals het mij uitgelegd werd toen ik stage liep bij de ns in Haarlem, was dat ze gaan voor een bepaalde frequentie.
Zo dat niet iedereen in de trein ziek word (misselijk), van de sinus loop over de rails.

Er zit vering en een demper in het onderstel, maar dat haalt alleen de scherpe kantjes van de beweging af.

Re: Treinwielen

Geplaatst: vr 07 jul 2023, 22:45
door CoenCo
Na een beetje filteren en nuldoorgangen teeller wordt het niet écht beter....

Fragment voor/na filteren
output1
En 1/(tijd tussen nuldoorgangen)
output2

Re: Treinwielen

Geplaatst: vr 07 jul 2023, 22:52
door Gps
Misschien is het handig dat ik even toelicht, dat de demper waar ik het over heb, te maken heeft met die sinus loop.
Dat is geen schok demper zoals die onder een auto zit.

Dat soort schokbrekers heeft een trein overigens ook.

Ik kan helaas geen plaatje vinden. van die demper. De zoek opdracht trein onderstel levert maar weinig op.

Re: Treinwielen

Geplaatst: za 08 jul 2023, 13:55
door Xilvo
Hierbij mijn twee centen.

Ik heb alles omgerekend naar afgelegde weg op het spoor.
Het versnellingssignaal, net als CoenCo, gefilterd (hoogdoorlaat en laagdoorlaat).
Om de golflengte te bepalen heb ik de afstand bepaald tussen positieve nuldoorgangen van de versnelling.
x-as is de afgelegde afstand [m].
Rood is de snelheid [m/s], groen de afstand tussen nuldoorgangen [m], blauw het gefilterde versnellingssignaal, slechts ter illustratie.
treinwielen
Er zijn stukken (rond en na 5000 m) waar de theoretische waarde redelijk te herkennen is, maar ook grote stukken waar dat niet lukt.
Het zou aardig zijn te weten wat het traject precies was. Ik kan me zomaar voorstellen dat in een bocht de slingering
tijdelijk onderdrukt wordt.

Re: Treinwielen

Geplaatst: za 08 jul 2023, 20:48
door jkien
Gps schreef: vr 07 jul 2023, 22:52 Misschien is het handig dat ik even toelicht, dat de demper waar ik het over heb, te maken heeft met die sinus loop.
Ik kan helaas geen plaatje vinden. van die demper. De zoek opdracht trein onderstel levert maar weinig op.
Nederlandse treinen blijken tegenwoordig voorzien te zijn van gierdempers (yaw dampers) die een snelle rotatie van het draaistel om de verticale as (gieren=yaw) dempen. Je kunt ze op elk draaistel zien zitten, ik heb er vanmiddag een foto van gemaakt. Je kunt zien dat de demper bij A bevestigd is aan de bak (het rijtuig zonder het draaistel), en bij B aan het draaistel. Snel gieren zoals bij de ongewenste hunting oscillation zal de demper verhinderen, langzaam gieren niet.

gierdemper1

Ik zag overigens een topic op beneluxspoor.nl waar gesteld wordt dat de oude coniciteit van 0.05 (die in de examenopgave werd gegeven) niet meer geldt voor personentreinen, daar is de coniciteit van de wielen tegenwoordig 4x kleiner ("1:80" i.p.v. "1:20"), zodat \(\lambda = 2\pi\sqrt{\frac{d \, r_0}{2 \gamma}}\) 4x groter is, en de berekende hunting frequentie 4x kleiner.

Re: Treinwielen

Geplaatst: za 08 jul 2023, 20:52
door Xilvo
jkien schreef: za 08 jul 2023, 20:48 ... zodat \(\lambda = 2\pi\sqrt{\frac{d \, r_0}{2 \gamma}}\) 4x groter is, en de berekende hunting frequentie 4x kleiner.
Dan zou de golflengte ongeveer 64 meter worden.
Bij de hoogste snelheid zijn er een aantal waardes die in de buurt komen. Maar om dat als een bevestiging te zien lijkt me wishful thinking ;)

Re: Treinwielen

Geplaatst: za 08 jul 2023, 21:48
door jkien
Xilvo schreef: za 08 jul 2023, 13:55 Het zou aardig zijn te weten wat het traject precies was. Ik kan me zomaar voorstellen dat in een bocht de slingering
tijdelijk onderdrukt wordt.
Treinoscillatie1.csv is Amsterdam - Haarlem, treinoscillatie2.csv is de terugreis. De stop halverwege is Sloterdijk.

Re: Treinwielen

Geplaatst: za 08 jul 2023, 21:50
door Gps
jkien schreef: za 08 jul 2023, 20:48
Gps schreef: vr 07 jul 2023, 22:52 Ik kan helaas geen plaatje vinden.
ik heb er vanmiddag een foto van gemaakt.
Dat is inderdaad de demper die ik bedoel. :)

Re: Treinwielen

Geplaatst: zo 09 jul 2023, 21:06
door HansH
het lastige met de oscillatie is denk ik dat die waarschijnlijk zwaar wordt beinvloedt door bochten, onregelmatigheden in de rails etc. Als daardoor faseveranderingen optreden omdat de oscillatie tijdelijk wordt onderbroken of sterk gedempt dan komt de foerier transformatie in de problemen. Een zuivere sinus component die een heel aantal keren in de meetperiode past is prima te extraheren, maar een die vaak van fase verspringt zal andere frequenties geven in het spectrum.

Re: Treinwielen

Geplaatst: zo 09 jul 2023, 21:21
door HansH
Mathcad - fourier1
(89.82 KiB) 64 keer gedownload
hier zo'n voorbeeld van een stukje tijd met 2 sinussen in de tijd met de fourier frequenties en als test de terugtransformatie van die frequenties naar het tijdsdomein. Dat als check om te zien of beide signalen over elkaar heen vallen.

Re: Treinwielen

Geplaatst: zo 09 jul 2023, 23:16
door OOOVincentOOO
Mijn poging:

Kunnen interpretatie fouten inzitten. Maar eerste "ansatz" zoals ik zou doen.

1. Snelheid x en versnelling ay aan zelfde tijd as gekoppeld.
2. Blanco gaten snelheid forward gevuld.
3. Afstand berekend (integreren snelheid).
4. Afstandas afgerond op 0.5 meter (om FFT uit te voeren met constante intervallen).
5. Groupby tijd as en gemiddelden genomen elke 0.5 meter.
6. Spectrogram bepaald (geen extra filtering buiten box grote).

Heb: frequentie (versnl. ay) in: [1/m] en periode [m] weergegeven.

Kom ik uit op onderstaande resultaten. Let op hobby en first trial "proof of concept". Ik kan wat foutjes gemaakt hebben mbt. samplefrequentie welke bij mij 0.5 meter is (heb Fs=1/0.5 ingesteld te moe om te controleren).

Misschien nog een beetje experimenteren en Fs controleren als ik minder moe ben.

Observaties:
- Met pijlen aangeduid waar extra beweging komt. Snelle schommeling iedere twee meter. Problemen kwaliteit spoormisschien? Lijkt mij geen rekenkundig artifact komt en verdwijnt in afstand.
- Er lijkt een ondergrens voor trage perioden bij tien meter intervallen. Maar dit is intuitief.

Heen
Retour


Plots:

Code: Selecteer alles

import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.mlab as mlab
import numpy as np

# Define layout spectrogram plot and time series
layout = [ ["time"], ["time2"],  ["freq"], ["period"]]
gs_kw = dict(width_ratios=[1], height_ratios=[1, 1, 1, 1])
fig, axd = plt.subplot_mosaic(layout, figsize=(16, 9), layout="constrained", gridspec_kw=gs_kw)

def spectogram(signal, fs):
    # calcuate the spectrogram, determine perios instead of frequency
    spec, freq, t = mlab.specgram(signal, Fs=fs, mode="magnitude")

    # calculate the period bin limits, omit the zero frequency bin
    period = 1. / freq[1:]

    return t, freq, period, spec


df = pd.read_excel("treinreis/Retour-calc.xlsx")


axd["time"].set_title("Retour")

# Plot time signal
axd["time"].plot(df["x"], df["ay"], color="black", linewidth=0.1)
axd["time"].set_xlabel("distance [meters]")
axd["time"].set_ylabel("Acceleration y [m/s2]")
#axd["timepart"].plot(df["x"], df["ay"], color="black", linewidth=0.5)
#axd["timepart"].set_xlabel("distance [meters]")
#xd["timepart"].set_ylabel("Acceleration y [m/s2]")

axd["time2"].plot(df["x"], df["ay"], color="black", linewidth=0.1)
axd["time2"].set_xlabel("distance [meters]")
axd["time2"].set_ylabel("Acceleration y [m/s2]")

fs = 1/0.5
time, freq, period, spectrum = spectogram(df["ay"], fs)
axd["freq"].pcolormesh(time, (freq), np.log10(spectrum), cmap="coolwarm")
axd["freq"].set_xlabel("distance [meters]")
axd["freq"].set_ylabel("frequency [1/m]")

axd["period"].pcolormesh(time, (period[::-1]), np.log10(spectrum[:0:-1]), cmap="coolwarm")
axd["period"].set_xlabel("distance [meters]")
axd["period"].set_ylabel("period [m]")
axd["period"].set_ylim([0, 25])

plt.show()
Data voorbereiding:

Code: Selecteer alles

import pandas as pd
import numpy as np

df = pd.read_excel("treinreis/Retour.xlsx")
df = df.fillna(method="ffill")

df["dt"] = df["t"].diff()
df["x"] = df["dt"]  * df["vx"]
df["x"] = df["x"].cumsum()
df["x"] = df["x"].apply(lambda x: 0.5 * np.round(x/0.5, 0))

df = df.groupby("x").mean()

df.to_excel("treinreis/Retour-calc.xlsx")

Re: Treinwielen

Geplaatst: ma 10 jul 2023, 10:16
door Xilvo
OOOVincentOOO schreef: zo 09 jul 2023, 23:16 1. Snelheid x en versnelling ay aan zelfde tijd as gekoppeld.
2. Blanco gaten snelheid forward gevuld.
3. Afstand berekend (integreren snelheid).
4. Afstandas afgerond op 0.5 meter (om FFT uit te voeren met constante intervallen).
Dat komt sterk overeen met wat ik deed. En ook ik koos voor datapunten iedere halve meter. Maar ik voor nuldoorgangen i.p.v. FFT.
OOOVincentOOO schreef: zo 09 jul 2023, 23:16 Observaties:
- Met pijlen aangeduid waar extra beweging komt. Snelle schommeling iedere twee meter. Problemen kwaliteit spoormisschien? Lijkt mij geen rekenkundig artifact komt en verdwijnt in afstand.
- Er lijkt een ondergrens voor trage perioden bij tien meter intervallen. Maar dit is intuitief.
Die golflengte van iets meer dan twee meter zou toch door een lichte onrondheid van een wiel kunnen komen. De diameter zou dan ca 75 cm moeten zijn. Weet iemand de werkelijke diameter van die wielen?

Re: Treinwielen

Geplaatst: ma 10 jul 2023, 10:30
door jkien
In de opgave stond dat de gemiddelde diameter van treinwielen 95 cm is. (Vandaar dat de straal r0 47,5 cm was :) )