Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Changes to add a max6675 thermocouple amp for Type K, and added and OLED for display #2

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

dmandala
Copy link

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.

  1. Removed the one wire temp reader and swapped in a type K thermocouple
    and a max6675 thermocouple amp.

  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 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.

David Mandala 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.
@dmandala
Copy link
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.

@dmandala dmandala closed this Oct 30, 2020
@dmandala dmandala reopened this Oct 30, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant