PC-GM2V1.42 |
Geiger counter PC-GM2 program |
Download
|
Screenshots
|
Documentation
|
Known Bugs
|
Previous versions
|
Introduction
This program is for the Geiger Muller counter PC-GM2 described on this page (in French). This page gives all information to build the hardware part of the counter.
Software for Arduino
Download Version 1.42: Same features as version 1.41 plus, additional parameters returned when the command "V" (counter type = PCGM2 and serial number).
Download Version 1.41: Same features as the version 1.4 but with an operating indicator ('*') to show if the counter is recording the measurement in the EEPROM or not.
Download Version 1.4: Same features as the version 1.3. Little improvement of the power consumption thanks to the use of the sleep mode. Note: don't hesitate to remove the green LED on the counter shield. You'll save some mA. Power consumption with the version 1.4 and without the LED: ~48mA.
Download Version 1.3: This program carries out a Count Per Minute (CPM) and a count by 24H. It displays the number of CPM and the average of pulse per 24H (At the end of 24 hours, otherwise, since the starting up of the counter). It displays the result in µSv.h on the basis of the CPM and on the average of the counting per 24H. Eventually, you have to adjust the "conversion factor" value (CPM <-> µSv/h) according to your Geiger-Muller tube. The couting is sent to the host by the serial port com (USB emulated). In this way, you can make your statistics on your computer by using the GeigerPC software describes above.
Since the version 1.3, the counter can respond certain commands and can store the counting per hour in EEPROM. These data are downloadable by the application GeigerPC and are stored in an "hours file" for a postprocessing (statistics). It is the normal mode to store data when the counter is powered by a battery. Note: this program version is not optimized to limit the power consumption. The average consumption is around 61mA.
The counter displays data on a dedicated LCD display. The image above shows how the display is used in normal operation.
Technical documentation
Environment and target platform
- Tested on Arduino Uno
- Development environment: Arduino
Files
- chour_arduino_pgm_1_42.txt: main program
- sleep.h: Librairy
- MsTimer2.h: Librairy
- EEPROM.h: Librairy
- LiquidCrystal.h: Librairy
Communication with the counter
serial link (COMx), 19200bps, 8 bits, 1 stop, Parity none.
Protocol
Response Counter -> GeigerPC |
Meaning |
Version number of the Arduino Program. <N> is a Real number. This value is sent when the counter is starting or following a "V" command. Example: "VP=1.3". |
|
VP=<V>,<T>,<S> |
This response is sent by the counter after a "V". Example : "VP=1.42,PCGM2,1". <V> = GM application Version number. <V> is a real number. <T> = GM counter Type = PCGM2. <T> is a string. <S> = GM Serial number. <S> is an integer. |
Conversion Facteur of the counter. <N> is a real number. This value is sent when the counter is starting or
followinf a "F" command. Example : "CF=0.00723". |
|
CM=<N°> |
Number of CPM (Count per Minute). Sent each minute by the counter. <N> is an integer. Example: "CM=20". |
following a "Download" command, le counter responds: DL=NODATA if there is no data to send (the counter has never been initialized with a "I" command). DL= <YYYY/MM/DD HH:MN> if the counter received an initialization ("I") command. The date/time sends is the date/time sent at the time of the last initialization (YYYY=Year, MM=Month, DD=Day, HH=Hour, MN=Minute). DL= <N°>: the counteur sends a serie of N° (integer), each N° representing an hour of counting. The first corresponds to the interval [YYYY/MM/DD HH:MN, YYYY/MM/DD HH+1:MN[, the second to the interval [YYYY/MM/DD HH+1:MN, YYYY/MM/DD HH+2:MN[, etc. The counter is able to stored about 490 hours of couting. DL=END: it is the response sends by the counter when it has no other DL=<N°> to send. |
Commands GeigerPC -> Counter |
Meaning |
B |
Counter Re-Boot (soft). Attention: data associated with the counting per minute (average) are deleted and the memorization in EEPROM of the couting per hour is stopped if it was active. |
F |
Request for the Conversion Factor. The counter sends the CF command with the conversion factor (see response CF for details). |
V |
Request for the version number of the counter software. The counter sends the VP command with the program version number (see response VP for details). |
D |
Request for download the hour measurement stored in the EEPROM. The counter sends a succession of DL responses (see response DL for details). |
I=<YYYY/MM/DD HH:MN> |
Initialization of the hour measurement. GeigerPC sends a date and an hour to GeigerPC. This date is stored in EEPROM and the hour measurements stored in EEPROM are erased (think to ask for these values (D command) before a reinitialization). The counter send the response "INOK" if the command has been performed without error. |
Known Bugs
You can report the bugs of the program by using the "contact" on the home page.