Stafford Fusion Lab 
Researching the future 


  Snowdon Tokamak    |     Vacuum System    |     Control, Data Access and Communication    |     Diagnostics    |     Electrics     |    Pre-ionization    


Control, Data Access and Communication


The Intention is to use the EPICS (Experimental Physics Industrial Control System) software for Control, Data Access and Communication (CODAC) as it is the system chosen by the ITER project and is therefore becoming the international standard for tokamak CODAC (Waterhouse et al. 2020)

A Dell Optiplex 3050 computer will be used as an Input/Output Controller (IOC) with a pair of PCIe-DAS1602/16 industrial control cards.

The Dell computer (IOC) has a single builtin RS232 port which will be connected to the Varian BA2C pressure gauge and will use a USB to RS232 adapter cable to monitor/control the turbomolecular pump. Other hardware that uses the RS232 protocol at 3.3V/5V will use adapter PCBs hardwired within those devices and use USB connection cables to communicate with the IOC (The five Thomson Scattering receiver channels will each be connected via a hardwired 3.3V/5V RS232 to USB adapter and so will be connected to the IOC via a USB hub).

Since EPICS isn't designed for realtime control the intention is to use prawn digital output software (Starkey et al., 2024) running on a Raspberry Pi Pico 2 connected to one of the USB ports on the IOC and controlled from a Client Workstation (CWS) (Linux Workstation) to start and stop time critical events.

To start each pulse an instruction will be sent from the CWS to the IOC and then one of the PCIe-DAS1602/16 cards in the IOC will turn on a digital output which will be combined with the output of a positive going zero crossing detector circuit (so the timing is synchronized to 50Hz mains allowing the microwave power supply to be used without modification) to trigger the timing sequence that has been setup to run on the Raspberry Pi Pico 2. The first hardware to be triggered using the Raspberry Pi Pico 2 will be the laser (which needs to be manually setup beforehand) for the Thomson scatter diagnostic as it needs to be triggered 0.1585 Seconds prior to being needed (the pre-ionisation thermionic emission can be triggered directly from the IOC as that will be on for Seconds and since the microwave is synchronized to mains that can also be triggered early via the IOC). Five ADC channels from each of the PCIe-DAS1602/16 will then be triggered via the Raspberry PI Pico 2 a few milliseconds before the coils as when run at full speed the 1000 sample record will fill up in 10mS, finally the coils will powered up via the Y55KPE thyristers using the Raspberry Pi Pico 2 to initialize this activity. Once the pulse has completed the ten ADC channels of data recorded on the IOC can then be transferred to the Client workstation and stored along with the settings and recorded pressures.

To setup prior to each pulse the PCIe-DAS1602/16 can be used to measure the voltage on the capacitor banks and via feedback turn off each power supply when the voltage set on the Client Workstation has been reached. The dueuterium pressure also needs to be set, so after a suitable vacuum has been reached (visible on the client workstation via the IOC through RS232 to the BA2C) the ISO63 gate valve between the vacuum pump and the vacuum chamber can be closed using a digital output from one of the PCIe-DAS1602/16 cards, then the gate valve between the deuterium regulator and the vacuum chamber can be opened and closed using feedback to detect when a suitable pressure has been reached (set on the client workstation and read via RS232 from the BA2C).

The low level software for the PCIe-DAS1602/16 (Jasper, 2019) was downloaded and required some modification to compile on the latest version of Debian Linux(13.7.0):
The class_create call had "THIS MODULE" reference removed as it is no longer used.
The pci_alloc_consistent call was replaced with kmalloc and the pci_free_consistent was replaced with kfree as the PCIe-DAS1602/16 doesn't use DMA.
The das1602_mmap function and the related das1602_fault function were removed as they are not used.
Some unused variables were removed.


References

Measurement Computing (2001). PCI-DAS1602/16 Multifunction Analog & Digital I/O Board User's Manual.
Starkey, P. T. et al. (2024). Experimental timing and control using microcontrollers. Rev. Sci. Instrum. 95, 104707 (2024) AIP Publishing.
Jasper. W. (2019) pcim-das1602-16 driver. github.com.


Any enquiries should be directed to: admin @ staffordfusionlab.co.uk