-
Notifications
You must be signed in to change notification settings - Fork 5
PCT2075 I2C Temperature Sensor #34
Description
What Does This Component Do?
The PCT2075 I2C Temperature Sensor is employed in two places on the PROVES Kit, the V3x Battery Boards and the V2 Antenna Boards. The PCT is marginally smaller footprint than the MCP9808 (which has higher accuracy) and is employed when we want to squeeze a temperature sensor into the kit where space is at a premium. The PCT measures board level "ambient" temperature inside the satellite (rather than the MCP which generally measures the temperatures externally).
We want a PCT Component to do the following:
- Differentiate the location of the PCT Temperature Sensor (currently either Battery Board or Antenna Board)
- Detect the I2C device on the specified bus given its expected address.
- Collect the temperature in
Degrees C - Log the temperature at
1hz frequency - Command the
SLEEPandWAKEof the sensor.
Design Notes
Link to PCT 2075 Datasheet
Link to Adafruit PCT 2075 C++ Library
It's a temperature sensor, not much else to say. This information will eventually get forwarded to a Satellite Health component that can make decisions about turning on and off components based on the recorded temperature. Although the task is requesting the data is collected every second it probably makes sense to set some kind of maximum buffer size for that data before it starts getting deleted.
Example CircuitPython Implementation
import adafruit_pct2075
...
class Satellite:
...
def __init__(self):
...
# Initialize PCT2075 Temperature Sensor
try:
self.pct = adafruit_pct2075.PCT2075(self.i2c0, address=0x4F)
self.hardware["TEMP"] = True
except Exception as e:
self.debug_print(
"[ERROR][TEMP SENSOR]" + "".join(traceback.format_exception(e))
)
...
@property
def internal_temperature(self):
return self.pct.temperatureReference Schematic
