Forum: PC-Programmierung [C] Tachometer Radius Verlauf berechnen


von Rene K. (xdraconix)


Angehängte Dateien:

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

: Bearbeitet durch User
von Christoph db1uq K. (christoph_kessler)


Lesenswert?

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.

von H. H. (Gast)


Lesenswert?


von Christoph db1uq K. (christoph_kessler)


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
von Rene K. (xdraconix)


Angehängte Dateien:

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ß.

: Bearbeitet durch User
von Frank D. (Firma: LAPD) (frank_s634)


Lesenswert?

Rene K. schrieb:
> mit vollem Radius von 360°

Aua!

von Ralf X. (ralf0815)


Lesenswert?

Frank D. schrieb:
> Rene K. schrieb:
>> mit vollem Radius von 360°
>
> Aua!

Warum?
Ich wundere mich nur etwas über die innere Anzeige bis zumindest Mach 7.

von Rene K. (xdraconix)


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

von Rene K. (xdraconix)


Lesenswert?

Ralf X. schrieb:
> Warum?
> Ich wundere mich nur etwas über die innere Anzeige bis zumindest Mach 7.

.7 also: 0.7 Mach. Ist das original Instrument einer F16.

von Ralf X. (ralf0815)


Lesenswert?

Rene K. schrieb:
> Ralf X. schrieb:
>> Warum?
>> Ich wundere mich nur etwas über die innere Anzeige bis zumindest Mach 7.
>
> .7 also: 0.7 Mach. Ist das original Instrument einer F16.

Ops, mit Punkt ist natürlich alles klar. :-)

von J. T. (chaoskind)


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.
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.