Zurück zum Menü 4 4.0.6.b X-Y-Z-Programme Erste Fassung: Frühling 2009 |
Nachdem
mein Sohn Jan (15) inzwischen besser programmieren kann als ich,
begannen wir, ein Programm für die Fräse zu entwickeln. Zunächst überlegten wir, ob wir den Softwareaufwand treiben sollten und eine freie Belegung des LPT-Steckers zulassen sollten. Wir haben uns aber so entschieden, dass wir hier die Belegung fest vorgeben, denn die 8 Drähte sind ja schneller umgelötet, als man dies softwaremäßig erledigen könnte. Außerdem wird dann das Programm einfacher zu bedienen sein. Zunächst installierten wir also Win XP auf dem Fräsrechner und dazu ein fertiges Fräsprogramm von eBay, um die Maschine erst einmal zu testen. Das lief auch schon sehr gut.
(Foto 2009 --- Jan und Stephan vor den PCs, links ist die Maschine zu sehen.) Jetzt hatten wir also die
Pinbelegung für die Maschine und die folgenden Programme wie folgt
festgelegt:
Schon bald war das erste
Programm zum Kalibrieren der Maschine fertig. Das Programm malt ein
Quadrat auf ein Blatt Papier, nachdem man die Schrittanzahl der Kante
vorgegeben hat.
Dann nimmt man ein Lineal und misst die Kantenlänge aus. Danach gibt man den gemessenen Wert in Millimetern in das Progamm ein und das Programm berechnet den Verfahrweg pro Schritt. Dieser Wert ist ja später wichtig, um die spätere Steuerungssoftware richtig einstellen zu können. Merke: Je größer du das Quadrat malen lässt, desto genauer wird das Ergebnis der Berechnung, da der Messfehler mit dem Lineal immer geringer wird. Bei unserer Maschine war das Ergbnis bei 800 Schritten sehr genau. Bei Maschinen mit Spindelantrieb kann die Schrittzahl pro Seite noch sehr viel größer gemacht werden und das Ergbnis würde dann noch genauer ausfallen. Hier mal ein Screenshot des
Programms:
Und hier der Download ( WIN-XP, quadrat.zip, 23kB) ------------------------------------------------------------------------------------------------- Sommer 2010 ==> Ein Jahr lang habe ich nun nach einer
bequemen Möglichkeit gesucht, meine (unsere) Maschine mit Linux zu
programmieren. Dabei gab es aber stets das Problem, dass der LPT-Port
unter Linux nur recht schwierig ansprechbar ist und bis heute niemand
in der Lage war, das einmal einfach und für Anfänger
darzustellen.
Zunächst versuchte ich, die Open-Suse
rum zu kriegen, aber sie gab sich in 2009 noch ein wenig störrisch
...
Schließlich fragte ich mal bei den Ubuntu-Usern nach und lernte Ubuntu-Linux kennen und war doch positiv überrascht, wie einfach die Programmierung eines ultra-modernen PC mit Gambas sein kann: Aber einen LPT-Port ansprechen konnte ich
auch damit nicht. --- schnief ---
Aber Ubuntu-Linux fand ich prima. Es war das erste Linux, das in 2009 leicht zu installieren war ... Ich lernte, die RS232-Schnittstellen so zu programmieren, dass ich zwei Ausgangsleitungen separat ansprechen konnte und Eingangsleitungen gibt es noch einige mehr. Danach suchte ich lange nach einer Möglichkeit, aus diesen zwei Leitungen einen 8 Bit breiten Bus zu generieren, bis mir die einfache Idee in den Sinn kam: Nicht kleckern, sondern klotzen !
Also schaute ich nach RS232-PCI-Karten und
wurde auch bald bei www.pollin.de fündig und kaufte 2 Karten mit
je 2
RS232 Schnittstellen drauf.
Somit hatte ich ja jetzt meine 8 Bit !
4 Schnittstellen mit je 2 Ausgangsleitungen
ergeben 8 Ausgangsleitungen.
Klar, dass ich dazu eine Anschlusskarte brauche, die ich in diesen Tagen erstelle. Übrigens sind die benötigten seriellen Verlängerungskabel dazu bei www.pollin.de sehr preisgünstig, so dass ich auch dabei keine Kompromisse machte und einfach 4 Verlängerungskabel mit je 5 Meter Länge bestellte. Einbau der RS232-Karten:
Einbauzeit: 2 Minuten ==> Deckel auf, Karten rein, Deckel zu --- fertig ... Zunächst jedoch benötige ich erstmal eine Anschlusskarte, über die ich meine Maschine mit dem PC verbinden kann. Da drauf sollen dann 4 Steckbuchsen für die 4 RS232-Kabel sitzen und für jeden Eingang und Ausgang soll eine low-current- LED vorhanden sein, die den jeweiligen Zustand der Leitung visualisiert. Als Erklärung für diese Technologie
kannst Du einmal diesen Artikel
lesen ...
... man sagt ja immer: "Gut Ding
will Weile haben ..." ;-)
... und: "Kommt Zeit, kommt Rat
..."
Da an dieser Fräse aber inzwischen gewiss ein ganzer Liter Leim, 30 Jahre und etwa 6 PC-Generationen verarbeitet wurden, will ich mal nicht so sein, und das Teil weiter voran treiben ... Bine sah mir lächelnd
über die Schulter und kicherte nur:
"Wieso nimmst Du nicht die Schaltung, die Du mit dem PureBasic vorgestellt hast ?", fragte sie. "Na, weil ich doch nur zwei Ausgangspins mit der RS 232 unter Gambas schalten kann", meinte ich. "Ich nehme doch jetzt Linux. Ubuntu. Weißt Du doch ..." "Naja", sagte Bine, "ich weiß ja nicht, wo Du Deinen Kopf die letzten Wochen gehabt hast, aber ich würde ja mal sagen, dass es für die alte Platine zwei RS232 auch getan hätten, anstatt jetzt 4 Stück verwenden zu wollen ..." Ich errötete voller Scham und las mir noch einmal den Artikel über die Platine mit dem Schieberegister durch: Ausgangskarte mit Schieberegister "Oh, Himmel ! Ich Ochse !", durchfuhr es mich. Klar, dass man für diese Platine auch mit nur 2 RS232-Karten auskommt, denn man hat ja dann bereits 4 Ausgangs-Pins zur Verfügung. Also machte ich mich an die
Arbeit, baute die Ausgangskarte mit dem Schiebereister und ein
provisorisches Netzteil ein ...
So sah es dann schließlich im "Maschinenraum" der Fräse aus:
Ok, ich sehe ein, dass die
Schieberegisterplatine jetzt nur einen Stecker für eine einzige
RS232 hat. Das Ganze löse ich dann noch mit einer kleine
Adapterplatine, denn die Schieberegisterplatine hat ja zum Glück
auch ein paar Schraubklemmen von mir spendiert bekommen.
Ja, Leute, reichlich
Kuddelmuddel, aber es macht Spaß,
wieder einmal so richtig "in der Elektronik herum zu wühlen" ... Bine fragte mich noch, wie wohl
ein Schrittmotor von innen aussähe. Ich war sehr stolz, ihr einen
Motor dieser Bauart auf einem Tablett präsentieren zu können:
"Ach", sagte Bine, "und diese Igelwalze ist dann für die Schritte zuständig ?" "Ja, das ist der Rotor mit ganz vielen Permanentmagneten", grinste ich. "Aha, meinte Bine, "wollen wir ein Stückchen Kuchen essen ?" "Jou !", rief ich und wir verschwanden in der Werkstattküche ... Tage später erschien mein Freund bei mir und rief: "So, Du Schludrian ! Ich habe Deinen Artikel im Internet verfolgt !" "Und ?" "Du solltest die Sache mit den vier Platinen weiter verfolgen", rief er. "Wieso ?" "Weil man es dann viel leichter hat, die Motoren zu programmieren !" "Das ist doch alles Quatsch !", sagte Bine, "ich finde, Du solltest Dein I2C-Projekt vorantreiben." Mein Freund und ich sahen uns fragend an und dann machte ich schließlich doch nicht beim I2C-Projekt weiter, sondern verwendete die vier RS232-Karten. und verriet mir, dass sie vor 20 Jahren einmal IT studiert hatte ... Nun sah es im "Maschinenraum"
also so aus:
Mein Feund meint nur: "Lass das bloß Deinen alten Lehrmeister nicht sehen !" "Die Drähte oben hast Du ja verlegt, wie wenn ein Bulle pisst !" "Naja", sagte ich , aber unten drunter ist der Kabelkanal doch schön angedeutet" ... ... "und außerdem ist das eine wahre Pioniertat !" ..." drei RS232 Schnittstellen !" "Sagtest Du nicht etwas von 4 RS232 Karten ?", brummte mein Freund unverdrießlich. "Ja, drei Stück, für jede Achse eine und dann noch eine weitere für ein 5 Volt Relais und ein 12 Volt Relais." "Man, musst Du Torf im Kopf haben" ... brummte mein Freund etwas zuversichtlicher ... Da klopfte es an der Tür ... "Herein ..." Die Tür öffnete sich und Bine trat ein. "Süß, wie ihr beide euch streitet", lächtelte Bine. "Was ist denn bislang passiert ?", meinte sie, "ist die Fräse bereits auch nur einen Millimeter gefahren ?" "Nö", meinte ich etwas kleinlaut. Ich habe nur schon einmal ein kleines Gambas-Programm geschrieben, um mein Vohaben zuvor zu testen..." "Süß", rief Bine wieder ganz enzückt, "ein ganz, ganz süßes Programm, wirklich !" "Ist ja schlimm, diese Knutscherei", rief mein Freund. "Tja", sagte ich nur und grinste frech. "Und wie willst Du die 4 Schnittstellen zur Fräse durchkabeln ?", fragte Bine neugierig. "Nun", meinte ich, "ich nehme ein SUB-D-25-er Kabel und kurz vor dem PC setze ich einen Adapter auf 4 mal SUB-D-9er"... "Oh, interessant", rief Bine. "Hast Du den Adapter schon fertig ?" "Naja, fast", sagte ich und zeigt ihr den angefangenen Adapter voller Stolz: "Oh, den hast Du aber schön hindrappiert", rief Bine. "Ja, auf solchen Schnickschnack steht der !", rief mein Freund. Ich ließ mich nicht
beirren und zeichnete erst einmal den Schaltplan für die
Adapterplatinen auf:
Wozu nun das MOS 4093 ? Nun ja, davon habe ich immer
welche liegen und ich habe dieses IC hier als Puffer benutzt. Es war
nämlich so, dass der in der Maschine nachgeschaltete L297
Motorcontroller die Signale der Z-Dioden nicht akzeptiert hatte. Also
bastelte ich mir ein sauberes Logik-Signal mit dem MOS 4093.
Daraus entwickelte ich dann
folgendes Layout:
Ja, un diese Karten hast Du ja schon oben in dem "Maschinenraum" gesehen. Schließlich war auch der "vieschwänzige" Adapter fertig und glänzte am PC vor sich hin: Zunächst installierte ich
unter Ubuntu 10.10 die Programmiersprache Gambas und dann begann ich
auch sogleich eine Testoberfläche für meine Werke zu
schreiben:
Die Wochen und Monate vergingen
und wir schreiben inzwischen den 02.07.2011.
Die vier RS232-Schnittstellen
laufen unter Ubuntu 11.04 einwandfrei und sind an die Maschine angebaut.
Hier beschreibe ich einmal den Werdegang der zugehörigen Software. ---------------------------------------------------------------------------------------------------
Frohes
Programmieren
wünscht:
|
|