- 3D-Druck Einstieg und Tipps         
Seite 3 von 4 ErsteErste 1234 LetzteLetzte
Ergebnis 21 bis 30 von 35

Thema: Initialisierung eines ADNS 9500

  1. #21
    Neuer Benutzer Öfters hier
    Registriert seit
    16.07.2010
    Beiträge
    12
    Anzeige

    Praxistest und DIY Projekte
    Oder, vielleicht habe ich in Deutsch schreiben müssen?

  2. #22
    Neuer Benutzer Öfters hier
    Registriert seit
    06.08.2010
    Beiträge
    5
    hi, in case you are having problem with LASER_NEN (always high), then you can try the following step, it solved my problem regarding LASER_NEN

    - in manual, Power Up section
    ... Step 7 "Enable laser by setting Forced_Disable bit (bit-0) of LASER_CTRL0 register (address 0x20) to 0"

    after SROM download, instead of writing 0x00 to addr 0x20, try writing 0x80 to addr 0x20

  3. #23
    Neuer Benutzer Öfters hier
    Registriert seit
    16.07.2010
    Beiträge
    12
    Zitat Zitat von stevieman
    hi, in case you are having problem with LASER_NEN (always high), then you can try the following step, it solved my problem regarding LASER_NEN

    - in manual, Power Up section
    ... Step 7 "Enable laser by setting Forced_Disable bit (bit-0) of LASER_CTRL0 register (address 0x20) to 0"

    after SROM download, instead of writing 0x00 to addr 0x20, try writing 0x80 to addr 0x20
    Lovely! Finally someone that can help me out!

    Now, I don't think that is the issue. According to my voltmeter, it's low (0.24V).

    After downloading the SROM (0x91), which seems to be fine, because I get this reading 0x25 and 0x26:
    Code:
    Data_Upper:
              7 6 5 4 3 2 1 0
    0xBE   0b 1 0 1 1 1 1 1 0 
    
    Data_Lower:
              7 6 5 4 3 2 1 0
    0xEF   0b 1 1 1 0 1 1 1 1
    Also, I in my infinite loop, I get this:

    Code:
              7 6 5 4 3 2 1 0
    0x91   0b 1 0 0 1 0 0 0 1 (SROM_ID - 0x2a)
    
              7 6 5 4 3 2 1 0
    0x20   0b 0 0 1 0 0 0 0 0 (Motion - 0x02)
    
              7 6 5 4 3 2 1 0
    0x80   0b 1 0 0 0 0 0 0 0 (LASER_CTRL0 - 0x20)
    
              7 6 5 4 3 2 1 0
    0x42   0b 0 1 0 0 0 0 1 0 (LASER_CTRL1 - 0x21)
    
              7 6 5 4 3 2 1 0
    0x45   0b 0 1 0 0 0 1 0 1 (Address 0x22)
    
              7 6 5 4 3 2 1 0
    0xBA   0b 1 0 1 1 1 0 1 0 (Address 0x23)
    And that seems perfectly fine, doesn't it?

    But, even if I now move the sensor, I still only get 0x20 from the motion register!

    How did you enable your laser?

  4. #24
    Neuer Benutzer Öfters hier
    Registriert seit
    06.08.2010
    Beiträge
    5
    I enabled the laser by writing 0x00 (or 0x80) to LASER_CTRL0 (0x20).

    Since LASER_NEN is low and bit0 (Force_Disabled) of address LASER_CTRL0 is zero, I guess your laser is indeed enabled.

    Maybe there are problems with the navigation of the sensor

    In data sheet, the addresses 0x21-0x23 are reserved. Maybe you should not read from these addresses ( I don't know whether it helps, but it's worth giving a try )

    You can also check whether SROM code is running by checking Observation address (0x24), bit6 should be equal to 1 if SROM code is running

    good luck!

  5. #25
    Neuer Benutzer Öfters hier
    Registriert seit
    16.07.2010
    Beiträge
    12
    I will test and check that when I get back home. Please don't leave this forum now!

    I'm guessing the ADNS-9500 works fine for you?

  6. #26
    Neuer Benutzer Öfters hier
    Registriert seit
    16.07.2010
    Beiträge
    12
    About those reserved registers, I got some extra .pdf from Avago about them. In that you can find this:

    Address Register Read/Write Reset Value
    0x20 LASER_CTRL0 R/W 0x01
    0x21 LASER_CTRL1 R/W 0x00
    0x22 LASER_CFG0 R/W 0x00
    0x23 LASER_CFG1 R/W 0x00


    LASER_CTRL1
    Bit-7 of this register must be the complement of the corresponding bits in register 0x20 for the VCSEL control to be as programmed and Bit-6 must be set as 1, otherwise the laser is turned off with LP_VALID bit in the MOTION register is set to 0. Registers 0x20 and 0x21 may be written in any order after power up and SROM download.

    LP_CFG0
    This register is used to set the laser current. It is to be used together with register 0x23, where register 0x23 contains the complement of register 0x22. If the registers do not contain complementary values, the laser is turned off and the LP_VALID bit in the MOTION register is set to 0.

    LP_CFG1
    The value in this register must be a complement of register 0x22 for laser current to be as programmed, otherwise the laser is turned off and the LP_VALID bit in the MOTION register is set to 0.


    And following that, my values seems correct too.


    Ok, I get:
    Code:
              7 6 5 4 3 2 1 0
    0x7F   0b 0 1 1 1 1 1 1 1
    from address 0x24, so it seems to be running?

    Did you calibrate the laser at all or it just worked for you? You just get the motion bit set now from address 0x02?

    Do you mind posting some relevant code of yours? So far, as I can tell, it all seems correct software wise... damnit! Also, what do you get from address 0x22 and 0x23 (and the other relevant addresses)?

    I also removed reading from those reserved addresses now, but still no motion!


    I really appreciate your help!

  7. #27
    Neuer Benutzer Öfters hier
    Registriert seit
    06.08.2010
    Beiträge
    5
    Here are some outputs from my sensor

    Addresses:
    0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0C, 0x0B, 0x0E, 0x0D, 0x0F, 0x10, 0x00, 0x12, 0x3F, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1B, 0x1A, 0x1D, 0x1C, 0x1F, 0x1E, 0x20, 0x24, 0x25, 0x26, 0x2A, 0x2E, 0x2F, 0x39

    Outputs in the order of the addresses defined above - no motion
    03 20 00 00 00 00 28 88 6A 2A 00 61 0F A0 38 08 33 00 CC 32 01 1F 09 BC 31 0F A0 0F A0 4E 20 80 7F 00 00 91 1F 00 02

    Outputs in the order of the addresses defined above - with motion
    03 A0 05 00 FC FF 28 80 67 27 00 50 0F A0 38 08 33 00 CC 32 01 1F 09 BC 31 0F A0 0F A0 4E 20 80 7F 00 00 91 1F 00 02

    hope it helps!

  8. #28
    Neuer Benutzer Öfters hier
    Registriert seit
    16.07.2010
    Beiträge
    12
    Ok, these are the differences when no motion:

    0x07:
    You: 28
    Me: 00

    0x08:
    You: 88
    Me: 00

    0x09:
    You: 6A
    Me: 00

    0x0A:
    You: 2A
    Me: 00

    0x0C:
    You: 00
    Me: 4E

    0x0B:
    You: 61
    Me: 20

    0x0E:
    You: 0F
    Me: 5D

    0x0D:
    You: A0
    Me: C0

    0x0F:
    You: 38
    Me: 12

    0x10:
    You: 08
    Me: 00

    0x1B:
    You: 0F
    Me: 5D

    0x1A:
    You: A0
    Me: C0

    0x25:
    You: 00
    Me: EF

    0x26:
    You: 00
    Me: BE

    0x2e:
    You: 1F
    Me: 10

    I will look into these some more, and see if it helps changing to your values on those that I can write to. If you see anything obvious, please tell me. Btw, shouldn't you have BE and EF on 0x26 and 0x25 too? That indicates that the SROM is fine... although I see your SROM_ID is 0x91 (address 0x2a)...

  9. #29
    Neuer Benutzer Öfters hier
    Registriert seit
    06.08.2010
    Beiträge
    5
    I didnt perform a CRC test, so the values of 0x26, 0x25 are not defined.

    From the values of your 0x07-0x0A, it appears to me that your sensor does not see any image. Did you remove the protective sticker from the lense and laser?

    I dont know whether it helps, maybe you should pay attention to the order of reading registers with upper and lower values. Try reading it in the order stated in data sheet.

  10. #30
    Neuer Benutzer Öfters hier
    Registriert seit
    16.07.2010
    Beiträge
    12
    Ok, the stickers where still there because I had them on with the ADNS-6090, and that worked fine. However, 0x07-0x0A still give 0x00 after I have now removed them. So, that didn't help

    Also, what particular registers should I read in order exactly? I think I do though... but will check...

Seite 3 von 4 ErsteErste 1234 LetzteLetzte

Berechtigungen

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

LiFePO4 Speicher Test