Finally made sense of the MAX31855's 12- and 14-bit "signed" outputs. The secret is that they don't employ one's complement, but instead use two's complement to represent negative numbers. Once you get past/over that hurdle, you find that - to get the temperature in °C - you merely multiply the resulting (decimal) value by 0.25! Voila! I wasn't prepared for that level of clarity: this thermocouple reader is capable of giving me temperature readings from -250°C to +400°C in increments of 0.25°C! (For those of you living - along with me - in metric-impaired America, that's -418°F to 752°F in 0.46°F increments!)
So, I've gotten that behind me, and I know that I'll need to code a subroutine for extracting two's complement values, and another subroutine for converting °C to °F. I suspect that I'll need to code the data collection loop employed by a (Propeller) Cog to read the MAX81355 as well, but after that I should be in fine shape. From there I have options, and this is going to be a KISS project, so in-line buffering and all like that won't be necessary - I'll let the data acquisition timing be controlled by the requests of the PC (via USB). Five Cogs will be responsible for monitoring two thermocouples apiece: the remaining three will deal with data conversion, flow control; I'll probably have a Cog or two sitting idle after it's all said and done.
...at least that's what I think now, while I'm still in the planning/assembly stage of this project. Things could change rapidly as reality rears its ugly head during development; time will tell. But the plan remains to allow five Cogs to acquire the data and place it in <some locations> in shared memory, where another Cog will (upon request from the PC) send the values "up the line". A C# application (well, the development language isn't etched in copper, yet) will act as the main controller, communicating with the datalogger via USB, and performing all of the time/date-stamping that makes this type of testing useful.
Now I guess I need to finish parts acquisition. The power supply is partially SMT: I simply cannot avoid it any longer, as the pieces-partzen necessary are no longer available as hole-through components. Too bad, and so long to the end of an era. (I really enjoyed that era, along with wire-wrapping! You really can't wire-wrap an SMT amplifier...)
...the project continues... |