Colibri PID1
Jump to navigation
Jump to search
Colibri PID is an expansion module with one Pt1000 temperature sensor input and one Analog 0-10 volt output, and an on-board STM32F030 that implements a PID regulator.
MAX31865 is the resistor Whetstone bridge A/D converter. It uses SPI as the interface.
MCP4725 is the 12 bit D/A converter used.
I2C Addresses
M24M01 = 0x50-0x51 STM32F030 = 0x10-0x1F
MCP4725 = 0x60 ; This is on a separate I2C bus, connected only to the on-board STM32F030
EEPROM factory layout
See the Colibri EEPROM Layout page for the full picture.
Calibration data in EEPROM
The MAX31865 measures
| Address | Length | Description |
|---|---|---|
| 0x0080 | 4 | k-factor for Input |
| 0x0084 | 4 | m-offset for Input |
| 0x0088 | 4 | k-factor for Output |
| 0x008c | 4 | m-offset for Output |
Test Report
| Address | Length | Description |
|---|---|---|
| 0x0100 | 4 | Year * 12 + month |
| 0x0104 | 4 | Date * 24 + hour |
| 0x0108 | 8 | Reserved for future use. |
| 0x0110 | 4 | EEPROM write/read/erase test. 32 cycles. Each cycle is represented in one bit. 0=Success, 1=Fail. |
| 0x0114 | 4 | Calibration parameters written to EEPROM. 0xffff=fail, 0x0=success |
| 0x0118 | 4 | zeptoforth program written to EEPROM. 0xffff=fail, Bytes written otherwise. |
| 0x011c | 4 | WebAssembly program written to EEPROM. 0xffff=fail, Bytes written otherwise. |
| 0x0120 | 4 | Co-MCU program written to EEPROM. 0xffff=fail, Bytes written otherwise. |
| 0x0124 | 28 | Reserved for future use. |
| 0x0140 | 4 | Apply 820Ω on Input, check for within 5%, write raw A/D value to this position, or 0xFFFF if fails. |
| 0x0144 | 4 | Apply 1000Ω on Input, check for within 5%, write raw A/D value to this position, or 0xFFFF if fails. |
| 0x0148 | 4 | Apply 1300Ω on Input, check for within 5%, write raw A/D value to this position, or 0xFFFF if fails. |
| 0x014c | 4 | Reserved for future use. |
| 0x0150 | 4 | Set 0xFF0 to the DAC. Output measured value on terminal is written to this position, or 0xFFFF if test failed. |
| 0x0154 | 4 | Set 0x800 to the DAC. Output measured value on terminal is written to this position, or 0xFFFF if test failed. |
| 0x0158 | 4 | Set 0x010 to the DAC. Output measured value on terminal is written to this position, or 0xFFFF if test failed. |
| 0x015c | 4 | Reserved for future use. |