Featured Post

Site Navigation is in the Left Column

Monday, January 4, 2021

RDP sevice up and running

I added an RDP service to the RPi so I can work on code form anywhere on the planet.

Alert Limit Function Complete

Function to read and write Alert Limit registers has been completed. 

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.

Added Documentation

I added a page for the Cold Trap and its purpose.

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.