Professional Documents
Culture Documents
Initial Report
Initial Report
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
Ease of Use D1 Errors messages should be able to be RVA RL
understood by 99% of trained system
operators
E2 Should not impact the ability to service RO RO RO RVA
the printer
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
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.
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.
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.
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.
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.