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

Plot-PWM

Für das CNC Projekt oder genauer den Servoregler habe ich eine Software gemacht, um die Daten des Microcontrollers in Echtzeit grafisch darzustellen. Da es sich um große Datenmengen handelt waren einige Kniffe notwendig.

Gruß

COM-Monitor

So, der letzte Bericht ist nun schon etwas her, deswegen gibts mal wieder News.

Wie man in diesem Blog schon gelesen hat, geht es nun mit der CNC-Steuerung ins Eingemachte.
Etwas zu schnell das ganze für meinen Geschmack.

Wie dem auch sei, mußte nun neue Hard- und Software her.
Der alte Laptop (PIII 500MHz) hatte schon vorher arg zu Ackern, und die neuen Microcontroller liesen sich auch nicht mehr mit Ponyprog lesen/beschreiben.
(Eigendlich nicht wegen dem Projekt, sondern einfach so, weil so ein TabletPC sau cool ist, aber das verrate ich ja keinem)

Also, erst mal einen eeePC gekauft, Programierumgebung und AVR-Software drauf.
Über den Ingeneur nen neuen coolen USB-Programmer für lau gezogen, und dann von Novus noch ne Wandhalterung bestellt. Ne Adapterplatte für den TabletPC dran und fertig.

Nun ist auch wieder mehr Platz auf der Werkbank.

Alles neu macht der Mai, wie man so schön sagt.
Nun gehts mit der Fräse hoffentlich wieder schneller voran.

Heute habe ich auch meinen Schnittstellen-Monitor fertig programmiert.

Die Software (natürlich noch Beta-Build) kann individuell angepasst, und als eine Art Schnittstellen-Analyser genutzt werden.
Aus dem Datenstrom können Werte gefiltert werden, die man Grafisch ausgeben kann.

Hier ein Paar Optionen:
Empfangen:
Filter: 5x Filter. Länge, Pre/Suffix, Wildcards. Ausgabeformat: Raw, DEC, HEX, Time
Filter: 1x Kombination aus Filter 1-5
Schnittstellen-Monitor, Input Fenster, Output Fenster mit diversen Einstellungen
Einstellbarer Puffer, für Datenempfang.

Senden:
Hand: HEX, DEC, String
Timer und Antworttimer durch Filter
Schieberegler 3x frei belegbar, und untereinander verknüpfbar.

Grafische Ausgabe:
Pegelanzeige 3x frei belegbar
Schreiber 3 Kanäle frei belegbar, Echtzeit und Zeit über Filter

uvm…


Jetzt kann die Einstellung der PID Regler beginnen.

PS. Wer die Software haben möchte, /w per Mail.