I added an RDP service to the RPi so I can work on code form anywhere on the planet.
Blog about the science, calculations, design and build of a freeze dryer from commonly available components.
Featured Post
Monday, January 4, 2021
RDP sevice up and running
Alert Hysteresis Registers Tested
I have completed round 1 testing of the alert hysteresis registers and associated functions.
Hysteresis settings allow the user to set a range of acceptable temperatures. If the measured temperature is outside that range, the alert will go to a set state.
Sunday, January 3, 2021
Abstraction of WiringPi Functions
I made simple abstraction functions to replace the WiringPi functions. this allows me to use WiringPi libraries without being totally reliant on them. If a new, better library is found, I can replace a few abstraction functions and the rest of the code will not need touched.
MCP9600 Alert registers almost complete
The MCP9600 has 4 programmable alerts. I have began coding C++ functions that allow these to be set and read. The MCP9600 is programmed in Celsius, so I am adding functions that will allow programming in C, F, K and R temperature standards.
Thursday, December 31, 2020
Programming Step
Added Several functions to the MCP9600 library.
I now own the status register and the config register. This allows me to monitor temperature alerts by monitoring LEDs on the amplifier board.
Wednesday, December 30, 2020
In the Beginning
At the time I started this blog, I had a few parts of the freeze dryer working. Additionally, I have obtained most of the parts I thought I would need.
I have successfully interfaced the thermocouples to the RPi using two MCP9600 Thermocouple amplifiers. These amplifiers have a convenient multi-function digital interface that can communicate with several protocols. I will be using the Inter-Integrated Circuit (I2C) 2-wire interface for most things.
I have written temperature conversion routines for the general-purpose library so it can be used for various other tasks in the future. The library currently supports direct temperature conversion for Celsius, Kelvin, Fahrenheit, and Rankin.
I am writing all code in C++ using the WiringPi library in the CodeLite Integrated Development Environment.
The MCP9600 supports several thermocouple types including K, J, T, N, S, E, B and R. I chose the K-type thermocouple for its performance at low temperatures.
I currently have routines that configure the thermocouple type, configure the noise tolerance, fetch the hot junction temperature and fetch the cold junction temperature.
I have obtained an adequate vacuum pump, a refrigerator, a vacuum chamber, most parts for the control system and a small AC unit to help the refrigerator reach levels of cold it was not designed to reach.