Zurück zum Menü 5

5.3.4 RS 232 Parallelkarte an Ubuntu

(Beispiel für Windows 7 inklusive)



Erstellt ab: 18.04.2010




So, nach dem wir das Prinzip anhand dieses Artikels studiert haben,  können wir dazu übergehen, einen  feinen  Steuerungs-PC  aufzusetzen.

Hier noch einmal die grundlegende Schaltung, von der wir nun ausgehen:


Um einmal die Stimmen zu besänftigen, die ständig behaupten, die Sache mit den Z-Dioden könne man nicht so machen, schreibe ich hier einmal einfach, wie es wirklich ist:

Man kann das so machen. Die RS232 ist kurzschlussfest und begrenzt den Strom durch die Z-Dioden selber.

Was aber viel wichtige ist und wovon kaum jemand etwas schreibt, ist die Maschinensicherheit dieser Schnittstelle. Es ist nämlich so, dass alle Ausgänge auf logisch "1" liegen, sobald  das IC seine Spannungsversorgung bekommt.

Das kann eine angeschlossene Maschine zerstören, oder noch schlimmer:

Es können Verletzungen auftreten, wenn die Maschine plötzlich von allein und ohne PC irgendwelche  Tätigkeiten verrichtet.

Es gibt nun eine ganze Reihe an Möglichkeiten, wie man dies logische "1"  bei  Spannungszufuhr vermeiden kann. Dazu habe ich sehr lange überlegt, welcher Weg wohl der beste wäre.

Ich entschied mich dann dafür  eine  einfache  Bastelvariante zu wählen:

PNP-Transistoren in Emitterschaltung.

Diese Variante ist einfach  zu  verstehen,  leicht und logisch auf zubauen und  die (vielleicht  kaputtgebastelten)  einzeltransistoren können leicht ausgetauscht werden.

Trotzdem sollte man das IC noch zusätzlich sockeln.

Hier also erst einmal die Schaltung mit den Inverter-Transistoren. Ich habe den allgemeinen Typ BCY79  gewählt, weil dieser Typ sehr robust ist und eine leicht verständliche Gehäusebauform hat:


Hier noch einmal die Pinbelegung eines SUB-D-9er-Steckers:



Die Pinnummern sind aber auch hinten am Stecker ganz klein eingeprägt.
Es ist auch logisch, dass die Pinnumern bei Männchen und Weibchen jeweils gegensinnig laufen.

Wie wir sehen, wird die Transistorstufe acht mal aufgebaut. Das mag vielleicht ein gewisser Aufwand sein, aber mit dieser Schaltungsvariante können wir auch direkt an die Ausgänge z.B. Relais anklemmen.

Jetzt müssen wir natürlich aufpassen, dass wir jedes Bit in der Software negieren, bevor wir es an die Ausgabeplatine senden.

Dazu habe ich einmal folgendes PureBasic-Linuxprogramm geschrieben. Es ist das gleiche Programm wie das für Windows, jedoch werden nun die Bits negiert ausgegeben, damit sie nach dem Emitterfolger auch "richtig herum" heraus kommen:

Quellcode, PureBasic, Linux,  getestet unter Ubuntu 9.10 --- Quellcode --- Download
Fertig compiliertes Einzelprogramm, getestet unter Ubuntu 9.10 --- Ausführbares Programm --- Download

So sieht das Progrämmchen unter Ubuntu 10.04 LTS aus:



Für einen USB-Adapter gibt man natürlich folgende Schnittstelle an:  "/dev/ttyUSB0"

Hier geht es zum passenden USB-Adapter (Warenkorb bei Reichelt Elektronik)

Der Adapter funktioniert unter Ubuntu sofort nach dem Einstöpseln.

Für Windows liegt eine kleine Treiber-Mini-CD-ROM bei.
Unter Windows simuliert der Treiber dann einen (zusätzlichen) COM-Port.

--------------------------------------------------------------------------------------------------------------------------------------------------

Aber natürlich funktioniert das unter Windows 7 genau so.

Das sieht dann so aus:


Und hier die Dateien:

Windows XP / 7 ==> Quellcode Download --- Ausführbares Programm Download (ZIP)



So, nun fehlt uns hier nur noch ein Platinenlayout dazu:





Und fertig ist die Experimentierplatine "8 Bit Ausgabe an der RS232 Schnittstelle":





(Das Original kann in der jeweils neuesten Version ein wenig von diesem Foto abweichen.)


Teilesatz bei www.reichelt.de

OpenOffice-Draw ==> Blatt für die Beschriftung (Download)

 

  • Der verwendete SUD-D-9-Stecker muss hier ein Weibchen sein, sonst funktioniert es nicht.

  • Das serielle Kabel darf kein Nullmodemkabel sein, denn sonst sind Pin 3 und Pin 4 vertauscht
    und auch dann wird es nicht funktionieren.

Aber für die Verkabelung "von Hand" und die Erweiterung mit der Eingabekarte sind die drei Signaleingänge oben links noch einmal extra auf Klemmen geführt. Unten Links sieht man die Klemmen für die Spannungsversrogung (5 Volt) und am rechten Rand liegen die Ausgangsklemmen 1 bis 8 und zwei Klemmen, mit denen man diese Karte kaskadieren kann.

  • Wenn ein µ-Controller an die Eingangsklemmen angeschlossen werden soll, so müssen die Z-Dioden weg gelassen werden !

Durch die Möglichkeit, diese Karte kaskadieren zu können, kann man sich ein Ausgabeinterface mit mehreren Karten aufbauen, das eine beliebige Bitbreite (pro Karte 8 Bit hinzu) hat.

Übrigens kann man direkt an die Ausgangsklemmen die guten Finder-Printrelais (6 Volt) anklemmen. Den nötigen Strom dazu liefern die BCY79 Transistoren.

Für Programmier-Übunszwecke sind die drei Signalleitungen der RS 232 mit den drei LEDs in der Mitte der Platine visualisiert. Das erleichtert enorm das Programmiergeschehen.

Schließlich ist sogar die Versorgungsspannung mit einer LED direkt bei den Spannungsversorgungsklemmen unten links visualisiert.

Als Kartengröße habe ich eine Europakarte mit 160 x 100 mm gewählt. Dadurch ist das Layout recht robust und leicht nachbaubar.

--------------------------------------------------------------------------------------------------------

Und hier noch einmal alle benötigten Dateien als ZIP-Archiv zum Download.

Download Version 1 # 2 --- (rs232-ausgabe-paket.zip)

für Windows XP / Windows 7 und Ubuntu Linux


Der Sprint Layout Viewer ist Freeware der Firma ABACOM Ing.-Gesellschaft, Ganderkesee

Der beigelegte Sprint-Layout-Viewer funktioniert unter Ubuntu-Linux wunderbar unter Wine.

Als Drucker für die Layoutfolien empfehle ich einen HP Deskjet.

Die Folien müssen dann dreifach übereinander montiert werden (mit  Passkreuzen und Tesafilm) und
damit können die Platinen dann gut und sauber belichtet werden.


-------------------------------------------------------------------------------


Viel Erfolg mit der Platine,





Nach oben            Zurück zum Menü 5