-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 18

Thema: Sharp

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    08.08.2005
    Alter
    31
    Beiträge
    140

    Sharp

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Hi ich habe den Sensors "ein Sharp GP2D12" an den ADC PORTA.0 angeschlossen und trotzdem bekomme ich keine LED zum leuchten wo liegt der fehler bitte um hilfe...






    Code:
    $regfile = "m32def.dat"
    $crystal = 16000000
    
    
    Config Porta = Input
    Config Portc = Output
    
    Dim A As Word
    
    Enable Interrupts
    
    Start Adc
    
    Do
    
    
    A = Getadc(0)
    If a > 0 Then Portc.7 = 1 Else Portc.7 = 0
    If a > 128 Then Portc.6 = 1 Else Portc.6 = 0
    If a > 256 Then Portc.5 = 1 Else Portc.5 = 0
    If a > 384 Then Portc.4 = 1 Else Portc.4 = 0
    If a > 512 Then Portc.3 = 1 Else Portc.3 = 0
    If a > 640 Then Portc.2 = 1 Else Portc.2 = 0
    If a > 768 Then Portc.1 = 1 Else Portc.1 = 0
    If a > 896 Then Portc.0 = 1 Else Portc.0 = 0
    
    
    
    Waitms 10
    Loop
    End

  2. #2
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Config seh' ich nicht. Zum Beispiel:
    Config Adc = Single , Prescaler = Auto
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    08.08.2005
    Alter
    31
    Beiträge
    140
    THX jetzt funzt es schon mal aber die letzte lampe leuchtet irgendwie nie....

  4. #4
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Beim GP wirds nicht mehr als ca ~500 (2,6 V bei 10cm)
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    08.08.2005
    Alter
    31
    Beiträge
    140
    kann mir einer da vielleicht die zahlen sagen.
    Also die abstufungen die mir das genauste ergebnis zeigen ....

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    08.04.2004
    Beiträge
    42
    Es kommt darauf an wie genau deine Refernzspannung ist und was es für eine ist. Außerdem kommt es dann noch auf die Auflösung des AD-Wandlers an.
    Muss man denke ich selbst einstellen, bzw. herausfinden, weil die Werte immer anders sind.

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    08.08.2005
    Alter
    31
    Beiträge
    140
    Also es ist ein 10Bit AD Wandler.
    Und ich denke die Boardspannung von 5V ist die Referenzspannung.
    Es ist das RN-Control 1.4
    und nun....

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    08.04.2004
    Beiträge
    42
    Naja, ein Blick ins Datenblatt verrät, dass der Sensor maximal 2,6Volt ausgibt, dann nimmt der digitale Wert maximal

    x = (1023 x 2,6V) / 5V

    an, also 531,96 gerundet 532.

    Alle anderen Werte schwanken dann, zwischen 0 und diesen 532,
    die auch auf diese Weise berechnet werden können.

    Um die Entfernung auszurechnen ist mehr Mathematik notwendig, da der Verlauf nicht gerade, also linear, sonder potentiell verläuft.

    Es ergibt sich

    x in cm
    y ist der digitale Wert vom Controller

    x = e^( ln(y / 390 / -0,866)

    Auf die herleitung verzichte ich, da die etwas aufwendiger ist. Hab ich in mühevoller Näherungsarbeit entwickelt, funktioniert aber sehr gut. Man
    muss nur bedenken, dass der Sensor erst ab etwa 8cm messen, kann vorher gibt es falsche Messwerte (wegen dem Anstieg der Maximalspannung in der potentiellen Funktion, besser im Datenblatt sichtbar).

    Hoffentlich hab ich jetzt nicht zu viel Mathe reingepackt, aber es müsste noch ein bisschen verständlich sein.

    VG Phönix
    Glauben heißt nicht Wissen.

  9. #9
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    17.04.2006
    Beiträge
    2.193
    Grauselige Funktion für die Implementierung in einem kleinen uC. Ich habe auch vor, einen dieser Sharps einzusetzen, wenn es sich nicht vermeiden lässt, aber ich traue dem Ding nicht und werde es wohl an einigen wichtigen Punkten kalibrieren und dazwischen linear interpolieren, nur, damit eine Motorregelung im richtigen Moment halbwegs um das richtige Mass abbremst. Wirklich messen würde ich mit den Dingern nicht wollen. Ich habe Deine Formel eben mal versucht, halbwegs sinnvoll polynominal approximieren zu lassen - erwartungsgemäss ein totaler Fehlschlag, die Fehler sind grandios, die Koeffizienten verschwindend, um 0 herum geht's sowieso nicht. Bin ich froh, dass ich halbwegs genaue Messungen nur von einer DMS-Brücke brauche und richtig genaue (für ein anderes Projekt) von PT2000-Sensoren, aber die lassen sich ja bestens approximieren.

  10. #10
    Benutzer Stammmitglied
    Registriert seit
    08.04.2004
    Beiträge
    42
    Ich muss zugeben, diese Funktion ist nichts für jeden kleien Controller!

    Mit einem kleinen Trick lässt sich das ganze aber sehr vereinfachen.

    Man invertiert die zu berechnende Entfernung, leitet die Funktion ab und schon man eine (nähereungsweise) linerare und einfachere Funktion. Die Formel dazu kann wirklich jeder Controller (sogar nur eine Logikschaltung)

    x in cm
    y ist der digitale Wert

    x = 1855 / (y - 15)

    Geht aber nur bei einem 8bit AD-Wandler und 5V-Referenz.

    VG Phönix

    PS: Dass hab ich vergessen. Bei der Funktion oben mit der e-Funktion und dem Logarithmus gilt die Funktion nur für einen 10bit AD-Wandler bei 5V-Referenz. Vielleicht lag es bei dir daran?
    Glauben heißt nicht Wissen.

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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