Tag Archives: liquid-gas binary system

How to conduct pulse radiolysis of a liquid-gas system under pressure

by DENISOV Sergey

Goal

In order to conduct pulse radiolysis experiments at high gas pressures, we designed the optical cell capable of withstanding pressures up to 70bar with a 1 mm entrance window. The need for high pressures of gases was determined by the need for a high concentration of gases in water solutions for conducting measurement on presolvated electron scavenging by dissolved gases. The system was supposed to be capable of guaranteeing solution circulation under the pressure of a gas.

Description

The system consists of a closed water loop. The circulation of solutions, to guarantee refreshment of solution in measurement volume, was achieved using home made pump driven by electromagnets. The principle of action follows the sequence: 1) the current is applied to the electromagnets (1 and 2), working in the opposite direction: electromagnet 1 is pushing, while 2 is pulling the permanent magnets fixed on the piston; 2) once the piston is displaced, the current in electromagnets is reversed, and the piston goes down. The flow of solution during reverse movement of the piston is not affected since the lock-balls are released, letting the solution flow through the six holes in the piston.

The spectroscopic cell fracture test with Ar guaranteed the safe pressure to operate below 75 bar with 1 mm input window and 5 mm output one, respectively. The pressure was controlled by a gas pressure regulator (0-100 bar, Swagelok) directly attached to a gas cylinder.

Scheme of high-pressure gas system for gas-liquid binary systems radiolysis studies

Once the pressure of the gas was applied using (valve 3), the equilibration for 30 minutes were undertaken. To intensify a gas exchange, a bubble of gas was formed over the water to increase the surface area for an exchange. Each measurement with a different pressure was conducted with a freshwater volume (1.5 mL) pumped into the cell.

The filling of the closed water circuit was accomplished by a peristaltic pump (valve 1, 2); after that, the system was isolated and pressurized to a given pressure.

Blueprints

Drawing of pressure cell

Fittings

All fittings purchased from Swagelok were made of stainless steel. The tubes of stainless steel (1/4 inch) were utilized for gas distribution and water circuits. Seals were made of rubber (xx).

Windows

The input/output windows were made of optical quartz of 1mm and 5mm, thickness, respectively.

Magnets

Permanent magnets

4 Neodymium magnets (https://www.first4magnets.com/) were utilized, one pair was installed at one side of the piston and another pair on another.

Electromagnets

In this project two electromagnets were used for magnetic pump operation. The magnets operated at 100V; thus, intense cooling was required even for operating non in continuous pumping mode. The development of liquid cooling seems to be necessary to make the system operate in a continuous regime. Another possibility to work in a continuous way more efficiently is to increase the force of permanent magnets, which is not easy to find on the market, and of course, to optimize the electromagnets’ magnetic field shape.

Power Supply Scheme

AC-DC conversion

AC-DC conversion was realized around the monophase diode bridge (35A 1000V) with a polypropylene condenser (XXX).

H-bridge

According to a classical scheme based on 4 relays, the H-bridge was realized as capable of commuting 10A in the pulse regime. The trick was to close relays of the H-bridge without applying the tension, so the arcs are not created on the electrical contacts. The 3 kW autotransformer was used as the primary source supplying AC-DC converter.

Firstly, to move the piston in the pump, 2 of 4 relays of the H-bridge were closed, and only after that two 220V relays before AC-DC converted were closed for 50ms for down movement and 950ms for up movement. When the direction of the piston was changed, the relays of AC-DC converter were opened. The plastic-filled condenser damped the inductance of the electromagnets. After 10 ms the different sets of relays of the H-bridge were closed, and the power was sent to AC-DC converter.

Controlling

The control of the power supply scheme was made using Raspberry Pi 3 Model B by sending the commands utilizing GPIO to control power relays.

The simple python script is presented below.

import RPi.GPIO as GPIO            # import RPi.GPIO module  
from time import sleep             # lets us have a delay  
GPIO.cleanup()  

sleep_time = 1

GPIO.setmode(GPIO.BCM)             # choose BCM or BOARD
relayI_IV = 6
relayII_III = 13

major = 5

GPIO.setup(relayI_IV , GPIO.OUT)  
GPIO.setup(relayII_III, GPIO.OUT)
GPIO.setup(major, GPIO.OUT)  
           

On = 1
Off = 0

GPIO.output(relayI_IV, Off)
GPIO.output(relayII_III, Off)
GPIO.output(major, Off)

def switch_power_off():
    GPIO.output(major, Off)
    sleep(0.5)
    

def switch_power_on():
    GPIO.output(major, On)
    sleep(0.01) 


def deactivate_all_relay():
    GPIO.output(relayI_IV, Off)
    GPIO.output(relayII_III, Off)
    sleep(0.1)


def dir(a):
    if a == 'a':
        deactivate_all_relay()
        sleep(0.2)
        GPIO.output(relayI_IV, On)
    elif a == 'b':
        deactivate_all_relay()
        sleep(0.2)
        GPIO.output(relayII_III, On)
    else:
        print('unknown direction')
    sleep(0.1)


com = []

try:
    while 'stop' not in com:
        com = input('Type command (e.g., -help): ')
        com = " ".join(com.split())
        com = str.split(com)
        
        if 'dir' in com:
            try:
                dir(com[1])
            except KeyError:
                print('nothing was passed to dir command')
        elif 'disconnect' in com:
            switch_power_off()
            sleep(0.2)
            deactivate_all_relay()
        elif 'on_power' in com:
            switch_power_on()
        elif 'off_power' in com:
            switch_power_off()
        elif 'pump' in com:
            try:
                n = int(com[1])
                t = float(com[2])
            except (KeyError,ValueError, IndexError) :
                print('test command was not followed with number of runs. setting to 1')
                n = 1
                t = 30
            for i in range(n):
                print(i+1)
                dir('b')
                switch_power_on()
                sleep(0.05)
                switch_power_off()
                dir('a')
                switch_power_on()
                sleep(.95)
                switch_power_off()
                if n!=1:
                    sleep(t)
            
            deactivate_all_relay()

except KeyboardInterrupt:  # trap a CTRL+C keyboard interrupt
    print('Terminated by user')
finally:
    switch_power_off()
    sleep(1)
    deactivate_all_relay()


print('all Done')