-
        

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 13

Thema: RP6 mit SRF10 und elekt. Kompass ausrüsten - Wie verbinden?

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    17.05.2009
    Beiträge
    7

    RP6 mit SRF10 und elekt. Kompass ausrüsten - Wie verbinden?

    Anzeige

    Hilfe!^^

    Ich bin relativ neu dabei mit meinem RP6...
    Programmierung verstehe ich ja alles, bei mir haperts ein wenig am technischen...

    Ich habe vor mit dem SRF10 und einem elektrischen Kompass-Modul die Steuerung erheblich zu verbessern. So wie hier quasi schon ein paar mal auch nach der entsprechenden Programmierung gefragt wurde.

    Ich besitze (natürlich) die RP6 Base und auch die M32 Control Erweiterung.

    Ich verstehe nun aber nicht, wie ich den SRF10 und den Kompass mit dem Roboter verbinden kann.... ich weiß die Module sind I2C-fähig.

    Bedeutet das, dass ich sie an den I/O-Port des M32 irgendwie anschließen muss? Oder an die USRBUS / XBUS der Base? Oder verbinde ich die Experimentierplatte mit den beiden Ports und löte dann irgendwelche Schaltkreise zusammen??

    Ihr seht, ich bin hilflos und weiß nicht was ich machen muss.... und was ich an Materialien brauche... bitte helft mir! Danke!!!

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.791
    Hallo Deerah,

    Glückwunsch zum RP6.

    Der I2C-Bus verbindet ja die RP6 Base und die Control M32.
    Die beiden Pins des Busses sind SDA und SCL.

    Wenn du andere I2C-Bausteine an den Bus anschließen willst, dann must du sie an diese beiden Pins anschließen (und natürlich auch noch GND verbinden).

    Wo du den Anschluß machst, ist egal.

    XBUS: Pins 10, 12 (GND = 1, 2, 14)
    Experimentierplatine: SDA, SCL und GND sind beschriftet

    Deine I2C-Bausteine brauchen dann noch eine Stromversorgung, die kannst du getrennt vom RP6 machen (z.B. bei Stromfressern) oder auch vom RP6 nehmen:

    XBUS: Pins 3, 5 (+5V) oder Pins 4, 6 (Akkuspannung)
    Experimentierplatine: VDD (+5V) oder +UB (Akkuspannung)

    Gruß Dirk

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    17.05.2009
    Beiträge
    7
    Okay, das verstehe ich....

    Aber - nehmen wir zum Beispiel die Experimentierplatte....
    Da ist ja nur 1 SCL und 1 SDA.... ich will aber ja zwei Module einbauen...
    Und wie verbinde ich z.B. die Löcher des SRF10 mit den SCL/SDA- und Strom-Löchern???
    Sind vllt. banale Fragen... gelötet hab ich schon, aber wie baue ich das da auf?? Nehm ich da irgendwelche Kabel??
    Und wie sieht das aus mit Widerständen etc..., was ich da evtl. zwischen packen muss? Ich les da immer so viel, hab da aber kaum Ahnung von...

    Hoffe du verstehst was ich meine...

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.791
    Da ist ja nur 1 SCL und 1 SDA.... ich will aber ja zwei Module einbauen...
    Das ist ja ein I2C-BUS, d.h. da kann man viele Geräte gleichzeitig anschließen. Jedes wird dann über eine Adresse angesprochen.
    Also: Alle SDAs und alle SCLs zusammenlegen.

    Und wie verbinde ich z.B. die Löcher des SRF10 mit den SCL/SDA- und Strom-Löchern???
    Ja klar: Mit Kabeln und verlöten. Alternativ Steckerlösungen mit Pfostenleisten. Widerstände brauchst du (bei den von dir geplanten Teilen) nicht.
    Für die Stromversorgung braucht man manchmal noch Kondensatoren (100 nF keramisch und ggf. Elko) zwischen +5V und GND.

    Gruß Dirk

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    17.05.2009
    Beiträge
    7
    Hmm...

    also würde ich jeweils 2 Kabel in SCL und SDA anlöten...

    Was für Kabel nehm ich denn da?? Also ich hab noch keine Ausrüstung.... wollt gern einiges bei C kaufen, aber da gibt es so viele verschiedene Steckerverbindungen, Litzen, etc... ich komm überhaupt nicht klar, was ich brauche...

  6. #6
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.791
    Was für Kabel nehm ich denn da??
    Für eigene (feste) Schaltungen auf den Experimentierplatinen:
    Schaltdraht, isoliert, 0,2 mm² -> 606065
    Versilberter CU-Draht, 0,6 mm -> 605581

    Litzen zur flexiblen Verbindung:
    Schaltlitze 0,14 mm², 25 m -> 605905 (rot)
    Am besten verschiedene Farben nehmen.

    Gruß Dirk

  7. #7
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    7.551
    Zitat Zitat von Deerah
    ... also würde ich jeweils 2 Kabel in SCL und SDA anlöten ...
    Einfach diese Seite anklicken:
    http://www.roboternetz.de/wissen/index.php/I2C
    und eine Bildschirmhöhe runterscrollen . . . danach löten *gggg*

    Ach ja - willkommen im Forum. Und viel Erfolg bei Deinen Projekten.
    Ciao sagt der JoeamBerg

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    17.05.2009
    Beiträge
    7
    @Dirk: Danke!

    @oberallgeier: Was willst du mit dem Hinweis auf den I2C-Artikel andeuten?? Falls du diee Schematik dort meinst, so lese ich aus ihr heraus, dass die Module in Reihe geschaltet werden... ist das so richtig?

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    17.05.2009
    Beiträge
    7
    Hi,

    also das mit dem Löten und Verbinden hat wunderbar geklappt!

    Der Ultraschallsensor funktioniert auch wunderbar... hab mir den SRF08 geholt.

    Nur hab ich Probleme mit dem Kompassmodul...
    Die Software Revision Number auszulesen, funktioniert. D.h. es ist kein Verbindungsproblem.
    Nur beim Auslesen der Himmelsrichtung spinnt das Ding irgendwie... ich vermute es liegt an der Programmierung, vllt. kann man jemand einen Blick drüber werfen... ansonsten liegt das vllt. am Gebäude.... aber das wär echt Mist...

    Code:
    uint16_t degree;
    (...)
    void task_CMPS(void)
    {
    	uint8_t cmpsbuffer[2];
    	I2CTWI_transmitByte(CMPS_ADR, 2);
    	I2CTWI_readBytes(CMPS_ADR + 1, cmpsbuffer, 2);
    	degree = cmpsbuffer[1] + (cmpsbuffer[0] << 8);
    	setCursorPosLCD(1,9);
    	writeIntegerLCD(degree, DEC);
    	writeStringLCD_P("   ");
    }

  10. #10
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.791
    Probier 'mal, die Zeile:
    I2CTWI_readBytes(CMPS_ADR + 1, cmpsbuffer, 2);
    ... zu ändern in:
    I2CTWI_readBytes(CMPS_ADR, cmpsbuffer, 2);

    Gruß Dirk

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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