CNC Projekt

Hier mein neustes Projekt
Geplant ist eine 2,5D CNC-Fräsmaschine.
Steuerbar über NC-Code, und über USB anzuschließen.
Die Software ist bereits fertiggestellt!

Bilder sind nicht von der neuesten Version der Software.

Hier sieht man die Simulationsoption.
Später kann man hier in Echtzeit verfolgen, wie weit das Werkstück bearbeitet ist.

Hier eines der ersten „Hardware“ Teile. Die Aufnahme der Fräse. Hier wird die Z-Achsen Verstellung angebaut.

Hier die erste Platine. (noch nicht fertig)
Enthalten ist der Microcontroller, zur Steuerung der IOs, die USB-Schnittstelle, und die Verbinder zu den IO-Karten.

Weitere Bilder coming soon…

CNC Projekt

News incoming …

Nun ist auch Platine 2 (8x 24V DC Output)

und 2x Platine 3 (8x 24V DC Input)

fertiggestellt. Hier dann die gesamte Steuerung vorerst zum testen ohne Gehäuse.

CNC Projekt

So… NEWS incomming:

Die CNC-Steuerung ist eingerichtet, Programm draufgemacht, USB funktioniert.

CNC Projekt

Sooo, nach etwas längerer Zeit wieder mal ein paar News.

Nachdem ich den Testaufbau soweit hatte

Und ihn verdrahtet hatte, haben wir (Basti und ich) an einem Schattigen Plätzchen die Funktionen gestestet.
Anfangs lief alles sagenhaft. Die Kommunikation über USB geht 1A und die Funktionen der X-Achse liefen auch top. Dann habe ich alles auf die Y-Achse umgeklemmt, wir starteten die ersten Tests, und ein Bug in der Microcontroller Software sorgte dafür, das sich die Idee das ganze mit Drehstrommotoren zu realisieren, wortwörtlich in Rauch auflöste.

Für die Insider: Um die vielen Schaltvorgänge der Schütze besser zu realisieren habe ich mir Thyristorrelays bestellt. Diese schalten elektronisch. Nun hat die Steuerung beim Grundstellungsfahren den Motor linksherum gedreht. Nach erreichen der Grundstellung schaltete der Microcontroller auf rechtsrum. Ich habe das ganze Hardwaremäßig verriegelt, das nicht beide Schütze gleichzeitig an sein können. Woran keiner von uns gedacht hat, ist der „Thyristor“. Dieser schließt sich erst beim Nulldurchgang der Phase wieder. Nun ist der Microcontroller so schnell, das er den einen Schütz schon geöffnet hat, wärend der andere noch offen war. Bääämmm Kurtzschluß über 2 Drehstromphasen. Die Flinke 0,2 Amp Schmelzsicherung explodierte in einem Tempo, das es die Fassung mit zerrissen hat. Die Sicherung der 2 Phasen im Hausanschlußkasten war auch mit dran.
Nach dem wiedereinschalten, mußte ich feststellen, das sich das eine der tollen Schütze zu den ewigen Jagdgründen begeben hat. 120 Euronen verpufft wie nix

Nunja man könnte es bestimmt irgendwie hintrixen, was sich garantiert auch auf die Zeit auswirkt, wodurch die ganze Steuerung träger werden würde, also mußte es anders gehn. Also doch zu den schonmal angesprochenen Schrittmotoren greifen.

Es soll ja nichts kosten, also muß da selbst was gebastelt werden. Ran an die Schrottkiste, und was zusammengenagelt.

Zuerst ein paar experimente mit einer Glühbirne, einem NE555 Frequenzgenerator und einem Leistungstransistor, nachdem das funktioniert hatte, gleich mal „PROFI“sorisch das Leistungsteil auf nen Kühlkörper getackert. Beim ersten Test an einer Motorspule glühte gleich mal die zu klein Dimensionierte Diode durch wodurch der erste Leistungstransistor auch Flöten ging. Also gräßere Freilaufdioden und nen dicken Kühlkörper.

Noch die Vorstufe zusammenbasteln

Das Microkontroller Testboard rauskramen, verwursteln

und von Basti ne kleine Treibersoftware schreiben lassen.
Nach ein paar Optimierungen schnurrte das ganze wie gewünscht

Inzwischen habe ich das zukünftige Zuhause meines 2 Achsen 3 Phasen DC Servomotor Reglers (Das Gehäuse) fertig. Nun müßen noch die Leistungsbauteile rein, ein Paar anschlüsse, und die elektronik muß zusammengebastelt werden.

So das wars erst mal wieder von der Front.

CNC Projekt

Nachdem Basti die neue Firmware für den Servoregler fertig hat, kann ich nun die Stromgrenzwerte des Motors vom PC aus einstellen und ermitteln.

Sehr nett 😀

Gruß

Edit:
Für die nächsten Tests muß der Strom des Motors gemessen weden, um die Powercontrol dynamisch vom Mikrocontroller einstellen zu lassen. Zuerst wollte ich die Messung über einen Hall-Sensor machen. Nach Rücksprache mit Fachleuten in meiner Firma habe ich dann erfahren, das bei diesen Bauteilen bei einer Gleichspannungsmessung der Feritkern magnetisiert, und dann die Messwerte weglaufen. Nach einigem hin und her habe ich mich für eine direkte Lößung über einen OpAmp entschieden. Dafür und für die Aufbereitung des Gebersignals (Sinus/Cosinus 1Vss) habe ich auch erst mal ein Testboard zusammengebastelt.

CNC Projekt

Sodala, wieder einen Schritt weiter.
Die erste hälfte Platine für die Servoregelung ist fertig.

Beinhaltet ist
Netzteil +5V -5V +8V (Motorgeber)
Microcontroller
Vorstufe für 3 Phasen Pulssteuerung
Strommessung
Verstärker für Gebersignal
Galvanisch getrennte I/O Baugruppe

CNC Projekt

Für die Testphase der Treibersoftware, und zur Fehlersuche auch für andere Basteleien, habe ich erst mal ein „Standard“ USB Testmodul gebastelt, um alle Arten vom Mikrocontoller an den PC anschließen zu können.

UART to USB

CNC Projekt

Heute habe ich die erste Firmware für meine Servosteuerung von Basti bekommen.

Aktuell enthalten in der Testversion ist:
PWM inklusive Perioden und Pulsweitenvorwahl
Testlauf rechts/links
Debugging für Drehgebertest und Strommessung

Gleich mal eine neue Testsoftware aufgesetzt

Gruß Steffen

CNC Projekt

Heute habe ich die Steuerplatine für den 2 Achsen Servoregler fertiggestellt.

Der Gebersignalverstärker und die Strommessungen sind kalibriert, die I/Os getestet, und die Schnittstellen laufen Tiptop.

Jetzt kanns ans Grobe gehn. Als nächstes werden die fertigen Brocken des Leistungsteil zusammengeschraubt und verdrahtet. Danach müssen die Gehäuseblenden für Stecker (230V Versorgung, Motorkabel 2x, Geberkabel 2x, und I/Os) gebohrt werden.

Gruß Steffen

CNC Projekt

Es ist so gut, wenn man Optisch sieht das was voran geht. Das macht tausend mal mehr spaß, als 3 Wochen lang an einer Platine zu sitzen, und nicht zu sehn, das sich was tut.

Heute habe ich einige Teile für das Reglergehäuse hergestellt. Bleche zugeschnitten, gebohrt …
Danach an der Drehmaschine Stehbolzen, Transformatorhalterung gedreht.
Wo ich dann dabei war, habe ich bereits überfällige liegengelassene Teile gedreht, wie die Deckel für meine Servomotoren (geändert), die Welle für meinen Y-Achs Servo, ein paar Kleinteile, und was ganz wichtig für die Tests ist, ein Drehmomentsimulator.

Danach habe ich noch ein bisschen Verdrahtet.

Gruß Steffen

CNC Projekt

So allmählich nähert sich der bau des Reglers dem Ende und wir können wieder zu Post 6 in diesem Forum zurückkommen.
Heute habe ich den Kabelbaum fertiggestellt.

Gruß

CNC Projekt

So, wo fang ich an…

Alles ist fertig, Wochenlange tests, ohne Probleme.

Den Regler zusammengeschraubt, Motor (Bilder folgen noch) dran, eingeschaltet …

Pfffffftttttttt……..

Also, alles wieder auseinandergeschraubt, Fehler mußte ich nicht suchen, da ich gesehen habe, wie die weiße neblige Hölle aus einem der Vorstufentransistoren kam.

Das ist ja mal sehr übel. Das ist dann eine Situation, in der ich die komplette Schaltug erst mal in Zweifel gezogen habe. OK, nach einigen Diskusionen mit Basti, hat er dann mal ein Spicemodel der Schaltung erstellt.
Der erste Eindruck war OK. Hier und da ein paar Spikes, aber nichts worauf man den Tot eines total unterforderten Vorstufentransistors schließen könnte. Basti hat dann also die Schaltung geändert, simuliert, ich habe die Einphasige Testschaltung aufgebaut, und diese dann Dreiphasig im Regler umgesetzt. Schaltung 2 geht nicht?! Hmmm… probleme mit dem Spicemodel?
Schaltung geändert, Endstufentransistoren geändert, Simuliert, schaut gut aus. Ich die Schaltung 3 im Regler umgesetzt, geht nicht!? Hmmm… Der Verzweiflung schon nahe, nach nochmaligem Stundenlangen grübeln und testen, hat mir dann Basti Schaltung Nr. 4 geschickt. Alles neu aufgerollt, alles doppelt abgesichert und überdimensioniert. Alles nochmal zur Probe Einphasig aufgebaut, geht. Das Motherboard des Reglers zum 4ten mal umgebaut. Alles eingebaut, Netzteil dran, geht nicht.

Ahhhhhhhhhh….

Oszi dran, gemessen, nanü, was sind das denn für komische Signale. Die dürften da garnicht sein.
Das Netzteil mußte nur 30mA liefern. Komisch, dachte ich mir, mess ich doch mal die Spannung am Shunt.

?

Warum hab ich denn da eine 30V Amplitude am Shunt, das kann doch garnicht sein.
Bämm … da hat mich der Schlag getroffen. Verdammte SCH%$!$%

Das letzte, aber auch wirklich das allerletzte, das ich vermutet hätte, was es zerreist, ist der Blöde Strommess-Shunt. Alle Schaltungen, auch die Ursprüngliche hätte funktioniert, wenn ich den Vorstufentransistor und den Shunt getauscht hätte.

Das Teil hätte nie Platzen dürfen, wo es total überdimensioniert war. Naja, Made in China halt.

Also gut, sowas passiert mir nicht nochmal. Dann mach ichs halt auf die alt hergebrachte Art, und stell mir selbst einen her. Wiederstandsdraht aus der Kruschkiste rausgesucht, 8 Drähtchen Paralell gewickelt, die passende Länge ausgerechnet, ein paar Milimeter nachoptimiert, und eingebaut. Der Shunt geht nie wieder kaputt.

Gleich noch nen Entstörkondensator mit reingepackt, die Strommessung neu kalibiriert, das Motherboard wieder in den Regler eingebaut, und siehe da, es geht alles.

Ein gutes hats ja wenigstens. Nun sollte die Vorstufe gegen alle eventualitäten gesichert sein.
Nochmal 1000 Dank an Basti, für die vielen Simulationen, und die Arbeit bei den Layouts.

PS. 1,5 Stunden Burnin hat die Neue Schaltung schon hinter sich.

CNC Projekt

Nun ist noch eine Testplatine nötig, um z.B. den Frequenzgenerator TTL 5V oder das Mikrokontroller Testboard 5V an die 24V I/Os der SPS oder den Regler anzuschließen, oder andersrum.

4x Pegelwandler
5-24V Input
5-24V Output

Gruß Steffen

CNC Projekt

Heute bin ich mit Hilfe von Basti wieder einen gewaltigen Schritt weiter gekommen.

Die letzten Tage habe ich meine Software Scope (DE: Oszilloskop) optimiert, wärend Basti an der Firmware geschraubt und optimiert hat. Die Bussgeschwindigkeit auf dem Com-Port ist inzwischen auf üble 460800 Baud eingestellt, um jede Millisekunde alle Benötigten Daten in Echtzeit zur Verfügung zu haben.

Auf Wunsch habe ich noch eine Option ins Scope eingebaut, um den Datenstrom in eine Datei (.csv) zu schreiben.
Mit Excel kann man dann schön die Werte analysieren.

Basti hat inzwischen die Firmware soweit fertiggestellt, das ein PID-Regler integriert ist, um die Pulsweitenmodulation dynamisch zu regeln und beim verfahren den gewünschten Stromwert hält. Es gibt einen Idle Strom (Ruhezustand), einen Verfahrstromwert, und einen Maximalstromwert. Im Idelmode hällt der Motor seine Possition, beim Verfahren wird der Sollstrom auf den Wert des Verfahrstroms geregelt, welcher nach einer Sicherheitszeit wieder auf den Idelwert fällt. Pulslänge, Hi-Phasenlänge, Idel-Strom, Verfahr-Strom, Max-Strom, Proportional, Integral, und Diferenzial – Regelkonstante, Einschaltverzögerung, Abfallverzögerung, Geberschrittweite, und viele Werte mehr, lassen sich über USB verändern und fest auf den Flashspeicher der Steuerung schreiben.

Heute, nachdem wir beide soweit waren, haben wir zusammen die Optimierung der Regelung, und noch ein bisschen feintuning an der Firmware und den Regelwerten vorgenommen.

Dann gings ans Messen der Leistungsgrenzen, und das justieren der Steuerung wenn die Motoren unter Last stehen.
Angefangen mit Testwerten haben wir es gleich gewagt, den Verfahrstrom um 100% zu erhöhen, und die Maximalleistung auf 80% (Pulsweite zu Hi-Phase) zu setzen. Drehmomentsimulator auf 1,5 Nm eingestellt, Verfahrimpuls drauf, und …

Das Läuft aber gut, ich hätte hier erstmal nicht mehr als 1 Nm erwartet

Am Ende der Tests waren es dann weit über 2,5 Nm und es wäre sicherlich noch mehr gegangen.

Wow, wie der das rumzieht …

Zugegebenermaßen war der Motor danach doch schon recht heiß. Aus Temperaturgründen, und natürlich auch aus Angst, den Rotor zu entmagnetisieren, (Hier traten kurzzeitig Bedenken wegen eines Fehlers auf) haben wir den Strom geringfügig reduziert, wobei die Maximalleistung noch bei 80% liegt.

Das zu sehen, wie alles harmonisch zusammenspielt, wie toll das alles Funktioniert, entschädigt 10x die lange Zeit beim bauen der Steuerung.

Als nächstes habe ich dann die Geschwindigkeit der Verfahrimpulse erhöht und mit einem Drehzahlmesser die U/min des Motors gemessen.
Auf die Achse umgelegt, könnte ein Tischvorschub von 0-420 mm/min realistisch machbar sein.

Um die genauen Werte zu ermitteln, muß nun allerdings als nächstes die Hardware gebaut werden, die Motoren auf die Hardware abgestimmt, und getestet werden.

Gruß Steffen

CNC Projekt

Auf Wunsch, hier der Stifthalter (Plottereinsatz) mit 43er Norm-Aufnahme die mir netterweise ein Kollege angefertigt hat.

Innen eine Teflon Gleitbüchse, und Halterung für „Staedtler“ Marker.
Gedacht ist das Teil zum Testen, grob Ausrichten und Plotten auf der Maschine.

Danke Jochen!

CNC Projekt

So da es inzwischen nicht mehr ganz so kalt ist, und man sich wieder in die Werkstadt trauen kann, sind inzwischen wieder ein paar Teile fertig.


2x Halter für Motoren und Spannrollen


8x Messing Gewindebüchse für die Spindel
8x Klemmscheibe


4x Lagersockel Radial für die Spindel
4x Lagersockel Achsial für die Spindel


etliche Spezialmuttern und Werkzeug


8x Bürsten für die Spindeln


2x Spannrollen

CNC Projekt

Es geht voran!

Heute morgen habe ich mit meinem Dad 3 Stunden die Tischkreissäge ausgerichtet, nachdem wir das Metallsägeblatt eingebaut hatten.
Die Aluminiumzuschnitte (Profile) sollen schließlich perfekt passen und winklig sein.

Danach wurden alle benötigten Profile zugeschnitten.

Mit Bohrschablone und Spezialbohrer (17er Bohrer mit angeschliffenem 8er Zapfen) habe ich dann die Löcher für die Verbinder gebohrt.

Auch der ursprüngliche Testrahmen für die Fräse mußte einem neuen weichen.

CNC Projekt

Die Teflongleichtschienen sind fertig.

Ich kann euch sagen, es ist ganz schön schwierig, ein Material zu bearbeiten, das man nicht sägen, schneiden oder bohren kann

CNC Projekt

Der neue Schlitten für die Fräserzustellung ist fast fertig.
Auf der Andruckplatte ist die neue Halterung für die Fräse angebracht.
Es sind bei beiden (Andruckplatte, Fräserhöhenverstellung) Kugelbüchsen verbaut.

Das Höhenmass wird mit einem digitalen Messchieber realisiert.

CNC Projekt

Die Gewindebüchsen für die Bürsten sind in die Pröfile eingedreht, und die Bürsten probehalber montiert.
Inzwischen ist auch der Maximalhöhenanschlag angebracht.

CNC Projekt

Da ich das Axialkugellager nicht verschrauben wollte, wegen der Dehnung bei Temperaturunterschieden, mußte ich mir noch etwas einfallen lassen, um die Lagerluft aus dem Lager zu drücken.

CNC Projekt

Gestern habe ich den Motorhalter fertiggestellt und angebracht.
Danach der ersten Test mit dem Servomotor.
Es lief alles spitze. (Video folgt evtl. noch)

Heute habe ich dann den Kompletten X-Achse Schlitten nochmal zerlegt.
Alle Relevanten Teile, die ich für den Test weggelassen habe zusammengebaut.
Die Spindeln neu eingestellt um das Umkehrspiel zu entfernen.

Die Montageböcke mit dem Laser ausgerichtet, und danach den X-Achs Schlitten ausgerichtet.

Zu guterletzt noch den Zahnriemen montiert, die paralellität der Spindeln eingestellt, und den Riemen gespannt.

Der Probelauf der Achse verlief natürlich reibungslos. Lediglich die Kraft, die die Achse durch den Servo entwickelt, muß ich noch überdenken. Hier müssen die Einstellungen in der Steuerung noch angepasst werden, sonst seh ich bei einem Crash schwarz.

Gruß Steffen

CNC Projekt

Vorgestern habe ich mit der zweiten Achse und dem dazugehörigen Aussenrahmen begonnen.
Der Große raum ist leider recht voll geworden, sodas ich keine Possition finden konnte, um den gesamten Rahmen zu knipsen.

Die Spindeln sind inzwischen auch eingebaut, und einseitig befestigt.
Nun warte ich auf die Grundplatte um alles im Winkel passen verschrauben und ausrichten zu können.

Wärenddesseh habe ich heute die 2 äuseren Führungsschienen die X mit der Y Achse verbinden, fertiggemacht.

CNC Projekt

So es ist Zeit für einen Weiteren Statusbericht.

Zuerst habe ich nochmal die Führungen des äuseren Schlittens geändert, die haben mir nicht gefallen.

Zwischendurch habe ich 4 Halterungen für die Initiatoren gefräst.

Danach die Grundplatte fertiggestellt und den Unterbau verschraubt.

Heute habe ich dann den Aufbau, und den äuseren Schlitten angebaut.

CNC Projekt

Zwischendurch habe ich auch noch die Absaugvorrichtung gefräst.

Im eingebauten Zustand sieht das dann so aus.

CNC Projekt

Kabel über Kabel …
Pläne für die Verdrahtung angepasst.
Grundplatte des Schaltschranks mit Hutschienen versehen, die SPS, und sonstige Komponenten montiert.

Löcher für Schalter und Verschraubungen ins Profil fürs Bedienteil gefräst.
Deckelbefestigungen angebracht, Schaltelemente eingebaut.
Bedienteil verdrahtet.

Zusammengeschraubt, Bedienteil fertig! (Fehlt nur noch die Beschriftung)

Als nächstes kommen die Harting-Stecker an das Steuer und Leistungskabel.
Die Servosteuerung wird an den Schaltschrank geschraubt, die Grundplatte kommt rein, dann sollte das auch soweit fertig sein.

CNC Projekt

I am not amused …

Ich bin recht frustriert darüber, das mein Händler für meinen Spezialzahnriemen, den ich bestellt habe, immer noch nichts geliefert hat, und den Termin immer weiter in die ferne schiebt…

Derweil habe ich wieder ein paar Teile fertiggemacht.


Der Schaltschrank mit SPS, Servosteuerung und Harting Steckern ist fertig.


Aus lauter frust habe ich eine Halterung für mein Bedienteil angefertigt, damit ich es an der Fräse hinhängen kann wo ich will, und es nicht im Weg ist.


Einfach anklipsen…


Einen Adapter von Absaugschlauch auf Originol-Standard Festo Staubsauger.


Aso, das gehört hier nicht rein… Nen Grillutensiel fürn Ingeneur.


Noch 3 Halterungen für die Betätigung der Endschalter.

Ich hoffe der Zahnriemen kommt bald, damit ich mit den Schleppketten weiter machen kann.

CNC Projekt

Heute mußte ich wieder eine herbe Enttäuschung hinnehmen.
Der Zahnriemenhersteller macht jetzt erst mal Betriebsferien.
Also kann ich wohl nochmal 5 Wochen auf meinen Riemen warten. So eine sch…

Heute habe ich die Verdrahtung bis zu den Klemmkästen geprüft, und danach die Elektronik der Maschine in Betrieb genommen. Die kleinen Gismos blinken schon lustig rum :huh:

Danach habe ich die Platinen der IO-Baugruppen in die Gehäuse gebaut, und beschriftet. Bei der CPU warte ich noch bevor ich sie verschraube.

CNC Projekt

So, wieder ein Stück weiter.

Am Wochenende habe ich die Schleppketten angebracht.

und heute habe ich dann noch einen Kamm für die Kabel gefräßt.

CNC Projekt

Meine Zahnriemen sind endlich angekommen.
Die Kabel sind alle in den Schleppketten verlegt.
Die Endschalter und die Klemmkästchen sind angebracht.
Das Bedienteil und die Steuerung ist auch auf ihrem Platz.

Die Servosteuerung für die Motoren hatten wir ja schon grob eingestellt.

Nun hat mein Ingeneur die erste Version der Steuerungsfirmware fertiggemacht, ich habe es eingespielt, und es hat sich auch gleich was getan.

Leider aber nicht das erhoffte. Nach wenigen Schritten, blieben die Servos stehen.
Nun muß man sagen, es ist ja eine gewaltige Herausforderung, alleine den Servo zum drehen zu bringen (siehe oben).
Strommessung, Phasenumschaltung, Geberauswertung, Amplitudenmodulation, Impulsweitenanpassung, PID-Regler für die Amplituden Pulsweiteneinstellung …

Schön wärs gewesen, wenn das schon alles wäre. Nach aufzeichnen etlicher Logfiles der Steuerung, und grübeln hinter den daraus erzeugten Excel Tabellen, mußten wir das Servoreglerkonzept nochmal überarbeiten, denn was wir bisher gemacht haben, hat weder die Magnetdynamik (Reluktanzkraft) noch die Last am Motor berücksichtigt.
Nachstellwinkel, Übersteuern, Delays, Regelung für die Delays Stromänderung an verschiedenen Stellen des Verfahrwinkels …
Das sind nur einige Punkte, über die alleine man schon ne Doktorarbeit schreiben könnte

Nach dem zusammentragen von Informationen aus den diversesten Quellen, und dem Studieren von Zahlen in Excel, nicht immer ganz ohne Beruhigungsmittel, kommen wir einer Lößung nun näher.

Grüßle Steffen

CNC Projekt

Mühsam ernährt sich das Eichhörnchen.
Aber wie sagt das Sprichwort so schön: Ein Fuß vor den andern…

Die Servos laufen, zwar noch im Testmodus* aber dafür sauber.
Die Endschalter sind in die Steuerung eingeflossen, und funktionieren.

* Mit reduziertem Strom um Schwachstellen besser ausfindig zu machen.

Gruß

CNC Projekt

Immer muß er übertreiben. Andere währen froh, sie hätten solche Küchenmöbel.

So, hier wird nicht gelästert. Der Grundträger ist bis auf ein paar kleine Versteifungen fertig.
Jetzt müssen noch die Rollen und die Feststellfüße, sowie eine Niveliervorrichtung dran.
Dann kommt die Fräse drauf.

CNC Projekt

Es sind wieder einige Optionen in die Steuerung eingebaut.
Grundstellungsfahrt (ohne PC)
PC Modus (USB Kommunikation)
Fräse/Absaugung zuschalten
Z-Achse zustellen
Störungen, uvm…

Danke Basti

CNC Projekt

Heute ist die Fräse umgezogen. Sie ist nun mit dem Grundgestell verbunden, und ausgerichtet.

Es sind jetzt nur noch ein paar kleinere Dinge zu tun.
Dann hat mir Basti ein paar gute Fotos versprochen 🙂

CNC Projekt

Heute habe ich die Klemmkästen angebracht, und die Kabel in passender Länge angeschlossen.

Danach habe ich den letzten Bero-Betätiger angebracht.

Grüßle Steffen

CNC Projekt

Die pneumatischen Komponenten sind auf einer Grundplatte montiert, und sind fertig zum Anbau.

20111103-174640.jpg

CNC Projekt

Gestern habe ich noch die Teile für die Trigonometrie Einstellung gedreht und gebohrt.
Heute habe ich die Teile angebaut.

Dann gings mit der Herstellung des zweiten Kabel-Kamms weiter.

Als der fertig war, habe ich den Kamm, und die Pneumatischen Komponenten angebaut.
Die Kabel und Schläuche sauber verlegt, und das Magnetventil angeschlossen.
Nun ging es an die Einstellung der Z-Achse.
Nachdem ich das Magnetventil ein paarmal geschaltet hatte, ging die Maschine plötzlich auf Störung.
Der Y-Servo hatten die Grundstellung verloren!?
Nanu, bin ich auf irgend ne Taste gekommen? Störung reset.
Nach ein paar weiteren Betätigungen des Ventils, leuchtete der X-Servo.
Ist da ein Bug in der Software? Beim nächsten mal waren beide Servos auf Störung.
Nochmal kurz nachgedacht, was sich denn verändert hat, und dann an die Spule des Magnetventils eine Freilaufdiode und einen Entstörkondensator mit in den Ventilstecker gebastelt.
Siehe da, Problem beseitigt.

Die Z-Achse noch fertig eingestellt, die verfahrgeschwindigkeit und den Anpressdruck optimiert, und erfolgreich getestet.
Dann alle Deckel zugeschraubt, ein paar Blenden für die Aluprofile angebracht und alles übrige Material aufgeräumt.

Super Vortschritt heute. Gruß Steffen

CNC Projekt

Heute habe ich zuerst den Verfahrstrom der Servos von 25% auf 50% der Maximalleistung erhöht.
Beim Verfahren mit den neuen Einstellungen trat eine Anomalie auf, für die ich noch eine Testsoftware schreiben muß.
Darum kümmere ich mich allerdings später.
Ich habe dann erst mal den Staubsauger angeschlossen, einen Fräser eingespannt, und bin zu den ersten Test übergegangen.
Ich bin total verblüfft von den Ergebnissen. 1A mit Sternchen.
Erster Test:
4mm 4-Schneider, Eintauchtiefe 4mm in Leimholzplatte

Zweiter Test:
4mm Löcher bohren in lackierte MDF-Platte oben links
4mm 4-Schneider, Eintauchtiefe 4mm mitte
4mm 4-Schneider, Eintauchtiefe 6mm unten links
3mm 4-Schneider, Eintauchtiefe 4mm unten mitte
3mm 4-Schneider, Eintauchtiefe 6mm unten rechts

Dritter Test:
3mm 4-Schneider, Eintauchtiefe 6mm in MDF-Platte

Verfahrrichtungen wurden im Handmodus gewählt.
Und was mich am meisten begeistert hat, es gab kein Flöckchen Staub!
Gruß Steffen

CNC Projekt

Als ich meine Teststücke gefräst habe, ist mir aufgefallen, das die Servomotoren sporadisch langsammer wurden, obwohl sie keinen Grund dazu hatten. Vorgestern habe ich Tests gemacht, und hatte Schwierigkeiten den Fehler kontrolliert zu reproduzieren.
Sobald ich Logfiles erstellt habe, trat der Fehler nicht mehr auf. Kaum war das Logfile zuende (größenbedingt) hatte ich das Problem wieder.
In meiner Not habe ich dann Logfiles erstellt, nachdem der Fehler aufgetreten war. Zusammen mit Basti, haben wir versucht aus den Files schlüssig zu werden. Wir hatten einen Ansatz, aber keine Codefehler entdeckt. Basti hat daraufhin Änderungen im Microkontrollerprogramm (Firmware) vorgenommen, und mehrere Sicherheitssperren eingebaut. Gestern dann mit der neuen Firmware, gelang mir das Logging im Fehlerfall. Das Fehlerbild hatte sich geändert. Nun wurden die Servos nicht langsammer, sondern blieben gleich ganz stehen. Die Logfiles, das heist die Regelwerte der Servos sahen ganz normal aus, und nichts deutete auf eine Fehlfunktion hin. Lediglich der „Du bist OK, mach Weiter“ Zustand wurde nicht weiterverarbeitet.
Masseproblem? Hardwarefehler? Alles nur das nicht, jetzt wo alles Fertig ist.
Basti vermutete zu diesem Zeitpunkt schon, das es daran liegen könnte, das der Microcontroller zu vollgestopft ist.
Am Abend entschlackte er das Programm, nahm Komponenten heraus, die vorgesehen waren, aber nicht genutzt wurden, und schrieb Teile des Programms nochmal um. Ich habe Abends noch das Tool zum erstellen der Logfiles geändert, um die Daten Störungsfreier auf die Festplatte zu streamen.
Heute dann die neue Firmware draufgespielt, kurzes zittern meinerseits. „Es müsste alles gehen!“ Hat er gesagt. Die Funktionen liefen alle. Nach dem Prüfen der Strom und Regelwerte, bin ich dann gleich zu den Tests übergegangen.
2,5 Stunden Achsen durchfahren, ohne jegliche Fehler. Anscheinend war es tatsächlich ein Stack oder Speicherproblem. Ich bin sehr zufrieden.
Die meisten würden es so lassen. Da ich aber nicht „die meisten“ bin, wird nun noch eine kleine Feinabstimmung in der Regelung vorgenommen. Testen werde ich diese morgen. Da die Änderung allerdings Basti gemacht hat, bin ich zuversichtlich, das alles wunderbar klappt.
Desweiteren habe ich die Kernkomponente zur Kommunikation mit der Steuerung neu programmiert.
Es ist nun möglich darüber die Verfahrgeschwindikeit vorzugeben. Desweiteren kann ich die Latenz zur Steuerung ermitteln, und mit einbeziehen. Error Timings für die Kommunikation sind auch enthalten. Als nächstes Programmiere ich die FiFo Komponente die darauf aufsetzt.

Gruß Steffen

CNC Projekt

Wie erwartet hat alles geklappt. Die Firmware ist nochmals geringfügig verbessert. Zudem habe ich die Geschwindigkeit der Servos nochmals erhöht. Jetzt habe ich einen wunderbar kontinuierlichen Gleichlauf der Achsen. Jetzt ist nurnoch die Bediensoftware anzupassen. Allerdings werde ich diese so wie es momentan aussieht nochmal neu Aufsetzen. Es gibt viele neue Ideen und Vorschläge *², unter anderem von meinen 2 Groupies Basti und Jochen, ohne die ich sicherlich nicht so weit gekommen wäre.

*² Siehe: The Beauty of Bresenhams Algorithm, Bèzier Curve, Realtime Editor, COM-Buffer (FiFo) uvm.

CNC Projekt

Nach dem mich vor zwei Wochen meine Muse geküsst hat, konnte ich wieder mal an der Software für meine Fräse weiterarbeiten.
Nach einigen Knoten in den Gehirnwindungen, gings wieder besser von der Hand.

Zuerst habe ich einen simplen Simulator programmiert, der das Verhalten der Fräse auf Basis der ursprünglich erstellten Spec imitiert.

Danach habe ich zwei Virtuelle Ports erstellt

welche ich über eine Pipe „\\.\pipe\vpipe“ verbunden habe.

Nun konnte ich die Schnittstellen-Unit für meine Software programmieren, ohne immer an der Hardware testen zu müssen.
Wärend der arbeiten, sind mir ein paar Dinge aufgefallen, die mir nicht so gut gefallen haben.
Diese wurde sogleich in der Firmware der Steuerung geändert.

Heute habe ich die letzte Verbesserung in den Microcontroller der Steuerung eingespielt, und getestet.

Die Software zeigt nun stetig die Antwortzeit der Steuerung an.

Der Screenshot zeigt die Antwortzeit des Simulators. Zur Steuerung sind es konstant 15ms.

CNC Projekt

Nach monate langer Forschung, ist nun die endgültige Flüssigkeit für die Wasserwaage gefunden. Kein Absetzen der Farbpigmente, kein schäumen, keine Blasen, und kaum sichtbarer Kapillareffekt. Die Zusammensetzung bleibt natürlich geheim.

Die Wasserwaagen habe ich am Grundgestell angebracht und per Laser ausgerichtet. Danach habe ich die blaue Flüssigkeit eingefüllt, und den Pegel bei 5 mm eingestellt.

Prima Sache. Dachte nicht dass der Boden der Garage so krumm ist.

Gruß Steffen

CNC Projekt

So, nun ist es soweit. Die Software, inzwischen Version 2.1, ist fertig.

6600 Zeilen Quellcode, 238 Funktionen und 20 Records in 10 Units.

Da ist der Drops gelutscht!

Ich habe versucht, die Programmierumgebung (ich nenne es den Editor) so einfach wie möglich zu gestalten, um auch Personen, die mit NC-Code nichts am Hut haben, die Bedienung zu ermöglichen.

Durch 140 Registry Einträge, werden alle Einstellungen sowie die Werkzeugliste gespeichert, und das Einstellen fast aller Maschinenparameter ermöglicht.

Selbstverständlich ist auch ein Import von NC-Code möglich, wobei mein G-Code Interpreter durch meinen Debugger hier auch den NC-Code analysiert, und auf Plausibilität und Fehler prüft.
Dadurch kann man die Software auch zum Programmieren von NC-Code nutzen.

Es gibt etliches an Möglichkeiten. Einiges kann man auf den Screenshots der Software sehen.

Als nächstes ermittle ich die Parameter der Fräse, und stelle alle Werte ein.

Gruß Steffen

CNC Projekt

Heute habe ich die Fräsmaschine getestet.
Zuerst habe ich die Achsen und Timings ermittelt.
Endgültige Arbeitsfläche 1130 x 1135 mm.
Danach habe ich meine erste Dichtung gezeichnet.

Danach gefräst, mit 6 mm Zustellung 3 mm Fräser und 300 mm/min

Als nächstes ein Test mit einer mehrschichtigen Leimholzplatte

7mm Zustellung, 6 mm Fräser und 300 mm/min bei 25000 U/min

Das Ergebnis war super. Allerdings werde ich als nächstes mal einen 2 Schneider probieren.

CNC Projekt

Inzwischen bin ich mit dem Update der Fräsensoftware etwas weiter gekommen.
Ich kann Fonts laden, auf Endmaß skalieren, Abstände festlegen, usw.
Es werden aktuell erst mal nur die Stützpunkte angezeigt, und mit Geraden verbunden. So kann ich mit dem nächsten Schritt, dem Rotieren und berechnen der Konturen zum Füllen besser weiterarbeiten, da ich so auf die Vektoren schließen kann.
Splines ersetzen später die Geraden.

Beim Programmieren und prüfen der Kernings (hierbei werden unschöne Buchstabenkombinationen eingerückt) habe ich dann festgestellt, das dieses zwar in der Spec von Microsoft definirt sind, allerdings nicht zur Anwendung kommen.

Von oben nach unten:
Microsoft Word Arial 146pt
Berechnung ohne Kerning
Berechnung mit Kerning

CNC Projekt

Inzwischen funktioniert das Füllen (In meinem Fall das ausfräsen) der Schrift.

Auf Wunsch hier die Links zur Spec zu True Type Fonts



CNC Projekt

Version 3.0

Fräsen von Standard TrueType Schriften hinzugefügt.

TrueType Fonts, SingleLine Fonts, Kerning, Variabler Zeichenabstand, Innencontourberechnung, Füllen, Rotieren, etc…

Version 3.1 (Bugfixes)

Änderung: Splines mit 2 Punkten ergeben eine Gerade.
Änderung: Wenn Fräse unten, wird der erste Punkte einer Lochschiene nicht gebohrt, da schon vorhanden.
Fehlerbeseitigung: Splines bei denen alle X-Punkte oder alle Y-Punkte 0 sind, müssen funktionieren.
Fehlerbeseitigung: Durch einen Typo wurde ein Button im Handmodus nicht deaktiviert.

CNC Projekt

Nun nach der hundertsten Änderung im Web-Player und dem Kompressionsverfahren steht nun hoffentlich eine Browser und Betriebssystemunabhängige Variante zur Verfügung. Von HTML5 habe ich mich vorerst verabschiedet, da die Codes noch nicht so weit sind.

Hier noch die Version in HD 720p
Das Format ist H.264/AAC

Viel Spaß bei schauen.

Zum Audio- Videoformat sollte ich eventuell noch etwas schreiben.
Hier ist ein guter Artikel über Videos im Web: http://diveintohtml5.info/video.html
Die für mich beste Methode um ein Webvideo zu erstellen, ist folgende
1. Erstellen des Videos mit Magix, MS Moviemaker etc.
2. Speichern des Videos im RAW Format.
3. Mit Miro Video Converter die Datei in mp4 umwandeln.
4. Mit QTIndexSwapper den Index der H.264 Datei vom Ende an den Anfang verschieben, damit das Streaming möglich ist.
5. Publizieren

Edit 22.09.2013: Durch den neuen „Secure HTML5 Video Player“ kann Punkt 4 entfallen