[INSTRM-610] Wire in heater PID loop Created: 13/Feb/19  Updated: 27/Jan/21  Resolved: 22/Jan/21

Status: Done
Project: Instrument control development
Component/s: ics_xcu_smb
Affects Version/s: None
Fix Version/s: None

Type: Task Priority: Normal
Reporter: cloomis Assignee: cloomis
Resolution: Done Votes: 0
Labels: SPS
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PDF File n1_heater_loops.pdf    
Issue Links:
Duplicate
is duplicated by INSTRM-599 Add heater control loops. Won't Fix
Relates
relates to INSTRM-1152 Refactor heater control commands and ... Done
Story Points: 1
Sprint: 2019 C, SM1PD-2020 C, SM1PD-2020 K, SM1PD-2020 J, SM1PD-2020 M, SM1PD-2020 L, SM1PD-2020 N

 Description   

Wire temperature readings into heater loop.



 Comments   
Comment by hassan [ 14/Mar/19 ]

Expect to fix this by end of next week.

Comment by hassan [ 21/Mar/19 ]

A 1 week delay in completing this.

Comment by hassan [ 12/Mar/20 ]

Original plan is to test this on N1 which is available at JHU, but Fabrice has offered to provide R2 for testing at LAM early next week. R2 can remain 1-5 days cold during that period.

Comment by hassan [ 12/Mar/20 ]

PID loop control useful at Subaru due to sensitivity of focus with temperature. If within temp 1K focus is acceptable.

Comment by hassan [ 04/Jun/20 ]

Craig to still do this on N1.

Comment by cloomis [ 26/Nov/20 ]

Will run on b9 first; Josh is installing a resistor on the heater circuit and a temperature sensor to read that.

Comment by hassan [ 05/Dec/20 ]

Josh completed the installation yesterday.

Comment by cloomis [ 15/Dec/20 ]

This looks pretty good, so I'll clean up and close this ticket. See attached, showing all updates taken over 11 hours or so with both the ASIC and H4 loops running on n1.
The ASIC needs ~20K of heat to run reliably (at 130K); the H4 is being lifted by only 1.5K or so.

I will open a couple of tickets, though. The DAC sporadically stops responding correctly – once Saturday, once Sunday, not yet today. A reconnect/reset often fixes the problem, but not always. The code is not well structured to explore these kinds of problems. It does seem to fail very gracefully: just leaving the requested current active, and ignoring updates. Has happened on b9, so I can work there.

I am not protecting against windup correctly. Close, but not quite.

Also, the ASIC loop could use a bit of tuning. We would like more P to quickly counter the huge and instant effects of bouncing power on the ASIC, etc, but we are close to oscillations and we do not like the 5K/s+ rates we can swing on the ASIC.

Comment by cloomis [ 22/Jan/21 ]

Merged at 4653fe3, tagged 1.3.0.

Basic functionality added. Runs both ASIC and H4 loops to <1 mK RMS. Has been run on several IDG FPAs.

Will open tickets for additional bugs and features.

Generated at Sat Feb 10 16:26:48 JST 2024 using Jira 8.3.4#803005-sha1:1f96e09b3c60279a408a2ae47be3c745f571388b.