Frage:
Beste PC-Schnittstelle für einfache kundenspezifische Hardware
Penguin Nurse
2013-10-31 12:03:43 UTC
view on stackexchange narkive permalink

Welche Schnittstelle Ihres PCs verwenden Sie, um eine Verbindung zu einfacher benutzerdefinierter Hardware herzustellen?

Die am häufigsten verwendete Schnittstelle war vor einiger Zeit RS232 und heute ist wahrscheinlich USB, aber wäre es nicht einfacher für Anfänger, die den parallelen Anschluss verwenden, um wirklich einfache Schaltkreise wie Schrittmotoren oder LEDs zu steuern? Ich habe den Eindruck, was ich bisher gelesen habe, dass der parallele Anschluss nicht wirklich für solche Dinge ausgelegt war, aber ich bin mir nicht sicher, ob diesbezüglich mögliche Einschränkungen bestehen.

Leider kann ich sehr viel finden wenig Literatur zur Verwendung des parallelen Anschlusses, wahrscheinlich weil er für professionelle Hardware etwas veraltet ist.

Macht es einen Unterschied für die Entscheidung über die am besten geeignete Schnittstelle, ob ich nur die Ausgabe oder auch die Eingabe verwenden werde?

Ich sollte hinzufügen, dass ich natürlich etwas über Arduino weiß, aber ich möchte keine Komplexität vor mir verbergen.

Außerdem verwende ich Linux und habe einen parallelen Port Ich bin derzeit auf den parallelen Anschluss ausgerichtet.

Der Parallelport ist tot Jim. USB-zu-Seriell / Uart-Adapter sind derzeit die am häufigsten verwendete Lösung.
Oder sogar direkte USB-zu-MCU-Verbindungen.
Arduino muss keine Komplexität vor dir verbergen ...
Open Source zu sein und Komplexität zu verbergen ist nicht dasselbe und ich möchte betonen, dass der Ladt-Punkt natürlich absolut legitim und vernünftig ist. Aber ich suche nach einer einfachen Lösung für ein einfaches Problem. Arduino wurde entwickelt, um viel aufwändigere Aufgaben als die Regelung von Motoren oder LEDs zu erledigen. Wenn Sie jedoch an die zusätzlichen Softwarebibliotheken denken, die dahinter stehen, ist dies komplizierter als die parallele Schnittstelle.
Was ich überraschend finde und vielleicht kann mir jeder von Ihnen dabei helfen, dass wenn der Parport so einfach zu bedienen ist, es viele alte Tutorials geben sollte, um benutzerdefinierte Schaltkreise von Universitäten oder Schulen damit zu steuern, aber ich kann keine finden.
Der größte Kompromiss ist nicht die externe Hardware, sondern diese. Parallele Ports haben ** Verfügbarkeit ** Bedenken, die auf neueren Systemen weitgehend veraltet sind, während USB ** Latenz ** Bedenken hat (obwohl USB große Datenmengen schnell verschieben kann, dauert dies in Bezug auf den Computer viel länger eine Hin- und Rückfahrt auf dem USB-Bus als auf einem lokalen Bus (paralleler Anschluss). Sie müssen entscheiden, was für Ihr Projekt unerträglicher ist. Um beides zu lösen, müssen Sie manchmal nicht nur die E / A, sondern auch das "Denken" auf ein leistungsfähiges externes Mikro verlagern.
http://logix4u.net/parallel-port/15-a-tutorial-on-parallel-port-interfacing Erster Treffer bei Google?
Sieben antworten:
#1
+11
alex.forencich
2013-10-31 12:16:20 UTC
view on stackexchange narkive permalink

Die parallele Schnittstelle ist ideal, wenn Sie Windows 98 oder DOS verwenden. Alle modernen Windows-Betriebssysteme haben die Funktionsweise der Parallelport-Schnittstelle drastisch geändert, sodass es fast unmöglich ist, eine Schnittstelle mit etwas anderem als einem Drucker herzustellen. Und die parallele Schnittstelle ist an dieser Stelle ohnehin veraltet. Außerdem ist es grundsätzlich unmöglich, eine zeitgesteuerte Steuerung von einem Allzweckcomputer aus durchzuführen. Wenn Ihr Ziel Millisekunden ist, ist es nicht schlecht. Aber wenn Sie viel tiefer runter wollen, wird es sehr, sehr schwer, dies zuverlässig zu tun. Sie sollten besser Befehle auf hoher Ebene an einen Mikrocontroller oder ähnliches senden. Ich würde ein Arduino bekommen, wenn Sie noch nie einen Mikrocontroller benutzt hätten.

Wenn Sie ernsthafte Schnittstellen mit Hardware herstellen möchten, werden Sie wahrscheinlich USB verwenden. Wenn Sie RS232 seriell benötigen, besorgen Sie sich einen USB-Seriell-Konverter-Chip. Diese sind bei Unternehmen wie FTDI und Exar erhältlich. Die meisten Karten, die ich herstelle, haben einen Header, an den ich eine kleine USB-serielle Adapterkarte anschließen kann, oder sie haben einen USB-seriellen Chip an Bord. Ethernet ist eine weitere Option, wenn Sie eine Kommunikation mit höherer Geschwindigkeit benötigen. Die Unterstützung von Ethernet auf Ihrem Gerät ist jedoch in der Regel etwas komplizierter als eine einfache serielle Schnittstelle. Es ist auch möglich, eine Schnittstelle mit PCI, PCI Express und Serial ATA herzustellen, wenn Sie die Leistung wirklich benötigen.

Bearbeiten: Ich kann FTDI nicht mehr mit gutem Gewissen empfehlen, ohne auch zu erwähnen, dass FTDI einen Treiber veröffentlicht hat, der Code enthält, um "gefälschte" FTDI-Chips absichtlich (und wahrscheinlich illegal) zu zerstören. Siehe http://www.eevblog.com/forum/reviews/ftdi-driver-kills-fake-ftdi-ft232/ und http://www.eevblog.com/forum/ Weitere Informationen finden Sie unter / ftdi-driver-kills-fake-ftdi-ft232 / msg535270 / # msg535270. Wenn Sie die Verwendung von FTDI in Betracht ziehen, müssen Sie das Risiko abwägen, dass Ihre Geräte aufgrund dieses Treibers vor Ort ausfallen, entweder weil gefälschte Chips in Ihre Produktion geraten oder ein Problem mit der Erkennung von Fälschungen im FTDI-Treiber vorliegt.

2. FTDI! Fantastische USB-UART-Chips. Sehr einfache Schnittstelle von der Hardwareseite. Von der Hostseite aus kann entweder ein virtueller COM-Port geöffnet werden oder ein Treiberzugriff auf niedrigerer Ebene. Ich habe einen schönen Python-Wrapper um die FTD2XX-Treiber, der eine schöne Python-Oberfläche bietet
Welchen Vorteil bietet Ihnen der FTD2XX-Treiber gegenüber einem virtuellen COM-Port? Ich verwende ausschließlich FTDI-Chips aufgrund ihrer hervorragenden Treiberunterstützung - funktioniert unter Linux sofort und die Installation unter Windows ist ein Kinderspiel. Ich hatte tatsächlich ein sehr seltsames Problem mit einem seriellen Exar-USB-Chip auf einer Atlys-FPGA-Karte - sie drehten den Chip und schalteten standardmäßig die Hardware-Flusskontrolle ein. Der Standard-Linux-Treiber unterstützt das Ändern der Flusskontrolle nicht, der Exar-Treiber hat meinen Computer zum Absturz gebracht und der CTS-Pin ist hoch auf der Platine gebunden. Musste die FPGA-Karten modifizieren, damit es funktioniert.
Na ja, es gibt immer noch Prolific sowie Chips, die mit den in jedem Betriebssystem integrierten Standard-CDC-Treibern funktionieren.
Prolific tat etwas Ähnliches und löste Bluescreens aus, wenn "gefälschte" Chips entdeckt wurden.Es brachte Prolific den Ruf ein, unzuverlässig zu sein.Ich hatte vor ein paar Jahren ein paar produktive Kabel, die nie richtig zu funktionieren schienen, also suchte ich nach FTDI-Kabeln.Ich nehme an, zumindest FTDI ist offen darüber.Trotzdem haben sie viele Leute damit angepisst.Es gibt definitiv viele alternative Chips. Wenn Sie also einige der Besonderheiten der FTDI-Chips nicht nutzen müssen, ist einer davon möglicherweise eine bessere (und wahrscheinlich billigere) Option.
#2
+4
Gustav Bertram
2013-10-31 13:16:03 UTC
view on stackexchange narkive permalink

Ich denke, Sie haben einige Optionen.

Parallele Ports

Parallele Ports sind immer noch die einfachste Lösung zur Steuerung einfacher Schaltungen. Es gibt immer noch Kits, mit denen Sie den parallelen Anschluss zur Steuerung einer Reihe von Relais verwenden können.

Eine schnelle Websuche nach "Relais-Kit für den parallelen Anschluss" liefert eine Reihe von Ergebnissen. Ich habe die PDFs von zwei dieser Kits eingefügt, da sie Teilelisten und Blockdiagramme enthalten:

Die Software zur Steuerung dieser Kits kann etwas haarig werden, aber ich habe eine raffinierte Python-Bibliothek gefunden, die sowohl unter Windows als auch unter Linux sehr gut funktioniert: http://pyserial.sourceforge.net/pyparallel.html

Die meisten modernen Motherboards verfügen nicht mehr über einen parallelen Anschluss, aber es gibt viele kostengünstige Erweiterungskarten, die einen oder zwei parallele Anschlüsse bieten. Alternativ können Sie einen kostengünstigen All-in-One-PC mit parallelem Anschluss wie den Intel Atom DH2500 kaufen.

Beachten Sie, dass USB-zu-Parallel-Port-Kabel für solche Dinge im Allgemeinen nicht funktionieren. Es gibt Hacks, mit denen sie funktionieren können, aber die Hacks funktionieren nur für bestimmte Kabel.

Wenn Sie den parallelen Anschluss für eine permanente Installation verwenden möchten, beachten Sie Folgendes: Alle Relais schalten sich kurz ein und aus. Sie können nicht viel dagegen tun, es sei denn, Sie möchten das BIOS Ihres PCs neu schreiben.

Mikrocontroller

Ich habe eine Weile mit Arduino-Boards gespielt jetzt ein paar Monate. Es ist sehr einfach, Text über die serielle USB-Schnittstelle an den PC zu senden, und ich kann mir vorstellen, dass es auch nicht allzu schwierig sein wird, auf serielle Befehle vom PC zu warten.

Alternativ ist es auch eine sehr gute Lösung, die Karte so zu programmieren, dass sie die gesamte Steuerung selbst übernimmt. Es gibt eine Reihe von Erweiterungskarten, einschließlich Relais. Arduino-Boards sind auch sehr einfach zu füttern - ich habe gesehen, dass sie von etwa 5 V bis zu 20 V laufen, obwohl ich denke, dass sie für den Langzeitgebrauch zwischen 9 V und 12 V empfehlen.

Sie sollten nicht zu viel Mühe haben, Hilfe bei Arduino-Projekten zu finden. Die Community für sie ist riesig und sie sind so ziemlich für Bastler gedacht. Ich empfehle das Starter-Kit für Leute, die gerade erst mit Elektronik beginnen.

Serielle Anschlüsse (einschließlich USB)

Das Entwerfen und Erstellen von USB-Anschlusshardware steht noch auf meiner TODO-Liste. Obwohl ich sie selbst nicht verwendet habe, habe ich insbesondere über zwei Bücher Gutes gehört:

li> USB Complete, von Jan Axelson

Sie kosten jeweils nur etwa 25 US-Dollar, und wenn Sie nach dem Lesen spezifischere Fragen haben, bin ich mir sicher Weitere Hilfe finden Sie, indem Sie hier spezifische Fragen stellen.

#3
+4
Andy aka
2013-10-31 18:04:30 UTC
view on stackexchange narkive permalink

Schnäppchenkeller-Ideen

Schließen Sie niemals die analogen Ausgänge der Soundkarte aus, um viele Dinge steuern zu können. Sie können FSK (Frequenzumtastung) mit mehreren hundert Baud perfekt senden. Dies kann natürlich mit dem entsprechenden Chip decodiert werden.

Sie können sogar Töne senden, die dekodiert werden können, um alles ein- oder auszuschalten, was Sie sich vorstellen können. Mehrere Töne (jeder mit eigenem Decoder) können mehrere Ausgänge gleichzeitig steuern.

Ich habe sogar gesehen, wie eine Person eine Fotodiode an einen Teil ihres PC-Bildschirms angeschlossen und die relativen Helligkeitsänderungen decodiert hat - dies hatte eine geringe dedizierter Bereich des Bildschirms, der zum Übertragen von Daten verwendet wird. Ich kann nicht sagen, wie gut es mit LCDs funktionieren würde, aber ich erinnere mich, dass es Hunderte von Baud auf einer CRT liefert.

#4
+3
tcrosley
2013-10-31 22:13:52 UTC
view on stackexchange narkive permalink

Mit dem USB Bit Whacker 18F2553 Development Board von SparkFun können Sie 16 GPIO-Leitungen (entweder Eingang oder Ausgang) vom PC aus steuern. Es verwendet einen Microchip PIC18F2553 und stellt über USB eine Verbindung zum PC her. Es wird als virtueller RS-232-COM-Anschluss angezeigt.

enter image description here

Die Karte kostet 24,95 USD. Es gibt eine schickere Version des Bit Whacker mit einem PIC32MX795, der über 78 verfügbare E / A-Leitungen verfügt und 39,95 USD kostet. Ich habe es in einem Projekt verwendet und dort mit Python-Skripten gesteuert.

#5
+1
Tom L.
2013-10-31 16:51:10 UTC
view on stackexchange narkive permalink

Wenn ich ein Gerät entwerfen würde, das mit einem Computer interagiert, würde ich eine USB-HID-Schnittstelle verwenden. Es werden keine Treiber auf der Windows-Seite benötigt und es wird wirklich Plug-and-Play sein. Die Schnittstelle auf der PC-Seite ist etwas schwieriger (im Vergleich zu einer seriellen Schnittstelle), aber ich habe es schon einmal gemacht und es hat einfach funktioniert.

#6
  0
RedGrittyBrick
2013-10-31 15:32:28 UTC
view on stackexchange narkive permalink

Die De-facto-Schnittstelle auf Heim- und Büro-PCs ist USB

Die gängigsten Schnittstellen für einfache elektronische Geräte sind I2C, SPI, 1-Draht und GPIO (usw.)

Es ist daher nicht überraschend, dass Sie Dinge wie USB-zu-GPIO-Adapter wie this oder this

kaufen können
#7
  0
lyndon
2013-10-31 17:19:07 UTC
view on stackexchange narkive permalink

Parallele Ports eignen sich hervorragend für wirklich einfache Hardware. Ich habe eine kleine Platine, die ich vor ungefähr 10 Jahren hergestellt habe und die 8 Magnet-Treiberausgänge und 4 geschützte digitale Eingänge von einem parallelen Anschluss bietet. Das Problem ist, dass sie (1) sehr begrenzt und (2) auf "Büro" -Computern veraltet sind. Sie können wahrscheinlich immer noch eingebettete Computer finden, auf denen sie vorhanden sind, und wenn Sie "nur basteln", gibt es einen stetigen Strom verfügbarer alter PCs, auf denen sie vorhanden sind. Es ist schwieriger, sie unter Windows zu verwenden, aber unter Linux sind sie trivial zu verwenden, wenn Sie über Root-Zugriff verfügen.

Angesichts der heutigen Kosten für kleine Mikrocontroller ist es jedoch viel effizienter, alle I / zu installieren. O auf einem und verwenden Sie den PC als Benutzeroberfläche, um über eine serielle oder drahtlose Verbindung mit dem Mikro zu kommunizieren.



Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...