-         
+ Antworten
Ergebnis 1 bis 9 von 9

Thema: GP2D12 konkret

  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.06.2004
    Ort
    Bad Schussenried in Oberschwaben
    Alter
    26
    Beiträge
    1.461

    GP2D12 konkret

    HI!

    Ich habe einen GP2D12, der über einen I²C, 8-Bit ADC ausgelesen wird.
    In Bascom wird dieser Wert in einer Single-Variable zur Voltzahl
    umgerechnet.

    Ich habe im Internet nach einem stichhaltigen Verfahren gesucht, das in die Entfernung umzurechnen. Ohne Erfolg, der funktioniert hätte.

    Die Formel aus diesem Thread funktoniert bei mir irgendwie nicht:
    http://www.roboternetz.de/phpBB2/viewtopic.php?t=174

    Deshalb: Hat jemand eine Fromel für den GP2D12 oder wie muss ich das anstellen?

    Wie macht ihr das?

    Vielen Dank schonmal jetzt,
    Tobi
    http://www.tobias-schlegel.de
    "An AVR can solve (almost) every problem" - ts

  2. #2
    Super-Moderator Lebende Robotik Legende Avatar von Manf
    Registriert seit
    30.01.2004
    Ort
    München
    Alter
    63
    Beiträge
    12.204
    Was meinst Du genau?
    Die Formel mit dem x hoch y ist sicher etwas schwierig für den Controller ist das das Problem?

    http://www.roboternetz.de/phpBB2/vie...?p=34344#34344

    Manfred

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.06.2004
    Ort
    Bad Schussenried in Oberschwaben
    Alter
    26
    Beiträge
    1.461
    HI Manf,

    Ich meine einfach ein einfaches Patentrezept für die Berechnung der Entfernung aus der Spannung;
    Diehier habe ich getestet, es funzt aber nicht:
    D = A/(X-B)

    Danke schonmal!
    Tobi

    PS/EDIT: Ich wüsste nciht, wie ich x^y mit dem controller ausrechnen sollte... ohne Schleife mit BASCOM...
    http://www.tobias-schlegel.de
    "An AVR can solve (almost) every problem" - ts

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.06.2004
    Ort
    Bad Schussenried in Oberschwaben
    Alter
    26
    Beiträge
    1.461
    Hi,

    Ich fahre jetzt leider nach Sinsheim ins Museum; Familienausflug, da kann man sich schlecht drum drücken...

    Trozdem danke für alle Antworten! Ich beantworte heute Abend!

    Tobi
    http://www.tobias-schlegel.de
    "An AVR can solve (almost) every problem" - ts

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    07.10.2004
    Beiträge
    24
    Hallo,

    soweit ich weiß beherrscht Bascom die Potenzrechnung. Sollte es Probleme durch die Floatzahl im Exponent geben, so läßt sich die Formel sicherlich mit etwas Geschick (und einer Matheformelsammlung) geeignet umstellen. Ich fang schon mal mit dem Minus an:

    y = A * x^-B = A / x^B

    Ich habe mir gerade die Tabelle nochmal angeschaut. Der Wert für B ist etwa 1,15. Durch leichte Anpassung des Sensorsignals (nach unten) kann der Wert auf knapp 1 gebracht werden. Ich habe mal von allen Werten des A/D-Wandlers (Tabelle1, Spalte C) 10 subtrahiert. Dann ergibt sich im Diagramm die Formel

    y = 2407,8 * x^-1,0036

    Das kann man dann schon etwas vereinfachen

    y = 2408 / x

    Als Gesamtformel ergibt sich also

    y = 2408 / (x - 10)

    wobei y = Entfernung in cm
    und x = Wert des A/D-Wandlers

    Also das sollte für den µC kein Problem sein und der Fehler ist gering (max. 1 cm).

    Grüße

    Markus

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.06.2004
    Ort
    Bad Schussenried in Oberschwaben
    Alter
    26
    Beiträge
    1.461
    HI!

    Danke!

    Hast du berücksichtigt, dass ich mit 8 Bit arbeite?
    Ich werd's testen!

    Viele liebe Grüße und Danke,
    Tobi
    http://www.tobias-schlegel.de
    "An AVR can solve (almost) every problem" - ts

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.06.2004
    Ort
    Bad Schussenried in Oberschwaben
    Alter
    26
    Beiträge
    1.461
    Hi,

    Also, hab's schnell programmiert. Da kommen schon wieder ordentliche Zahlen raus, aber ich glaube, dass du das für 10Bit oder so ausgelegt hast?!

    Tobi
    http://www.tobias-schlegel.de
    "An AVR can solve (almost) every problem" - ts

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    07.10.2004
    Beiträge
    24
    Hallo,

    also ich habe mit einem 8-bit-ADC gearbeitet. Im Prinzip ist es aber egal. Im 2. Diagramm ist das ganze ja gegen die Spannung aufgetragen, da kannst du das genauso vereinfachen. Durch Verwendung eines 10-bit-ADC wird ja nur die X-Achse des Diagramms gestreckt, das Berechnungsprinzip bleibt gleich. Das gleiche gilt auch, wenn du einen anderen Sharp-Sensor nimmst. Einfach etwas mit den Zahlen spielen, bis du etwas raushast, daß sich leicht berechnen läßt.
    Haben die AVRs oder Bascom überhaupt Probleme mit der ersten Formel? Ich hatte die Sensorauswertung auf dem PC gemacht und mich deshalb nicht um Rechenkapazität gekümmert.

    Markus

  9. #9
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.06.2004
    Ort
    Bad Schussenried in Oberschwaben
    Alter
    26
    Beiträge
    1.461
    Hi

    Ja, danke, es funktioneirt jetzt!!

    Also mit den n Stellen hinterm Komma haben die AVRs schon so ihre Problemchen... Vor allem steigt der Flash-Verbrauch extrem an, wenn man
    SINGLE-Variablen nimmt.

    DANKE AN ALLE!

    Tobi
    http://www.tobias-schlegel.de
    "An AVR can solve (almost) every problem" - ts

+ Antworten

Berechtigungen

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