Ich möchte ein "Sensor-Array" einrichten, an dem 4 Sensoren befestigt sind. Von jedem Sensor wird erwartet, dass er Daten mit einer Rate von bis zu 8 Hz sendet. Die Daten würden an eine MCU gesendet, die etwa 1-2 Meter entfernt ist. Diese MCU speichert die Daten auf einer SD-Karte.
Um das etwas besser zu veranschaulichen:
Ich habe darüber nachgedacht, I2C für die Kommunikation zwischen der MCU und den Sensoren auf dem Sensorarray zu verwenden, aber ich bin mir nicht sicher, wie gut I2C in dieser Entfernung funktionieren würde und ob es überhaupt schnell genug wäre.
SPI scheint in Bezug auf die Entfernung ein großes Nein zu sein.
Andere Schnittstellen, die möglicherweise funktionieren könnten, sind CAN und RS485, obwohl ich beide noch nie zuvor verwendet habe. Ich habe mich eingehender mit der Verwendung von CAN beschäftigt, und obwohl es so aussieht, als könnte es gut funktionieren, scheint es auch ein bisschen "übertrieben" für das zu sein, was ich brauche.
Welche serielle Kommunikationsschnittstelle könnte also in einem solchen Szenario am besten funktionieren?
Jede Hilfe ist willkommen.
Sie haben nicht gesagt, wie viele Daten jeder Sensor produziert und wie die Umgebung ist (neben einem großen Motor?). Es kann sich herausstellen, dass I2C einfach funktioniert, wenn Sie nicht viel EMI von außen haben.
Es gibt Schnittstellenstandards für kurze (günstige und einfache) Entfernungen und längere Entfernungen (teurer und komplexer). Die klassischen Langstreckenstandards sind sicherlich RS-485 und CAN.
Wenn Sie in Ihrem Szenario CAN oder RS-485 nicht verwenden möchten, können Sie möglicherweise SPI mit RS-422-Treibern verwenden, sodass jede Leitung (SCK, MOSI, CS) als Differenzpaar übertragen wird. Es wird so robust wie RS-485 sein, keine weitere MCU auf der Sensorplatine benötigen, aber mehr Signalkabel benötigen.
Wenn Sie sich eine kleine, billige Basis-MCU auf der Sensorplatine leisten können, können Sie RS-485 problemlos verwenden.
4 Sensoren bei 8 Hz sind etwa 1 kbit/s, wenn man von 32-Bit-Messwerten ausgeht. Ein einfacher 5-V-UART funktioniert bei solchen Baudraten problemlos über mehrere Meter.
SPI kann auch direkt verwendet werden, wenn Ihre Sensoren beliebig langsame Datenraten zulassen. Verlangsamen Sie Ihre Signale (mit einem RC-Filter) am Sender und regenerieren Sie schnelle Flanken mit Schmitt-Triggern am Empfänger, wenn Show-Flanken ein Problem darstellen.
Eugen Sch.
Wesley Lee
τεκ
KalleMP