Eigener Controller
Nachdem ich ja jetzt meinen Urlaub ohne die heiß erwartete Stepcraft machen muss, arbeite ich an anderer Stelle schon mal darauf hin.
Die ersten Schritte sind gemacht (siehe Foto) und die ersten Gedanken kann ich auch schonmal vorstellen und zur Diskussion freigeben:
1. Als Display kann man ein 20Euro Teil von Pollin nehmen, oder alles andere, was ein herkömmliches Videosignal verkraften kann.
Ich denke ich werde auch so programmieren/entwickeln, dass man auch einen alten VGA Monitor anschließen kann.
2. Auf jeden Fall möchte ich einen parallel-Port zur Verfügung stellen. In dem Fall kann man manuell verfahren und im Display wird die Position angezeigt. Ist dann eben ohne eigene Controller-Funktion.
3. Als manuelle Steuerung habe ich mehrere Ideen. Ein analoger Joystick für XY, ein Handrad für Z? Oder alles per einem oder mehrerer Handräder? Oder ganz was anderes, per Maus? Oder per 3D-Maus?
Analoge Joysticks, die bezahlbar wären hab ich nur noch nicht gefunden.
4. Der Controller selbst ist eine Art Reimplementierung von GRBL, man kann also gcode direkt hinschicken. Für die Proxxon würde ich dann auch spezial-Funktionen vorsehen, wie z.B. alle 10Minuten ein Päuschen vorsehen...
5. Über einen USB-Treiber für Programme, die eine parallele Schnittstelle brauchen könnte man auch nachdenken.
Würde es Sinn machen auch noch die alte USB-Steuerung zuschaltbar zu machen?
PS: Das Foto zeigt das genannte Pollin Display mit 4,3 Zoll Diagonale. Ist natürlich nur ein erstes Testprogramm rein für die Anzeige. Wird noch dran gefeilt - musste ja für die 7-Segment-Anzeige eigene Charakter entwerfen ... werden auch noch verbessert.
SC 420 mit DIY parallel + Proxxon mit Mod + HF500 + SprintLayout + LibreCAD/QCAD + FreeCAD +WinPC starter/USB->EstlCAM + EstlCAM LPTAdapter + EstlCAM Handrad + DIY Vakuumtisch
Gruß, Andreas
So, ein weiterer Tag und die großen Digits sind fertig. Vielleicht mach ich nochmal nen alternativen Font ohne inaktive Segmente. Und vielleicht noch kleine Digits für die letzte Nachkommastelle, aber für's erste lass ich es mal so.
Funktion zum zeichnen von Menü-Fenstern ist auch fertig.
Ich denke für die Menü-Bedienung ist ein Drehknopf mit Druck-Taste am besten. Werd ich morgen mal einen fürs Steckbrett zum testen auf ne Platine basteln.
Übrigens sieht es in echt schon noch ein wenig besser aus, als auf dem Foto.
Geplant sind noch ein paar special Character die in der oberen weißen Zeile genutzt werden und verschiedene Status anzeigen, z.B. "Parallelport angeschlossen" oder "USB angeschlossen" ...
SC 420 mit DIY parallel + Proxxon mit Mod + HF500 + SprintLayout + LibreCAD/QCAD + FreeCAD +WinPC starter/USB->EstlCAM + EstlCAM LPTAdapter + EstlCAM Handrad + DIY Vakuumtisch
Gruß, Andreas
Vielleicht mach ich nochmal nen alternativen Font ohne inaktive Segmente.
Hallo Andreas,
sieht schon mal gut aus, aber ein inaktives Segment ist denke ich besser abzulesen.
Gruß
Wolfgang
Mich würde jetzt interessieren, wie du das Display an den Rechner angeschlossen hast und womit du Programmierst :woohoo:
Liebe Grüße
Chris
CorelDraw X3 / AutoCAD 2013/2014 -> BoCNC / EstlCAM -> WinPC NC USB -> Stepcraft 420
Ich nehme den PROPELLER als Mikrocontroller. Der kann schon Video-Out und VGA-Out mit einer Hand voll Widerständen. Sonstige Daten:
32kB gemainsames RAM
8 mal 32 bit Prozessor-Kerne mit jeweils 2kB eigenem RAM
Der Bursche läuft mit 80MHz kommt also mit 8 Kernen auf 160 Millionen Instruktionen pro Sekunde ( 4 Takte pro Instruktion )
Jeder Kern hat 2 counter
Und jeder Kern hat Video-Hardware
Ansonsten hat er keinerlei Hardware-Unterstützung. Da wird alles in Software gemacht und dafür gibt es ein nettes Object-Exchange beim Hersteller Parallax. Ist also kein Problem einen Propeller mit 16 seriellen Schnittstellen auszurüsten. Für die gängigste Hardware gibt es natürlich schon Objekte.
SC 420 mit DIY parallel + Proxxon mit Mod + HF500 + SprintLayout + LibreCAD/QCAD + FreeCAD +WinPC starter/USB->EstlCAM + EstlCAM LPTAdapter + EstlCAM Handrad + DIY Vakuumtisch
Gruß, Andreas
Und weiter geht's.
Habe heute den Dreh-Encoder fürs Steckbrett auf ne Lochraster gelötet und einen Treiber dafür geschrieben.
Dann ging es an Menüs. Hab mich entschlossen alles auf Deutsch zu machen. Nur große Umlaute gehen nicht mehr ohne Änderung weil deren Character für die 7 Segment-Anzeige umdefiniert wurden 😛
Vielleicht macht es Sinn erst mal den Betriebsmodus zu wählen, also ob Fräse, Cutter, Gravierer oder 3D Drucker. Dann kann man zumindest die Dateien schonmal in verschiedene Ordner einsortieren.
Beim Gravierer-Menü ist mir was nettes eingefallen. Die Maschine könnte doch erst eine Messfahrt anhand einer Vorlage machen. Beim gravieren wird dann die Z-Achse entsprechend korrigiert. Damit könnte man dann auf nicht ebenen Oberflächen eine einheitliche Gravur machen. Naja ... mal sehen, ist noch ein langer Weg, vor allem für ein Hobbyprojekt.
SC 420 mit DIY parallel + Proxxon mit Mod + HF500 + SprintLayout + LibreCAD/QCAD + FreeCAD +WinPC starter/USB->EstlCAM + EstlCAM LPTAdapter + EstlCAM Handrad + DIY Vakuumtisch
Gruß, Andreas
Probieren geht über studieren 😆
Habe heute früh mal als Fingerübung den Font ohne inaktive Segmente erstellt.
Ein paar Menü-updates später kann sich dann jeder selbst den Font auswählen. Ebenso ob man das Bild in Farbe (sieht mit dem Pollin-Display nicht so prikelnd aus) oder Monochrom haben möchte.
Zudem habe ich die Leerzeichen zwischen den Digits entfernt. Sieht denke ich immer noch ganz gut aus und gibt Platz um auf der 2. Bildschirmhälfte nochmal für jede Achse Zahlen darzustellen (z.B. beim Werkstück-erstellen der Abstand zur letzten Koordiate).
SC 420 mit DIY parallel + Proxxon mit Mod + HF500 + SprintLayout + LibreCAD/QCAD + FreeCAD +WinPC starter/USB->EstlCAM + EstlCAM LPTAdapter + EstlCAM Handrad + DIY Vakuumtisch
Gruß, Andreas
Hallo Andreas,
sieht viel besser aus.
In den X und Y-Achsen würde ich aber die führenden Nullen auch noch weg lassen.
Die Z-Achse ist besser zum ablesen.
Gruß
Wolfgang
Hallo Wolfgang,
danke für das Feedback, werd ich umsetzen. Weiß nur noch nicht wann. Der Unterschied zwischen X, Y und Z ist nämlich der, dass ich für Z wegen der 8cm Verfahrweg eben nur 2 Vorkomma-Stellen vorgesehen habe. Ansonsten gibt es da auch noch keine Nullstellenunterdrückung. Ist auch vom Programm her was ganz anderes, da ich dann die Darstellung der Zahlen von Vorne nach Hinten machen muss. Im Moment ist es noch umgekehrt.
Im nächsten Schritt will ich mal das Programm ein wenig aufräumen und in eine Form gießen, die den vielen Ansprüchen gerechter wird. Ist momentan noch zu sehr Prototypisch. Ich glaube der nächste größere Schritt wird es sein eine SD-Karte einzubinden.
Und einige kleine Baustellen gibt es auch noch. Menüs müssen durchblätterbar gemacht werden (und dann auch auf SD-Karte ausgelagert werden). Die XYZ-Darstellung muss nochmal auf Assembler umgeschrieben werden, da sie in der Hochsprache programmiert zu langsam ist. Man bekommt momentan nur ca. 0,02 mm/Sekunde dargestellt - wie gesagt ... Prototyp eben.
Neuestes Feature ist ein Betriebsstundenzähler und eine delta-t Anzeige, die man mit jedem Wartungsintervall zurückstellen kann. Die beiden Zeiten sind unter dem Menü platziert. Ist bestimmt auf dem Morgigen Update dann zu sehen ... mal sehen, was ich in dieser Nachtschicht hinbekomme ;o)
SC 420 mit DIY parallel + Proxxon mit Mod + HF500 + SprintLayout + LibreCAD/QCAD + FreeCAD +WinPC starter/USB->EstlCAM + EstlCAM LPTAdapter + EstlCAM Handrad + DIY Vakuumtisch
Gruß, Andreas
So, Nachtschicht inkl. Schlaf beendet. War bezüglich Neuerungen nicht sooo effektiv. Hab viel über prinzipielles nachgedacht und mit dem Display experimentiert. Ich glaube was die Video-Qualität bei Farbwiedergabe betrifft ist noch was drin. Aber das noch genauer zu ergründen heb ich mir für später auf.
Das Einstellungs-Menü hat jetzt noch einen Level, um die Massen an Einstellungsmöglichkeiten besser thematisch abzugrenzen.
Benutze jetzt einen anderen nicht benutzten Bereich an Charactern für die 7 Segment-Anzeige. Damit ist jetzt Platz für kleine 7 Segment-Zahlen.
Die Achsen-Bezeichnung habe ich nach oben verschoben um Platz für ein Vorzeichen zu machen. Ist mir beim grübeln so eingefallen, da man ja den Nullpunkt verschieben können soll.
Ansonsten sieht man auf dem aktuellen Bild den schon erwähnten Betriebsstundenzähler. bt sind alle Betriebsstunden mit Anzeige von Tage (4stellig), Stunden, Minuten. delta t sind Stunden, Minuten, Sekunden Laufzeit seit der letzten Wartung.
Ich hoffe es hat keiner was dagegen, wenn ich hier aus dem Forum schon sowas wie nen Blog mache. Wenn es zu langweilig wird, dann sagt Bescheid und ich spar mir die Statusberichte. :silly:
SC 420 mit DIY parallel + Proxxon mit Mod + HF500 + SprintLayout + LibreCAD/QCAD + FreeCAD +WinPC starter/USB->EstlCAM + EstlCAM LPTAdapter + EstlCAM Handrad + DIY Vakuumtisch
Gruß, Andreas
Hi Andreas,
ich verfolge das hier ganz interessiert und mit heruntergeklapptem Unterkiefer!
Nur so ganz verstehe ich eigentlich nicht, was Du da jetzt ersetzt, hättest Du Lust, das kurz zu erklären?
Bräuchte ich dann mit Deiner Vorrichtung kein WinPC-NC mehr? Aber oben hast Du doch irgendwo geschrieben, daß es G-Code lesen soll. Oder soll es "nur" dazu dienen, die Positionen anzuzeigen?
Tschuldige diese doofe Zwischenfrage - aber ist faszinierendes böhmisches Dorf, was Du da machst :cheer:
Grüße,
Harald
Vielleicht kann ich Dir das in Bezug auf PC-Software auch noch nicht so genau sagen. Habe mein Maschine ja noch nicht und hab auch mit anderer Software noch nicht genügend rumgespielt.
Aber so wie ich es verstanden habe ist das beigelegte WinPC NC von den Möglichkeiten her für den Anfang ganz nett, aber sehr eingeschränkt. Mit anderer CAM Software gibt es das Problem, dass die Maschinen über die parallele Schnittstelle steuern. Ich möchte aber meinen alten Netbook dafür nutzen. Oder später vielleicht einfach via LAN von jedem PC aus.
USB eignet sich wegen des ungenauen Timings nicht dazu die Schrittmotoren zu steuern. Das heißt, dass letzten Endes der Controller die Steuerung übernehmen muss. Und dazu bietet es sich eben an gcode an den Controller zu schicken. Und wenn der gcod3 schon mal dort ist, dann kann man ihn da auch auf einer SD-Karte speichern und später ohne PC nochmal ausführen.
Zudem denke ich, dass man manchmal ein Teil hat, welches man immer wieder mal brauchen kann ... oder dass man mal eben ein einfaches Teil braucht, wofür es sich nicht lohnt ein CAD Programm überhaupt zu starten. Z.B. ich brauch mal eben ne Quadratische Lochrasterplatine 100x100mm ... Sowas kann man dann ganz ohne PC erstellen.
Ich könnte mir sogar später vorstellen sowas wie den Kästlegenerator direkt auf diesem Controller auszuführen.
Zum erstellen der einfachen Teile auf der CNC denke ich z.B. an einen Joystick oder an Handräder mit denen man die Maschine frei positionieren kann.
Ich hoffe das macht mein Ziel ein wenig klarer. Ansonsten ist dieser Thread offen für Fragen und auch für Anregungen von Euch.
SC 420 mit DIY parallel + Proxxon mit Mod + HF500 + SprintLayout + LibreCAD/QCAD + FreeCAD +WinPC starter/USB->EstlCAM + EstlCAM LPTAdapter + EstlCAM Handrad + DIY Vakuumtisch
Gruß, Andreas
Noch nix sichtbar neues vom Controller, die Nachtschicht fängt ja erst an B)
Gestern habe ich das interne Format, in dem Zeit und die Position verarbeitet werden auf BCD umgestellt. Das kostet dann zwar bei jedem Schritt etwas mehr, da man immer eine BCD-Korrektur machen muss, aber beim Anzeigen hat man es einfacher, weil die Ziffern schon vorliegen. Damit spart man sich Division- und Modulo-Rechnung. (Wenn das jemanden genauer interessiert, dann kann ich da gerne auch noch was zu sagen)
Mit dieser Änderung ist dann auch die Nullstellen-Unterdrückung eingebaut worden (mit Gruß an Wolfgang ;o)
Außerdem habe ich mir heute - da ja einer offiziell sein Interesse kundgetan hat - also EXTRA für das Forum einen USB Videograbber gekauft. :whistle: Damit ist es mir jetzt möglich mal ein Video vom Display zu zeigen und die üble Qualität der Fotos ist jetzt bei Screenshots auch passé.
In dem angehängten Video sieht man dann mal das Farb-Problem. Da es der Video-Grabber auch so aufnimmt liegt es wohl nicht am Display. Vielleicht an der Steckbrett-Verdrahtung. Naja ... wie gesagt, ich bin zuversichtlich, dass es sich deutlich verbessern lässt.
PS: Schade, Video geht nicht, auch nicht als ZIP verpackt.
SC 420 mit DIY parallel + Proxxon mit Mod + HF500 + SprintLayout + LibreCAD/QCAD + FreeCAD +WinPC starter/USB->EstlCAM + EstlCAM LPTAdapter + EstlCAM Handrad + DIY Vakuumtisch
Gruß, Andreas
Ok .. hier das Ergebnis:
Ich hatte ja schonmal erwähnt, dass der Mikrocontroller 8 Kerne hat. Geplant ist, dass der Teil zum Position ermitteln und der Teil zum steuern in eigenen Kernen läuft und völlig unabhängig voneinander ist. Das bedeutet aber auf der anderen Seite, dass es dem Kern, der die Position mitzählt egal ist wer die Maschine gerade steuert. Er zählt einfach nur die Step-Pulse für alle Achsen entsprechend der jeweiligen Direction.
Den Kern für die Positionsbestimmung habe ich jetzt mal angefangen. Damit ich den ohne Maschine unter realen Bedingungen testen kann, habe ich einfach einen anderen Kern hergenommen, der mal eben die laut Stepcraft-Doku maximale Schritt-Geschwindigkeit simuliert. Der haut also auf der X-Achse 84000 Steps in 14 Sekunden raus, auf der Y-Achse 42000 Steps und auf der Z nix. ... Ich weiß, ist in echt eigentlich genau andersrum, aber das ist der Software ja egal ... und mir auch 😆
Wie man sieht funktioniert das ganz gut. Gut, ich habe festgestellt, dass das mit der Umstellung auf BCD doch nicht so toll war, aber das kann man ja in der morgigen Nachtschicht wieder ändern ;o)
Was diesem Kern noch fehlt ist das zählen der Betriebsstunden. Das kann der ruhig auch machen, dann ist es auch dafür egal wer die Maschine gerade betreibt - mein Controller oder ein Mach3 über die parallele Schnittstelle.
Was denkt Ihr? Macht es eigentlich Sinn, dass der Controller wenn er feststellt, dass die Maschine gerade über die Begrenzung hinausfährt automatisch den parallel-Port sperrt? Also quasi eine Sicherung für die Maschine vor falschem Einrichten unter Mach3 oder LinuxCNC ...? Kommt sowas mal vor?
PS: Anhängen geht auch nicht, wenn man die Datei in *.jpg umbenennt :sick: Sind vielleicht zu groß. Werde die morgen dann mal auf meinen Server hochladen und verlinken.
SC 420 mit DIY parallel + Proxxon mit Mod + HF500 + SprintLayout + LibreCAD/QCAD + FreeCAD +WinPC starter/USB->EstlCAM + EstlCAM LPTAdapter + EstlCAM Handrad + DIY Vakuumtisch
Gruß, Andreas
Weil heute schon Morgen ist hab ich es halt gleich gemacht :silly:
Hier die links:
Zeigt das Farbproblem (ca. 5MB)
Zeigt den Positionszähler in Action (ca. 2MB)
Jetzt aber gute Nacht :pinch:
SC 420 mit DIY parallel + Proxxon mit Mod + HF500 + SprintLayout + LibreCAD/QCAD + FreeCAD +WinPC starter/USB->EstlCAM + EstlCAM LPTAdapter + EstlCAM Handrad + DIY Vakuumtisch
Gruß, Andreas
- 44 Foren
- 7,406 Themen
- 63.4 K Beiträge
- 5 Online
- 26.5 K Mitglieder