26

Liquid Helium Level Detection (Using superconductivity)

Embed Size (px)

DESCRIPTION

An instrument to indicate the level of liquid helium in a Dewar was developed.This report describes the analog and digital components of the instrument in detailincluding the circuit diagrams, calibration curve and micro-controller code.Some of the key concepts and techniques used in the project like the role ofsuperconductivity in helium level measurement, four probe method of resistance measurement, working of Analog-to-Digital Convertor (ADC) and SerialPeripheral Interface protocol have also been discussed.

Citation preview

Page 1: Liquid Helium Level Detection (Using superconductivity)

Liquid Helium Level SensingUsing Superconductivity at Low

Temperature

Mayukh Nath

Undergraduate ProgrammeIndian Institute of Science

Bangalore

Under the guidance of

Prof. V. Venkataraman

Department of PhysicsIndian Institute of Science

Bangalore

KVPY Summer Project Report2013

Page 2: Liquid Helium Level Detection (Using superconductivity)

Abstract

An instrument to indicate the level of liquid helium in a Dewar was developed.This report describes the analog and digital components of the instrument in de-tail including the circuit diagrams, calibration curve and micro-controller code.Some of the key concepts and techniques used in the project like the role ofsuperconductivity in helium level measurement, four probe method of resis-tance measurement, working of Analog-to-Digital Convertor (ADC) and SerialPeripheral Interface protocol have also been discussed.

Page 3: Liquid Helium Level Detection (Using superconductivity)

Contents

Acknowledgments 2

1 Principle 3

2 Analog Module 5

2.1 Constant current source . . . . . . . . . . . . . . . . . . . . . . . 52.1.1 Basic circuit . . . . . . . . . . . . . . . . . . . . . . . . . . 52.1.2 Constant current source for high voltages . . . . . . . . . 6

2.2 Four probe method of resistance measurement . . . . . . . . . . . 72.3 Measurement of high voltages . . . . . . . . . . . . . . . . . . . . 82.4 The `Overlling Eect' and its rectication . . . . . . . . . . . . 82.5 Safety Measures . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.6 Final circuit diagram for analog module . . . . . . . . . . . . . . 9

3 Digital Module 11

3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113.2 ADC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3.2.1 Working of an ADC . . . . . . . . . . . . . . . . . . . . . 123.2.2 Specications of the ADC used . . . . . . . . . . . . . . . 123.2.3 Advantages of using external ADC . . . . . . . . . . . . . 123.2.4 Interfacing the ADC with micro-controller . . . . . . . . . 133.2.5 Calibration to read high voltages using ADC . . . . . . . 14

3.3 LCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143.4 Micro-controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

Possible Improvements 20

Gallery 21

Bibliography 24

Page 4: Liquid Helium Level Detection (Using superconductivity)

Acknowledgments

I would like to thank the following people for their immense help and contribu-tion to the project:

1. Prof. V. Venkataraman for guiding me throughout the course of theproject

2. Debaditya Chatterjee for working with me on the project

3. Prof. M. K. Gunasekaran for his course UE-102 without which thisproject would have been impossible

4. My classmate Diptaparna Biswas, for many useful and timely inputsduring the project

5. Doctoral students, Sandip Mondal and Aditya Narayan Roy Choudhuryand other students for helping me out in the lab

6. My parents for their support and valuable suggestions

7. My friends Sayak Ghosh, Tamoghna Barik and S. Hamilton Samraj fortheir help and support

Lastly, I should thank Atmel Studio®, LYX, and the website www.circuitlab.comas I have used these software for the project and for preparing the report.

2

Page 5: Liquid Helium Level Detection (Using superconductivity)

Chapter 1

Principle

Certain materials (eg NbTi/Cu) show superconductivity at temperatures below∼10 K. Temperature of liquid helium is about 4 K, so these materials would besuperconducting in contact with liquid helium. Exploiting this fact, a sensormade of NbTi/Cu and shaped like a wire is used to measure the level of liquidhelium in a Dewar. When this sensor is placed in the Dewar as shown in Fig1, the part of the sensor submerged in liquid helium becomes superconductor.The resistance of the sensor wire, thus becomes linearly dependent on the partof the sensor above liquid helium level. So by measuring the resistance of thesensor, the level of liquid helium in the Dewar can be calculated.

Figure 1: Schematic of the helium level sensor placed inside Dewar

3

Page 6: Liquid Helium Level Detection (Using superconductivity)

Suppose the total length of the sensor is H, the resistance per unit lengthof the sensor is r and the measured resistance of the sensor isR, then the levelof liquid helium is given by,

L = H − R

r

Now, to measure the resistance of the sensor wire, four probe method ofresistance measurement is used, and a constant current source, supplying 60mA is built for that purpose.

4

Page 7: Liquid Helium Level Detection (Using superconductivity)

Chapter 2

Analog Module

2.1 Constant current source

A constant-current source, as the same suggests supplies a constant currentover a range of loads. A basic constant current source circuit is described in thefollowing section, followed by its modication for higher voltages.

2.1.1 Basic circuit

Following is the schematic of a basic constant current source:

Figure 2: Basic constant current source

5

Page 8: Liquid Helium Level Detection (Using superconductivity)

The value of the supplied constant current is given by:

IConst =Vref

Rsense

Limitation

The above circuit can only supply constant current till a certain voltage acrossthe load. The maximum voltage it can supply is limited by the maximumoutput of the Op-Amp which is typically 20-25 V. But for the project at handa constant current source capable of supplying up to 35 V was needed. So somemodications had to be made to the above design, as described in the followingsection.

2.1.2 Constant current source for high voltages

Figure 3: Constant current source for higher voltage across load

The above design is that of a constant current source capable of supplyinghigh voltages as the Op-Amp only needs to supply sucient voltage to biasBJT1. The maximum voltage it can supply is now determined by Vcc. Vcc canbe made as high as needed.

Further modication: eliminating oscillation

The above design has a drawback. Due to the presence of two transistors inthe control loop, appearance of sustained sinusoidal oscillations is possible. Sothe constant current source may supply a large amount of undesired AC alongwith DC which aects the accuracy of the measurement. So to prevent this acapacitor is placed in parallel with the output of the constant current source asshown in the next page, which eliminates oscillations and stabilizes the output.

6

Page 9: Liquid Helium Level Detection (Using superconductivity)

Figure 4: Modication for eliminating oscillation

Note: The above design also has a small drawback. Due to the presenceof the capacitor, the circuit takes some time to adjust the output voltage withchange in the load. In other words, the response time of the circuit has increaseddue to the addition of the capacitor. But since the level of liquid He changesvery slowly in the tank the high response time is not a problem.

2.2 Four probe method of resistance measure-

ment

In this method of resistance measurement four probes are used, which are keptin contact with the sample whose resistance is to be measured, as shown in thegure:

Figure 5: Schematic of four probe resistance measurement

A constant current source is placed between probes 1 and 4. A high impedancevoltmeter is placed between probes 2 and 3. As the current is constant, the volt-age between 2 and 3 will vary linearly with the resistance of the sample. The

7

Page 10: Liquid Helium Level Detection (Using superconductivity)

high input impedance of the voltmeter ensures that very little current ows be-tween probes 2 and 3. So, the eect of the lead resistance of the probes, on themeasurement, would be very little.

2.3 Measurement of high voltages

The measurement of voltages is carried out using an ADC with a 5 V reference(details are given in chapter 3). So more than 5 V cannot be given to the inputof the ADC. But the voltage at the higher potential end of the load may go ashigh as 33 V. So for measuring the voltage of the high potential end of the load,the voltage is scaled down by a factor of 10, using an OpAmp and appropriateresistances before feeding it to the ADC. This scaled down value is sent to themicro-controller, where the software calculates the actual value of voltage beforeperforming further calculations.

2.4 The `Overlling Eect' and its rectication

One practical diculty one faces in the construction of a liquid helium level in-dicator based on resistance measurements is that, sometimes the liquid heliumcools some portion of the sensor above the liquid level to make it superconduct-ing. Then the instrument reads a higher level than is actually present, leadingto an `Overlling Eect'.

To overcome this diculty, a small heating element is attached to the topof the sensor. Before measurement, a pulse of high current is passed throughthe current leads to heat the heater, thus making the portion of the sensor notimmersed in helium normal conducting.

The resistance measurement circuit sends a pulse of 90 mA for 4 secondsand then reads the resistance by sending a constant current of 60 mA.

To achieve the change in current, a relay (controlled by a micro-controller)is used to change the sense resistance in the circuit to change the current asrequired.

2.5 Safety Measures

The following safety features were included in the circuit:

An 1 A fuse is placed in series with the load to prevent any damage dueto current surges

A 50 V clamp diode is placed across the load in parallel to prevent anydamage due to voltage surges

8

Page 11: Liquid Helium Level Detection (Using superconductivity)

2.6 Final circuit diagram for analog module

Taking into account the above the points, a resistance measuring circuit whichmeasures the resistance of the sensor by the four probe method, and takes careof the `Overlling Eect', was constructed. Also, for the project, voltage sup-plies of various values viz. 60 V, 30 V, ±12 V and 5 V were required. A powersupply module was constructed to supply the aforementioned voltages from asingle 230 V AC supply. The circuit diagrams for the power supply module andthe analog module are shown respectively.

Figure 6: Circuit diagram for power supply module

9

Page 12: Liquid Helium Level Detection (Using superconductivity)

Figure 7: Circuit diagram for analog module

10

Page 13: Liquid Helium Level Detection (Using superconductivity)

Chapter 3

Digital Module

3.1 Overview

As described in the previous chapter, the analog module produces two outputvoltages one corresponds two the voltage at the end of the sensor, and theother one is the voltage at the beginning of the sensor, reduced by a certaindivision factor. The function of the digital module is to detect these two volt-ages and further analyze them to actually display the level of liquid helium onscreen. Along with this, the digital module also drives a switching assembly toswitch the analog module between two current levels.

Following is a block diagram of the working digital module:

Figure 8: Block diagram for digital module

As shown in the diagram, the key components of the digital module are

1. ADC (MCP 3202)

2. LCD (JHD 162A)

3. Micro-controller (Atmega32)

Each of these components will be discussed in details in the following sections.

11

Page 14: Liquid Helium Level Detection (Using superconductivity)

3.2 ADC

An Analog to Digital Converter (ADC) is a device that takes a voltage signalin a given range as input and gives a corresponding digital output. The analogmodule of the circuit produces two voltage signals. The micro-controller is sup-posed to analyze these signals and for that purpose, these analog voltage signalsneed to be converted into digital domain. The ADC is instrumental in carryingout this process.

3.2.1 Working of an ADC

To convert an analog voltage to digital signal, an ADC needs a reference voltage(VRef ). During conversion, it samples the input voltage (Vin), and stores it inan internal capacitor. This process is called sample and hold. After that, ADCcompares the stored voltage with the reference voltage, and outputs a digitalvalue in the range of 0 to(2n − 1), where n is the resolution of the ADC. If theinput voltage is less than 0, the output is by default 0. Similarly for Vin > Vref ,the output is always 2n − 1. Otherwise, the output is given by -[

Vin

Vref× (2n − 1)

]

3.2.2 Specications of the ADC used

Model name: MCP3202

Manufacturer: Microchip

Resolution: 12 bit

Number of input channels: 2

Interfacing: SPI

Reference voltage used: 5 V

3.2.3 Advantages of using external ADC

The micro-controller used in the digital module - AVR Armega32 itself possessesan internal ADC. However, this internal ADC is not used in the project, becauseof the following reasons

Limited resolution of internal ADC: The resolution of the internal ADC ofAtmega32 is limited to 10 bit. However, for the level of precision desiredfrom this project, an ADC with higher resolution is necessary. Using a 12bit external ADC easily solved this issue.

12

Page 15: Liquid Helium Level Detection (Using superconductivity)

Output from external ADC has less noise: The accuracy of the internalADC is aected by many factors related to the micro-controller, includingnoise introduced due to CPU functioning, interrupts, power uctuationetc. Many of these factors are absent in the case of an external ADC,resulting a less noisy and more accurate output.

3.2.4 Interfacing the ADC with micro-controller

MCP3202 uses SPI protocol to communicate with the micro-controller. The SPI(serial peripheral interface) is a bus interface connection and is a widely usedstandard for serial communication. SPI uses only 4 pins:

1. Data in (SDI) or Master-out-slave-in (MOSI)

2. Data out (SDO) or Master-in-slave-out (MISO)

3. Shift clock (SCLK or SCK)

4. Chip enable (CE) or Chip select (CS)

Working of SPI

SPI communication involves two devices namely master and slave devices.The master side has a clock generator that controls the communication. Slaveside receives this clock via SCLK pin and the communication is synchronized.Also, each side has a shift register, 8 bits long.

Figure 9: SPI Architecture

To initiate communication, master side has to pull CE to high. SPI protocoldictates that while CE remains high, the master side has to send one bit datato the slave side and receive one bit data from the same, for each clock pulse.The data to be sent is to be previously stored in the shift registers of the sender.An incoming bit is stored in the shift register of the receiver by `shifting' theexisting bits by one place. As the shift registers are 8 bit long, after 8 clockpulses the contents of the two shift registers are interchanged.

13

Page 16: Liquid Helium Level Detection (Using superconductivity)

3.2.5 Calibration to read high voltages using ADC

Since the voltage at the high voltage end of the load is scaled down by a factorof 10 (approx.) before feeding to the ADC (as explained in section 2.3), somecalibration was required to determine the exact conversion factor. The ADCoutput was plotted against the multimeter reading of the high voltage, and alinear t was performed. The following graph was obtained:

0 500 1000 1500 2000 2500 3000

0

5

10

15

20

25

30

35

Volta

ge (V

)

ADC Output

Equation y = a + b*xResidual Sum of Squares

0.01585

Pearson's r 1Adj. R-Square 1

Value Standard ErrorIntercept -0.01062 0.00656Slope 0.01214 4.49539E-6

Figure 10: Experimentally obtained calibration curve

So the following equation was included in the micro-controller code to obtainthe high voltage from the ADC reading,

V = 0.01214 ∗ r − 0.01062

where V is the high voltage and r is the ADC output.

3.3 LCD

An LCD is used to display the level of liquid helium in the tank and the volumeit corresponds to. Its model number is JHD 162A and it is a 16×2 dot matrixcharacter LCD. It is controlled by the micro-controller via a 4 bit data bus.

14

Page 17: Liquid Helium Level Detection (Using superconductivity)

3.4 Micro-controller

An Atmega32 micro-controller is used in the project. The software for the micro-controller is written in AVR-C. It is programmed using USB-ISP programmerfor AVR. The main functions of the micro-controller are:

1. Controlling the external ADC through SPI, reading data from it and per-forming the necessary calculations.

2. Controlling the LCD to display the values.

3. Controlling the current switching assembly of the analog module.

Code used for the micro-controller

#define F_CPU 11059200UL //CPU frequency

#include<avr/io.h>

#include<util/delay.h>

#include<string.h>

#define MOSI PB5

#define SCK PB7

#define CS PB4

#define CS_HIGH() PORTB |= (1<<CS)

#define CS_LOW() PORTB &= ~(1<<CS)

void SPIinit(); //Initializes SPI

unsigned int SPIwrite(unsigned int); //Sends data to ADC

unsigned int readExADC(unsigned int); //Reads data from ADC

float getHighVol(unsigned int adcVal); /*Converts ADC output of the reduced

voltage to the actual value*/

float getVolume(float height); /*Inputs the helium level and returns

the volume of liquid helium*/

#define LCDPORT PORTC

#define LCDDDR DDRC

#define rs PC3

#define en PC2

#define heater PC0

#define LO_VOL_OFF -14.0 //Lower voltage offset(mV)

#define SNSR_LN 101.6 //Sensor length(cm)

#define SNSR_RES 4710.0 //Sensor resistance(mΩ/cm)

#define curr 60.2 //Current value(mA)

void lcd_init(); //Initializes LCD

void lcdData(char, int); //Sends data to LCD

void sendToLcd(char, int); //Sends 8-bit data to LCD in 4-Bit mode

void getLenStr(unsigned long int, char*); //Returns helium level as a string

15

Page 18: Liquid Helium Level Detection (Using superconductivity)

void getVolumeStr(unsigned long int, char*); //Returns volume of helium as a string

void dispLCD(char *); //Displays a string in LCD

int main(void)

DDRC |= 1;

DDRA = 0;

lcd_init();

dispLCD("Please wait...");

int i;

float v1, v2, res, length,vol;

unsigned long int l,volume;

SPIinit();

PORTC |= (1<<heater);

_delay_ms(4000);

PORTC &= ~(1<<heater);

lcd_init();

char str1[16],str2[16];

while(1)

v1=0.0;

v2=0.0;

i=0;

while(i<1000)

v1 += ((float)readExADC(1)/4095.0)*5;

v2 += getHighVol(readExADC(0));

i++;

v1 -= LO_VOL_OFF; //offset correction

res = (v2-v1)*1000/curr;

if(res < 0) res = 0.0;

length = (SNSR_LN - res/SNSR_RES)*1000.0;

if(length < 0) length = 0.0;

vol = getVolume(length);

l = length;

volume = vol;

getLenStr(l,str1);

getVolumeStr(volume,str2);

16

Page 19: Liquid Helium Level Detection (Using superconductivity)

sendToLcd(0x80,0);

dispLCD(str1);

sendToLcd(0xC0,0);

dispLCD(str2);

float getHighVol(unsigned int adcVal)

float val = 0.01214*adcVal-0.01062;

return val;

float getVolume(float height) //returns volume in litres

float refList[103] = 0.0, 0.4, 1.6, 3.6, 6.3, 9.8, 14.1, 19.2, 25.0, 31.6,\

38.9, 46.9, 55.9, 68.1, 79.0, 89.8, 101.3, 113.2, 125.3, 137.7, 150.1, 162.7,\

175.2, 187.8, 200.4, 212.9, 225.5, 238.0, 250.6, 263.2, 275.7, 288.3, 300.9,\

313.4, 326.0, 338.5, 351.1, 363.7, 376.2, 388.8, 401.3, 413.9, 426.5, 439.0,\

451.6, 464.2, 476.7, 489.3, 501.8, 514.4, 527.0, 539.5, 552.1, 564.6, 577.2,\

589.8, 602.3, 614.9, 627.5, 640.0, 652.6, 665.1, 677.7, 690.3, 702.8, 715.4,\

727.9, 740.5, 753.1, 765.6, 778.2, 790.8, 803.3, 815.9, 828.4, 841.0, 853.6,\

866.1, 878.7, 891.2, 903.8, 916.4, 928.9, 941.3, 953.6, 965.6, 977.3, 988.6,\

999.2, 1010.7, 1022.0, 1030.4, 1038.2, 1045.2, 1051.4, 1056.9, 1061.7, 1065.7,\

1068.9, 1071.3, 1073.0, 1074.1, 1074.3;

int n = (int)(height/1000.0);

float val = refList[n] + (refList[n+1]-refList[n])*(height/1000.0 - (float)n);

return val*10;

void getLenStr(unsigned long int len, char* str)

strcpy(str," Level= . cm ");

int dec = len % 1000, num = len/1000, t = 100, i=7;

if (dec % 100 >=50)

dec = dec/100 + 1;

else

dec = dec/100;

if (dec > 9)

num++;

dec = 0;

17

Page 20: Liquid Helium Level Detection (Using superconductivity)

str[11] = dec + 48;

while(i < 10)

str[i++] = num/t + 48;

num %= t;

t /= 10;

void getVolumeStr(unsigned long int volume, char* str)

strcpy(str," Vol= . L ");

int dec = volume % 10, num = volume/10, t = 1000, i=6;

str[11] = dec + 48;

while(i < 10)

str[i++] = num/t + 48;

num %= t;

t /= 10;

void SPIinit()

CS_HIGH(); //Idle mode

DDRB |= (1<<MOSI) | (1<<SCK) | (1<<CS);

SPCR = (1<<SPE)|(1<<MSTR)|(1<<SPR0);

SPSR |= (1<<SPI2X);

unsigned int SPIwrite(unsigned int data)

SPDR = data;

while(!(SPSR & (1<<SPIF)));

return SPDR;

unsigned int readExADC(unsigned int channel)

unsigned int byte, dataH, dataL;

byte = 0b10100000;

byte |= (channel<<6);

18

Page 21: Liquid Helium Level Detection (Using superconductivity)

CS_LOW();

SPIwrite(1);

dataH = SPIwrite(byte);

dataL = SPIwrite(0);

CS_HIGH();

dataH &= 0x0F;

return (dataH*256 + dataL);

void lcd_init() // function to initialize

LCDDDR |= 0b11111100;

sendToLcd(0x02,0); // to initialize LCD in 4-bit mode.

sendToLcd(0x28,0); //to initialize LCD in 2 lines, 5X7 dots and 4bit mode.

sendToLcd(0x01,0);

sendToLcd(0x0C,0);

void dispLCD(char *a)

char *i=a;

while(*i!='\0')

sendToLcd(*(i++),1);

void sendToLcd(char dataValue, int mode)

char dataValue1;

dataValue1 = dataValue & 0xF0; lcdData(dataValue1, mode);

dataValue1=( (dataValue<<4) & 0xF0); lcdData(dataValue1, mode);

void lcdData(char data,int mode)

LCDPORT &= 0x0F;

LCDPORT |= data;

if(mode) LCDPORT |= (1<<rs);

else LCDPORT &= ~(1<<rs);

LCDPORT |= (1<<en);

_delay_ms(2);

LCDPORT &=~ (1<<en);

19

Page 22: Liquid Helium Level Detection (Using superconductivity)

Possible Improvements

The following additions may be made to the project to add some features

1. Serial communication with a computer may be introduced to monitor thehelium level and maintain statistics.

2. A keypad interface may be added for easier calibration later, if required.

20

Page 23: Liquid Helium Level Detection (Using superconductivity)

Gallery

The following are a few snapshots of the helium level indicator at various stagesof development.

The preliminary circuit boards

Circuit boards mounted on a base

21

Page 24: Liquid Helium Level Detection (Using superconductivity)

Front view of the assembled unit

Rear view of the assembled unit

22

Page 25: Liquid Helium Level Detection (Using superconductivity)

The working unit in the cryo-lab

23

Page 26: Liquid Helium Level Detection (Using superconductivity)

Bibliography

[1] K. P. Jüngst and E. Süss, Superconducting helium level sensor,CRYOGENICS. AUGUST 1984 0011-2275/84/00842904

[2] Muhammad Ali Mazidi, Sarmad Naimi and Sepher Naimi, The AVR Micro-controller and Embedded Systems using assembly and C, Pearson (2011)

[3] P. Horowitz and W. Hill, The Art of Electronics, Cambridge University Press(1989)

24