Added the capacitance reading device (based on TSSOP16, paired with an Arduino Nano V3, communication over serial) to the PSI NMR setup

This commit is contained in:
2025-07-11 11:34:48 +02:00
parent 44a4d921af
commit ccd15f50e7
4 changed files with 57 additions and 9 deletions

View File

@@ -1,19 +1,34 @@
import frappy.core as fc
enabled_modules = [ 'TNMR', 'Razorbill', 'Capacitance', 'NetAnalyser' ] # default
#enabled_modules = [ 'Capacitance' ]
Node('uniaxial_nmr.psi.ch',
'The NMR system running the Scout and controlled with TNMR. Also contains a uniaxial cell (Razorbill RP100), and a network analyser (ZVL)',
'The NMR system running the Scout and controlled with TNMR. Also contains a uniaxial cell (Razorbill RP100), a network analyser (ZVL), and a capacitance reader (for more direct measurements of the strain cell\'s status) (TSSOP16 with Arduino Nano V3)',
interface='tcp://5000')
# TNMR
#Mod('tnmr_otf_module', 'frappy_psi.tnmr.OTFModule.ProgrammedSequence', 'NMR Sequence')
if('TNMR' in enabled_modules):
Mod('tnmr_otf_module', 'frappy_psi.tnmr.OTFModule.ProgrammedSequence', 'NMR Sequence')
# Razorbill RP100
Mod('io1',
'frappy_psi.uniaxial_cell.RP100.RP100IO',
'communication',
uri='serial://COM10?baudrate=9600+bytesize=8+parity=none+stopbits=1')
Mod('RP100Node_CH1', 'frappy_psi.uniaxial_cell.RP100.VoltageChannel', 'Razorbill RP100 PSU (CH1)', channel=1, io='io1')
Mod('RP100Node_CH2', 'frappy_psi.uniaxial_cell.RP100.VoltageChannel', 'Razorbill RP100 PSU (CH2)', channel=2, io='io1')
if('Razorbill' in enabled_modules):
Mod('io_razorbill',
'frappy_psi.uniaxial_cell.RP100.RP100IO',
'communication',
uri='serial://COM10?baudrate=9600+bytesize=8+parity=none+stopbits=1')
Mod('RP100Node_CH1', 'frappy_psi.uniaxial_cell.RP100.VoltageChannel', 'Razorbill RP100 PSU (CH1)', channel=1, io='io_razorbill')
Mod('RP100Node_CH2', 'frappy_psi.uniaxial_cell.RP100.VoltageChannel', 'Razorbill RP100 PSU (CH2)', channel=2, io='io_razorbill')
# Capacitance readings (TSSOP16 with Arduino Nano V3)
if('Capacitance' in enabled_modules):
Mod('io_capacitance',
'frappy_psi.capacitance_readings.TSSOP16.TSSOP16_IO',
'communication',
uri='serial://COM11?baudrate=9600+bytesize=8+parity=none+stopbits=1')
Mod('TSSOP16', 'frappy_psi.capacitance_readings.TSSOP16.TSSOP16', 'Capacitance-reading Arduino (with TSSOP16)', io='io_capacitance')
# ZVL Network Analyser
#Mod('ZVLNode', 'frappy_psi.network_analysers.ZVL.ZVLNode.ZVLNode', 'ZVL Network Analyser', analyser_ip=Param('169.254.150.182')) # must be connected on the same ethernet network
if('NetAnalyser' in enabled_modules):
Mod('ZVLNode', 'frappy_psi.network_analysers.ZVL.ZVLNode.ZVLNode', 'ZVL Network Analyser', analyser_ip=Param('169.254.150.182')) # must be connected on the same ethernet network

11
cfg/tssop16_cfg.py Normal file
View File

@@ -0,0 +1,11 @@
import frappy.core as fc
import serial
Node('example_TSSOP16.psi.ch', 'A demo system showing how to connect the TSSOP16 Arduino', interface='tcp://5000')
Mod('io1',
'frappy_psi.capacitance_readings.TSSOP16.TSSOP16_IO',
'communication',
uri='serial://COM11?baudrate=9600+bytesize=8+parity=none+stopbits=1')
Mod('TSSOP16', 'frappy_psi.capacitance_readings.TSSOP16.TSSOP16', 'Capacitance-reading Arduino (with TSSOP16)', io='io1')