Kommunikation zwischen PICs über 30 Fuß

Ich habe ein PIC24F-basiertes Gerät, das normalerweise über USB an einen PC angeschlossen wird. Auf diese Weise kann das Gerät über eine PC-Software gesteuert werden. Ich möchte eine optionale Handsteuerbox hinzufügen, die auch an einen separaten Anschluss am Hauptgerät angeschlossen werden kann und zur Steuerung des Geräts sowie zum Lesen/Anzeigen von Daten vom Hauptgerät verwendet werden kann. Diese Handsteuerbox wird ebenfalls PIC-basiert sein. Ich versuche zu entscheiden, welche Kommunikationstechnik zwischen dem Hauptgerät und der optionalen Handsteuerbox verwendet werden soll. Ich mag die Idee von SPI, aber ich weiß, dass es nicht für die Verwendung über große Entfernungen gedacht ist. Glauben Sie, meine beste Option wäre, einfach die UART-Module mit RS-232-Leitungstranceievern zu verwenden, um das Signal auf +/-12 Volt zu verstärken? Gibt es wirklich noch andere Möglichkeiten?

Es gibt RS485, aber 30 Fuß sind in ruhiger Umgebung einfach. Ist es ruhig?
Haben Sie eine starke Präferenz in Bezug auf kabelgebundene/drahtlose Protokolle?
Viele Optionen unten, basierend auf USB-RS232-Geräten sind billig und einfach, ich würde RS232 verwenden. 30 Fuß haben eine maximale Geschwindigkeit. lammertbies.nl/comm/info/RS-485.html

Antworten (7)

Eine Option (vorausgesetzt, Ihr gewünschtes Gerät unterstützt dies ... viele Microchip-PICs tun dies) ist ein CAN-Messaging-System. Es wird häufig in Automobilen eingesetzt, damit zB ein Reifendrehzahlsensor und ein Beschleunigungsmesser mit dem Airbag-Computer kommunizieren können. Das Protokoll ist so konzipiert, dass eine unbegrenzte Anzahl von Geräten ohne Kollisionen auf einem Bus kommunizieren kann.

Ich verwende es in meinem Unternehmen, um bis zu 200 Fuß zwischen einem Produkt und einem Controller zu kommunizieren. Die höchste Standard-Baudrate beträgt 1 Mbit/s. Es ist ziemlich einfach in C zu implementieren. Sie benötigen einen CAN-Transceiver, wenn Sie sich dafür entscheiden; etwas wie MCP2551 von Microchip.

Hier ist die Spezifikation , hier sind die zugehörigen App-Hinweise AN713 und AN754

+1 CAN ist robust. Ich glaube jedoch nicht, dass es die Hardware / physikalische Schicht angibt. Welche Spannung und Kabelschema verwenden Sie?
Wir verwenden normalerweise 5 VDC entlang abgeschirmter Twisted-Pair-Leitungen. Dies ist ungewöhnlich, da die meisten Automobilanwendungen 12 Volt verwenden. Für einen 30-Fuß-Lauf in etwas weniger Lautem als einer Mikrowelle würde ich zuerst versuchen, CAT5 mit 5 V DC zu verwenden, weil es billig ist und wahrscheinlich gut funktionieren wird. Bearbeiten: Ich arbeite in der Industriebeleuchtung, nicht in der Automobilindustrie
+1 für KÖNNEN. Hardware-Layer ist definiert insb. wenn Sie sich für ein Protokoll wie CANopen entscheiden

RS-485 funktioniert gut, aber Sie müssen einen RS-485-Transceiver zwischen Ihrem UART und dem RS-485-Bus hinzufügen. Es gibt viele Softwareprotokolle, die diese physikalische Schicht verwenden. Modbus ist einer von ihnen, die ich in der Vergangenheit verwendet habe. Es ist sehr einfach zu implementieren und es gibt viele industrielle Steuerungen, die es unterstützen.

Ich habe das für Theaterbeleuchtungssysteme verwendete DMX-Protokoll implementiert, das eine Variante von RS-485 ist, und dies funktionierte in einer lauten Umgebung mindestens bis zu einer Entfernung von 100 Fuß. Dies verwendete einen PIC16F877A und einen RS-485-Leitungstreiber zum Senden und mehrere andere Empfängereinheiten mit denselben Mikrocontrollern, die entlang der 100-Fuß-Leitung mit einem Abschlusswiderstand am Ende verkettet waren ... es funktionierte gut.

Microchip hat tatsächlich ein sehr gutes Datenblatt zu diesem Thema mit einigen Schaltplänen und Beispiel-Assemblercode.

Ja, RS232 wird funktionieren. Halten Sie die Baudrate schön niedrig, und 30 Fuß sind kein Problem. Aber lange Kabelwege sind mühsam, daher scheint Wireless attraktiv zu sein. Zumal ein hochwertiges 30-Fuß-RS-232-Kabel etwas Geld kostet.

Andere zu berücksichtigende Ideen:

  • Wenn die Kommunikation in eine Richtung akzeptabel ist, bringen Sie einen IR-Empfänger an der Box an und programmieren Sie ihn so, dass er auf eine Verbraucher-IR-Steuerung hört. Verwenden Sie die Codes einer beliebten Fernbedienung, damit eine 8-Dollar-Universalfernbedienung funktioniert.

  • Wenn Sie die Host-Software auf dem PC steuern, öffnen Sie einen Ethernet-Port und stellen Sie Webseiten mit den gewünschten Funktionen und Steuerelementen bereit. Jedes WLAN-fähige iPad oder Smartphone wird zur Fernbedienung, und die Fernüberwachung ist einfach. Sie könnten sogar den USB-Anschluss durch einen Ethernet-Anschluss ersetzen, aber das wird die Box etwas komplexer machen.

  • Schauen Sie sich die drahtlosen ISM-Band-Module wie das 24L01-Zeug von Nordic und die CCxxxx-Teile von TI an. Sparkfun verkauft einige Module. Wenn es sich um ein echtes Produkt handelt, kann die Verwendung von FCC-vorzertifizierten Modulen etwas Geld sparen, da das FCC-Zertifikat teuer ist. Ich würde sagen, dass Module bei Produktmengen bis zu 5000 Stück sinnvoll sind.

Bearbeiten: Sie sollten diese Fernbedienung verwenden.

Um die RS232- Antwort zu ergänzen : Stellen Sie sicher, dass Sie zusätzlich zur Parität (CRC oder was auch immer) eine verbesserte Fehlerprüfung implementieren. Abhängig von Ihrer Umgebung können Sie möglicherweise CAT5e- oder CAT6-Kabel verwenden, was billig ist.

Ich habe diese verwendet, RF Link 4800bps Receiver - 315 MHz und RF Link Transmitter - 315 MHz

Ich habe 2 verschiedene Frequenzen, eine zum Senden und eine zum Empfangen. Ich habe sie erfolgreich bis zu 30 Fuß mit 5 V verwendet, um sie mit Strom zu versorgen. Sparkfun hat auch andere drahtlose Kommunikationsgeräte.

Ich habe mir gerade die xbee- und Bluetooth-Produkte angesehen
xbee, von dem, was ich gehört habe, funktioniert es großartig, ich werde wahrscheinlich bald ein paar aufheben.
Erwähnenswert ist, dass ich glaube, dass die verknüpften HF-Module keine Fehlerprüfung oder -korrektur haben. Es obliegt ausschließlich dem Benutzer, die Gültigkeit der übermittelten Daten zu überprüfen. Jegliches Rauschen während der Datenübertragung kann Fehler verursachen, die nicht erkennbar sind, es sei denn, Sie führen eine Paritäts- oder CRC-Prüfung durch.
@Fake Name Ja, Sie haben Recht, es gibt keine Fehlerprüfung in den verknüpften HF-Modulen, es sind sehr einfache Geräte, also kein Schnickschnack.

Es gibt verschiedene ZigBee-Geräte, die wie ein UART verwendet werden können und von einem PIC-Gerät aus einfach zu steuern sein sollten. Zum Beispiel ist XBee recht einfach zu bedienen und sehr erschwinglich. Meiner Erfahrung nach konnte ich in einem überfüllten Büro Daten über Entfernungen von mehr als 100 Fuß senden und empfangen, und in einem weiten offenen Raum könnten wir viel besser abschneiden, insbesondere mit guten Antennen. Meiner Meinung nach ist Wireless einem 30-Fuß viel vorzuziehen. langes Kabel!

Ich stimme zu. Digi xbee-Module können billiger sein als ein Kabel! Sie reichen 10-20 m ohne Antenne und 100 m durch Wände mit sogar einem 1/4-Wellenlängen-Stück Draht als Antenne. Sie bieten auch eine vollständige Fehlerprüfung und sogar Verschlüsselung.

Die MIDI-Schnittstelle wurde entwickelt, um über 50 Fuß zuverlässig zu kommunizieren. Die erforderliche Hardware (ein Optoisolator und eine Diode und einige Widerstände und ein IC oder Transistorinverter) kostet weniger und hat eine bessere Leistung über lange Leitungen als die Hardware, die für eine +/- 12-V-RS232-Kommunikation erforderlich ist.