-         

Ergebnis 1 bis 7 von 7

Thema: sharp gp2d120 messungs oder hardware fehler !?!

  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    03.01.2005
    Ort
    hessen
    Alter
    29
    Beiträge
    1.099

    sharp gp2d120 messungs oder hardware fehler !?!

    Anzeige

    Hallo

    ich habe mir einen gp2d120 gekauft nun habe ich ihn an das RNControl v1.4 angeschlossen und habe mir den adc wert per rn-key-lcd ausgeben lassen nun habe ich die daten von http://www.kreatives-chaos.com/index.php?seite=gp2d120
    verglichen aber alleine der adc wert ist bei ihm höher woran kann das liegen, habe auch mal zweimal verschiedene Spannungen dran gehongen einmal von dem RN-Control und einmal von einem Labornetzgerät. Durch diese Probe habe ich zwei messungs ergebnisse vom adc heraus gefunden, beim der spannung vom RN-Control 77 und beim labornetzgerät 12.

    könnte mir jemand helfen oder einen Tipp geben??

    gruß
    patrick

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    01.03.2004
    Ort
    Bielefeld (JA, das gibt es!)
    Alter
    29
    Beiträge
    1.614
    was hast du denn fürne kurve, und wo bekommst du 77?
    Ich will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds, Entwickler von Linux

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    03.01.2005
    Ort
    hessen
    Alter
    29
    Beiträge
    1.099
    hallo

    ich habe noch keine kurve habe nur den adc wert mit dem wert von kreatives-chaos verglichen. Mein Wert ist 77, das ist das höchste was ich raus bekomme und sowie das aussieht ein bisschen wenig.

    gruß
    patrick

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.08.2004
    Ort
    Winterthur
    Beiträge
    312
    Hallo

    Wie gross sind die Versorgungsspannungen jeweils?
    Wie gross ist die Referenzspannung des ADCs?
    Welche Auflösung (Anzahl Bits) hat der ADC?

    War das Hindernis bei beiden Messungen gleich weit entfernt (Sorry, ev. blöde Frage)?
    Wie weit war denn das Hindernis entfernt?

    Gruess
    Fritzli

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    03.01.2005
    Ort
    hessen
    Alter
    29
    Beiträge
    1.099
    hallo

    hier habe ich das programm mal:


    Code:
    ' ------------- Hier die üblichen RN-Control Anweisungen --------------
    $regfile = "m8def.dat"
    $hwstack = 32
    $framesize = 16
    $crystal = 16000000                                         'Quarzfrequenz
    $baud = 9600
    
    ' ------------- Ende der üblichen RN-Control Anweisungen --------------
    
    
    
    
    Config Portc = &B11111111
    Config Portb = &B11111111
    Config Adc = Single , Prescaler = Auto , Reference = Avcc   ' Adc einstellen
    Config Scl = Portc.5                                        'Ports fuer IIC-Bus
    Config Sda = Portc.4
    Const Rnkeylcd_slaveid_write = &H40                         'I2C SlaveAdresse
    Const Rnkeylcd_slaveid_read = &H41
    
    Dim Stemp As String * 100
    Dim Taste As Word
    Dim A As Word
    Dim K As Word
    Dim L As Word
    Dim B As Single
    Dim C As Single
    Dim E As Single
    
    
    Declare Sub Rnlcd_cursor(byval Spalte As Byte , Byval Zeile As Byte)
    Declare Sub Rnlcd_clr()
    Declare Sub Rnlcd(byval Text As String)
    Declare Sub Rnlcd_cr()
    Declare Function Rnlcd_getscan() As Word
    Declare Sub Rnlcd_scanmodus(byval Ein As Byte)              'Tastenscanmodus ein und ausschalten
    
    
    waitms 20
    I2cinit
    Start Adc
    
    Do
    Rnlcd_clr
    A = Getadc(0)
    Rnlcd_cursor 7 , 1                                          
    Stemp = "" + Str(A)
    Rnlcd Stemp
    Rnlcd_cr
    
    Waitms 60
    Loop
    
    End
    
    
    '--------------------------------------------------------------
    'Einige spezielle I2C.Befehle für RN-KeyLCD als Funktion definiert:
    
    Sub Rnlcd_cursor(byval Spalte As Byte , Byval Zeile As Byte)       'Cursor setzen
    Local Befehle As String * 4
      Befehle = Chr(27) + Chr(79) + Chr(spalte) + Chr(zeile)
      I2csend Rnkeylcd_slaveid_write , Befehle , 4
    End Sub
    
    Sub Rnlcd_clr()                                             'LCD löschen
    Local Befehle As String * 2
      Befehle = Chr(12)
      I2csend Rnkeylcd_slaveid_write , Befehle , 1
    End Sub
    
    Sub Rnlcd_cr()                                              'LCD Zeilenvorschub
    Local Befehle As String * 2
      Befehle = Chr(13) + Chr(10)
      I2csend Rnkeylcd_slaveid_write , Befehle , 2
    End Sub
    
    Sub Rnlcd(byval Text As String)                             'Eine Art Print Befehl zum Ausgeben von Text
    Local Le As Word
      Le = Len(text)
      I2csend Rnkeylcd_slaveid_write , Text , Le
    End Sub
    
    Function Rnlcd_getscan() As Word                            'Scancode als Word abfragen
    Local Lscan As Byte
    Local Hscan As Byte
    
    
      I2cstart
      I2cwbyte Rnkeylcd_slaveid_read
      I2crbyte Lscan , Ack
      I2crbyte Hscan , Nack
      I2cstop
    
      If Hscan.7 = 1 Then                                       'AScii Modus
         Rnlcd_getscan = Lscan
      Else
         Rnlcd_getscan = Hscan * 256
         Rnlcd_getscan = Rnlcd_getscan + Lscan
      End If
    End Function
    
    Sub Rnlcd_scanmodus(byval Ein As Byte)                      'Tastenscanmodus ein und ausschalten
    Local Befehle As String * 3
      Befehle = Chr(27) + Chr(119) + Chr(ein)
      I2csend Rnkeylcd_slaveid_write , Befehle , 3
    End Sub
    Das Hinderniss war bei der Messung gleich weit entfernt
    Glaube es waren ca.6cm.

    Morgen probiere ich das mit einer genauen cm vorgabe aus.

    Ich denke mal der hat 10 bit aber ich die auflösung beträgt 1024 hoffe das ich hier nichts falsches sage .

    Naja vielleicht muss ich das ganze ja auf die interne Reference Spannung machen, habe die AVCC Spannung im moment drin das sind 5Volt.

    gruß
    patrick

  6. #6
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.08.2004
    Ort
    Winterthur
    Beiträge
    312
    Hallo

    Falls Deine Angaben stimmen, sind 77 (bzw 12) wirklich viel zu tief:

    6cm => ca 2V Vout des Sensors
    Das gäbe bei 10Bit und Vref=5V was um 400 als ADC-Ergebnis.

    Mal Hardware checken:

    - Haben ADC und Sensor eine gemeinsame Masse?
    - Leuchtet die LED (mit Digitalkamera testen)?
    - Sensorausgang mal mit einem Voltmeter messen (dabei vom ADC abklemmen), was kommt da raus bei 6cm, resp. bei anderen Entfernungen?

    Gruess
    Fritzli

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    03.01.2005
    Ort
    hessen
    Alter
    29
    Beiträge
    1.099
    hi

    also an der gleiche Masse können sie auf jeden fall nur hängen da ich das Board per Batterie betreibe.

    den rest schreibe ich später rein.

    gruß
    patrick

Berechtigungen

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