Willkommen! Anmelden Ein neues Profil erzeugen

Erweiterte Suche

ThirtyTwo - Eine 32Bit-Firmware für RepRap 3D-Drucker

geschrieben von Glatzemann 
Re: ThirtyTwo - Eine 32Bit-Firmware für RepRap 3D-Drucker
03. June 2016 12:49
Mensch Roland....ich verstehe zwar nicht alles, bin aber wieder mal schwer beeindruckt.
Tastatur ist ok, aber nicht zwingend nötig.

Ich würde mich für dich freuen, wenn alles klappt.

Gruß Sven


[www.facebook.com]

Power is nothing.....without control!
Re: ThirtyTwo - Eine 32Bit-Firmware für RepRap 3D-Drucker
27. July 2016 07:52
Da die Firmware mittlerweile recht gut funktioniert (aber immer noch im experimentellen Zustand ist), habe ich noch eine weitere Baustelle aufgerissen. Da mich einiges am Benutzerkomfort und der Funktionsweise der Host Programe (z.B. Pronterface, Repetier-Host und -Server) stört und ich ein paar Ideen habe, wie man den Workflow verbessern könnte (zumindest für mich), habe ich mich dazu entschlossen, ein passendes Host-Programm für meine Firmware (aber auch für "fremde") zu entwickeln.

Arbeitstitel: "ThirtyTwo Machine Control Center"

Dieses Programm soll so flexibel sein, daß problemlos mehrere Drucker gleichzeitig gesteuert werden können. Es gibt dort eine Art Dashboard, auf dem alle verfügbaren Maschinen mit Status angezeigt werden und zwischen denen man dann einfach hin- und herschalten kann. Aufträge für diese Maschinen können an zentraler Stelle erstellt werden und werden dann einer Maschine zur Ausführung zugewiesen. Das ist nichts besonderes, das können auch andere Programme, aber das ist z.B. etwas, daß mich bei Repetier Host immer stört...

Dann wird die Verbindung zum Drucker sehr flexibel bzw. generisch sein. Standardmäßig gibt es natürlich die normale serielle Schnittstelle, dann aber auch andere wie TCP/IP, Parallel und noch ein eigenes Protokoll um Maschinen anzusteuern, die nicht direkt am Arbeitsrechner angeschlossen sind (aber angeschlossen sein können).

Weiterhin möchte ich mit dem Teil nicht nur Drucker, sondern auch andere CNC-Maschinen ansteuern (Fräsen, Laser, etc.). Da es hier einige Besonderheiten gibt, werde ich diesen Teil auch generisch gestalten, so daß man z.B. die Maschinenkontrolle austauschen bzw. selbst gestalten kann. Was soll ich z.B. mit dem Heizbettschalter auf einer Fräse ohne Heizbett?

Und - da ich mich in letzter Zeit verstärkt mit CNC-Fräsen auseinander setze - der mir wichtigste Punkt ist momentan die CAM-Funktionalität. Aktuell kann ich im Host-Programm eine DXF-Zeichnung einlesen und darstellen. Darin kann ich dann einzelne (oder mehrere Linienzüge) selektieren und Fräsbahnen erzeugen (lassen), sowie Werkzeuge zuweisen und deren Parameter (wie z.B. die Zustellung) festlegen. Im Grunde kann man damit direkt im Host-Programm einfache Fräsprogramme erzeugen und ausführen lassen. Aktuell nur in 2D, später sicherlich auch 2.5D.

Ich hoffe, daß ich davon hier in Kürze mehr zeigen kann...


--
Microsoft MVP in den Kategorien DirectX/XNA * Visual C++ * Visual Studio and Development Technologies seit 2011

  • Mein Erster (RAMPS 1.4, Selbstbau WolfStrap-Derivat mit Linearführungen, Wade Extruder und E3D lite6 Hotend)
  • Cub44 (Selbstbau Dual Wire Gantry Derivat mit Zahnriemen und Linearschienen, RADDS 1.5 und DUE, Custom Hotend - E3D like, Compact Bowden Extruder)
  • HexMax (sechseckiger Delta (eigenes Design) mit Druckraum 300mm Durchmesser und >=400mm Höhe, RADDS 1.5, 24V, Custom Hotend, Compact Bowden Extruder)
  • P3Steel Toolson MK2 - Keine Zeit zum selbst planen ;-)

Andere Projekte: FSR Board (ABL-Sensor-Platine inkl. Firmware) * ThirtyTwo (32Bit RepRap-Firmware)
Re: ThirtyTwo - Eine 32Bit-Firmware für RepRap 3D-Drucker
27. July 2016 08:11
Moin moin aus HU.
Da hast Du Dir aber was vorgenommen. Ist Dein Host dann kompatibel mit allen FW und Boards? Wenn ich dann mit dem Rumbaboard auch fräsen könnte, wäre das ein riesiger Sprung. Momentan bin ich noch dabei, einen Umschalter zu bauen zwischen Rumba und CNC Shield. Dann würde ich nur das Werkzeug wechseln und den USB Stecker von einem Board zum anderen wechseln. Das Umschalten geht automatisch. Aber Deine Lösung wäre genial.hot smiley




Liebe Grüße aus Kaltenkirchen.
Frithjof
Meine Seite
[www.facebook.com]
Re: ThirtyTwo - Eine 32Bit-Firmware für RepRap 3D-Drucker
27. July 2016 08:23
Ich versuche eine möglichst generische Kommunikationsschnittstelle aufzubauen. Der Host bzw. die GUI hat dabei softwaretechnisch eine interne Schnittstelle mit der kommuniziert wird. Die Schnittstelle kümmert sich dann (über Plugins) darum, daß die Kommunkation für ein spezielles Board/Shield und/oder Schnittstellenkombination umgesetzt wird. Im Grunde genommen sollte man damit alles ansteuern können. Ich habe allerdings momentan nur diverse RADDS und RAMPS zum testen.

Ein Ziel ist es aber, daß mit den "normalen" RepRap-Drucker-Firmwares (Repetier, Marlin, etc.) und den normalen RepRap-Drucker-Shields (RADDS, RAMPS, etc.) auch eine Fräse angesteuert werden kann. Da gibt es glaube ich noch keine komfortable Toolchain für...


--
Microsoft MVP in den Kategorien DirectX/XNA * Visual C++ * Visual Studio and Development Technologies seit 2011

  • Mein Erster (RAMPS 1.4, Selbstbau WolfStrap-Derivat mit Linearführungen, Wade Extruder und E3D lite6 Hotend)
  • Cub44 (Selbstbau Dual Wire Gantry Derivat mit Zahnriemen und Linearschienen, RADDS 1.5 und DUE, Custom Hotend - E3D like, Compact Bowden Extruder)
  • HexMax (sechseckiger Delta (eigenes Design) mit Druckraum 300mm Durchmesser und >=400mm Höhe, RADDS 1.5, 24V, Custom Hotend, Compact Bowden Extruder)
  • P3Steel Toolson MK2 - Keine Zeit zum selbst planen ;-)

Andere Projekte: FSR Board (ABL-Sensor-Platine inkl. Firmware) * ThirtyTwo (32Bit RepRap-Firmware)
Re: ThirtyTwo - Eine 32Bit-Firmware für RepRap 3D-Drucker
27. July 2016 08:33
Also zum Testen stelle ich mich mit meinem Rumba Board zur Verfügung. Bei der Entwicklung des Host denke daran, dass auch bis zu 6 Extruder parallel laufen müssen unter Repetier FW.
Du kannst ja mal die FW vom "Das Monster lebt" auf ein Ramps laden und Dir dann den Host und das EEPROM anschauen. Ich meine, es ist egal, ob eín Rumba oder ein Ramps. Zur Not kann ich Dir noch ein Rumba zum Testen leihen. Das habe ich mal überzählig bestellt.


Liebe Grüße aus Kaltenkirchen.
Frithjof
Meine Seite
[www.facebook.com]
Re: ThirtyTwo - Eine 32Bit-Firmware für RepRap 3D-Drucker
27. July 2016 08:40
Guter Hinweis und nettes Angebot. Ich werde sicherlich darauf zurückkommen, wenn es soweit ist.


--
Microsoft MVP in den Kategorien DirectX/XNA * Visual C++ * Visual Studio and Development Technologies seit 2011

  • Mein Erster (RAMPS 1.4, Selbstbau WolfStrap-Derivat mit Linearführungen, Wade Extruder und E3D lite6 Hotend)
  • Cub44 (Selbstbau Dual Wire Gantry Derivat mit Zahnriemen und Linearschienen, RADDS 1.5 und DUE, Custom Hotend - E3D like, Compact Bowden Extruder)
  • HexMax (sechseckiger Delta (eigenes Design) mit Druckraum 300mm Durchmesser und >=400mm Höhe, RADDS 1.5, 24V, Custom Hotend, Compact Bowden Extruder)
  • P3Steel Toolson MK2 - Keine Zeit zum selbst planen ;-)

Andere Projekte: FSR Board (ABL-Sensor-Platine inkl. Firmware) * ThirtyTwo (32Bit RepRap-Firmware)
Re: ThirtyTwo - Eine 32Bit-Firmware für RepRap 3D-Drucker
27. July 2016 09:34
Das Problem an einer Schnittstelle ist, dass es leider keinen Standard für die Kommunikation zwischen Host und Board gibt. Eigentlich ist es ein Wunder, dass es überhaupt funktioniert. Gina Häußge hatte schonmal probiert, sich mit den "Größen" der Szene auf einen Standard zu einigen oder einen einzuführen, das ist aber an "sozialen Reibungen" der Teilnehmer gescheitert.
Da Gina allerdings bereits selber an einer ähnlichen Lösung arbeitet und bestimmt Hilfe gebrauchen kann, würde ich einfach mal vorschlagen, dass du sie einfach mal ansprichst. Man kann sehr gut mit ihr reden und sie freut sich über jeden Input...


Der 3D-Druck ist tot, lang lebe der 3D-Druck!

Schreibt mich nicht mehr an, ich hab das drucken an den Nagel gehängt.
Re: ThirtyTwo - Eine 32Bit-Firmware für RepRap 3D-Drucker
27. July 2016 09:49
Wir haben für unser eigenes Produkt so eine Funktion entwickelt (verteiltes Rendern/Zuweisung von Jobs) und ich kann dir sagen das da wirklich jede Menge Fallstricke lauern die man nicht erwartet.
Wie Skimmy kann ich dir nur empfehlen dich mit Gina kurzzuschließen.


[www.bonkers.de]
[merlin-hotend.de]
[www.hackerspace-ffm.de]
Re: ThirtyTwo - Eine 32Bit-Firmware für RepRap 3D-Drucker
27. July 2016 09:51
Das ist mir schon klar, daß es keinen Standard für die Kommunikation zwischen Host und Board gibt, bzw. genauer gesagt zwischen Host und Firmware. Genau aus diesem Grund mache ich diese Schnittstelle auch generisch und ermögliche es, eine Art "Treiber" zu entwickeln. Kommt eine neue Firmware, dann muss nur ein neuer "Treiber" her um diese ansprechen zu können. Intern im Host wird aber immer die gleiche abstrakte Schnittstelle verwendet, so daß es eine klare Trennung gibt, gut testbarer Code entsteht (man denke da z.B. an einen simulierenden Treiber) und man flexibel bleibt.

Also wenn du an OctoPrint denkst, dann besteht da von meiner Seite aus wenig Interesse. Da sind zwar ein paar sehr interessante Ansätze drin und dran, aber mir gefallen da die softwaretechnischen Grundlagen nicht.


--
Microsoft MVP in den Kategorien DirectX/XNA * Visual C++ * Visual Studio and Development Technologies seit 2011

  • Mein Erster (RAMPS 1.4, Selbstbau WolfStrap-Derivat mit Linearführungen, Wade Extruder und E3D lite6 Hotend)
  • Cub44 (Selbstbau Dual Wire Gantry Derivat mit Zahnriemen und Linearschienen, RADDS 1.5 und DUE, Custom Hotend - E3D like, Compact Bowden Extruder)
  • HexMax (sechseckiger Delta (eigenes Design) mit Druckraum 300mm Durchmesser und >=400mm Höhe, RADDS 1.5, 24V, Custom Hotend, Compact Bowden Extruder)
  • P3Steel Toolson MK2 - Keine Zeit zum selbst planen ;-)

Andere Projekte: FSR Board (ABL-Sensor-Platine inkl. Firmware) * ThirtyTwo (32Bit RepRap-Firmware)
Re: ThirtyTwo - Eine 32Bit-Firmware für RepRap 3D-Drucker
27. July 2016 09:53
@Srek: Hast du ein paar mehr Details?


--
Microsoft MVP in den Kategorien DirectX/XNA * Visual C++ * Visual Studio and Development Technologies seit 2011

  • Mein Erster (RAMPS 1.4, Selbstbau WolfStrap-Derivat mit Linearführungen, Wade Extruder und E3D lite6 Hotend)
  • Cub44 (Selbstbau Dual Wire Gantry Derivat mit Zahnriemen und Linearschienen, RADDS 1.5 und DUE, Custom Hotend - E3D like, Compact Bowden Extruder)
  • HexMax (sechseckiger Delta (eigenes Design) mit Druckraum 300mm Durchmesser und >=400mm Höhe, RADDS 1.5, 24V, Custom Hotend, Compact Bowden Extruder)
  • P3Steel Toolson MK2 - Keine Zeit zum selbst planen ;-)

Andere Projekte: FSR Board (ABL-Sensor-Platine inkl. Firmware) * ThirtyTwo (32Bit RepRap-Firmware)
Re: ThirtyTwo - Eine 32Bit-Firmware für RepRap 3D-Drucker
27. July 2016 10:01
Ich fürchte im Detail sind da nicht viele Ähnlichkeiten. Wir haben eine Renderengine die über eine Serverapplikation verteilt über praktisch beliebig viele Rechner rendert. Die Serverapplikation muss mit allen Clients kommunizieren und die Menge an Problemen die wir dabei trotz der Verwendung von Standards (TCP/IP, DLNA, Bonjour etc.) hatten war irre. Wir haben drei Jahre gebraucht um daraus ein zuverlässiges Produkt zu machen und das obwohl Client und Server von uns selber kamen. Kommunikations und Synchronisierungs Probleme werden eigentlich immer deutlich unterschätzt.
[www.youtube.com]

1-mal bearbeitet. Zuletzt am 27.07.16 10:02.


[www.bonkers.de]
[merlin-hotend.de]
[www.hackerspace-ffm.de]
Re: ThirtyTwo - Eine 32Bit-Firmware für RepRap 3D-Drucker
28. July 2016 02:53
Ein verteilter Renderer ist ja jetzt schon ein bisschen komplexer, als ein paar (Millionen) Textzeilen auf unterschiedliche Ziele (Drucker) zu schicken und die Rückmeldungen auszuwerten. Klar, das ist auch nicht ganz trivial, aber nicht wirklich schwer... Derartige Kommunikation habe ich bereits Anfang der 90er gemacht, als ich eine BBS betrieben habe und mir die Software dafür selbst entwickelt habe.

In meinem Day-Job habe ich in den vergangenen 15 Jahren unter anderem Software entwickelt, die ein bundesweites DSL- und ATM-Netz überwacht und konfiguriert. Da sprechen mehrere Server mit hunderten Devices, Routern und Millionen Endgeräte. Da werden alle Arten von Kommunikationen (auch "dreckige", z.B. Command Line Parsing über SSH, weil die Geräte kein SNMP können etc.) gemacht. Da mache ich mir bei ein paar Druckern jetzt nicht den großen Kopf ;-)

Aber ich gebe dir Recht: Synchronisationsthemen können sehr schnell, sehr problematisch werden und werden tatsächlich gerne unterschätzt. Sobald bei unseren Dingen die Ausprägung "Cluster" hinzukam und Daten synchronisiert werden mussten, wurde es deutlich schwieriger und instabiler...

Aber hier habe ich das ja im Endeffekt nicht. Ich haben "Clients", die mit einem Drucker kommunizieren und dessen Statusmeldungen empfangen. Das ist ja im Grunde das, was jedes Host-Programm kann und können muss. Und der "Server-Teil" stellt nun einfach diese Informationen dar, oder sendet andere Informationen an diese Clients. Da die Clients aber nicht untereinander voneinander abhängen ist es hier nicht deutlich komplexer, als würde ich nur einen einzigen Client ansprechen. Was allerdings eine Herausforderung ist: Wenn das Host-Programm abstürzt, dürfen nach Möglichkeit NICHT alle Drucke die gerade laufen ebenfalls unterbrochen werden. Das ist ein Aspekt, der mir persönlich am Herzen liegt und mit die höchste Priorität hat.


--
Microsoft MVP in den Kategorien DirectX/XNA * Visual C++ * Visual Studio and Development Technologies seit 2011

  • Mein Erster (RAMPS 1.4, Selbstbau WolfStrap-Derivat mit Linearführungen, Wade Extruder und E3D lite6 Hotend)
  • Cub44 (Selbstbau Dual Wire Gantry Derivat mit Zahnriemen und Linearschienen, RADDS 1.5 und DUE, Custom Hotend - E3D like, Compact Bowden Extruder)
  • HexMax (sechseckiger Delta (eigenes Design) mit Druckraum 300mm Durchmesser und >=400mm Höhe, RADDS 1.5, 24V, Custom Hotend, Compact Bowden Extruder)
  • P3Steel Toolson MK2 - Keine Zeit zum selbst planen ;-)

Andere Projekte: FSR Board (ABL-Sensor-Platine inkl. Firmware) * ThirtyTwo (32Bit RepRap-Firmware)
Re: ThirtyTwo - Eine 32Bit-Firmware für RepRap 3D-Drucker
11. August 2016 04:15
Ich habe mittlerweile eine erste Version des seriellen Kommunikationsmoduls fertig gestellt, welches mit Repetier ganz gut zusammen arbeitet und damit einen ersten, längeren Test gefahren. Ein 4h Druck ist damit erfolgreich gelaufen.

Um jetzt mal die Flexibilität des Kommunikationsmodul testen zu können, werde ich dieses mit meinem FSR Board kommunizieren lassen. Dieses kann auf zwei Arten mit der Außenwelt kommunizieren: per angeschlossenem FTDI-Adapter oder per I2C über Repetier mit "durchgeschliffenen" Kommandos (Danke an Pieps für den Repetier-Patch). Wenn das Ganze so funktioniert wie ich mir das vorstelle, dann kann zukünftig das FSR Board komplett über "32MCC" gesteuert werden. Das sollte dem ein oder anderen das Leben nochmal ein wenig erleichtern :-)


--
Microsoft MVP in den Kategorien DirectX/XNA * Visual C++ * Visual Studio and Development Technologies seit 2011

  • Mein Erster (RAMPS 1.4, Selbstbau WolfStrap-Derivat mit Linearführungen, Wade Extruder und E3D lite6 Hotend)
  • Cub44 (Selbstbau Dual Wire Gantry Derivat mit Zahnriemen und Linearschienen, RADDS 1.5 und DUE, Custom Hotend - E3D like, Compact Bowden Extruder)
  • HexMax (sechseckiger Delta (eigenes Design) mit Druckraum 300mm Durchmesser und >=400mm Höhe, RADDS 1.5, 24V, Custom Hotend, Compact Bowden Extruder)
  • P3Steel Toolson MK2 - Keine Zeit zum selbst planen ;-)

Andere Projekte: FSR Board (ABL-Sensor-Platine inkl. Firmware) * ThirtyTwo (32Bit RepRap-Firmware)
Re: ThirtyTwo - Eine 32Bit-Firmware für RepRap 3D-Drucker
11. August 2016 04:32
Wo kann man sich den Code denn mal ansehen?!? Würde mich ja schon interessieren wie du das gelöst hast (Firmwaretechnisch).


Triffid Hunter's Calibration Guide --> X <-- Drill for new Monitor Most important Gcode.
Re: ThirtyTwo - Eine 32Bit-Firmware für RepRap 3D-Drucker
11. August 2016 04:48
Ich habe den Code noch nirgendwo öffentlich...

Und wenn man sieht, wie gut man seine Ansprüche vor deutschen Gerichten gegenüber Schmarotzern - selbst mit Hilfe der FSF bzw. anderer Organisationen, die sich auf die Verteidigung der GPL spezialisiert haben - verteidigen kann (aktuellstes Beispiel Hellwig ./. VMWare), bin ich mir auch gar nicht sicher, ob ich den Code überhaupt veröffentlichen möchte. Zum Glück verwende ich momentan noch sowohl für Host, als auch für meine Firmware ausschliesslich Code, den ich von Grund auf selbst entwickelt habe. Somit kann ich mich bei der Wahl der Lizenz zum Glück komplett frei entfalten :-)

Aber: Der 4h Druck ist aber auch nicht mit meiner Firmware durchgeführt worden, sondern mit meiner Host-Software und der "normalen" Repetier-Firmware. Bei meiner Firmware habe ich noch ein wenig Schwierigkeiten mit den Beschleunigungsrampen und der Look-Ahead-Planung. Ohne Beschleunigung kann ich damit zwar drucken, aber das ist ja auch keine große Kunst.


--
Microsoft MVP in den Kategorien DirectX/XNA * Visual C++ * Visual Studio and Development Technologies seit 2011

  • Mein Erster (RAMPS 1.4, Selbstbau WolfStrap-Derivat mit Linearführungen, Wade Extruder und E3D lite6 Hotend)
  • Cub44 (Selbstbau Dual Wire Gantry Derivat mit Zahnriemen und Linearschienen, RADDS 1.5 und DUE, Custom Hotend - E3D like, Compact Bowden Extruder)
  • HexMax (sechseckiger Delta (eigenes Design) mit Druckraum 300mm Durchmesser und >=400mm Höhe, RADDS 1.5, 24V, Custom Hotend, Compact Bowden Extruder)
  • P3Steel Toolson MK2 - Keine Zeit zum selbst planen ;-)

Andere Projekte: FSR Board (ABL-Sensor-Platine inkl. Firmware) * ThirtyTwo (32Bit RepRap-Firmware)
In diesem Forum dürfen leider nur registrierte Teilnehmer schreiben.

Klicke hier, um Dich einzuloggen