Menü verbergen




An Umfrage teilnehmen
Zurückblättern Letzte Änderungen Liste der Seiten Stammtisch Archiv Menü EIN / AUS



4.1.2.b X-Y-Z-Programme

Erstellt ab 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.

... 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:



  1. Relaisplatine für schaltbare Spannungen 5 & 12 Volt
  2. provisorisches Schaltnetzteil
  3. provisorische Spannungsreglerplatine
  4. Stromverteilerplatine
  5. Schrittmotortreiberplatinen
  6. RS232-Schieberegister-Platine
  7. Bedienplatine Rückseite
  8. Platine der Handverfahr-Einheit

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.
Daraufhin haucht mir Bine einen Kuss zu



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:




Springe zur Startseite --- Nach oben zum Seitenanfang






Hinweis nach EU-Richtlinie: Diese Seiten verwenden Cookies für den Surfgenuss.