-
        

Ergebnis 1 bis 3 von 3

Thema: Toradex OakTilt Incination v1.2 Direktzugriff Sensorregister -> Temperatur auslesen

  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    17.02.2009
    Ort
    Aachen
    Beiträge
    1.053

    Toradex OakTilt Incination v1.2 Direktzugriff Sensorregister -> Temperatur auslesen

    Anzeige

    Hallo beisammen,

    ich habe hier einen Toradex OakTilt Inclination v1.2 Sensor.
    Im Wesentlichen handelt es sich dabei um einen SCA3000-D01 Beschleunigungssensor, der mit einem IC auf einer Platine steckt, der ihn usbtauglich macht.

    In der Theorie sollte dieser Sensor nun durch den Aufbau vom Hersteller aus den Temperaturdrift des Sensors ausgleichen können.
    In der Praxis sieht es jedoch so aus, dass man Temperaturschwankungen anhand aufgenommener Messwerte sehen kann.
    So können 3°C schonmal 0,1° Winkelungenauigkeit hervorufen.

    Nun habe ich mit dem Hersteller des Sensors Kontakt aufgenommen, da ich im Datenblatt gelesen hatte, dass der SCA3000 einen Temperatur Output hat.
    Leider bietet der Hersteller keinen Support mehr, da der Sensor nun als OpenSource verfügbar gemacht wurde.
    Jedoch wurde mir gesagt, dass der Sensor so aufgebaut sei, dass man über USB an alle Daten des Sensors ran käme, wenn man direkt auf die Sensorregister zugreift.

    Ich selbst habe mich am OpenSource-Beispiel des Sensors entlanggehangelt, um die Winkel ausgegeben zu bekommen.
    Hier stellt Toradex die "OakLib" zur Verfügung.
    Netterweise wurde der Programmcode des Herstellers, der aus C & C++ bestand, von einem Forenmitgliet unter http://www.c-plusplus.de/forum/315243-10 für reines C++ refaktorisiert.

    Als Daten erhalte ich hier Frame (s), Acceleration (m/s²), Azimuth (rad) und Zenith (rad).
    Leider liefert die Libary den Temperaturoutput des Sensors nicht mit.

    Da ich auf dem Gebiet jedoch blutiger Anfänger bin, wüsste ich gerne, wonach ich googeln könnte, um an die Temperaturwerte des Sensors zu gelangen.

    Der Sensor selbst wirs als HID-Device erkannt.

    Das Datenblatt des OakTilt befindet sich hier:
    http://docs.toradex.com/100095-oak-t...-datasheet.pdf

    Das Datenblatt des SCA3000-D01 befindet sich hier:
    https://www.sparkfun.com/datasheets/...CA3000-D01.pdf

    Dazu habe ich ein Manual für den SCA3000 gefunden:
    http://labjack.com/sites/default/fil...000-Manual.pdf

    Die Firmware des Sensors befindet sich unter:
    http://developer.toradex.com/files/t...BY_3_0)_R1.ZIP

    Auf der Webseite des Herstellers habe ich noch folgendes gefunden:
    http://www.muratamems.fi/en/support/...sca3000-series
    und
    http://www.muratamems.fi/sites/defau...00_rev_0.1.pdf

    Unter dem vorletzten Link befindet sich auch ein Codebeispiel, das für einen ATmega168 geschrieben wurde.
    Leider kenne ich mich zu wenig mit all dem aus, um selber den richtigen Ansatz für die Lösung zu finden, weshalb ich hoffe, dass mir hier jemand den richtigen Weg weisen kann.


    Ich möchte also unter Linux über USB mit C++ auf die Sensorregister des SCA3000 zugreifen und die Temperatur auslesen.
    Geändert von Cysign (02.04.2013 um 01:17 Uhr)

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    17.02.2009
    Ort
    Aachen
    Beiträge
    1.053
    So, ich hab mich die letzten Stunden etwas durch die verschiedenen PDFs und die Firmware gewühlt.
    Dabei ist mir aufgefallen:

    - Im "Manual" des SCA3000-D01 findet man die nötigen Register des Temperaturoutputs.
    - In der Firmware gibt es eine sensor.c, die über SPI die nötigen Register zur Winkelauswertung abruft. Hier müsste ich das Register der Temperatur hinzufügen können.
    - in der main.c gibts ien Kommentar, das nen SHT1x erwähnt. Das verunsichert mich ein wenig, da das eigentlich ein Temperatur- & Feuthcitkeitssensor von Sensirion ist und nichts mit dem SCA3000-D01 zu tun hat. Aber da es lediglich ein Kommentar ist, kann es sich hierbei um ein altes Fragment handeln.

    Was ich jedoch noch nicht durchblicke ist, wie ich nach einer Anpassung des Quellcodes die Firmware kompilieren und übertragen kann. Hierzu habe ich bisher keine weiteren Infos gefunden

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    17.02.2009
    Ort
    Aachen
    Beiträge
    1.053
    Hmmm...also der SCA3000-D01 steckt hinter nem Cypress-µC.
    Allerdings brauche ich dafür den passenden Programmer...den ich natürlich nicht habe.
    Ich bin unentschlossen, was ich jetzt am besten machen sollte.

    es gibt beim Hersteller des Mikrocontrollers eine Applikations-Note die beschreibt wie man eine neue Firmware über USB laden kann.

    Wie habe aber das nie eingesetzt weil:
    • Zuerst muss ein "Bootloader" mit dem erwähnten Programmer in den Flash-Speicher geladen werden (man braucht also trotzdem ein Programmer. Anstelle des Bootloaders kann man ja gleich die Firmware laden, der Arbeistaufwand ist praktisch der gleiche).
    • Bei einigen Oak-Sensoren hätte unsere Firmware neben den "Bootloader" nicht mehr im Flash-Specher Platz gehabt.
      Der Oak Tilt ist einer dieser Sensoren.
    Entweder ich nehm ne FTDI-USB-Lösung und klemme nen TI tmp100 dran, den ich via I2C auslese... oder ich baue mit einen Atmel-µC, der als virtueller USB dient und sowohl nen Neigungssensor, als auch nen Temperatursensor oder einen Neigungssensor mit integriertem Temperatussensor ausliest...

Ähnliche Themen

  1. Temperatur und Drehzahl aus n BIOS direkt vom Board auslesen
    Von Skynet im Forum PC-, Pocket PC, Tablet PC, Smartphone oder Notebook
    Antworten: 2
    Letzter Beitrag: 29.12.2008, 16:26
  2. Auslesen der BIOS-Werte (Temperatur etc) ?
    Von KsB im Forum PC-, Pocket PC, Tablet PC, Smartphone oder Notebook
    Antworten: 11
    Letzter Beitrag: 30.11.2008, 08:20
  3. temperatur
    Von Che Guevara im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 4
    Letzter Beitrag: 13.07.2008, 20:21
  4. Antworten: 15
    Letzter Beitrag: 16.03.2006, 23:36
  5. D/A-Wandler-Direktzugriff?
    Von Dirk im Forum Controller- und Roboterboards von Conrad.de
    Antworten: 5
    Letzter Beitrag: 20.06.2004, 14:29

Berechtigungen

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