Featured Post

Site Navigation is in the Left Column

Friday, August 27, 2021

Constructed Log File Management Library (C++)

To track progress of the required metrics of the freezedrying process,I needed a logging library.

Initially it was made to track events and times, but I decided to expand it to use the high-precision clock in the crono library.  This adds the ability to not only perform event logging functions, but also high-precision scientific data logging 

The library will record elapsed time accurate to the nano-second, if your hardware is capable of such precision.  If your hardware is not capable of nanosecond precision, the library will automatically adjust to the highest precision the hardware is capable of.

Wednesday, August 18, 2021

Trying to Resolve Temperature Errata

Occasionally, temperature readings will spike.  This is most likely due to reading the Hot Junction register before ADC is completed.   The native library does not have a means to handle this, so I am collaborating with the designer of the thermocouple amplifier to develop or repair the native library to prevent the errata.

Tuesday, August 17, 2021

Duty Cycle Programming Complete

The duty-cycle routines have been written and tested.  

Now, the relay library includes functions to turn the relays on and off as well as functions to control the duty cycle of the device controlled by the relay.

For instance, I do not want to have to constantly check and see if the compressor is being ran too much. With the duty cycle routines, I can program the duty cycle for 90 seconds on and 90 seconds off.  All the main routine needs to do is call for service. The relay will immediately turn on for 90 seconds, then turn off for 90 seconds.  If the main program is still calling for service, the relay will turn on for 90 more seconds.

The duty cycle is completely driven by event handlers and timers.  So the main loop does not need to check the duty cycle times or anything like that.