Sollte ich RS-485 für mein nächstes Projekt verwenden?

Ich plane ein Automatisierungsprojekt, das mehrere verschiedene Sensoren verwendet, einschließlich, aber nicht beschränkt auf: Temperatur, Luftdruck, Luftstrom, Luftfeuchtigkeit usw.

Als ich mit jemandem sprach, erwähnte er, dass ich mich mit RS-485 befassen sollte, um meine Sensoren an meinen Controller anzuschließen. Dann endlich zum PC.

Nach einer kurzen Suche habe ich einige Informationen über RS-485 gesammelt, aber jetzt frage ich mich, ob es übertrieben ist oder ob es heutzutage überhaupt verwendet wird?

Könnte ich nicht einfach einen Mikrocontroller verwenden, der über genügend Eingänge verfügt und über USB mit dem PC verbunden ist?

Gedanken?

EDIT: Ok, wenn die Entfernung zu Controller und Umgebung (in meinem Fall eine industrielle Anwendung) dann RS485 nützlich sein könnte. Gibt es andere Busalternativen, die nützlicher sein könnten?

Gibt es andere Busalternativen? : Betrachten Sie CAN . Es sortiert Dinge wie Kollisionen, Busarbitrierung, Prüfsummen und Adressierung, die Sie selbst über RS-485 erledigen müssen. Die meisten Mikros über 1,50 $ haben jetzt mindestens einen Port und die Transceiver sind mit etwa 0,60 $ auch billig. (Die Preise gelten für 1K-Bände, YMMV).

Antworten (7)

Ich habe RS485 verwendet, um mehrere Datenlogger über Entfernungen von bis zu 100 m miteinander zu verbinden. In dieser Anwendung hat es perfekt funktioniert.

Ich habe RS485 nicht verwendet, um Sensoren direkt an einen Controller anzuschließen, aber wenn Sie Sensoren mit RS485-Ausgängen + einen Controller haben, der RS485 unterstützt, und Sie mehr als 10 Sensoren haben oder die Sensoren mehr als nur eine kurze Entfernung vom Controller entfernt sein müssen würde ich Verwenden Sie auf jeden Fall RS485 anstelle der analogen Verkabelung. Ich habe festgestellt, dass kleine Probleme mit Stromversorgungsrauschen, Kabelimpedanz und Umgebungsstörungen plötzlich zu großen Problemen werden, wenn Sie einem Controller (in meinem Fall einem Datenlogger) immer mehr analoge Sensoren hinzufügen.

Einverstanden, wenn Sie eine Anwendung mit Reichweitensensoren haben, sollten Sie wahrscheinlich einen intelligenteren Weg der Datenübertragung finden.

Ich denke, der große Unterschied hat damit zu tun, wie weit Ihre Sensoren in Ihrem Netzwerk entfernt sind.

Wenn sie in der Nähe sind und wahrscheinlich nicht durch elektrisches Rauschen beeinflusst werden, dann denke ich nicht, dass es zu viel ausmacht. USB, RS-232, SPI, I2C, parallel, Bluetooth ... alle wären gute Optionen.

Wenn sie weit entfernt sind und sich wahrscheinlich in der Nähe von elektrischem Rauschen befinden, ist ein System, das ein differenzielles Kommunikationsschema (wie CAN, RS-485, Ethernet ) verwendet, wahrscheinlich der bessere Weg.

Ich würde sagen, die kurze Antwort lautet Sensoren->Mikrocontroller->USB. Aber Sie geben uns nicht viele Details darüber, in welcher Umgebung Sie arbeiten werden oder wie robust das gesamte System sein muss. Wenn Sie eine laute Umgebung, große Entfernungen zwischen den Sensoren oder eine Anforderung an hohe Zuverlässigkeit haben, sollten Sie sich vielleicht professionell gebaute Geräte und etwas wie RS-485 ansehen. Wenn Sie das Mikroklima um Ihre Tomaten herum verfolgen möchten, sind möglicherweise einige Sensoren und ein Arduino alles, was Sie brauchen.

Ich habe vergessen, meine Antwort einzureichen, also werde ich einen Kommentar hinzufügen, um Unordnung zu vermeiden. jkopel hat hier recht, mit sensor->uC->USB bist du besser dran, aber die umwelt ist entscheidend. Wenn Sie mehr Pins benötigen, können Sie externe ADC-Module erwerben und diese über das SPI- oder I2C-Protokoll ziemlich einfach verbinden.

Wenn sich Ihre Sensoren in der Nähe des PCs befinden, könnte USB in Ordnung sein, aber das ist nicht immer der Fall. Ich habe einen Energiezähler im Keller meines Hauses, und der Computer, der die Energiewerte ausliest, steht in meiner Wohnung (4. Stock) ... Kein Problem mit RS485 (oder einem CAN-Bus), aber versuchen Sie es mit USB :-)

oder drahtlos in dieser Situation.

RS485 ist das Äquivalent von I2C, aber im größeren Maßstab haben beide eine Busarchitektur mit Knotenadressen:

  • RS-485 eignet sich hervorragend für mehr als 4000 Fuß Sensorkabel. Sie können es für alles implementieren, wofür Sie I2C verwenden würden. Es verfügt über eine Vielzahl von EMF- und optischen Isolationsoptionen. RS-485 benötigt einen Signaladapter, um zu funktionieren
  • I2C ist schneller, nicht für Langstrecken geeignet, benötigt keinen Leitungstreiber und verbraucht daher weniger

ich hoffe es ist jetzt klarer

Was ist mit Dallas One Wire? Ich denke, sie haben viele Sensoren und das Netzwerk hat eine ziemlich große Reichweite. Ich habe es nie benutzt, fand es aber immer interessant. Wenn Sie bereits Sensoren haben, macht dies nicht so viel Sinn.

RS-485 ist sehr nützlich in Situationen, in denen die Geräte (in Ihrem Fall Sensoren) von der Steuerung entfernt sein müssen. Im Allgemeinen wird es verwendet, wenn das Gerät über ein eigenes Gehirn verfügt (dh einen integrierten Mikrocontroller) und an einen PC berichtet. Sie können 232-zu-485-Adapter erwerben, mit denen Ihr PC RS-485 sprechen kann.

Wenn Sie die Sensoren in dieselbe Box wie den Mikrocontroller stecken können, können Sie 485 verwenden, um mit dem PC zu kommunizieren. Es ist nicht sehr schnell, aber es ist sehr robust und in vielen Situationen gut verständlich, und es ermöglicht ziemlich einfach zusätzliche Geräte. Wenn Sie nur ein Gerät haben, reicht 232 für Sie aus.