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?
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
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.
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.
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!
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.
tyblu
Kevin Vermeer
Kenny