[C] Tachometer Radius Verlauf berechnen

OP #8001450

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

Ich würde ganz klassisch Bleistift und Millimeterpapier benutzen. Auf die Skala ein Winkelgradskala zeichnen und Werte ablesen. Die Winkel auf der Horizontalen, die Skalenwerte auf der Vertikalen, dann die verbinden. Das ergibt eine Gerumme, (krumme Gerade), für die man dann eine Näherungsformel bestimmt. Dazu sollte man Anleitungen im Web finden.

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
OP

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
OP

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! 😗

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

Eine eigene Frage? Dieser Thread ist über 9 Monate alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.