- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 9 von 9

Thema: SRF02 Adresse ändern von 0xE0 auf 0xE2

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    13.07.2010
    Beiträge
    22

    SRF02 Adresse ändern von 0xE0 auf 0xE2

    Anzeige

    Powerstation Test
    Hallo ich habe drei SRF02 Ultraschallsensoren.

    Ich würde gerne die Adressen der drei Sensoren ändern.
    Von der standardmäßigen Adresse 0xE0 auf 0xE2.

    Ich schließe meinen Ultraschallsensor dafür an ein I2C Board von ELV:

    http://www.elv.de/output/controller....ereich=&marke=

    und benutze zur Kommunikation HTERM.

    Die Verbindung zum ELV-i2c-Board baut HTERM auf.

    In der Beschreibung des SRF02:

    http://www.robot-electronics.co.uk/htm/srf02techI2C.htm

    steht das man folgende Sequenz absenden muss um die Adresse zu ändern:

    Code:
    Changing the I2C Bus Address
    To change the I2C address of the SRF02 you must have only one sonar on the bus. Write the 3 sequence commands in the correct order followed by the address. Example; to change the address of a sonar currently at 0xE0 (the default shipped address) to 0xF2, write the following to address 0xE0; (0xA0, 0xAA, 0xA5, 0xF2 ). These commands must be sent in the correct sequence to change the I2C address, additionally, No other command may be issued in the middle of the sequence. The sequence must be sent to the command register at location 0, which means 4 separate write transactions on the I2C bus. When done, you should label the sonar with its address, however if you do forget, just power it up without sending any commands. The SRF02 will flash its address out on the LED. One long flash followed by a number of shorter flashes indicating its address. The flashing is terminated immediately on sending a command the SRF02.
    jetzt schreibe ich in das Terminal folgendne Befehl:

    S50 A0 S50 AA S50 A5 S50 E2 P

    Die Befehlsspezifikation vom ELV Board lautet :

    Code:
    Beispiele:
    Schreibe das Daten-Byte 0xFF in das Gerät mit der Geräte-Adresse 1000 000X (binär).
    Bildung der Adresse: 1000 000X + Schreib-Bit (0) = 1000 0000 (binär) = 40 (hexadezimal)
    [Start] [Write-Adr:0x40] [Daten:0xFF] [Stopp]
    S 40 FF P
    aber wenn ich dann den Sensor an den I2C USB Adapter anschließe um das SRF02 Tool zu nutzen, sagt er mir das er immer noch die Adresse 0xE0 hat und auch von dort aus die Daten empfängt

    Hat jemand eine Idee?

    Gruß
    SK

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.01.2006
    Beiträge
    4.555
    Moin moin hier einmal nicht auf Plattdeutsch.
    [zitat]
    Änderung der I2C Slave ID
    Die Slave ID muss nur geändert werden wenn mehrere SRF02 an einem I2C Bus betrieben werden
    sollen oder aber wenn ein anderer Busteilnehmer zufällig die gleiche Slave ID besitzt.
    Um die Slave ID zu ändern, darf lediglich nur ein SRF02 am I2C-Bus angeschlossen sein. Die Slave
    ID wird geändert indem man eine 3 Byte-Sequenz (Hex A0 AA A5) und die neue Slave ID selbst an
    das Modul sendet.
    Die einzelnen Bytes dieser Sequenz müssen an das Register 0 gesendet werden. Man muss also 4
    getrennte I2C Schreibbefehle nutzen, wobei der Abstand zwischen jeder Registerbeschreibung 50ms
    sein sollte.
    Um Beispielsweise die Standard ID E0 auf F2 umzustellen, müsste nacheinander das Register 0 mit
    den Werten A0, AA, A5, F2 beschrieben warden.
    Die neue Slave ID sollte man sich gut merken, am besten irgendwo notieren. Falls man die ID mal
    vergessen hat, so kann man diese durch das blinken der roten LED nach dem Einschalten des
    Modules entnehmen (siehe Tabelle):
    Slave ID Langes
    Blinken
    Kurzes
    Dezimal Hex Blinken
    224 E0 1 0
    226 E2 1 1
    228 E4 1 2
    230 E6 1 3
    232 E8 1 4
    234 EA 1 5
    236 EC 1 6
    238 EE 1 7
    240 F0 1 8
    242 F2 1 9
    244 F4 1 10
    246 F6 1 11
    248 F8 1 12
    250 FA 1 13
    252 FC 1 14
    254 FE 1 15
    [/zitat]

    Quelle: Robotic Hardware

    Gruß Richard

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    13.07.2010
    Beiträge
    22
    das ist doch das gleiche was ich oben in english geschrieben habe vom hersteller.

    das problem ist nur das ich das über das terminal scheinbar nicht kann.
    oder gibts ne andere möglichkeit das über das terminal zu erledigen?

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.01.2006
    Beiträge
    4.555
    Zitat Zitat von superkato
    das ist doch das gleiche was ich oben in english geschrieben habe vom hersteller.

    das problem ist nur das ich das über das terminal scheinbar nicht kann.
    oder gibts ne andere möglichkeit das über das terminal zu erledigen?
    Dort ist beschrieben das die Daten einzeld aber im Zeitraum von 50 ms gesendet sien wollen. Du tippst wahrscheinlich zu langsam...?

    Gruß Richard

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.703
    Blog-Einträge
    133
    Hallo,

    hab sowas gefunden (hast Du ja vielleicht schon):

    http://www.elv-downloads.de/download...ation_v1_0.pdf


    Mal versucht, soetwas zu senden:

    S 50 A0 P
    S 50 AA P
    S 50 A5 P
    S 50 E2 P

    oder
    S 50 A0 P S 50 AA P S 50 A5 P S 50 E2 P


    Gruß
    Searcher
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    13.07.2010
    Beiträge
    22
    es geht nicht. hab keine ahnung wie ich das machen soll

    ich hab noch zur not ein myavr board aber keine ahnung wie ich dort den twi/i2c port nutze.
    also verdrahtet hab ich ihn aber programmieren bzw. befehle senden. hab kein plan
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken unbenannt_239.jpg  

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.01.2006
    Beiträge
    4.555
    Kannst Du denn überhaupt auf den Chip zugreifen? Lesen und Schreiben auf der Original Adresse, sieht doch eher so aus als wenn die Verbindung an sich schon nicht klappt. ich meine jetzt den Chip von dem Du die Aresse ändern möchtest, nicht das ELV Interface.

    Gruß Richard

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    13.07.2010
    Beiträge
    22
    Das Problem hab ich gelöst war mit hilfe von jemanden einfach zu lösen. Per H-Term einfach die Kommandos auf den Sensor geschickt und voila , die Adressen waren geändert.
    Eine LabVIEW Schnittstelle habe ich auch, die darf ich aber so ohne erlaubnis vom eigentlichen Programmierer nicht rausgeben.

  9. #9
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    25.04.2010
    Beiträge
    1.249
    http://www.robotikhardware.de/download/srf02doku.pdf
    Dort isses doch auch gut erklärt.

Berechtigungen

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

12V Akku bauen