Skip to content

Computer Interface

Computer Interface

The device communicates over serial port, with a baud rate of 115200.

using with minicom on linux

minicom -D /dev/ttyACM0

try the following commands. Press enter key after typing.

V? Returns the version string

TIMELIMIT 30 Sets time of acquisition to 30 seconds

SETV 650 Sets voltage to 650 Volts

START starts acquisition

TIME? fetches elapsed time

COUNT? fetches count reading

STOP Stops the counter if not already stopped by the timelimit. you can set timelimit to 0 to enable recording indefinitely.

Using with a Python Program

Plot the GM Tube Plateau
import serial, time
from matplotlib import pyplot as plt


#Connect to the serial port
fd = serial.Serial('/dev/ttyACM0', 115200, stopbits=1, timeout = 1.0) 
fd.read(10) # Clear junk data

# write commands/queries to the instrument, and return the response.
def command(q):
	fd.write((q+'\r').encode('utf-8'))
	return fd.readline().strip().decode()

#Set the time limit
duration = 30
print(command('timelimit '+str(duration)))

#Start with X Volts
volts = 300
while volts < 1100:
	command('setv '+str(volts)) 	# set the voltage
	plt.pause(0.1) 			#Wait 100 mS
	command('start')	    	# Start the counter
	plt.pause(duration+0.5)     	# Wait for data collection to complete
	counts = int(command('count?'))	# Query for total recorded counts
	plt.scatter(volts, counts ,s=5)

	volts+=20		   	# Increment voltage.

plt.show()

Results

Below is the voltage characteristics plot of the GM tube obtained using the above code.

It can be seen that counts are nil below 350 volts. Then they are fairly constant till 900 volts , beyond which count rate increases rapidly due to continuous discharge. If high rates are observed, the device will show a warning, and it is advised to lower the voltage quickly to prevent damage to the tube.

List of Commands

All commands/queries sent over the serial port must end with a \r . This is the return character, and is automatically added when you press enter(return) after typing the command into the serial terminal.

SETV

SETV followed by a voltage value from 0 to 1100 is used to set the voltage applied to the GM tube. e.g. , to set 650 Volts

To set 650 Volts

SETV 650

VOLTS?

VOLTS? is a query used to read back the set the voltage of the GM tube. it will return a number followed by \r\n

START

START starts the counter. After starting, the will wait for either the countdown timer to complete, or a STOP command, and then it will stop.

COUNT?

COUNT? query reads the counts collected by the GM counter.

STOP

STOP is used to force pause the GM Counter. You can use the TIME? and COUNT?queries to fetch elapsed time, and counts acquired.

TIME?

Read back elapsed time. returns a value in second units.

TIMELIMIT

TIMELIMIT followed by a number is used to set the time limit. Once the GM Counter is started, it will automatically stop after the limit is exceeded. To disable the TIMELIMIT, set it to 0, and the GM counter will count forever.

To set a 30 second limit

TIMELIMIT 30