-         
Seite 4 von 4 ErsteErste ... 234
Ergebnis 31 bis 33 von 33

Thema: Mein neues Projekt: Die kleine Mischerei

  1. #31
    Anzeige

    Ich kann dir was die Protokolle angeht nicht wirklich weiterhelfen.
    Aber ich wollte doch mal ein dickes Lob aussprechen. Es sieht toll aus! Sehr ordentlich designt, und auch die Platinen sind sehr gut geworden.

    Ich bin mal auf das Endergebnis gespannt.

    Ist das Projekt eigentlich auch noch auf einer anderen Seite veröffentlicht oder bekommst du sonst noch an anderer Stelle Feedback?

  2. #32
    Erfahrener Benutzer Robotik Einstein Avatar von HaWe
    Registriert seit
    09.10.2014
    Beiträge
    3.195
    verstehe ich richtig, dass du die Kommunikation zwischen beiden Nanos über I2C machen willst?
    I2C ist dafür IMO nicht so gut geeignet wie UART, wenn es nur um 2 Teilnehmer geht, zum Einen wegen der Geschwindigkeit (UART ist schneller) und zum anderen wegen des Puffers (i2c:32bytes, UART:64bytes). Außerdem könntest du bei UART asynchron senden und empfangen, wenngleich ich es denoch nur per Handshake abwechselnd machen würde. Allerdings wäre bei UART noch dein I2C für angeschlossene Sensoren frei und würde hier nichts stören.

    Vorteil allerdings bei i2c: es können mehrere Slaves angesprochen werden.

    Aber das System wäre ähnlich:

    du definierst dir einen Sende- und einen Empfangsarray, wo an bestimmten fest definierten Stellen bestimmte Datenbytes stehen.
    Byte[0]: Start-Flag, z.B 0xff
    (edit: ) ggf. letztes Byte: Ende-Flag, z.B. 0xfe
    Byte[1]: Summe über alle Bytes vom Byte[2] bis zum letzten, davon nur das LSB, also (uint8_t)Summe oder Summe&0xff .
    optional ein ack-Byte, ob die letzte Nachricht korrekt empfangen wurde (z.B. im Byte[2] 0xaa=OK, 0xee=ERROR; das nutze ich allerdings bei mir nicht mehr.)
    Im Rest stehen dann die tatsächlich interessanten Daten-Bytes

    Der Empfänger überprüft zunächst das Byte[0] aufs Start-Flag,
    ggf auch das letzte Byte aufs Ende-Flag,
    und dann die Checksum in Byte[1] über den Rest;
    wenn alles ok, werden die Daten verwertet, ansonsten ignoriert.
    Dann gibt er ein Antwort-Array zurück, analog aufgebaut (aktiv senden per UART oder für den Master bereitstellen per i2c).

    Wenn du den Code für UART möchtest, kann ich ihn dir geben, für I2C könnte ich ihn u.U. auch noch haben.

    (C++ Arduino zu Arduino oder Raspi C zu Arduino C++)
    Geändert von HaWe (21.08.2018 um 09:55 Uhr)
    ·±≠≡≈³αγελΔΣΩ∞ Schachroboter:www.youtube.com/watch?v=Cv-yzuebC7E Rasenmäher-Robot:www.youtube.com/watch?v=z7mqnaU_9A8

  3. #33
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    27.05.2011
    Ort
    NRW
    Alter
    30
    Beiträge
    141
    @pertertn

    Vielen Dank für dein Lob. Es ist schön etwas positives zu hören. Auf das Endergebnis bin ich auch gespannt. Aber das wird wohl noch ein paar Jahre auf sich warten müssen. Ich habe noch einiges in Planung (Mischer, Presse, Fertigsilozellen, LKW-Beladung, Chaotisches Lager...) es gibt dort ja keine Grenzen. Aber wenn dieses Teilstück fertig ist geht es erst einmal richtig an der Software schreiben, nicht nur auf Arduino Basis sondern auch auf den Rechner in C# (Visualisierung).
    Auf einer anderen Seite ist dieses Projekt noch nicht zu sehen also nur hier und die Videos auf Youtube. Wie bereits schon erwähnt bin ich aber auch im September das erste mal auf der Maker Faire Hannover. Dort kann man sich die Mischerei anschauen (https://maker-faire.de/maker/3d-prin...inted-rc-tank/).

    @HaWe
    Ja genau die Kommunikation zwischen der Hauptplatine und der Peripherie wird über den I2C Bus laufen. Als Hauptplatine wird nach aktuellen Stand ein Wemos D1 herhalten. Auf den Fotos sind bis jetzt zwar nur 2 Platinen zu sehen, aber es werden nachher mit den Wemos als Master mindestens 7 Platinen geben. Dort werden aber Hauptsächlich nur E/A und Sensorwerte übertragen. Im Wemos wird dann nachher das Hauptprogramm laufen. Er kommuniziert dann auch später mit den Pc.
    Die Nachteile des I2C Busses habe ich schon kennengelernt. 32 Bytes zu übertragen dauert in Fast-Mode ca. 1,19ms. Darum muss ich die Übertragung so schlank wie möglich halten.
    Hatte vor als Startbyte ein Kommando zu schicken, welches dann schon die Anzahl der Bytes und die Typen definiert. Und das letzte Byte ist dann die Checksumme (alle Bytes addieren und dann durch die Anzahl der Empfangenden Bytes -1 dividieren).

    Beispiel:
    Byte
    1) 3 Kommando 3
    2) 34 Datenbyte 1
    3) 12 Datenbyte 2
    4) 36 Datenbyte 3
    5) 237 Datenbyte 4
    6) 111 Datenbyte 5
    7) 3 Datenbyte 6
    62 Checksumme (3+34+12+36+237+11+3)/(8-1)

    Dann kommt vom Slave noch eine Antwort ob er das richtig Empfangen hat.

Seite 4 von 4 ErsteErste ... 234

Ähnliche Themen

  1. .: Neues Projekt - Konzeptstudien :.
    Von HannoHupmann im Forum Vorstellung+Bilder+Ideen zu geplanten eigenen Projekten/Bots
    Antworten: 25
    Letzter Beitrag: 26.02.2010, 16:12
  2. neues Projekt
    Von sia4fe im Forum Vorstellung+Bilder+Ideen zu geplanten eigenen Projekten/Bots
    Antworten: 5
    Letzter Beitrag: 29.01.2009, 22:21
  3. neues projekt
    Von lukiwuki im Forum Vorstellung+Bilder+Ideen zu geplanten eigenen Projekten/Bots
    Antworten: 3
    Letzter Beitrag: 28.09.2007, 11:29
  4. Mein neues Projekt: Ein Kampfroboter
    Von hitecmaus im Forum Vorstellung+Bilder+Ideen zu geplanten eigenen Projekten/Bots
    Antworten: 108
    Letzter Beitrag: 19.06.2007, 15:27
  5. Mein neues Experimentierset
    Von Keksdose im Forum Vorstellungen+Bilder von fertigen Projekten/Bots
    Antworten: 11
    Letzter Beitrag: 16.03.2006, 08:22

Berechtigungen

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