Vacuum controller
Contents
Hardware
- TMP - Turbo Molecular Pump
- PVP - Pre Vaccum Pump
- VV1 - Venting Valve 1 - small venting valve
- VV2 - Venting Valve 2 - large venting valve
- PV - PVP valve
- CCG - pening gauge
- PG - pirani gauge
Firmware
Mode A: automatic Mode B: manual
Info
all treshold variables should be editable in one config file. eg. %. V, pressure
Penning gauge:
gauge output: 0-10V
ADC input: gauge_out/4 (0-2.5V)
digital out: on/off relay
enableCCG() - true/false
Condition: enable only if TMP speed > 80%, disable if TMP speed drop below 80%. Error: TMP is not running at full speed. Check for vacuum leak.
Condition: Disable automatically if pressure is above 2e-3 Pa. Error: Vacuum leak detected.
If ok: Info: CCG was enabled.
Out: digital pin Lo/Hi, Lo Disable, Hi enable, disabled by default.
getCCGPressure() - get gauge pressure in mbar return pressure only if CCG reportes "measuring" status
if voltage is in range 1.9V – 9.1V (measuring mode) retur pressure in mbar calculated by formula: 10e(ADC*4-6) mbar) return false(or CCG status model) if out of range
getCCGRaw() - get gauge pressure in V
same conditions as getCCGPressure
return CCG output voltage - ADC*4
getCCGStatus() - return status as string.
measuring: 1.9V – 9.1V (formula: 10e(Voltage-6) mbar) underflow: <1.8V – pressure underflow owerflow: >9.2V – pressure owerflow error: 9.5V – Broken filament error: 9.6V – Callibration error disabled: if not enabled
Pirani gauge:
gauge output: 0-10V
ADC input: gauge_out/4 (0-2.5V)
digital out: on/off relay
enablePG() - true/false
Condition: none
If ok: Info: PG was enabled.
Out: digital pin Lo/Hi, Lo Disable, Hi enable, disabled by default.
getPGressure() - get gauge pressure in mbar return pressure only if PG reportes "measuring" status
if voltage is in range 1.9V – 9.1V (measuring mode) retur pressure in mbar calculated by formula: 10e(ADC*4-6) mbar) return false(or PG status model) if out of range
getPGRaw() - get gauge pressure in V
same conditions as getPGressure
return CCG output voltage - ADC*4
getPGStatus() - return status as string.
ToDo: tresholds are taken from CCG. Proper values are bit different.g measuring: 1.9V – 9.1V (formula: 10e(Voltage-6) mbar) underflow: <1.8V – pressure underflow owerflow: >9.2V – pressure owerflow error: 9.5V – Broken filament error: 9.6V – Callibration error disabled: if not enabled
TMP digital out: on/off signal ADC input: TMP_speed/5 (0-xxV)
enableTMP() - true/false Conditions: enable only if PVP is enabled. Enable only if VV1 and VV2 is closed. Enable only if PV is open. Conditions: disable automaticaly if TMP speed drops down below 95% form the full speed. Error: Possible vacuum leak detected. Disabling TMP for safety reason. Out: digital pin Lo/Hi, Lo Disable, Hi enable, disabled by default.
getTMPSpeed() - get TMP speed in % Range: 0 - >100% !!! 0V=0%, 10V=100%, 11V=110% ADC input: TMP_speed/5
' PVP ' digital out: on/off signal, off by default
enablePVP() - turn the PVP pump on/off Conditions: none
' VV1 ' digital out: on/off signal
enableVV1() - turn the VV1 pump on/off Conditions: none Disable = closed, enable = open, closed by default
' VV2 ' digital out: on/off signal
enableVV2() - turn the VV2 pump on/off Conditions: none Disable = closed, enable = open, closed by default
' PV '
digital out: on/off signal
enablePV() - turn the PV pump on/off Conditions: none Disable = closed, enable = open, closed by default
Automatic mode
Pump() - Preconditions: CCG disabled TMP disabled, VV1, VV2 disabled
Pump: Enable PVPV, delay, enable PVP, delay 30 seconds, enable TMP, wait till TMP speed is >80%, enableCCG, issue Vacuum OK signal when pressure is better than treshold (1e-3).
Timeout: 5 min. Disable CCG, Disable TMP, Disable PVP, open VV1, wait till TMP speed is <50%, open VV1. wait till TMP speed is <5%, close VV1, delay xxx seconds, close VV2.
h