Nach dem selben Prinzip wie die Relaiskartensteuerung können mit geeigneter Hardware auch Schrittmotore angesteuert werden. Die hier vorgestellte Lösung ist sicherlich nicht das Nonplusultra. Allerdings - sie funktioniert und ist sehr kostengünstig zu realisieren. Das Richtige für Bastler eben.
Der Hardware-Teil besteht aus einer Schrittmotor-Steuerplatine von Pollin, die über die parallele Schnittstelle an einen Rechner angeschlossen ist. Die Steuerplatine wird als Bausatz geliefert und enthält die Steuersoftware MotSTEP 3000 für Windows.
Pollin Electronic
Schrittmotorplatine-Bausatz (Bestellnummer 810027)
EUR 12,95
Nach dem Auflöten der Bauteile kann die Platine angeschlossen und laut Bedienungsanleitung in Betrieb genommen werden. Für die parallele Schnittstelle wird ein Kabel mit zwei 25-poligen D-Sub-Steckern benötigt. An die Klemme J4 kommt eine Spule des Motors, an die Klemme J3 die andere. Ist man sich nicht sicher, hilft das Ausmessen mit einem Ohmmeter. Die Funktion der Platine kann nun mit MotSTEP 3000 getestet werden.
Sollte beim Betrieb mit dem Perlscript der Motor bzw. der angetriebene Teil in die falsche Richtung laufen, so ist eine Spule des Motors umzupolen. An den Klemmen J5 und J6 kann je ein Endschalter zur Abschaltung angeschlossen werden. Dabei ist es wichtig, dass sich der linke Endschalter an J6 und der rechte an J5 befindet. Ist beispielsweise im Perlscript die Drehrichtung Links gegen den Uhrzeigersinn gewählt, so wird während der Motorlaufzeit nur der Schalter an J6 abgefragt. Dadurch kann sich der Motor nicht in einer Position festfahren.
Zusätzlich zum Perlscript, das die Schrittmotorplatine ansteuert, ist noch weitere Software notwendig. Alle hier angeführten Programme laufen unter dem Betriebssystem Windows und sind kostenlos erhältlich.
ActivePerl downloaden und installieren. Während der Installation wird abgefragt ob ActivePerl in den Pfad aufgenommen und die Erweiterung .pl mit ActivePerl verknüpft werden sollen. Beide Optionen markieren bzw. mit ja beantworten. Nach der Installation Windows neu starten.
Das Modul Win32::API wird mit dem Programmer's Package Manager (PPM) direkt vom Activestate-Server installiert. Die Eingabeaufforderung öffnen und mit ppm den Package Manager startet. Nun install Win32-API eingeben und warten bis das Modul installiert ist. Danach quit eingeben.
Bei Verwendung eines Proxys oder Firewall, kann es zu Problemen mit PPM kommen. PPM, Proxies and Firewalls beschreibt die Lösung.
Die Datei inpout32_source_and_bins.zip downloaden und entpacken. Im Verzeichnis inpout32_source_and_bins/binaries/Dll befindet sich die Datei inpout32.dll. Diese Datei ins Systemverzeichnis von Windows kopieren.
Damit das Perlscript zum Ansteuern der Relaiskarte aus dem Internet aufrufbar ist, muss ein HTTP-Server installiert sein. Ich bevorzuge den Janaserver mit deutschsprachiger Oberfläche. Der Janaserver ist eine Multifunktionsserver. Für unsere Zwecke wird jedoch nur der HTTP-Server benötigt. Eine umfangreiche Installationsanleitung erspare ich mir, da der Janaserver sehr gut dokumentiert ist.
In den Grundeinstellungen unter IP-Adressen muss der HTTP-Server an die IP-Adresse 0.0.0.0 gebunden sein, damit er über das Internet erreichbar ist. Der Standardport für HTTP-Server ist 80 und sollte nicht ohne Grund geändert werden. Unter Servertypen werden die Einstellungen für den HTTP-Server vorgenommen. Bei Ausführbare Script-Dateien muss die Dateiendung .pl mit perl.exe verknüpft sein.
Wer über eine dynamische IP mit dem Internet verbunden ist, benötigt einen statischen Hostnamen. Näheres dazu ist auf der Seite Dynamic DNS zu finden.
DIE FEHLERFREIHEIT DIESER SOFTWARE KANN NICHT GARANTIERT WERDEN. JEGLICHE HAFTUNG FÜR DIREKTE UND INDIREKTE SCHÄDEN WIRD HIERMIT AUSDRÜCKLICH AUSGESCHLOSSEN. DIE VERWENDUNG ERFOLGT AUF EIGENE GEFAHR.
Die Datei stepper.zip downloaden und ins CGI-Verzeichnis (cgi-bin) des vorher installierten Webservers entpacken. Das Perlscript stepper.pl zum Ansteuern der Schrittmotorplatine läuft nur auf Rechnern mit dem Betriebssystem Windows und muss vor dem ersten Einsatz konfiguriert werden.
Das Script entspricht einer abgespeckten Version von MotSTEP 3000. Die Anzahl der Motorschritte sollte immer durch die Zahl 4 teilbar sein. Eine Missachtung hat verlorene Schritte zur Folge. Für die Geschwindigkeit ist 10-20 ein guter Ausgangswert. Je höher die Zahl, desto langsamer der Motor. Bei Erreichen einer Endposition oder parallelen Zugriffen werden in der Statuszeile Meldungen ausgegeben.
Vor dem ersten Einsatz sind einige Einstellungen in der Datei stepper.pl vorzunehmen. Dazu wird das Perlscript mit einem Texteditor geöffnet und laut nachfolgende Anleitung konfiguriert.
$script_url | Diese Variable enthält die URL des Perlscripts. |
$noncgi_dir | Für den Janaserver muss hier nichts verändert werden. Bei manchen Webservern ist es nicht möglich Bilder und Stylesheets im CGI-Verzeichnis aufzurufen. Über diese Variable kann für die Bild- und CSS-Dateien ein Verzeichnis ausserhalb definiert werden (ohne Schrägstrich am Ende). |
$port | Diese Variable enthält die Adresse der parallelen Schnittstelle in hexadezimaler Schreibweise. Die Adresse ist im Gerätemanager unter Anschlüsse ersichtlich. Im Falle nachfolgender Abbildung wäre die Adresse 0x378 einzutragen. |
Nach Abschluss der Konfiguration kann das Script über den Webserver gestartet werden. Die Ausgabe im Browser sollte ungefähr obiger Abbildung entsprechen.
Nach dem Start von Windows und vor dem Einschalten der Schrittmotorplatine müssen alle Datenkanäle der parallelen Schnittstelle auf Low-Pegel gesetzt werden. Dazu befindet sich im Verzeichnis Console von stepper.zip die Datei init.pl. Vor dem ersten Start sind der Port einzustellen und alle Kanäle auf 0 zu setzen. Abschließend muss die Datei init.pl in den Autostart-Ordner von Windows kopiert werden. Ab nun wird nach jedem Start die Grundeinstellung hergestellt. Bei Stillstand darf der Motor nicht heiß werden!
Version 0.91
Version 0.90