- 12V Akku mit 280 Ah bauen         
Seite 2 von 4 ErsteErste 1234 LetzteLetzte
Ergebnis 11 bis 20 von 35

Thema: Initialisierung eines ADNS 9500

  1. #11
    Neuer Benutzer Öfters hier
    Registriert seit
    18.11.2009
    Ort
    Giessen
    Beiträge
    7
    Anzeige

    Praxistest und DIY Projekte
    Hallo,
    bin seit langem mal wieder am ADNS 9500 dran.
    Leider habe ich es immer noch nicht geschafft den SROM-File richtig zu übertragen.
    Weis aber leider nicht wo mein Fehler liegt.
    Habe diesen in ein unsigned char Array gelegt und die Werte als hex gekennzeichnet.
    Nur wenn ich jetzt danach den CRC Test durchführe bekomme ich nur den Rest Wert geliefert.
    Habe jetzt auch schon öfters Wartezeiten eingefügt und mit einenm Oszi überprüft.

  2. #12
    Neuer Benutzer Öfters hier
    Registriert seit
    30.12.2006
    Beiträge
    6
    Hallo ArchAngel242

    Was steht im Register SROM_ID nach dem Upload?

    Wie machst du den Firmwareupload? Nach folgendem Schema sollte der Firmwareupload funktionieren.

    Firmwaredaten irgendwie abspeichern, z.B. direct im Programmcode als
    const unsigned char firmware[3070] = {0x03, ..., 0xbb};

    Upload der Firmware vorbereiten
    REG_CONFIGURATION_IV mit 0x02 beschreiben
    REG_SROM_ENABLE mit 0x1d beschreiben
    1 Frame warten
    REG_SROM_ENABLE mit 0x18 beschreiben

    Jetzt wird es etwas trickreich, da jetzt nicht mehr direkt in ein Register geschrieben wird, sondern ein Schreibzugriff im Burst Mode erfolgt. Deshalb muss man zuerst einen Schreibbefehl mit Adresse des REG_SROM_LOAD_BURST per SPI senden. Also
    (0x80 | Adresse von REG_SROM_LOAD_BURST) an den Sensor übertragen. Damit ist der Schreibzugriff auf den Firmwarespeicher eröffnet.
    Anschließend müssen nur noch, ohne weitere Adressierung die einzelnen Bytes der Firmware gesendet werden. "for (i = 0; i < 3070; i++) sende firmware[i]".

    Vielleicht hilft das dir weiter

  3. #13
    Neuer Benutzer Öfters hier
    Registriert seit
    18.11.2009
    Ort
    Giessen
    Beiträge
    7
    Hi nezaya,
    danke für die schnelle Antwort.
    Habe es so gemacht wie du es geschrieben hattest, nur das ich mein Array firmware als const static unsigned char PROGMEM deklariert habe, um es so in den Flash zu schreiben, da ich sonst beim ATMEGA 169 nicht genug Speicher zur Verfügung habe.
    Danke, habe mein Fehler gefunden.Hatte vergessen die Adresse von REG_SROM_LOAD_BURST mit 0x80 zu verodern.
    Jetzt bekomme ich auch 0x91 als SROM_ID zurück.

  4. #14
    Neuer Benutzer Öfters hier
    Registriert seit
    18.11.2009
    Ort
    Giessen
    Beiträge
    7
    Naja ich glaube mit meiner Antwort war ich zu voreilig.
    Irgendwie liest er nur die richtige SROM_ID bei der 1. Initialisierung aus.
    Nach einem Frame Capture schreibt er immer 0x00 rein.
    Und das obwohl, wie in der Beschreibung ein SROM download und Reset durchgeführt wird.

  5. #15
    Hi

    Ich arbeite momentan auch am ADNS 9500 und bei mir hat sich folgendes Problem eingeschlichen wobei mir hier keine Lösung einfällt.


    Und zwar versuche ich den Sensor zu initialisieren

    diese sieht vereinfacht so aus

    adns9500_set_register(POWER_UP_RESET,0x5A,sens);
    adns9500_set_register(OBSERVATION,0x00,sens);
    adns9500_motion_burst_read()
    adns9500_promdl()
    adns9500_set_register(MOTION,0x00,sens);
    adns9500_set_register(CONFIGURATION_I,(char) ADNS_9500_RESOLUTION/90),sens);
    adns9500_set_register(LASER_CTRL0,0x04,sens);

    anschließend folgt der CRC check welcher bestanden wird.

    Lese ich nun die Register aus stehen Folgende werte drin.


    ID = 0x91
    Configuration 1 0x12 (sollte 0x38 )
    Observation 0x7F
    Laser_Contrl0 0x81 (sollte 0x84 bzw 0x04 enthalten)
    Motion 0x20
    Produkt_ID 0x33
    Configuration 2 0x00




    Mein Fehler bezieht sich nun auf die Configuration 1 da hier die 0x38 drinstehen sollte für die maximale auflösung.
    genauso ist der Laser deaktiviert was auch nicht sein sollte.

    Nachfolziehen konnte ich bisher das die Daten wie nach Datenblatt mit den ganzen erforderlichen Pausen gesendet wird.

    Am PIN 2 LASER_NEN liegt eine dauerhafte 1 (3,12V) an (was zumindest erklärt warum der sensor nie an ist)
    Am Pin 1,8,16 kommt eine kleine Pulsfolge alle 420usec.


    Hatte jemand vieleicht zufällig die gleichen Probleme das er die Auflösung nicht setzten kann und der Laser sich nicht einschaltet.


    MFG

    (bei bedarf kann ich auch die bilder der einzelnen signale nachreichen)

  6. #16
    Neuer Benutzer Öfters hier
    Registriert seit
    18.11.2009
    Ort
    Giessen
    Beiträge
    7
    Hi kalu,
    also ich hatte auch lange Probleme mit dem initialisieren.
    Bei mir lag es daran, dass ich die NCS-Leitung wie in der Anleitung im Bild gesetzt und gelöscht habe.
    Nachdem ich dann die Leitung nur am Anfang und Ende der Initialisierung gesetzt und gelöscht hatte funktionierte es und der Laser hat gezündet.

    gruß

  7. #17
    Hi
    Danke schon mal für den Tip

    bei mir hat das mit dem setzen und löschen des NCS am anfang und ende der Initialisierung leider nichts gebracht aber dadurch kam raus das zwischen den nachrichten wohl mehr zeit gewartet werden muss als im datenblatt steht.

    durch eine delay funktion zwischen den einzlenen schreibvorgängen hat es nun geplappt das sich die register beschreiben lassen.(auch wenn ich delay net so mag)

    zwar stehen jetzt in den registern die richtigen werte aber der laser schaltet sich noch nicht ein bzw nach dem 2ten Burst_Read steht im Motion register eine 0x00 anstatt der 0x20.


    gibt es eigendlich noch weitere Befehle die du/ihr verwendet habt außer die die BF oben beschrieben hat

    MFG

  8. #18
    Neuer Benutzer Öfters hier
    Registriert seit
    16.07.2010
    Beiträge
    12
    Does it work for you now? (Sorry, I don't speak German).

    I used Google translate so that helped me with this thread. And seems to be the only one I could find that talks about the ADNS-9500...

    My problem is that I don't get any motion from mine. I have done all those steps mentioned in the data sheet, but still no motion when moving the sensor. Does it work for you here?

    (More about my issue here: http://www.avrfreaks.net/index.php?n...wtopic&t=95878 )

    Thanks,
    Chillance

  9. #19
    Neuer Benutzer Öfters hier
    Registriert seit
    16.07.2010
    Beiträge
    12
    Hmm, maybe I'm missing changing new addresses that was added with the SROM 91... Where is that information exactly?

  10. #20
    Neuer Benutzer Öfters hier
    Registriert seit
    16.07.2010
    Beiträge
    12
    Anyone that can help me out here?

Seite 2 von 4 ErsteErste 1234 LetzteLetzte

Berechtigungen

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

12V Akku bauen