Open Source 3D Printing Cluster

From Open Source Ecology
Jump to: navigation, search

Introduction

This project is intended to be a Distributive Enterprise which allows for a cloud-based 3D printing service. Payment is included in this service.

OSE Implementation

HintLightbulb.png Hint: See 3D Printer Cluster for OSE's implementation started by Christian Log Printer Cluster interface.jpg

Used For

Development

Team

See Christian Log for July 2017 entries.

Working Doc

edit

Cluster Features - Requirements

  • Control of 24 printers with one raspberry pi
  • Logging of total print time for every machine
  • Logging of total number of prints
  • Logging of print failure. Suggestions - upon starting a print on a given machine, you are asked whether the last print was successful.

Phases

  • 1 - printing, 12 printers
  • 2 - Online Ordering of 3D Prints. Software activates printer automatically, and prints shipping label automatically. Shipping via Pickup. Automatic print labels.
  • 3 - Integration with postage printing.
  • 4 - Addition of Stickers printed on demand.
  • 5 - Open source color laser printer and inkjet printer.

Industry Standards

Minimum Viable Product

Basic Design

Printer

  • D3D Printer (Although others could possibly work with the software+any additional hardware too)

Hardware

  • Something like a rasberry pi/mini PC (or custom board) takes in the network signal, then this passes it off to the printer's microcontroller+servo controller via USB
  • Because it is usb connected and not soldered in this allows for easy upgradability, and modularity
  • This could all go in a 3D Printed Enclosure

Communications

4.7.18

To Chris Rupp - I'm working on the print cluster - and it appears that Octoprint does not support SD card printing, but only streaming from the Raspberry Pi. I have not found any source showing how to use an SD card to store the print file - it appears that the standard route is streaming from the Pi to the 3D printer. Is that so, or am I mistaken?

This is important because, say we have 6 printers connected to a Raspberry Pi - we don't want 6 of them to fail if the Pi crashes. We need to have this designed such that each printer is running from its own SD card - and can finish a print job even if the server fails. This limits failure modes to only power outages on the 3D printer itself - which is also addressable in the future.

I am exploring different possible configurations - and am questioning our prior route because of the issue in this email. -MJ

4.7.18

If I remember correctly, this should be possible, however it was not tested on my part so far. This issue here suggests that its possible https://github.com/foosel/OctoPrint/issues/1216 However, I don't have the gui here, so I cannot assure how exactly it should be done... So maybe just look around the options, it seems like you can upload it to a printer and then send the command to print it

4.7.18

No problem yet with failed Linux servers, but server failure (which will happen from time to time) is a point that we want to eliminate by design. I'm thinking when thousands of people will be using our system. So that only single printers can fail, not entire batches of printers.

I did some more research - and it appears that transferring files to SD without taking out the SD card is painfully slow:

It appears that the only solution is then to break the cluster into parts. So that we limit the number of 3D printers per Pi. Maybe 2-4 printers per pi in a 100 printer cluster.

I read about Octoprint, and apparently only 1 printer is allowed per Octoprint instance, so one must run many Octoprint instances. How many Octoprint instances do you think that a single Pi can handle?

It would be nice if we could send the print file over to the SD card of RAMPS. Then a single Pi could control an unlimited number of printers: it would just send the file over to SD, and then that instance of Octoprint can be shut down.

Can you think of any other ways to get the frint file over to the RAMPS SD Card? Is there some SD card writer that could write to the RAMPS SD without going through the Arduino, but directly from the Pi to the RAMPS SD?

Marcin

Notes

  • Going to an SD card via the RAMPS is painfully slow, so it is not practical at this point to send files from a user's computer to an SD card on the 3D printer itself. [1]
  • It appears the only solution for achieving only single-printer-failure in a print cluser is to use a Pi Zero attached to the 3D printer, with Pi Zero streaming to the RAMPS.

See Also