Puh, also ich könnte mir als Einsatzzweck z.B. vorstellen, meine Terrarien bzgl. Temperatur und Luftfeuchtigkeit zu überwachen.
Hier wäre ein gerinder Datendurchsatz nötig.
Aber ich köntne mir auch vorstellen, irgendwas bewegliches mit nem Beschleunigungssensor oder nem Gyroskop auszuwerten. Hierbei wäre der Datendurchsatz natürlich gräßer.
Gehen wir mal von einem Beschleunigungssensor aus:
3-4 Kanäle, die 'long doubles' übertragen. 4*16 = 64 Bit.
64 Bit * 100 Messungen in der Sekunde = 6400 Bit.
6400 / 1024 = 6,25 kb / 8 = 0,78 kB
USB 1.0 schafft nominell 187,5 kByte/s. Nun stellt sich die Frage, wie schnell ich über I2C, RS232 oder RS485 Daten abrufen kann.
Was meinst du mit Störungen? Z.B. Strahlung in unmittelbarer Nähe oder Kabellänge?
Bei einem Gyroskop oder einem Beschleunigungssensor würde ich von einer kurzen Kabellänge ausgehen. Nehmen wir einen kleinen Roboter mit aufgesetztem Laptop an.
Bei Thermo- und Hygrometer würde ich von einer etwas längeren Kabellänge ausgehen. 1-2m wären hier durchaus denkbar.
Geändert von Cysign (22.03.2013 um 23:01 Uhr)
Mit Störungen meinte ich Fremdsignale die in das Kabel/Leitung eingekoppelt werden könnten. In der Industrie währen das z.B. große Verbraucher (Motoren mit hohem Anlaufstrom,...), Frequenzumrichter ohne geschirmte Motor-/Zuleitung,.....
Im privaten Bereich hast du z.B. elektronische Dimmer, Schaltnetzteile u.Ä. Dinge die Störungen verursachen könnten.
In der Industrie setzt man z.B. RS485 ein, da dieser Bus sehr unempfindlich gegen Störungen ist (da es ein differentieller Bus ist => http://de.wikipedia.org/wiki/Seriell...3%BCbertragung)
Der I2C wurde ursprünglich als reiner Platinenbus entwickelt (kurze Distanzen), RS485 für u.A. lange Distanzen (http://de.wikipedia.org/wiki/EIA-485 => Maximallänge = 1,2km).
Auf diese Längen sollte man achten, da man ansonsten Übertragungsstörungen bekommen kann (falsche Daten, Abbruch der Verbindung,...)
Die maximale Leitungslänge hängt auch von der Übertragungsrate ab (je schneller die Übertragung desto kürzer ist die maximal erlaubte Leitungslänge).
Bei CAN habe ich das gefunden http://www.me-systeme.de/canbus.html
Dort steht z.B. 6,7km bei 10kbit/s bis 40m bei 1Mbit/s
Ich würde für kurze Distanzen I2C bzw SPI verwenden (unter ~50cm), für lange Distanzen (z.B. 50m) bzw Orte mit hohen Störungen RS485 und dazwischen USB (mit anschließendem Wandler zu UART bzw RS232) bzw RS232.
Für I2C gibt es auch Bus-Extender (z.B. http://www.nxp.com/documents/data_sheet/P82B715.pdf). Damit kann man längere Distanzen zurücklegen bzw längere Leitungen verwenden. Der Nachteil ist das jedes IC/Modul/... das diesen I2C Bus verwendet auch einen Bus-Extender benötigt (soweit ich weiß).
Bei der Berechnung der benötigten Geschwindigkeit darfst du die Start/Stopbits, Addressierungen,... nicht vergessen.
Für Leitungslängen von unter 5m würde ich auf alle Fälle USB oder RS232 verwenden.
Je nach Anforderung musst du auch entscheiden welches Kabel du verwendest (Geschirmt, Ungeschirmt, Paare geschirmt (wie z.B. bei CAT7 Netzwerkkabel),...)
MfG Hannes
Lesezeichen