M-Labs TEC with 10K RTD #32

Closed
opened 2020-12-20 03:19:36 +08:00 by jbqubit · 6 comments

Does M-Labs have a test setup in the lab for testing Thermostat? A setup consisting of the following would be helpful at checking out device performance and perhaps building simple human-in-the-loop tests.

  • base plate
  • TEC
  • top plate with embedded 10K RTD
Does M-Labs have a test setup in the lab for testing Thermostat? A setup consisting of the following would be helpful at checking out device performance and perhaps building simple human-in-the-loop tests. - base plate - TEC - top plate with embedded 10K RTD

Yes. Why?

Yes. Why?

A toy setup would be helpful at firmware validation. Basically, helps at finding bugs before end-users do. Examples...

  • does documented dt permit application of Ziegler Nichols approach at PID tuning? #11 (comment)

  • swapped RTD inputs -- resolved in #12

  • I sometimes see offset between target temperature and actual temperature (pid engaged). Haven't posted bug report because its not yet reproducible on my end.

  • would get developer using pytec; may reveal certain ease-of-use issues

  • it's fun!

A toy setup would be helpful at firmware validation. Basically, helps at finding bugs before end-users do. Examples... - does documented dt permit application of Ziegler Nichols approach at PID tuning? https://git.m-labs.hk/M-Labs/thermostat/issues/11#issue-299 - swapped RTD inputs -- resolved in #12 - I sometimes see offset between target temperature and actual temperature (pid engaged). Haven't posted bug report because its not yet reproducible on my end. - would get developer using pytec; may reveal certain ease-of-use issues - it's fun!

Here is a test setup for the thermostat. A small block of aluminium is stacked on top of 3 TEC modules, only the one right underneath the aluminium block is wired to the thermostat, the other 2 TEC modules are wired to a constant current source set to 1A. The 10k thermistor is secured inside a hole drilled into the block being cooled. A aluminium box houses the above mentioned components. A large heatsink is adhered to the aluminium box, with a fan cooling the entire setup.

With a few small changes to the current firmware, the setup is able to control the aluminium block temperature and hold it to +-10mK within the set temperature once settled, according to the device temperature readout. PID loop is tuned mostly by intuition and following a few rules of thumb.

I've attatched a few photos showing the test setup, control loop response to a 40c -> 10c -> 40c setpoint change, as well as a graph showing temperature stability over a few minutes when trying to hold 40c (y-axis is deviation from 40c). Ambient temperature in lab is around 24c.

The changes to the software will be cleaned up and submitted for a pull request on sat.

Here is a test setup for the thermostat. A small block of aluminium is stacked on top of 3 TEC modules, only the one right underneath the aluminium block is wired to the thermostat, the other 2 TEC modules are wired to a constant current source set to 1A. The 10k thermistor is secured inside a hole drilled into the block being cooled. A aluminium box houses the above mentioned components. A large heatsink is adhered to the aluminium box, with a fan cooling the entire setup. With a few small changes to the current firmware, the setup is able to control the aluminium block temperature and hold it to +-10mK within the set temperature once settled, according to the device temperature readout. PID loop is tuned mostly by intuition and following a few rules of thumb. I've attatched a few photos showing the test setup, control loop response to a 40c -> 10c -> 40c setpoint change, as well as a graph showing temperature stability over a few minutes when trying to hold 40c (y-axis is deviation from 40c). Ambient temperature in lab is around 24c. The changes to the software will be cleaned up and submitted for a pull request on sat.
sb10q closed this issue 2020-12-25 09:25:56 +08:00

Looks like a nice setup. And that's a good result for stability. Definitely better than what I've seen in my own setup. I typically see 100 mK noise and several 100 mK temperature offset from set point. Looking forward to taking a look at your patches when the post on Saturday. Great results!

Looks like a nice setup. And that's a good result for stability. Definitely better than what I've seen in my own setup. I typically see 100 mK noise and several 100 mK temperature offset from set point. Looking forward to taking a look at your patches when the post on Saturday. Great results!

The changes to the software will be cleaned up and submitted for a pull request on sat.

@topquark12 Did you merge the changes you mentioned?

> The changes to the software will be cleaned up and submitted for a pull request on sat. @topquark12 Did you merge the changes you mentioned?

@jbqubit Yes, changes already merged into master. See 7c013ff4a4 and e94601f54f

@jbqubit Yes, changes already merged into master. See https://git.m-labs.hk/M-Labs/thermostat/commit/7c013ff4a4e203549f671487b0c074a71f5a3757 and https://git.m-labs.hk/M-Labs/thermostat/commit/e94601f54feb5c1106ebf9adf6fc8c59316a6de1
Sign in to join this conversation.
No Label
No Milestone
No Assignees
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: M-Labs/thermostat#32
There is no content yet.