-         

Ergebnis 1 bis 5 von 5

Thema: Weg umrechnung...

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    30.10.2010
    Beiträge
    46

    Weg umrechnung...

    Anzeige

    Hallo Leute.

    Ich habe ein kleines Mathematisches Problem und ich hoffe Ihr könnt mir dabei helfen, und ich kann das einigermaßen darstellen.

    Ich lese meinen Rc-Empfänger mit Bascom aus. Momentan läuft alles auf einem Test-Board mit einem Atmega16.
    Die Erkennung funktioniert ohne Probleme, aber der Weg des "Steuerknüppels" von Anschlag zu Anschlag ist zu gering.
    Ich messe mit Pulsin die Knüppelstellung des Senders. Anderst geht es nicht weil ich nur noch 2 Leitungen vom Atmega an meinem Robbi frei habe.
    Also kein Interrupt. Aber das macht auch nichts, so wie es aussieht geht es ja auch mit Pulsin.

    Also der Wert den ich messe ist von ..
    MIN = 100
    Mitte = 140
    MAX = 180.

    Ich brauche aber ..
    MIN = 0
    Mitte = 120 - 130
    MAX = 250.

    Wie rechne ich es das bei ..
    Min 100 = 0
    Mitte 140 = 125
    Max 180 = 250

    .. die Werte korrigiert werden.
    Die korrigierten Werte werden dann direkt an die Motorsteuerung gegeben.
    Ich rechne jetzt schon seit einer Stunde, aber es passt hinten und vorne nicht.

    Irgendwer ne Idee?

    Gruß
    Thomas

  2. #2
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    27
    Beiträge
    3.517
    Blog-Einträge
    9
    Hey,

    probier es mal mit einer If, elsif, else Abfrage:

    If Wert <= 100 then
    Wert = 0
    elsif Wert = 140 (oder z.B. ein Bereich Wert >= 130 AND Wert <= 150) then
    Wert = 125
    else Wert >= 180 then
    Wert = 250
    End if

    Das spart rum rechnen
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2007
    Ort
    Göttingen
    Beiträge
    705
    Na ja, ich würde da den Dreisatz favorisieren:

    Deine Ausgangs-Variable beginnt bei 100 und überstreicht einen Bereich von 80, und die Resultierende soll bei 0 beginnen und einen Bereich von 250 überstreichen.

    Du müsstest also von der Ausgangsvariablen 100 abziehen und die Differenz mit 250/80 (=3,125) multiplizieren - fertich.

    Der Haken ist natürlich der, dass Du eine exakte Multiplikation mit Fließkomma-Zahlen nur mit Single-Variablen durchführen kannst. Aber das wäre ja kein Problem:

    Dim A as Byte (Ausgangs-Variable)
    Dim B as Single
    Dim C as Byte (Resultierende Variable)

    B = A - 100
    B = B * 3,125
    C = B

    Wenn es für die resultierende Variable aber auch okay wäre wenn sie von 0 - 240 geht statt bis 250, müsstest Du die Differenz nur mit 3 multiplizieren, was den Umweg über die Single-Variable erspart:

    C = A - 100
    C = C * 3

  4. #4
    Erfahrener Benutzer Roboter Genie Avatar von HeXPloreR
    Registriert seit
    08.07.2008
    Ort
    24558
    Alter
    39
    Beiträge
    1.356
    Ich würde es so machen wir Sauerbruch vorgeschlagen hat... allerdings würde ich die Abfragen die Kampi vorgeschlagen hat mitnehmen um die Mittelstellung auch im Programm zu definieren. Also beides gemischt - sollte sauber funktionieren. Hab ich auch so in einem Programm gemacht.

    Allerdings musst Du bei Kampis weg aufpassen , denn damit allein verlierst du die Proportionalität der Hebelstellung.
    Geändert von HeXPloreR (04.04.2013 um 12:58 Uhr)
    "Es ist schwierig, jemanden dazu zu bringen, etwas zu verstehen, wenn er sein Gehalt dafür bekommt, dass er es nicht versteht" [Upton Sinclair] gez-boykott

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    30.10.2010
    Beiträge
    46
    Hallo Leute,

    der Dreisatz war's. Vielen Dank.

    Genau danach habe ich gesucht. Passt nun prima.
    Manchmal sieht man den Wald vor lauter Bäumen nicht.

    So wie Kampi habe ich es gemacht, aber war mir zu ungenau.
    Alles was < unter 100 oder > 180 ist verliere ich weil ich dann den Rest überspringe.

    Gruß
    Thomas

Ähnliche Themen

  1. Umrechnung lbf in Nm
    Von Cysign im Forum Motoren
    Antworten: 8
    Letzter Beitrag: 15.03.2013, 23:31
  2. Umrechnung am LM235 so korrekt?
    Von Pille456 im Forum Sensoren / Sensorik
    Antworten: 1
    Letzter Beitrag: 30.04.2011, 18:59
  3. Umrechnung in dB Werten
    Von heikilo im Forum C - Programmierung (GCC u.a.)
    Antworten: 10
    Letzter Beitrag: 11.06.2007, 20:44
  4. Umrechnung
    Von Blackbumpkin im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 5
    Letzter Beitrag: 25.01.2006, 15:23
  5. ADC - Umrechnung - Verständnisproblem
    Von DIYLAB im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 16.03.2005, 22:06

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •