Difference between revisions of "ECE434 Project - Heat Treating Oven"

From eLinux.org
Jump to: navigation, search
Line 38: Line 38:
  
 
== Packaging ==
 
== Packaging ==
If you have hardware, consider [http://cpprojects.blogspot.com/2013/07/small-build-big-execuition.html Small Build, Big Execuition] for ideas on the final packaging.
+
Our hardware includes a Powerswitch tail ii, MAX31855 type-K thermocouple breakout board, thermocouple, and the oven that you can learn to build here http://dcknives.blogspot.com/p/electric-forge.html
 +
 
  
 
== Installation Instructions ==
 
== Installation Instructions ==
  
Give step by step instructions on how to install your project.
+
Now we are at the point that we can actually run the code.  Cd to your home directory and clone the attached repository.
 +
 
 +
git clone https:/github.com/giambajt/ECE434-FinalProject
 +
 
  
* Include your [https://github.com/ github] path as a link like this to the read-only git site:  [https://github.com/MarkAYoder/gitLearn https://github.com/MarkAYoder/gitLearn].
 
* Be sure your README.md is includes an up-to-date and clear description of your project so that someone who comes across you git repository can quickly learn what you did and how they can reproduce it.
 
* Include a Makefile for your code if using C.
 
* Include any additional packages installed via '''apt'''.  Include '''install.sh''' and '''setup.sh''' files.
 
* Include kernel mods.
 
* If there is extra hardware needed, include links to where it can be obtained.
 
  
 
== User Instructions ==
 
== User Instructions ==
  
Once everything is installed, how do you use the program?  Give details here, so if you have a long user manual, link to it here.
+
Before we run the python script, there is a setup script that will make sure that you have the correct libraries installed first
 +
 
 +
cd SheetsExample
 +
./setup.sh
 +
 
 +
From there it should be easy as changing to the new directory and executing the python script
  
Consider making it autostart for full credit.
+
cd ..
 +
./Oven.py
  
 
== Highlights ==
 
== Highlights ==
  
Here is where you brag about what your project can do.
+
The main part of our code interfaces with a thermocouple through a MAX31855 breakout board over SPI.  The information is sent to Blynk where the user can see the current temperature and set the max temperature of the oven.  When the max temperature is set the Beagle will implement a PID controller with hysteresis to keep the oven temperature mostly constant.  The user can also run a script to schedule a python script that logs the temperature to Google sheets every minute.  Since each oven is different this is useful to plot the temperature over time to modify the hysteresis curve.  
  
 
Include a [http://www.youtube.com/ YouTube] demo the audio description.
 
Include a [http://www.youtube.com/ YouTube] demo the audio description.
Line 69: Line 73:
 
== Work Breakdown ==
 
== Work Breakdown ==
  
List the major tasks in your project and who did what.
+
Major tasks:
 +
Interface with MAX31855 board: Geoffery
 +
Send and receive information from Blynk: Geoffery
 +
Build oven: Geoffery and Joshua
 +
Record information to Google Sheets: Joshua
 +
Schedule sheets information with crontab: Joshua
  
Also list here what doesn't work yet and when you think it will be finished and who is finishing it.
 
  
 
== Future Work ==
 
== Future Work ==
  
Suggest addition things that could be done with this project.
+
In the future this could be used to interface with more ovens.  Our oven can only be turned on and off so the PID controller is very discrete.  But if one could control the intensity of the heat a more accurate PID controller could be implemented to keep the heat of the oven more constant.  Also once the new Blynk IoT app is more developed then the Blynk code could be ported over to that to reach a wider audience.  
  
 
== Conclusions ==
 
== Conclusions ==

Revision as of 21:31, 14 November 2021

thumb‎ Embedded Linux Class by Mark A. Yoder


Team members: Geoffrey Tomlinson Joshua Giambattista

Grading Template

I'm using the following template to grade. Each slot is 10 points. 0 = Missing, 5=OK, 10=Wow!

09 Executive Summary
09 Packaging
09 Installation Instructions 
09 User Instructions
09 Highlights
09 Theory of Operation
09 Work Breakdown
09 Future Work/Conclusions
09 Hackster.io
09 Demo/Poster
00 Not Late

Score:  90/100

Executive Summary

We will be making a heat treating oven for use in Geoffrey's bladesmithing forge. The oven will be controlled by the BeagleBone which in turn will be controlled by Blynk and will log data on a google sheet. There will be a Systemd service to automatically start the program aswell.

A PowerSwitch Tail 2 will be used to control the power to the project since it requires 120 volts. A MAX31855 Thermocouple sensor will be used with a type-K thermocouple to read temperatures up to 1200C in the oven.

What works:

What doesn't work:

We believe that this project will be good practice for creating IoT devices, systemd services, and logging data. It will also be a useful addition to Geoffrey's forge.

Packaging

Our hardware includes a Powerswitch tail ii, MAX31855 type-K thermocouple breakout board, thermocouple, and the oven that you can learn to build here http://dcknives.blogspot.com/p/electric-forge.html


Installation Instructions

Now we are at the point that we can actually run the code. Cd to your home directory and clone the attached repository.

git clone https:/github.com/giambajt/ECE434-FinalProject


User Instructions

Before we run the python script, there is a setup script that will make sure that you have the correct libraries installed first

cd SheetsExample ./setup.sh

From there it should be easy as changing to the new directory and executing the python script

cd .. ./Oven.py

Highlights

The main part of our code interfaces with a thermocouple through a MAX31855 breakout board over SPI. The information is sent to Blynk where the user can see the current temperature and set the max temperature of the oven. When the max temperature is set the Beagle will implement a PID controller with hysteresis to keep the oven temperature mostly constant. The user can also run a script to schedule a python script that logs the temperature to Google sheets every minute. Since each oven is different this is useful to plot the temperature over time to modify the hysteresis curve.

Include a YouTube demo the audio description.

Theory of Operation

Give a high level overview of the structure of your software. Are you using GStreamer? Show a diagram of the pipeline. Are you running multiple tasks? Show what they do and how they interact.

Work Breakdown

Major tasks: Interface with MAX31855 board: Geoffery Send and receive information from Blynk: Geoffery Build oven: Geoffery and Joshua Record information to Google Sheets: Joshua Schedule sheets information with crontab: Joshua


Future Work

In the future this could be used to interface with more ovens. Our oven can only be turned on and off so the PID controller is very discrete. But if one could control the intensity of the heat a more accurate PID controller could be implemented to keep the heat of the oven more constant. Also once the new Blynk IoT app is more developed then the Blynk code could be ported over to that to reach a wider audience.

Conclusions

Give some concluding thoughts about the project. Suggest some future additions that could make it even more interesting.




thumb‎ Embedded Linux Class by Mark A. Yoder