-
Notifications
You must be signed in to change notification settings - Fork 12
Open
Description
current behavior/ steps to reproduce
When a plate temp is set and we either open/close the thermocycler lid, sometimes, the thermocycler goes into the 'plate temperature not uniform' error mode.
reason for error
- The plate thermistors are read in pairs every loop to minimize loop blocking time. If a lid movement is initiated after a read of partial thermistors then the thermocycler will read the remaining thermistors once the movement is finished. Now because the lid opened/ closed, there will be an expected change of temperature of the plate which will be reflected in the new thermistor readings. Sometimes this change in temp is more than the safe threshold. So, even though the change was actually uniform throughout the plate, it seems like it's not uniform because of the gap between read times of some of the thermistors and rest of the thermistors.
- Another reason is that the plate temp actually changes while lid is in motion. This is because the power to the peltiers doesn't get updated because lid movement blocks the peltier update from PID. So if the peltier was set to an
x
% power to, say, heat a particular peltier by a certain fraction, it'll continue to stay the same until lid movement is completed. This behavior, when coupled with the fact that each peltier could be set at a different level when lid movement starts, makes the plate temperature non-uniform. When the lid is opened & closed continuously multiple times then this non-uniformity keeps on increasing and ultimately leads to the uniformity error
possible solutions
- Have the thermocycler update all its thermistors before doing temp_safety_check
- Right before executing
lid.open()
orlid.close()
, set peltier PID to manual and scale down peltier power. This will hopefully keep the peltier temps from straying too much. Once lid movement is completed, power will be set to auto PID value. The side effect will be a lower temp ramp rate when lid movement is initiated while in the middle of a temp ramp - Make the lid movements non-blocking. This is a much bigger change and would require us to redo quite a few QC tests