assembly/src/hw/thermostat.md

1.9 KiB

Sinara 8451 Thermostat

Setup

Attach Ethernet and Micro-USB cables and run:

git clone gitea@git.m-labs.hk:M-Labs/thermostat.git
cd thermostat
nix develop
nix-shell -p gcc-arm-embedded-10 rlwrap
cargo build --release
arm-none-eabi-objcopy -O binary target/thumbv7em-none-eabihf/release/thermostat thermostat.bin
# turn on Thermostat
rlwrap nc -vv 192.168.1.26 23
# enter `dfu` command end exit rlwrap
dfu-util -a 0 -s 0x08000000:leave -D thermostat.bin

Then check that fans are working properly. You may also check fan controls via fan commands (see the firmware documentation).

Test PID

  1. For Zotino: connect 10-pins IDC 2.54mm FC cable from internal Thermostat connector to the Zotino TEC
  2. General TEC: connect external connector to the TEC
  3. Connect Ethernet and PSU
  4. Run:
    git clone gitea@git.m-labs.hk:esavkin/thermostat.git
    cd thermostat
    git checkout zotino-tec
    nix develop
    python pytec/tec_qt.py
    
  5. In Output Config, set limits:
    • Max Cooling Current - 400 mA
    • Max Heating Current - 400 mA
    • Max Voltage Difference - 1 V
  6. PID Config -> PID Auto Tune set desired target temperature, which should be slightly above your room temperature (+10C)
  7. Set Thermistor Config -> B and other values, according to the datasheet of the TEC module, for example for Zotino B is 3455 K
  8. Run PID Config -> PID Auto Tune -> Run and check graphs that the measured temperature goes to the target temperature, and eventually stabilizes at +- 0.01 of the target

Common problems

Thermostat doesn't connect or doesn't enter DFU mode

Carefully take out Thermostat from its protective box, unscrewed all screws before. Apply jumper and power on the Thermostat. Now it should be in DFU mode.