Hallo, Osser,
danke für die Antwort - sie zeigt, daß Du die aus nicht ganz perfekter Mechanik herrührenden Fehler berücksichtigst und korrigierst. Das läßt sich ja leider nicht von jeder Steuerung behaupten.
Gruß,
- der Langkieler -
Hallo, Osser,
danke für die Antwort - sie zeigt, daß Du die aus nicht ganz perfekter Mechanik herrührenden Fehler berücksichtigst und korrigierst. Das läßt sich ja leider nicht von jeder Steuerung behaupten.
Gruß,
- der Langkieler -
Es ist schon ein Weilchern her
das ich meine CNC Fräsmaschine gebaut habe. Ursprünglich war mein Ziel eine Machine zu bauen die von mit komplett selbst hergestellt ist, das bedeutet also alle mechanische Bauteile aus Standardwerkstoffen (in meinem Fall Stahl) selbst herstellen mit den mir zur Verfügung stehenden Maschinen. Dann sollten die Antriebe aus gewöhnlichen DC Motoren mit angekoppelter Positionsgebern erstellt werden wodurch ein selbst aufgebauter Servo entsteht. Schliesslich war mein Ziel die Steuerung der Servos, des Interpolators und des Positionsintegrators in einem kleinen! ATMega mit gerade einmal 4096 Byte Arbeitspeicher zu implementieren.
Das habe ich 2014 fertiggestellt und das Resultat ist auf der Seite "Meine CNC Fräsmaschine" zu sehen.
Vor Kurzem war ich dann mal wieder im Keller und sah die Maschine dort stehen. Sie war leider schon leicht angerostet in der Zwischenzeit -- ojeh.
Da ich am liebsten mit neuen Entwicklungen beschäftige und mein interesse am fertigen Proidukt ziemlich schnell schwindet, stand die Maschine leider aus diesem Grund in einem etwas traurigen Zustand auf ihrem Tisch.
Ich dachte mir im vorbeigehen das ich doch das Projekt in die jetzige Zeit transformieren könnte und die Steuerung die bislang in einem ATMega64 werkelte auf eine neuere Plattform migrieren könnte.
Die alte ATMega Platform hat zwar einigermaßen funktioniert, aber das Entwickeln der Software als Monolith ist schon ziemlich aufwändig.
Das Arbeiten auf dem µC war einigermaßen performant, aber es gibt schon noch einiges an Potential nach oben.
Ihr könnt euch ja vielleicht schon denken wofür ich mich entschieden habe
Ich werde also in der nächsten Zeit hier Berichten welche Fortschritte ich gemacht habe.
Stay Tuned
Ja manchmal geht das Schneller als man denkt.
![]()
Hi,
ich habe die Maschine schon in ihre Bestandteile zerlegt und mir drei neue Drehgeber besorgt.
Da ich zuvor einen ziemlich bunten Mix an Drehgebern hatte
X-Achse; ROQ425; 2048 Schritte; EnDat; 5V
Y-Achse; ROQ425; 2048 Schtitte; EnDat; 5V
Z-Achse; ROQ424; 512 Schritte; SSI; 10-30V
will ich bei der neuen Steuerung mal Hardwareseitig mit einheitlichen Bedingungen starten.
Ehrlich gesagt waren die beiden alten Drehgeber defekt seit ich aus versehen 12V auf die 5V Drehgeber gegeben habe.
-- Toast --
Naja, wie dem auch sei. Ich habe mir bereits drei neue Drehgeber besorgt die jetzt alle die gleichen Parameter aufweisen.
Alle SSI
Alle 10-30V
Alle von einer Dumpfbacke einfach 20cm hinter dem Drehgeber abgezwickt.
Dafür haben sie aber auch nur 40€ gekostet, was für einen Heidenhain Drehgeber schon ein top Preis ist.
Ich hab einen Drehgeber an die ausgebaute Achse angeflanscht um dann die ersten Tests zu fahren zu können. Als Rechner Hardware habe ich mir einen Raspi 4 gehohlt mit 1GiB Arbeitspeicher der für die Zwecke mehr als ausreichend sein sollte.
Ich habe im Netz viel gelesen das es mit einem regulären Linux nicht möglich wäre eine CNC Steuerung zu bauen. Dort war dann zum Beispiel die Rede von z.B. RTOS als Betriebsystem der Wahl.
Ich bezweifle eigentlich sehr stark das mir das "normale" Linux derart Probleme bereitet wenn ich damit einen Regelzyklus aufbaue.
Wie ihr ja vielleicht noch wißt ist meine alte Steuerung in einem 8 Bit µC mit 4KiB Arbeitspeicher und 64Kib Flash gelaufen bei 16MHz Takt.
Da hat der kleine Raspi doch extrem viel mehr zu bieten! Wäre gelacht wenn der das nicht wuppt.
Okay, so viel für heute.
Geändert von Osser (11.01.2022 um 19:36 Uhr)
Du übersiehst da ne Kleinigkeit: im Gegensatz zu nem kleinen 8bitter ist Linux bzw, ein Raspi mit Linux kein Echtzeit-System.
Für Ubuntu Linux gab es mal nen Echtzeit-Kernel, glaub aber, der wurde eingestellt. Das war bei Ubuntu Studio, bis 16 oder so.
Ich glaub aber nicht, dass man den auf den Raspi bekäme.
Sachen, die ein Atmel mit links macht (wie z.B. an mehreren Pins gleichzeitig ne PWM auszugeben) kann ein Raspi nicht.
Aber versuchs mal (und berichte drüber), ich halts durchas für möglich, dass sich diese Probleme mit der wesentlich höheren Arbeitsgeschwindigkeit grösstenteils überspielen lassen, so dass man es praktisch nicht mehr merkt.
Grüssle, Sly
..dem Inschenör ist nix zu schwör..
Hi Sly,
nein nein, das ist mir schon bewust.
Ich gehe einfach nur davon aus das die Zeit die mir durch den Scheduler geklaut wird, im Verhältnis zu der zusammenhängenden, nicht ins Gewicht fällt.
Ich habe mir vorgenommen die Steuerung in C zu realisieren, die Kommunikation mit SSI erst mal auch in C direkt zu programmieren. Pins hab ich ja ausreichend zur Verfügung.
Da ich nur 5V RS485 Treiber vorrätig habe brauchts dann noch ein Pegelwandlerchen oder einfach einen Spannungsteiler.
Mal sehen.
Als erstes entwickel ich mir eine Bibliothek damit ich ein Interface habe um die Pins schnell ansteuern. Damit soll dann SSI implementiert werden und ein Testproggi das mir anzeigt was da raus kommt.
Die Hardware baue ich mir dann mal schnell auf einem Breadboard auf und da ich unter einem MHz bleibe dürfte ich wenig Phasen und Amplitudenprobleme bekommen, hoffe ich zumindestens.
Für die, die nicht mehr wissen wie mein Maschinchen aussieht. Das ist ein Foto das ich von der fertigen Machine aufgenommen hatte mit der Steuerung basierend auf den ATmega64.
Hier sind sogar noch meine selbst gebauten Wegaufnehmer/Drehgeber verbaut die -- wie soll ich sagen -- Charaktervoll gemessen haben.
Ich habe dann später doch auf Zukaufteile gesetzt weil man sowas einfach nicht selbst bauen muß.
Gruß
Osser
Geändert von Osser (12.01.2022 um 08:38 Uhr)
Lesezeichen