P17551: Sandia Instrumented 3D Printer
/public/

Integrated System Build & Test with Customer Demo

Table of Contents

Team Vision for System Level Demo with Customer

Shared Vision from the Week 8 Review:
Upkeep and Update Document

Upkeep and Update Document

Imagine Demo

Imagine Sample Part

Imagine Sample Part

Imagine Draft Poster

Imagine Draft Poster

Test Results Summary

Sensor Network

Temperature Accuracy of central four pixels

Temperature Accuracy of central four pixels

Data Output Analysis

Bed Temperature Data

Bed Temperature Data

All of the collected data is well below the setpoint of 80 degrees, and drops off dramatically with distance from the center. There is also a significantly higher temperature on the left side of the bed (C1, C5) than the right side of the bed (C11, C16).

Ambient Temperature Data

Ambient Temperature Data

The ambient temperature data shows evidence of heat creep inside the enclosure. A1 and A4 are significantly hotter than A2 and A3, meaning the ambient temperature is hotter on the left side of the enclosure than the right.

Tensile Testing

Tensile Specimens

Tensile Specimens

Test Data

Test Data

Stress Strain Curves

Stress Strain Curves

NIST Inspection

NIST Inspection Measurements

NIST Inspection Measurements

Bill of Material

Bill of Materials Document

Bill of Materials Document

Risk and Problem Tracking

Problem Tracking Document

Problem Tracking Document

Updated Risk Management Document

Updated Risk Management Document

Functional Demo Materials

Edge Detection

Code

#import the necessary packages
import numpy as np
from picamera.array import PiRGBArray
from picamera import PiCamera
import time
import cv2
from matplotlib import pyplot as plt

#initialize camera and grab a reference to the raw camera capture
camera = PiCamera()
rawCapture = PiRGBArray(camera)

#allow the camera to warmup
time.sleep(0.1)

#grab an image from the camera
camera.capture(rawCapture, format="bgr")
image = rawCapture.array

#convert to hsv

hsv_image = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)

#define green color range
lower_green = np.array([25,0,25], dtype="uint8")
upper_green = np.array([225,255,225], dtype="uint8")

#mask the image
mask = cv2.inRange(image, lower_green, upper_green)

res = cv2.bitwise_and(image,image,mask= mask)

#display the image on screen and wait for a keypress
cv2.imshow("Image", image)

cv2.imshow("hsv", hsv_image)
#cv2.imshow("mask", mask)
cv2.imshow("res",res)

edges = cv2.Canny(image, 90, 120)
cv2.imshow("Edges", edges)

edges_filtered = cv2.Canny(res,80,120)
cv2.imshow("Edges Filtered", edges_filtered)

#save images

cv2.imwrite("NoBackground/Image.jpg", image)
cv2.imwrite("NoBackground/hsv.jpg", hsv_image)
cv2.imwrite("NoBackground/Edges.jpg", edges)
cv2.imwrite("NoBackground/res.jpg", res)
cv2.imwrite("NoBackground/Edges_Filtered.jpg", edges_filtered)

#cv2.imshow("Grayscale", gray_image)

cv2.waitKey(0)

Images Without Backdrop

Note: The Pi camera has a ~3.6mm focal length, but slight adjustments have been made to accommodate the proximity of the artifact.

Original Image

Original Image

HSV Image

HSV Image

RGB Partially Filtered Image

RGB Partially Filtered Image

Canny Edge Detect Algorithm on Original Image

Canny Edge Detect Algorithm on Original Image

Canny Edge Detect Algorithm on RGB Partially Filtered Image

Canny Edge Detect Algorithm on RGB Partially Filtered Image

Images with Backdrop

Original Image with Backdrop

Original Image with Backdrop

Original Image Converted to HSV

Original Image Converted to HSV

Canny Edge Detect Algorithm on Original Image

Canny Edge Detect Algorithm on Original Image

LED Display

Functional LED program

Functional LED program

Sensor Network

Firmware

Status

The firmware development is coming very close to its completion; however problems are still being worked out. The development of the SD expansion to allow another file operation is almost complete after iterating on the solution several times. Additionally, several previously written code implementations were improved and cleaned up for additional readable and safety concerns. In the next week or two after the code is properly debugged to ensure proper performance, it will be implemented into the printer.

Issues

The issue of performing two different SD file actions at once has been mostly addressed and there are only a few more issues that remain. At first the attempt to expand the firmware was an approach that would have little resource impact on the system, but proved to be more complicated than what it would be worth. So instead, the approach to add an additional SD file module was chosen that would always keep track of the given log file for a print job. This SD file runs completely separately from the primary one which should allow dual SD file capabilities. There are a few remaining bugs and safety concerns that need addressed in order to complete the SD implementation.

The Watchdog reset issue has been addressed and is continuously being considered in the process moving forward. After further research into the issue, the cause was linked to trying to perform file operations during critical time periods. In order to work around the issue, the SD file was accessing was changed to be as a separate call group with other calls of the like in a non-critical time period. This change required several different method additions unique to log file access.

Plan Forward and Outlook

Before the customer hand-off, the firmware should be in a state that allows capturing of the internal CSV data at minimum. Having additional updates to the firmware PID controller do not look possible with the given time constraints. The next two weeks will be spent ironing out issues to make sure there are no errors in the new firmware modifications that could cause danger to the printer or to normal printer operations as well as debugging current errors. In the week before the hand-off, heavy documentation will be done on the firmware modifications that have been made, including in code annotations. Following the handoff, modifications will be made to the additional printer being bought so it will also have the logging mechanisms being developed for our current printer.

Plans for next phase

Gantt Chart

Gantt Chart

Gantt Chart

Shared Vision for Next Review

Three Week Plans


Home | Planning & Execution | Imagine RIT

Problem Definition | Systems Design | Preliminary Detailed Design | Detailed Design

Build & Test Prep | Subsystem Build & Test | Integrated System Build & Test | Integrated System Build & Test with Customer Demo | Customer Handoff & Final Project Documentation