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

Thema: I2C bei Asuro?

  1. #21
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    38
    Beiträge
    4.255
    Anzeige

    Powerstation Test
    das kann dann über nen transistor vom controller erledigt werden, der dan am I2C hängt...

  2. #22
    Erfahrener Benutzer Roboter Genie Avatar von m.a.r.v.i.n
    Registriert seit
    24.07.2005
    Ort
    Berlin
    Beiträge
    1.247
    hallo,

    ich plane zur Zeit ebenfalls eine I2C Erweiterung für meinen ASURO.

    Die Erweiterungsplatine für den US Sensor dient dazu als Basis.
    Für den I2C Bus werden die Ports des Linienfolgers PC3 und PC2 verwendet.

    Der I2C Bus wird mit Hilfe der i2cmaster Bibliothek von Peter Fleury http://jump.to/fleury simuliert.

    Näheres dazu auch auf meiner Homepage unter Erweiterungen.

    Gruß m.a.r.v.i.n

  3. #23
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    22.11.2003
    Beiträge
    214
    Super Idee. Warum bin ich nicht auf die Idee gekommen? Ich verstehe es auf deiner HP richtig, dass der Ausro als Slave arbeiten soll? Wie weit bist du in deinem Project?
    Ich habe ja eigentlich vor den AVR zu ersetzen und auf den Sockel eine Platine mit einem Mega32 aufzusetzen (und komme aus Zeitmangel nicht weiter...)
    Sollte das eine Alternative sein?
    Gruß Stefan

  4. #24
    Erfahrener Benutzer Roboter Genie Avatar von m.a.r.v.i.n
    Registriert seit
    24.07.2005
    Ort
    Berlin
    Beiträge
    1.247
    Hallo bergowitch,

    nein der Asuro muß I2C Master sein, weil eine Simulation als I2C Slave zu aufwändig wäre. Die USI Schnittstelle des AVR169 unterstützt I2C Slave per Hardware und ist somit unkritisch.

    Das Projekt ist leider ebenfalls aus Zeitmangel noch in der Planung. Nach erfolgreicher Umsetzung werde ich es natürlich hier im Forum vorstellen.

    Gruß m.a.r.v.i.n

  5. #25
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    02.06.2005
    Alter
    34
    Beiträge
    203
    Danke,
    für die Inos.
    MfG

    der aller dümmste Anfänger

    bitte bei schwerwiegenden Rechtschreibfehlern oder Unleserlichkeiten eine PN schreiben
    Danke

    http://www.openmoko.org/

  6. #26
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    22.11.2003
    Beiträge
    214
    Hallo,
    das ist schade, das mit dem slave-modus.
    Da mir ja immer noch die Erweiterung mit einem anderen uC vorschwebt, wäre es praktisch gewesen den ASURO als Untersatz der über den Master gesteuert wird zu betreiben, da man sich ein Programm für den ASURO hätte schreiben können und ihn dann hätte vergessen können... und über I2C kontrollieren
    Gruß
    Stefan

  7. #27
    Erfahrener Benutzer Roboter Genie Avatar von m.a.r.v.i.n
    Registriert seit
    24.07.2005
    Ort
    Berlin
    Beiträge
    1.247
    Hallo Stefan,
    das man den Asuro von einem I2C Slave nicht kontrollieren kann, ist ja deshalb nicht ausgeschlossen.
    Ich hatte mir das so vorgestellt:

    Anzeige:
    Asuro schreibt zyklisch seine aktuellen Status Werte zum Butterfly Board . Dort werden die Sensordaten angezeigt.

    Steuerung:
    Das Butterfly Board kann den Asuro über noch zu definierende Kommandos steuern, die er im Ausgabebuffer ablegt.
    Der Asuro liest zyklisch diese Kommandos vom Butterfly Board und führt sie aus.

    Master/Slave gilt nur für den I2C Bus. Der Master initiiert die Datenübertragung.
    Durch das zyklische Abfragen ensteht allerdings eine gewisse Verzögerung.

    Gruß m.a.r.v.i.n

  8. #28
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    22.11.2003
    Beiträge
    214
    Hallo,
    ich denke du hast schon recht. Allerdings auch mit dem Kernporblem

    Durch das zyklische Abfragen ensteht allerdings eine gewisse Verzögerung
    Der Vorteil den Asuro als Slave am I2C Bus zu haben, wäre eben der, dass man ihm je nach Einstellung der Sensoren flott Befehle geben könnte und nicht erst auf die nächste Schleife warten müsste. Allerdings weiß ich nicht wie sich diese Verzögerung praktisch auswirkt!? Ist es denn so, dass der I2C slave erkennen kann ob ein Befehl/Daten aus dem Buffer ausgelesen wurden? Oder muss der Master erst eine Bestätigung an den Slave schicken, damit dieser erfährt dass der Buffer ausgelesen wurde?
    Gruß
    Stefan

  9. #29
    Erfahrener Benutzer Roboter Genie Avatar von m.a.r.v.i.n
    Registriert seit
    24.07.2005
    Ort
    Berlin
    Beiträge
    1.247
    Hallo Stefan,

    Ob der Befehl abgeholt wurde weiß der Slave nach erfolgreicher Übertragung natürlich.
    Danach muß er den Ausgabebuffer freigeben. Der Asuro soll ja beim nächsten Lesevorgang nicht nochmal dassselbe Kommando vorfinden.

    Ebenso müßte der Slave prüfen ob der Buffer frei ist, bevor er das nächste Kommando sendet.
    Man könnte auf Slave Seite natürlich auch einen Ringbuffer o.ä. schaffen der mehrere Kommandos zwischenspeichert.
    Wieviele Zeichen man je Busübertragung schickt läßt sich auch vereinbaren.

    Alles nur eine Frage der Software.

    Die Größe der Verzögerung richtet sich danach, wie oft der Asuro Kommandos vom Slave liest. Für meine Anwendung, ist dies zugegeben weniger kritisch. Zeiten von 20ms sollten aber ohne weitere machbar sein.

    Es ist ja auch die Frage wie komplex die Kommandos an den Asuro sind. Ich dachte an sowas wie 'Fahre 10cm geradeaus' oder 'Drehe dich um 90 Grad nach rechts' o. ä.

    Guck doch mal die Beispielprogramme zum Thema I2C für AVR auf der Atmel Homepage an.

    Gruß m.a.r.v.i.n

  10. #30
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    22.11.2003
    Beiträge
    214
    Vielleicht hast du Recht. Ich sollte mich mal genauer in das Tehma einarbeiten.
    Mein Ziel ist es den Asuro RobocupJunior tauglich zu erweitern (soccer 2on2).
    Ich brauche dazu also einen Graustufensensor - sollte mit dem Vorhandenen möglich sein (evtl. durch Umbau auf IR?) einen besser drei IR-Sensoren um den Ball zu finden, (und evtl. eine Möglichkeit mit dem Mannschaftkameraden zu kommunizieren und eine Möglichkeit die anderen Mitspieler grob zu lokalisieren (UV-Sensor?) Ich fürchte da sollte die Kommunikation zwischen Slave und Master möglichst flott sein? Deshalb wollte (will) ich mittels einer Platine einen größeren AVR montieren.
    Mal genauer nachdenken...
    Danke soweit
    Gruß
    Stefan

Seite 3 von 4 ErsteErste 1234 LetzteLetzte

Berechtigungen

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

Labornetzteil AliExpress