3d Printer Cluster: Difference between revisions

From Open Source Ecology
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 42: Line 42:


=Ressources/Software Used=
=Ressources/Software Used=
[https://github.com/foosel/OctoPrint Octoprint Octoprint and OctoPi]
[https://github.com/foosel/OctoPrint Octoprint and OctoPi]


[https://github.com/foosel/OctoPrint/issues/113 Automated setup was inspired by this issue]
[https://github.com/foosel/OctoPrint/issues/113 Automated setup was inspired by this issue]

Revision as of 12:05, 26 July 2017

A 3d Printer Cluster is a piece of Software for managing multiple 3d printers. It can be used for everything from personal use to a Hacklab to a company.

The OSE printer cluster

We created a printer cluster software for our own D3D 3d printers, however, they can be used for every printer that has Marlin as a Firmware and has roughly the same specs (they can be adjusted). Our goal was to get the printers away from the computer constantly plugged in and managing the now numerous printers in a clear fashion. For that reason, we wrote the software for a Raspberry PI and created an Image to simplay load onto a SD Card. The Raspberry PI 3 is a simple and low cost solution for this scenario (in regards to power consumtption and acquisition cost) that gets the job done well, however with simple modification it should also be possible to install the software onto any (linux) machine. It has an inbuilt slicing software adjusted to the D3D printer and it can convert fcstd files (from this wiki for instance) into the basic stl files for printing! If you are interested how the Software was created, what parts are used or you want to make a modified version of it, you should checkout this page: How_to:_Create_Printer_Cluster_Image

How to install

Easy! Just download the image from here and follow the instructions provided here How_to:Write_Image_to_SD_Card. When thats done, all thats left to do is to plug in all printers that shall be part of the cluster and boot up the device (in that order). On the first boot, the PI will scan for any printers plugged in. Every printer identified that way can now be accessed within the webinterface, which can be accessed by any browser within the same network, by just putting in the IP of the PI or simply by putting http://replab into the adress bar.

Possible setup on hardware

The printer cluster is pretty scalable, provided you have the hardware for it. The PI itself will be capable of managing probably 50 and more printers (no testing done there yet, but processing power and RAM seem to suggest it). However, the PI has only 4 USB ports to plug the printers in. You could also use the Pins, but the software is written for the USB protocol so to be more scalable. For upscaling you will need POWERED USB Hubs, meaning they have an extra power source each, because otherwise the PI will not have enough power for it's own processors. You can simply connect the printers via USB like you would do on your normal computer, to reach further you can also use these to connect many printers over a wireless connection (via large distances for instance). There are also other modules out there, we didnt test them by now (will be done in august 2017), however the most important attribute those transceivers must have is that they have several channels to choose from, as you'll need 1 channel for each printer attached this way.

Our setup is demonstrated on this presentation pretty accurate.

edit

Further advises

This Software gives you unrestricted access to your printer, keep that in mind, set it up in a network of trusted members (this means protecting your network from the outside with a good wifi password for instance)!!! This also means that under no circumstances this should be forwarded to the internet!!!


For the correct setup of multiple printers, they should also be named in a unique way to distinct them in the further use. The software recognizes the name of the printer, however this means that upon the setup you should give him one. This can be done with the simple line

   #define CUSTOM_MACHINE_NAME "Unique Printer Name"

in Configuration.h of the Marlin firmware. However, you should avoid special characters, they break the website access.


The Scan for the printers can be repeated at any time from the webinterface, under the configuration tab there is an option for that. After a reboot, the new printers should be recognized and ready.


The home section gives you the possibility to upload files, just drag and drop or click to choose a file you want to upload, if it is a fcstd file, it will be converted into the stl format, which can then be sliced and printed. It's possible to upload multiple files at once that way, just click upload when your done.


The actual printer controls are done with the octoprint, on how to use that, please go to Octoprint.org

Ressources/Software Used

Octoprint and OctoPi

Automated setup was inspired by this issue

The Upload area is powered by this little snippet


This software is in it's basics a ripoff of the Octopi, however multiplied in a sence to use multiple printers at once with minimal configuration for the enduser.

The Software further used is python flask and apache for the webserver, as well as freecad for the conversion from fcstd to stl files.