-
        

Ergebnis 1 bis 3 von 3

Thema: RN-Control rechnet nicht Richtig

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    30.06.2010
    Ort
    Darmstadt
    Beiträge
    131

    RN-Control rechnet nicht Richtig

    Anzeige

    Also ich bin jetzt endlich stolzer besitzer der RN Control
    Hab auch schon einiges ausprobiert, also das Testprogramm, dann ne kleine Motorsteuerung und sonstige spielereien.

    So nun stehe ich aber vor einem Problem:
    und zwar will ich mit dem Sharp Infrarot sensor GB2D12 eine entfernung bestimmen und dazu die Spannung die er ausgibt in nen Wert mit einer Formel ausrechnen.
    Nur kommt da nur Schrott raus.
    Also der verrechnet sich bei der Formel.
    Hier mal nen Codeausschnitt:

    Code:
    'Microcontroller Einstellungen Definieren.
     $regfile = "m32def.dat"
     $framesize = 32
     $swstack = 32
     $hwstack = 32
     $crystal = 16000000
     $baud = 9600
    
    '*******************************************************************************
     'Variablen deklarieren:
    Dim Ton As Integer
    Dim Irabstand As Integer
    Dim Motordrehzahl As Integer
    Dim Spannung As Single
    Dim Taste As Byte
    Const Ref = 5 / 1023                                        'Für spannungsmessung
    
    Declare Sub Irentfernung1() 
    
    Config Porta.0 = Input                                      'Für Enfernungsmessung Sharp diesen Port als eingang definieren      
    
    ....
    
    'Diese Funktion zeigt den Abstand des IR-Entfernungsmessers an
    Sub Irentfernung1()
    Local Ws As Word
       Dim Variablea As Integer
       Dim Variableb As Integer
       Dim Variablec As Integer
    
       Porta.0 = 0                                              'internen Pullup Widerstand ein
    
       Start Adc
       Ws = Getadc(0)
       Spannung = Ws * Ref
       Print "Die Spannung an Port A Pin 0 beträgt: " ; Spannung ; " Volt"
    
       Variablea = Spannung * Spannung                          ' Berechnung des Abstandes in cm
       Variablea = 24.24 * Variablea
       Variableb = 103.636 * Spannung
       Variablec = 117.57
       Irabstand = Variablea - Variableb
       Irabstand = Irabstand + Variablec
       Print "Der Abstand zum Sensor beträgt: " ; Irabstand ; " cm"
    
       Irabstand = 5 * 24.245
       Irabstand = Irabstand - 5.5
       Print "Der Abstand zum Sensor beträgt: " ; Irabstand ; " cm"
    End Sub
    Hab unten nochmal ne Rechnung gemacht, die Rechnet er wiederum, also wenn ich Zahlen direkt eingebe, kommt das richtige ergebniss raus. Woran kann das liegen? find den Fehler einfach nicht.

    Also als Beispielwert:
    Bei 0,9 gemessenen Volt kommt raus:
    -laut Taschenrechner: 43,96
    -laut RN-Control: 115

    Ach ja und muss ich den PulUp Wiederstand ein oder ausschalten für den Sensor? bin mir da nicht so sicher. Will auch nix kaputt machen.
    Es gibt keine Probleme, es gibt nur Lösungen

  2. #2
    Administrator Robotik Einstein Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    4.989
    Blog-Einträge
    1
    Das liegt nicht an RN-Control sondern an deinem Programm!
    Was da schon mal auffällt ist das du Integer Variablen angelegt hast und dann mit Kommazahlen rechnest! Das kann nicht klappen, Integer sind ganze Zahlen! Du musst Single nehmen.
    Mit bestem Gruß
    Frank

    Admin Roboternetz.de - RN-Wissen.de - Elektronik-Blog

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    30.06.2010
    Ort
    Darmstadt
    Beiträge
    131
    also danke Frank
    das war das problem^^
    blöde bezeichnungen.

    Hab jetzt es geschafft mit nem Ultraschallsensor die entfernung zu bestimmen dann mitm Sharp und joa noch mit nem Magnetsensor
    also geht echt relativ einfach
    Wobei der IR-Sensor net so genau ist, im vergleich zum ultraschall. vorallem bei geringen entfernungen.
    Es gibt keine Probleme, es gibt nur Lösungen

Stichworte

Berechtigungen

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