[C] Tachometer Radius Verlauf berechnen

#8001450
Lesenswert?

Ich stehe Mathematisch gerade völlig auf dem Schlauch :-D

Gegeben: Ich habe einen Tacho mit vollem Radius von 360°. Auf diesem ist die Geschwindigkeit nichtlinear verteilt. Kann ich diese Nichtlinearität berechnen? Ich finde schon schwer das "Problem" korrekt auszudrücken.

Die Geschwindigkeit verteilt sich auf 800 Knoten. Auf den ersten ~90° des Tachos sind es 150 Knoten, auf ~120° sind es dann 200 Knoten usw... Ich gebe am besten mal ein Bild mit, da sieht man es besser wie ich das meine.

Wie kann ich dies am besten Berechnen? Ich brauche eure Intelligenz :-D

Angehängte Dateien:
: Bearbeitet durch User
#8001482
Lesenswert?

Rene K. schrieb:

Nichtlinearität berechnen

Was soll die Berechnung bringen? Für solche Aufgaben gibt es "Fitfunktionen", mit denen man eine Näherungsgerade findet. Klassisch auf linearem, halblogarithmischem, umgekehrt halblogarithmischem und doppeltlogarithmischem Papier, damit war man früher mal zufrieden.

Eine Tabellenkalkulation wie Excel oder Libre Office Calc kennt sicher solche Fitfunktionen und kann sie auf dem Bildschirm darstellen.

LINEST scheint dazu gedacht zu sein: https://wiki.documentfoundation.org/Documentation/Calc_Functions/LINEST Calculates the straight line that best fits a supplied data set and optionally returns detailed statistics on the regression. oder auch LOGEST: https://wiki.documentfoundation.org/Documentation/Calc_Functions/LOGEST/de oder vielleicht das: https://extensions.libreoffice.org/en/extensions/show/improved-trend-lines

: Bearbeitet durch User
#8001499
Lesenswert?

H. H. schrieb:

https://de.wikipedia.org/wiki/Prandtlsonde

Ich weiß jetzt auch nicht wie mir die Funktionsweise der Staudruckröhre mit dem Problem der Skala helfen könnte. Mir ist bewusst wie die Arbeitsweise einer Staudruckröhre ist.

Christoph db1uq K. schrieb:

Ich würde ganz klassisch Bleistift und Millimeterpapier benutzen. Auf die Skala ein Winkelgradskala zeichnen und Werte ablesen.

Jaaaa... so ähnlich habe ich das nun auch gemacht. Ich habe mir die Winkel der 100er Stellen ausgemessen und habe mir eine LUT Tabelle daraus gemacht. Die Zwischenschritte Interpoliere ich. Klappt ganz wunderbar.

1
typedef struct {
2
    float value;   // 0..800
3
    float angle;   // Grad
4
} ScalePoint;
5

6
ScalePoint scale[] = {
7
    {   0, 0 },
8
    { 100, 35 },
9
    { 200, 139 },
10
    { 300, 193 },
11
    { 400, 231 },
12
    { 500, 263 },
13
    { 600, 291 },
14
    { 700, 314 },
15
    { 800, 336 }
16
};
17

18
#define SCALE_COUNT (sizeof(scale)/sizeof(scale[0]))
19
#define DEG_OFFSET
20

21
float interpolSpeedToAngel(float value)
22
{
23
    // Begrenzen
24
    if (value <= scale[0].value)
25
        return (scale[0].angle)+DEG_OFFSET;
26

27
    if (value >= scale[SCALE_COUNT - 1].value)
28
        return (scale[SCALE_COUNT - 1].angle)+DEG_OFFSET;
29

30
    // Passendes Segment suchen
31
    for (int i = 0; i < SCALE_COUNT - 1; i++)
32
    {
33
        if (value >= scale[i].value && value <= scale[i + 1].value)
34
        {
35
            float v0 = scale[i].value;
36
            float v1 = scale[i + 1].value;
37
            float a0 = scale[i].angle;
38
            float a1 = scale[i + 1].angle;
39

40
            float t = (value - v0) / (v1 - v0);
41
            return (a0 + t * (a1 - a0))+DEG_OFFSET;
42
        }
43
    }
44

45
    return 0.0f; // sollte nie passieren
46
}

So, jetzt ab ins Bett... bin Hundemüde :-D

Dankeschön für den Denkanstoß.

Angehängte Dateien:
: Bearbeitet durch User
#8001569
Lesenswert?

Frank D. schrieb:

Rene K. schrieb:

mit vollem Radius von 360°

Aua!

Ja, es war spät und ich war müde. 😘 Derjenige der nie einen Fehler macht, so werfe er den ersten Stein!

Viel mehr "Aua" finde ich ja Menschen, die auf solchen Fehlern rumreiten und sie anderen Menschen in herabwürdigender Weise unter die Nase reiben. Sagt sehr viel über eben jenen aus... Arroganz ist da nur eines davon. Glückwunsch.

Ein normaler Menschen hätte gesagt "Du meintest Umfang richtig?" Oder überlesen und ignorieren es einfach wie die anderen Poster. Aber dann gibt es halt solche Menschen wie dich... Schade, aber das ist halt dieses Forum.

Hier kann man mittlerweile vieles erwarten, z.b. Hochmut, Arrogant, Narzissmus und dumme sowie sinnlose Kommentare. Was man hier nicht mehr erwarten kann und kaum noch sieht: Hilfestellungen! Glückwunsch, du bist einer dieser Kameraden! 😗

#8001575
Lesenswert?

Rene K. schrieb:

Hier kann man mittlerweile vieles erwarten, z.b. Hochmut, Arrogant, Narzissmus und dumme sowie sinnlose Kommentare

Und sie kommen immer von der selben handvoll trauriger Gestalten...

Frank D. schrieb:

Rene K. schrieb:

mit vollem Radius von 360°

Aua!

Wenn du mal ne Sekunde drüber nachdenkst, hätte dir auffallen können das,

erstens: der Radius eines Kreises über die vollen 360 Grad selbigen zu finden ist

und zweitens völlig klar war, was gemeint ist.

: Bearbeitet durch User
Beitrag #8001580 wurde vom Autor gelöscht.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren