Download as pdf or txt
Download as pdf or txt
You are on page 1of 9

3D Printer Error Detection System 

  
  
  
 
 
 
 
 
 
 
 
 
 
 
By  
Alex Boffo 
Manoj Kurapati 
Josh Osbourne 
 
  
April 23, 2019  
 
  
 
 
 
 
 
ECE362  
Principles of Design  
Dr. Chang 
  
DEPARTMENT OF ELECTRICAL AND COMPUTER ENGINEERING   
ROSE-HULMAN INSTITUTE OF TECHNOLOGY 
 
I. Executive Summary 
 
The Indiana School for the Blind and Visually Impaired uses 3D printing to allow their students to 
explore their coursework in a more meaningful manner. 3D printers will periodically make an error in the 
printing process, and the students’ visual impairments do not allow them to catch these errors. In order to 
save printing time and materials, we plan to create a system that can detect 3D printing errors and respond 
accordingly. 
Our system will utilize a camera mounted to the top of the printer, which will take a picture after the 
completion of each layer and compare it to the 3D model of the figure. If there is a significant difference 
between the figure and the model, then the printer will stop and the fabrication lab coordinator will be 
contacted. There could be errors that are not significant enough to stop the print, which can safely be ignored 
as long as there are not too many of them. In addition to checking for visual discrepancies, our system will 
include lasers that check the nozzle for clogging at each layer. If the nozzle is clogged, then the print will 
surely fail and the system will stop the printer.  
As a final measure, the current mount for the print spools will be replaced with a similar one that has 
a load sensor. This sensor will send a notification if the load is low, signifying that the printer is almost out of 
filament. If the load gets low enough, the printer may be about to run out of filament so the system will pause 
or stop the print.  
 
II. Stakeholder Model 

Stakeholder Key: 
Lab Coord. = 3D Fabrication Lab Coordinator 
Students = Students of Indiana School for the Blind and Visually Impaired (ISBVI) 
Faculty = Faculty of ISBVI 
Admins = Administration of ISBVI 
Tech Support = Technical Support Staff for Printers  
IT = IT Staff for the ISBVI 
Technician = Technician who assembles and disassembles the system 
Recycler = Stakeholder responsible for disposal of the system 

Feature  ID  Attribute/Metric  Lab  Stude Facult Adm Tech  IT  Techn Recycl
Coord.  nts  y  ins.  Supp ician   er 
ort 

Accuracy  A1  Less than 5% False Negative  RVT  RO  RO  RA         

  A2  Correctly chooses to Stop, Pause, or  RVT  RO  RO  RA         
Ignore 95% of the time 

  A3  Less than 5% False Positives  RVT  RO  RO  RA         

Affordable  B1  Costs no more than $25/Printer  R      RO      RV   

  B2  System maintenance costs are less than  RVA      RO         


$1/Printer/Month on average 
Autonomous  C1  Should have 95% uptime  RVO  RA  RA           

Ease of Use  D1  Errors messages should be able to be  RVA  RL             
understood by 99% of trained system 
operators 

  D2  Training should require less than 2  RVT  RL             


hours 

Non-Invasive  E1  Should require no physical  RO        RO    RO   


modifications that affect the operation 
of the printer 

  E2  Should not impact the ability to service  RO  RO  RO    RVA       
the printer 

  E3  Should not interfere with operations  RVA        R       


other than stopping a print or pausing a 
print. 

  E4  The printer should still work correctly if  RVT        R       


the system is removed in the future. 

Versatility  F1  Should work with 90% of Fused  R      RA  RVL    R   


Filament Fabrication (FDM) printers 
with minimal modifications 

Connectability  G1  Notifications for errors should be sent  RVOT          RT     


out and received within 1 minute of 
occurrence 

  G2  Should be connected to the internet  R      RA    RVO     


95% of the time 

  G3  Should automatically reconnect to the  R          RVAT     


internet/wifi specified  

Recyclable  H1  Must be 80% recyclable by weight                RO 

  H2  Recyclable parts can be separated from                RVT 


non-recyclable material 

Manufacturing  I1  The system shall contain no more than              RV  RO 
Simplicity  20 separable components 

 
Metric (H2): ​Recyclable parts can be separated from non-recyclable material: We will give the recycler one of 
our completed systems, and he will be able to tell us whether or not all of the recyclable material can be 
separated and actually recycled. This is important to the recycler because it is easier for the recycler to recycle 
the parts if the recyclable parts are separable. 
 
Metric (B1):​ Printer should not cost more than $25: We will add the bill of materials, the fabrication cost, 
and the installation cost to ensure that the entire cost of the system is less than $25 per printer. The 3D 
Fabrication Lab Coordinator requires a project that is within the budget of ISBVI’s 3D printing budget by 
having each unit cost at most $25. If the system is over this price, the customer will not be able to afford it. 
 
   
III. Interactions Model 

Interaction  Description  Actors  System I/Os  Features 

Taking a picture  The system moves the  3D Printer,  Current Object  Non-invasive, 
after layer  nozzle to a corner and  Object being  Layer, Power  Accuracy, 
completion  then takes a picture of  printed  Versatility 
the layer in progress. The 
limit switches on the 3D 
printer verify the nozzle 
location for the camera. 

Modifying  The system takes the  3D Slicer  GCode  Affordability, 


G-code  G-code generated by the  Software, Printer  Ease of Use 
3D Slicer Software and  Communication 
then modifies it to move  Software 
the nozzle to the 
completion of a layer. 

Comparison of  The system uses the  Currently Printing  Current Object  Accuracy 
print schematic  image the camera took  Object    Layer 
to camera  of the completed layer 
captures  and processes it in order 
to determine print errors. 

Stopping Print  If the system detects an  Printer  Instruction,  Autonomous, 


uncorrectable error the  Communication  Notification  Connectability 
print will be stopped  Software 
using the printer 
communication 
software. 

Pausing Print  If the system detects an  Printer  Instruction,  Autonomous, 


error that may be  Communication  Notification  Connectability 
resolvable, it will pause  Software 
the print through the 
Printer Communication 
Software, which may be 
resumed by the lab 
coordinator. 

Resuming Print  If the user decides that  User, Printer  Instruction,  Autonomous, 
an error in the print is  Communication  Force,  Connectability 
non-compromising, he  Software  Notification 
may tell the system to 
resume the print via the 
Printer Communication 
Software or a button. 

Detecting Plastic  When there is a glob on  3D Printer  Plastic Glob  Accuracy, 
Glob on Nozzle  the end of the nozzle, a  Non-invasive, 
sensor will detect this  versatility 
and the system will take 
the appropriate action. 

Detecting very  When the weight of the  Filament spool,  Weight,  Accuracy, 
low amount of  filament spool is low, the  User  Notification  Autonomous 
Filament  system will stop/pause 
the print and notify the 
User. 

Mounting  A Technician will mount  Technician,  Assembly  Non-invasive, 


system onto the  the system onto the 3D  3D Printer  Ease of use 
3D Printer  printer. 

Sending  When the system detects  User, Currently  Notification   Connectability, 


notification to  an error, it will send a  Printing Object  Autonomous 
the User  notification to the User. 

Demounting the  A Technician will  Technician,  Disassembly  Non-invasive, 


system from the  remove the system from  3D Printer  Ease of Use 
3D Printer  the printer if it no longer 
desired. 

Change the  Changes the action  User, Printer  Force,  Versatility, Ease 
system setting   (stopping or pausing  Communication  Instruction  of Use, 
print) that occurs when  Software  Autonomous 
the system detects an 
error. 

Loading Print  The system loads the  User, Printer  Print Schematic  Ease of Use, 
Schematic  print schematic fed into  Communication  File, Instruction  Connectability 
it for comparison to the  software 
printed object in 
progress. 

Testing and  The testing/debugging  Testing/Debuggi Voltage Signals,  Ease of Use, 


Debugging the  circuit is connected to  ng Circuit, User  Power  Connectability, 
Circuit  the system and when  Accuracy 
ran, gives a report about 
what is wrong with the 
system (error codes). 
The datasheet will 
include descriptions and 
potential fixes to issues. 
Low Load  Before the filament gets  User, Filament  Weight,  Accuracy, 
Notification  too low, the system will  spool  Notification  Autonomous 
send a warning to the 
User so they can replace 
it. 
 
IV. Functional Architecture Model 

 
Figure 1:​ Functional architecture for our system 
V. Physical Design Solution 
 
 
Figure 2:​ Mapping behavioral description to physical description 

 
Figure 3​: Functional architecture of physical components 
 
To control the system, we plan on using a Raspberry Pi. This microcontroller will be programmed to 
interface with the print server software and will receive inputs from all error detection subsystems. The 
system will come with default settings that can be modified through the use of a HD44780 16x2 character 
LCD display and set of buttons connected to the Raspberry Pi. This LCD was chosen due to affordability 
compared to other LCDs available. The entire system will be powered by a 5 VDC wall transformer 
connected to the Raspberry Pi. A Raspberry Pi has the advantage of many I/O ports for sensor support and 
decent processing capabilities for its price. The Pi will supply power to all sensors in the system. 
The correctness of a layer will be determined using a camera, image processing software, and the 
reference schematic file. A Raspberry Pi Camera Module V2 could be used. It has the advantage of integrating 
well with the Raspberry Pi. However, to satisfy a budget, we could choose a VGA OV7670 camera module at 
a much more affordable price point. At the end of each layer, the nozzle will move to the edge of the print 
surface, which will trigger the limit switches on the motors that control it. The limit switches will be 
connected to the Pi, and when triggered, will signal to the camera to take a picture. The goal of this step is to 
get a clear picture of the most recently completed layer before any future layers are printed. This involves 
moving the nozzle out of the way. The camera’s data will be sent to the Raspberry Pi, where it will compare 
the image of the layer to its respective layer in the print schematic file. Software will be developed for the Pi 
to compare the camera data to the print schematic file. We will be using OpenCV libraries to aid in image 
processing. A layer mismatch will result in the Pi communicating with the print server software to stop or 
pause the print, dependent upon the severity of the error. 
To detect the printer running out of filament, the current mount for the filament will be replaced 
with a 3D printed mount that includes a weight sensor. We will be using the Sparkfun Load Sensor (Part #: 
SEN-13329). The spool will push down on the weight sensor, which will constantly transmit this weight to 
the Pi. When the Pi sees that this signal is below a preset threshold, it will communicate with the print server 
software to stop or pause the print, as well as sending a notification to the lab coordinator. This option is 
cheaper, but can only support up to 10kg filament reels. An alternative that is a bit more expensive but 
supports much up to 50kg would be the SEN-10245. 
The detection of a plastic glob will utilize a set of 2 lasers/laser detectors that will shine around the 
nozzle after each layer completes, as shown in Figure 4. If there is a glob of plastic, the laser will be blocked 
and an obstruction signal will be transmitted to the Raspberry Pi. The Pi will determine the appropriate 
response and send this to the print server software. We will be using Adafruit Laser Diode (Product ID: 
1054) for the lasers. This is due to the fact that the lasers come with laser driver board which ensures the 
longevity of the lifespan of the lasers. A longer lifespan for the lasers results in less maintenance for the 
system, making the system more autonomous. A Waveshare Laser Sensor (UPC: 799632836476) will be used 
for the laser detectors.. That particular laser sensor can detect 650 nm light which is important because the 
chosen laser shines at 650 nm.  
The mounting subsystem will consist of velcro adhesives from the Velcro brand which will be used 
to mount parts of the system onto the 3D printer. Velcro was chosen due to its ability to be removed from 
the 3D printer easily, which supports the noninvasive feature. The communication subsystem will use the 
Edimax EW-7811Un WiFi Adapter due to its affordability. Another option would be the official Raspberry Pi 
WiFi dongle due to its affordability, but there are limited quantities available. 
There will be custom code to convert the Gcode to the modified Gcode. There will also be custom 
code to read STL files for the image processing. The Raspberry Pi will be communicating to the 3DPOS 
software to send instructions to the printer. The 3DPOS printer communication software was chosen 
because it is the system that is currently used at the ISBVI, and continued use will make the system the least 
invasive. 
 
 
Figure 4. Structure of the laser subsystem 
 
 
VI. Reflection and Conclusions 
 
We have designed our system with low cost, accuracy, and simplicity in mind. Our design maximizes 
reusability by utilizing the Raspberry Pi and built-in sensors of the 3D printer provided. The number of 
external sensors was optimized to create the most cost effective solution without compromising accuracy. 
Interaction with the system has been made as straightforward as possible while still providing full 
functionality to the user.  
The end of life of our system has also been considered. Assembly and Disassembly of our system 
was made to be minimally invasive as to not affect the regular operation of the printer post-removal. Our 
system was designed in a way such that a majority of our system can be recycled without compromising the 
effectiveness of our solution. Our system will serve to benefit your printers with our advanced print error 
detection methods to keep any printer malfunctions minimally impactive. This will ensure the students of the 
Indiana School for the Blind and Visually Impaired will have the best learning experience possible with these 
3D printed models. 
Over the course of the design process, we continued to add more details to our initial design 
solution, but the high level solution didn’t change. We had a quite rough idea of how we wanted to 
implement our solution at the beginning, but over the course of the design process we have clarified some 
details and now have a design that could potentially be prototyped.  

You might also like