Changes to add a max6675 thermocouple amp for Type K, and added and OLED for display - #2
Open
dmandala wants to merge 4 commits into
Open
Changes to add a max6675 thermocouple amp for Type K, and added and OLED for display#2dmandala wants to merge 4 commits into
dmandala wants to merge 4 commits into
Conversation
added 4 commits
October 26, 2020 22:48
and renamed it multiprofileTypeK.ino in preperation for make large changes in the code.
1) Removed the one wire temp reader and swapped in a type K thermocouple and a max6675 thermocouple amp. Removed the 1Wire lib and replaced it with the max6675 lib. 2) Removed the single button input method and replaced it with two buttons on hardware INT lines (pins 2-3 on an Arduino NANO). 3) Dropped the LED blinking to tell you what profile selected with a small OLED display. The display is a The OLED hardware is based on "0.96 Inch OLED Module 12864 128x64 Yellow Blue SSD1306 Driver I2C Serial Self-Luminous Display Board" the Module Size: 27mmx 27mm x 4mm. 4) The a major change was to remove functions to set up a profile and replace it with an array of arrays, so it removes a bunch of if clauses and just uses a single offset into the array that is changed from stage to stage. The actual PID code was not changed beyond that, I don't understand PID code enough that I'm willing to change it without guidance of the author. 5) The file was split up into 4 files to make it a bit easier to see what functons are what, the files are display.ino, handle_input, temp and the origional file toastyOven. 5a) The display.ino handles the Serial.print output, and the OLED display subsystem. 5b) The handle_input.ino handles the 2 buttons, on the hardware interupt pins specific to the Arduino hardware, In my case I am using an Arduino Nano and its int pins are 2 and 3 but on a different Arduino you might have to move the switches to differnt hardware pins. 5c) The temp.ino takes care of reading the temp via what ever hardware you are using to track the temp in the oven. In my case I'm using a thermocouple that is of type K and an associated thermocouple amp, which again in my case is a max6675. 5d) The multiprofileTypeK.ino now for the most part contains the oven thermal control PID system, and the section to select the profile you want to run. Now a bunch of tuning needs to be done with the PID code, the oven overheats by 10C - 15C degrees as it hits stages. The oven is highly insulated and does not lose heat, so the PID code will have to approach the designated temp slowely so it does not overun the temp. More changes to come.
that are connected to the SSD's and some minor updates to the read temp code for clarity of what was being done.
Author
|
Added a fritzing file and a png of the wiring. Also made some changes to how the SSD's were wired, moved the pins to the PWM pins on the Nano and finally made some changes to the read temp function for clarity on timing issues. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Switched to an Arduino Nano base, added a switch, changed from a 1Wire Type K to a SPI, max 6675 Type K, added a .96" cheap OLED and changed how profiles are stored.
Removed the one wire temp reader and swapped in a type K thermocouple
and a max6675 thermocouple amp.
Removed the single button input method and replaced it with two
buttons on hardware INT lines (pins 2-3 on an Arduino NANO).
Dropped the LED blinking to tell you what profile selected with a
small OLED display. The display is a The OLED hardware is based on "0.96
Inch OLED Module 12864 128x64 Yellow Blue SSD1306 Driver I2C Serial
Self-Luminous Display Board" the Module Size: 27mmx 27mm x 4mm.
The a major change was to remove functions to set up a profile and
replace it with an array of arrays, so it removes a bunch of if clauses
and just uses a single offset into the array that is changed from stage
to stage. The actual PID code was not changed beyond that, I don't
understand PID code enough that I'm willing to change it without
guidance of the author.
The file was split up into 4 files to make it a bit easier to see
what functions are what, the files are display.ino, handle_input, temp
and the original file toastyOven.
5a) The display.ino handles the Serial.print output, and the OLED display
subsystem.
5b) The handle_input.ino handles the 2 buttons, on the hardware interrupt
pins specific to the Arduino hardware, In my case I am using an Arduino
Nano and its int pins are 2 and 3 but on a different Arduino you might
have to move the switches to different hardware pins.
5c) The temp.ino takes care of reading the temp via what ever hardware
you are using to track the temp in the oven. In my case I'm using a
thermocouple that is of type K and an associated thermocouple amp, which
again in my case is a max6675.
5d) The multiprofileTypeK.ino now for the most part contains the oven thermal
control PID system, and the section to select the profile you want to
run.