GQ Electronics Technical Support Forum Active Users: / Visits Today:
Highest Active Users:
GQ Electronics Technical Support Forum
Home | Profile | Register | Active Topics | Members | Search | FAQ
Username:
Password:
Save Password
Forgot your Password?

 All Forums
 GQ Electronics Forums
 2.GQ Geiger Muller Counter
 GMC-500+ update

Note: You must be registered in order to post a reply.
To register, click here. Registration is FREE!

Screensize:
UserName:
Password:
Format Mode:
Format: BoldItalicizedUnderlineStrikethrough Align LeftCenteredAlign Right Horizontal Rule Insert HyperlinkInsert EmailInsert Image Insert CodeInsert QuoteInsert List Spell Checker
   
Message:

* HTML is OFF
* Forum Code is ON
Smilies
Smile [:)] Big Smile [:D] Cool [8D] Blush [:I]
Tongue [:P] Evil [):] Wink [;)] Clown [:o)]
Black Eye [B)] Eight Ball [8] Frown [:(] Shy [8)]
Shocked [:0] Angry [:(!] Dead [xx(] Sleepy [|)]
Kisses [:X] Approve [^] Disapprove [V] Question [?]

   Insert an Image File
Check here to include your profile signature.
    

T O P I C    R E V I E W
EmfDev Posted - 07/13/2018 : 15:19:15
We did some modifications to the code. But it's not official yet.
GETCPM, GETCPMH, GETCPML, GETMAXCPS, GETACPM, GETCPS, now return
4 bytes of data. Turning HEARTBEAT1 will also report 4 bytes of data
per second.
Also added GETCPSH, GETCPSL, and looping through menu.

We tried to implement @ullix's uSv formula from https://www.gqelectronicsllc.com/forum/topic.asp?TOPIC_ID=5278
where weights can also be adjusted,
uSv = (tube1Count * tube1Weight + tube2Count * tube2Weight) / 2 * <calib.usv/calib/cpm>

In this formula, if tube2Weight is high for the example 30, then 1
count(cant be noise) in tube 2 will significantly change the resulting uSv in lower levels of radiation.

One way to fix this is to ignore tube2Count until certain level and only use tube1Count (best is until tube1 saturation count) but
we need time to determine those values. It's hard to find the saturation count because each tubes have different saturation limit.
100   L A T E S T    R E P L I E S    (Newest First)
EmfDev Posted - 09/13/2018 : 14:16:02
There should be some differences in the hardware but I don't know exactly.
Stargazer 40 Posted - 09/13/2018 : 11:44:31
Another question. When ZLM used the LND 7317 tube with the 500+ power supply he cranked up the voltage to the PS. It is true that the PS in the 500+ is essentially the same build/components as in the 600 and 600+ (except for the separation hardware to feed two tubes? I think ZLM said the PS could support 600V by design.
EmfDev Posted - 09/13/2018 : 09:27:43
Do you mean to connect it in parallel to the SI3BG tube? Yes it can work. As long as it's in the working voltage of
the two tubes. And yea, the count will more likely to come from the more sensitive tube.
Stargazer 40 Posted - 09/13/2018 : 09:02:00
So if I wire the LND 712 to the positive ahead of the anode resistor on the SI3BG and its ground, with the M4011 turn off with hardware switch, the counts will most likely be coming from the LND which is much more sensitive than the SI3BG.
EmfDev Posted - 09/12/2018 : 09:25:25
@ullix is correct. There are 2 counter interrupts separate for those 2 tubes.

edit. sorry I accidentally deleted ullix's answer.
EmfDev Posted - 09/11/2018 : 15:47:17
I think there is a circuit that generates a low when there is a current in the tube. Each tube has one.
It's probably that discharge in the capacitor is detected then generates a low if the charge goes
below a threshold. But I need to confirm this.
Stargazer 40 Posted - 09/11/2018 : 14:45:04
@EmfDef - May I ask how you know which tube it is that has discharged? Is there a trigger that occurs in a separate counter circuit for each side of the PCB? How is the analog changed to digital?
EmfDev Posted - 09/11/2018 : 11:41:01
This time you probably don't need to reboot after changing the tube setting if you want to keep the total count and uSv.
ikerrg Posted - 09/11/2018 : 03:11:30
Thanks to you for the extremely quick response and fix, EmfDev.

Yesterday after going through the airport security, the total uSv was slowly increasing (without any counts measured) and suddenly it dropped a big amount and continued increasing slowly. I have pictures and a video! That made no sense for an integral of the dose rate during the whole period. Now the calculation seems to be right: TotalCounts*sensitivity/60, and it stays unchanged until there is another count. I cannot imagine what you were calculating before!

I'll also check the algorithm when I install the M4011 tube again.

By the way, the new firmware version is 1.23.

EmfDev Posted - 09/10/2018 : 12:19:55
@ikkerg, We changed the total uSv now and should be working. Try to email support to get available firmware update.

@Stargazer. Looks like the total uSv becomes 0 after certain time.

Thank you guys!
ikerrg Posted - 09/10/2018 : 08:52:16
I am now at an airport and I have just passed through security only with the si-3bg tube installed. Probably tomorrow I will show you very interesting data regarding the dose rate integration and the CPM measured with the low sensitivity tube compared to the M4011 measurement of a few weeks ago. Just to start, the si-3bg counted 228 counts in one second! Translate that to the M4011 with a sensitivity ratio of 73 and see how the HV circuit was totally saturated in the data of three weeks ago!
ikerrg Posted - 09/09/2018 : 10:25:54
Yes I did restart the device. I said I removed the Tube 1 (turning off the counter), so I cannot have readings from Tube 1. The bug might be only in 1.21. See the picture after 7 hours running:

Image Insert:

47296 bytes
Stargazer 40 Posted - 09/09/2018 : 10:16:34
I still have 1.18 and the total uSv are being tallied with only tube 2 in place. I did reboot after selecting tube 2.
EmfDev Posted - 09/09/2018 : 09:39:14
Did you restart the device after selecting tube 2? If not, it might have included the counts from tube 1 and calculated tube 2 dose rate using values of tube 1.
ikerrg Posted - 09/09/2018 : 07:48:22
Hello,

I have found another possible bug in the GMC-500+ latest firmware (v1.21). The accumulated dose rate shown in the “Text Mode” screen is not correctly calculated when Tube 2 is selected in the calibration menu. All the other figures are correctly displayed using the counts coming only from Tube 2, but not the accumulated dose (mR or uSv). I discovered this bug when physically removing the Tube 1 for my next flight, so now (until I install the Tube 1 again) I cannot check if the accumulated dose is calculated from the counts of Tube 1, or if it is always 0 when Tube 2 is selected (which is what I am watching now, no matter what are the counts measured by Tube 2).

Please EmfDev, confirm (and fix) the bug.

Thanks.

EmfDev Posted - 08/10/2018 : 08:45:57
Oh I thought I was testing the same hardware version as you but checked it and actually it's an older version.
Will have to replace my testing units with a new one then I'll try again.

Edit: Also didn't find this error in the same model, maybe it's some
communication issue between the software and the counter.
ikerrg Posted - 08/10/2018 : 08:40:47
Well, nothing should be random, is just my poor understanding what makes it look random!
Stargazer 40 Posted - 08/10/2018 : 04:17:44
I don't know if this is random, but I tried again after reconnecting and it works this time. I don't normally go get any data at this point, so to catch it the first time I tried that command is interesting. Thanks ikerrg for comfirming.
ikerrg Posted - 08/10/2018 : 02:03:54
I've seen that bug several times. It happens randomly when you connect the device to the viewer software. It seems that the device becomes unresponsive, or that the software is waiting for something until there is a timeout. I just disconnect it and connect it again and it usually works. EmfDev, if you cannot reproduce it, maybe it is related to the harware version of the GMC-500+. Afaik, Stargazer_40 has the same version as I. And you had problems reproducing some bugs in your hardware. This reminds me the battery charging problem that you couldn't reproduce, which you fixed by removing the possibility of selecting a non-rechargeable battery. I think that bug was related to the new hardware of the GMC-500+!

EmfDev Posted - 08/09/2018 : 08:45:02
Can you please try it again? Does the Sync Date and Time work? I just tested again and it still works.
Stargazer 40 Posted - 08/09/2018 : 06:43:29
@EmfDev - Thanks for updating the viewer software. New version appears to work just fine, except I can't get any response to GETDATETIME. Simply get error.
Stargazer 40 Posted - 08/01/2018 : 16:24:19
Same as yours - 3.4 02052018
EmfDev Posted - 08/01/2018 : 16:03:02
The support knows more about hardware revisions. I have a few test units but the one I use recently is probably
very old.
ikerrg Posted - 08/01/2018 : 13:53:27
quote:
Originally posted by Stargazer 40

So if we've solved a couple of issues related to the newer hardware and we understand that only turned on tubes have click and LED flash, what is the current best version of firmware one should request from support?



What is your hardware version written on the PCB near the battery?
Stargazer 40 Posted - 08/01/2018 : 13:21:41
So if we've solved a couple of issues related to the newer hardware and we understand that only turned on tubes have click and LED flash, what is the current best version of firmware one should request from support?

Thanks
EmfDev Posted - 08/01/2018 : 08:35:26
Newer hardware should be better than the old one.

Just contact support for the firmware.
ikerrg Posted - 08/01/2018 : 00:04:49
Thanks, that is good news! What I do not understand is why you could not reproduce the bug in the older hardware. Shouldn't the different hardware versions behave exactly the same? Unless the firmware is developed specifically for the hardware version...

Please, tell me when you have the fix available.
EmfDev Posted - 07/31/2018 : 15:53:02
Found it. I was using an older model(2017). In the latest firmware, we tried to turn off the tick sound
when selecting individual tube. But I didn't know that turning off the tick also turns off the led.
So in the end turning off the speaker won't turn off the LED, and when selecting only one tube,
the other tube tick will disappear including its led. So only the tick and led of the selected tube will work.
ikerrg Posted - 07/31/2018 : 15:04:27
I have reset the device many times. It still disables the LED when I mute the speaker (until the next reboot if I don't touch that menu again). It is annoying that my device is behaving so differently! There must be a reason. As additional info, my hardware version (written on the PCB near the battery) is GMC500 V3.4 20180205.

I can try downgrading to v1.18 (if that is possible) and check for the bug again.

About Data Viewer, thanks for the clarification. I did not know that. I suppose that it is uploading null values for the rest of the configs and that is why the device is a total mess.
EmfDev Posted - 07/31/2018 : 14:32:21
Can you try to factory reset the device to see if the LED problem is solved? Because I can't produce the bug.
When I turn off the speaker, the LED still works.

For using GMC Data Viewer, just use it when the device is ON. It's not writing to the wrong configuration,
it's using commands to write WiFi configs to the device then tries to save all the configs. But all the config variables might not be initialized correctly when it's off so it might have saved the wrong configs for those variables.
EmfDev Posted - 07/31/2018 : 10:53:15
Ok I'll check where this bug came from.
ikerrg Posted - 07/31/2018 : 10:31:33
Update: Something weird is happening after the update to the new firmware. Now, when I write the WiFi config using the GMC Data Viewer software (with the device switched off), the device's configuration is totally screwed after switching it on. The alarm sounds, sometimes the LED blinks red with events, etc. It is like the Data Viewer software is writing the config data to a wrong memory location! A reset to factory defaults seems to solve the problem, though.

All this does not change the issue with the speaker and the LED that I mentioned previously.
ikerrg Posted - 07/31/2018 : 10:00:35
Sorry, I've tried everything: Resetting when off (through terminal), resetting when on (using device's menu). When I switch off the speaker, the LED does not work. Only if I reboot with the speaker set to OFF, the led works without the speaker. That didn't happen before in v1.18.

Selecting only tube 1 or tube 2 does not help also.

Do you want me to do any specific test?
ikerrg Posted - 07/31/2018 : 09:48:58
Arrrgh, what a bad luck. Another bug that you cannot reproduce. Let me reset again the config and see if it does the same.
EmfDev Posted - 07/31/2018 : 08:37:00
Tried rebooting it while speaker is on, then turned it off. The LED is still working. Hmm..
ikerrg Posted - 07/31/2018 : 08:28:23
No, no, the dummy command is not needed. The problem is not related to the connection now.

I am in the default configuration of tube1+tube2 (I didn't change it after the firmware update, i.e. after the config reset).
EmfDev Posted - 07/31/2018 : 08:19:47
Do you still have to send a dummy command?

That's strange, which tube configuration are you in?
If tube 2 it should turn off the speaker/led for tube 1. Tried to turn off the speaker but led's still working.
ikerrg Posted - 07/31/2018 : 00:21:44
Thank you. That was really quick!
Now running GMC-500+Re 1.21
The serial initialization bug has been corrected.

However, I already found a regression:
If you go to the speaker and turn it off, it also turns off the notification led (but does not change the menu option of the notification led). The only way to have the speaker off and the led on at the same time is by rebooting and not touching the speaker menu option anymore. Then the led works and the speaker can be off.


EmfDev Posted - 07/30/2018 : 15:19:22
@ikerrg The customer support will contact you.
ikerrg Posted - 07/30/2018 : 14:44:02
To be honest, I don't know if I waited 15 s. I saw that the screen was frozen and nothing happened when touching the buttons for a while, so I removed the battery. If it happens again I'll wait.
In any case, the dummy command is only a workaround. Do you plan to fix the bug? It does not happen in other devices.
EmfDev Posted - 07/30/2018 : 14:16:58
Does it freeze a long time and doesn't reboot?

There should be a watchdog timer that reboots it automatically after around 15 seconds.

Hopefully this dummy command also fixes this issue of freezing.
ikerrg Posted - 07/30/2018 : 13:49:50
I have reset the configuration of my GMC-500+ and I'll tell you if it freezes again. However, I don't want to be constantly trying to freeze the device by turning it on and off and connecting and disconnecting it. I could break it!

I confirm that a dummy empty command works for the initialization bug:

import serial
my_port      = 'COM3'
my_baudrate  = 115200
my_timeout   = 1
ser = serial.Serial(my_port, my_baudrate, timeout=my_timeout)
ser.write(b'<>>')
dummy  = ser.read(1)
ser.write(b'<GETVER>>')
srec  = ser.read(15)
print("ID:", srec)

EmfDev Posted - 07/30/2018 : 11:12:31
Maybe just fix it with a dummy command <>> to confirm the connection between the two devices.
EmfDev Posted - 07/30/2018 : 11:08:12
It could be the usb driver/software problem from the computer.
I tried it with a usart terminal I also don't receive anything after first command.

Still cannot reproduce the freezing bug using a usart terminal.
ikerrg Posted - 07/30/2018 : 10:58:46
Yes, after turning it on, the first GETVER command does not get the requested info. The second time it works.

About the freeze, it is a bit more difficult to reproduce, but I have hit that bug a couple of times. Follow this process:
Turn on the GMC-500+ (screen is the Large Font just in case it makes a difference)
Connect to USB
Start geigerlog_simple
GETVER command returns no ID or wrong ID, never mind...
Disconnect USB
Connect again to USB
Start geigerlog_simple again
GMC froze at some point and I had to disconnect the battery.

The freezing problem must be related to the connection to the COM port, as it never happens when I do not connect the device to the USB.
EmfDev Posted - 07/30/2018 : 09:59:58
@ikerrg,

Did you mean after turning on the device? Yes I just checked it. It sends out some debugging information.
It's the current SPI address. Anywhere from 0x00 - 0xFFFFF and then loops when full.

Edit. Sorry I didn't get the question,
did you mean that the device won't respond after the first command?
Thanks.

I need to confirm the other bug where you said it froze.

ikerrg Posted - 07/30/2018 : 04:56:37
@EmfDev: The bug is even worse. I managed to freeze the GMC-500+ and I had to remove the battery (twice).

Switch on the GMC-500+ (screen is the Large Font just in case it makes a difference)
Connect to USB
Start geigerlog_simple
GETVER command returns no ID or wrong ID
Disconnect USB
Connect again to USB
GMC froze at some point

It seems that the problem does not happen with DataViewer because when you enter in the terminal, the program sends some other COM port command that somehow initializes the GMC-500+ and ther it answers correctly to the GETVER command at the first time.

With this very simple python program, you can see the problem:

import serial
my_port      = 'COM4'
my_baudrate  = 115200
my_timeout   = 1
ser = serial.Serial(my_port, my_baudrate, timeout=my_timeout)
ser.write(b'<GETVER>>')
srec  = ser.read(15)
print("ID:", srec)


If you run just after connecting the GMC-500+ for the first time, it will return:
ID: b''
And the second time you run it, it will return:
ID: b'GMC-500+Re 1.18'

However, if you add a dummy command just before GETVER like:
ser.write(b'<GETCPM>>')
then the GETVER command returns the right data at the first attempt.
ikerrg Posted - 07/29/2018 : 07:49:54
@EmfDev: There is a possible bug in the new firmware with the GETVER command after starting the GMC-500+. Please, check the last posts in:
http://www.gqelectronicsllc.com/forum/topic.asp?TOPIC_ID=5331
EmfDev Posted - 07/27/2018 : 10:13:59
Yes that's correct. That only downside to this is you can't distinguish from which tube a count is from.

The current hardware design doesn't support this mechanism. The only way to do that is to remove the tube.
ikerrg Posted - 07/27/2018 : 00:04:12
Good! Thanks EmfDev. So we can now store the CPS of tube 2 in the internal memory by just selecting tube 2 in the menu. And then if I change the tube selection to tube 1 when the device is storing the results for tube 2, the device will continue storing the CPS/CPM of the tube 1 seamlessly in the same data file. Am I right?

I have another related question. I suppose that the non-selected tube (for tube 1 or tube 2 selections) is not switched off in hardware, is it? I see a good advantage if you could switch off the voltage of the unused tube (especially for tube 1): the lifetime of the tube. If a user wants to do high radiation measurements for a long time, they could protect the high sensitivity tube by switching it off while only measurements are being taken with tube 2. That would be transparent to the user, same menu as now, everything identical. Just the hardware has to switch off the non-selected tube. Is that even possible in your hardware?
EmfDev Posted - 07/26/2018 : 15:01:08
@ikerrg,

- rebooting is to reset the counts in some displays like the total cpm in text display mode but not necessary if your don't care about it.

- the current structure doesn't know which tube the cpm belongs to, it just saves the cpm of the tube selection.
i.e. saves the cps of tube 1 only if you select tube1, cpm/s of tube 2 if you save tube 2.
and cpm1+2 for both tubes selected.
ikerrg Posted - 07/26/2018 : 12:57:14
@EmfDev

I have a few questions about the new firmware:

- Why a reboot is needed when you change which tube is being used? I thought that the tube selection only affected to the calculation of the dose rate in µSv/h, and if it is only a calculation, why the reboot? It seems that after selecting one of the tubes (e.g. tube 2) without rebooting, the reading of µSv/h is immediately calculated with the new rules (i.e. 0CPM*0.194=0 µSv/h for tube 2 in background radiation).

- Could you comment on what is finally stored into the device’s internal memory in all the possible selections for the tubes? (tube1, tube 2 and tube1+tube2). What is the storage format now?

Many thanks.
ikerrg Posted - 07/26/2018 : 11:18:22
Seems to work OK, ullix. Thanks for the quick update!
Stargazer 40 Posted - 07/26/2018 : 09:46:31
So a different screen listing comes from your release. Each reading is numbered with date and time and the six parameters with data, comma delimited. This is followed by date time and each call with whether 2 or 4 byte, the bytes displayed and the reading. So a total of seven lines where before only the first line was displayed. May just be for viewing as the data file output is as it was before so no problem getting into spreadsheet.

This is GREAT! Thanks
ullix Posted - 07/26/2018 : 09:27:08
Good. The geigerlog_simple500 issue seems also to be solved. If the latest rc
https://sourceforge.net/projects/geigerlog/files/testing/geigerlog_simple_500plus.py/download
has no bugs, this will be it.
Stargazer 40 Posted - 07/26/2018 : 09:06:30
Okay, reinstalled Python and installed pyserial and it runs just fine. Now just need the byte thing dealt with.

Thanks for your efforts there.
Stargazer 40 Posted - 07/26/2018 : 08:26:14
Doesn't appear Python is in my system path. How can I make that so?
Stargazer 40 Posted - 07/26/2018 : 07:37:46
So don't even go into a Python command prompt window. Very nice. Thanks for working with ullix to sort out the bytes!
ikerrg Posted - 07/26/2018 : 05:41:11
If you have python in your system path, just open a Windows command prompt, change to the directory where the geigerlog_simple_500plus.py is and then issue this command:

python geigerlog_simple_500plus.py


quote:

Really like the looping through menus change. We'll put a lot less wear on the buttons now!


Thanks a lot! xD, it was my idea ;)
Stargazer 40 Posted - 07/26/2018 : 04:47:15
I'll wait till you two sort it out.

Do I run this simple.py from the command line? How do I change to the folder I have it in to run or do I need path ahead of simple.py in the Python terminal window?


EmfDef - Really like the looping through menus change. We'll put a lot less wear on the buttons now!

ikerrg Posted - 07/25/2018 : 14:06:52
Just use the file in my link, it is already modified, though it needs ullix to check what I did and change something (it is his code, not mine)
Stargazer 40 Posted - 07/25/2018 : 13:28:02
Did read everything in the thread, but obviously don't know enough about Python to take his comment at anything other than face value. Sorry.

I'll see if I can find something that tells me how to run simple. Did the adjustment to get right Comm Port and speed, but need to make the change you did to get 4 bytes read instead of 2.

Thanks
ikerrg Posted - 07/25/2018 : 13:20:14
If you read the whole thread, he said that about the phonon problem, which is related to the Qt4 libraries in any Windows, and it only limits GeigerLog in the sense that it cannot produce sounds. Everything else works perfectly!
Stargazer 40 Posted - 07/25/2018 : 13:02:18
ullix said he was giving up on Windows. I went ahead and installed Python 3.4 and it installed fine, and I downloaded geigerlog 500 simple, but don't really know how to run anything. My attempts at the command line with the py file all yielded syntax errors.
ikerrg Posted - 07/25/2018 : 12:51:50
quote:

Ullix's logger apparently has unresolvable issues with Windows 10 (if I misread that I apologize).


What "unresolvable" issues? I couldn't find any, apart from phonon/Qt4 library problems in any Windows.
EmfDev Posted - 07/25/2018 : 11:00:21
Yes, we'll let you know if it's ready.

I think you can still read it's history and play it back, however the usv/h conversion could still be
the one from old firmware.
Stargazer 40 Posted - 07/25/2018 : 10:54:31
Updating Viewer is not priority for me. Ullix's logger apparently has unresolvable issues with Windows 10 (if I misread that I apologize). GMC.MAP properly presents the counts so that is fine. Thanks for getting around to upgrading the Viewer when time and making announcement on the forum when ready.
EmfDev Posted - 07/25/2018 : 10:49:03
The firmware update is new so the data viewer will be updated later.

In the mean time, maybe you can use ullix's program. Sorry about this.
Stargazer 40 Posted - 07/25/2018 : 10:46:07
EmfDef,

Reading MSB for the most part will be zero, so that is likely the issue for the Viewer. Says that the viewer will likely need an upgrade as well so it can read the new 4 byte data.

Thanks!
EmfDev Posted - 07/25/2018 : 10:37:44
@Stargazer40, maybe the software read the first 2 bytes of the data and it discarded the other 2, I don't know how it is coded I didn't write the software.

@ikerrg,

getcpm outputs ==>> (MSB) (x) (x) (LSB)
example.
CPM of 10 is going to be
00 00 00 0A
ikerrg Posted - 07/25/2018 : 10:29:52
@EmfDev
Could you tell us what is the structure of the 4 bytes of data returned by the functions GETCPM, GETCPMH, GETCPML, GETCPSH and GETCPSL in the new 1.18 firmware? Are they just 32 bit integers?
Thanks.
Stargazer 40 Posted - 07/25/2018 : 10:17:49
Not able to get readout on GMC Data Viewer. Comm port good and Real Time Monitoring started, but nothing showing up on screen for any of the tube combinations.

I very much like under the large font option that the selected tube combo is large letters CPM and both tubes whether selected or not show counts beneath that.

EmfDev Posted - 07/25/2018 : 08:50:59
Thank you guys too for your suggestions in improving 500+!
Stargazer 40 Posted - 07/25/2018 : 08:44:30
I think you have just added a lot of value to this meter. For me to acquire it at the cusp of a firmware release of this magnitude is really great. Thanks for what is to me simply amazing responsiveness from a developer. VERY NICE INDEED!
EmfDev Posted - 07/25/2018 : 08:38:02
Yeap If you don't like the new software, you can just install the old one.
Stargazer 40 Posted - 07/25/2018 : 08:37:50
With Tube 2 only, the number reported to GMC.MAP is from Tube 2 only. If GMC.MAP is expecting M4011 tube counts, and the SI3BG tube is in place the software should be selectable for which tube's CPM is reported to GMC.MAP. We might want to always report Tube 1 CPM to GMC.MAP no matter what we are actually monitoring local. Might add that in future.

Otherwise all appears to work as expected.
Stargazer 40 Posted - 07/25/2018 : 08:26:49
Found it all under Init Setup/Calibrate.

Thanks
Stargazer 40 Posted - 07/25/2018 : 08:21:46
Oops, V 2.02 is Firmware Update software version.

So Firmware 1.18 was installed.

Where can we select tube and weighting?
Stargazer 40 Posted - 07/25/2018 : 08:10:29
Loaded new Version 2.02. When complete with good write shows Re 1.18

I believe the unit arrived with version 1.17 installed.

Is there a problem with installer?

Couldn't find any tube selection or weighting factor input in the menus.

Thanks
EmfDev Posted - 07/24/2018 : 14:40:27
It's not really an error, it's just caused by different tube sensitivity. Because they can vary a lot.
Like even 2 same sensitivity tubes, 1 time reading can be 15 for 1 tube and 20 for other, or can be
5 vs 15, 10 vs 20, that's basically 100% differnce, which one is higher doesn't really
mean that's more accurate. So we'll use the other lower point calibration of tube1 to be the threshold to not check the tube2 reading.
if(tube1CPM < somethreshold.0) use tube1 and lower calib of tube1
else if(tube1CPM < somethreshold.1 and tube2CPM is somethreshold2) use tube1 and second calib of tube 1
else use weighting algoritm and second calib of tube, and calib of tube 2

the 2 calibs of tube1 (uSv/h / CPM) are basically equal but just diff values of usv and cpm.

Changed it to 1.25*threshold

You guys can contact customer support to check if the final version
is ready.
Thank you all for your suggestions, let us know if you find any
critical bugs.

ikerrg Posted - 07/24/2018 : 12:50:26
I would probably use less than 50% as the "courtesy error" for the calculation of some_threshold2. Something in the range of the expected error (15 to 20%), like some_threshold2 = (1.2*some_threshold1/tube2Weight)

I see what you mean about the automatic range, those numbers are already in my Excel file. It is fair enough, as the user can select to use only tube 2.

Let's see how this updated firmware behaves!
EmfDev Posted - 07/24/2018 : 09:19:00
@Stargazer 40 Thanks!

quote:

if ((CPM1 < SOME_TRHESHOLD1) & (CPM2 < SOME_TRHESHOLD2)), then use tube1CPM


for this one I can add some_threshold2 = (1.5*some_threshold1/tube2Weight)

quote:

However, if you avoid the third step, you will increase the error at high radiation (see the last Excel I uploaded changing the nonlinearity column in tube 1) and you will depend on the tube 1 behaving more or less correctly in high radiation (the error would be more than 15% at “only” 6500 uSv/h). It is true that probably nobody will use that device in such high radiation and that it is not so important now that the user can decide to use only the second tube. However, it is almost costless (just some more programming). It is obviously your call. You can always implement only the 2 steps as you indicated and do a battery of tests with the two signal generators to see what the readings in different scenarios are. If that does not work as expected, you can try with the three step algorithm.



That's ok because users can already configure which tube to use.
On the other hand, we should be using the weighing formula even in under tube1-30,000 CPM (with more weight on tube1) since
the user picked both tubes to use. They might get confused if the tube2 generated count at low cpm but the uSv'h didn't increase.
Some quick calculations for worst case scenario at tube1 theoretical saturation(.2ms dead time or 300,000CPM or could be higher
MAx CPM = 655,350 from website) where tube1CPM = 0;
at 1950 uSv/h
then uSv = (0 + (300,000/30)*30*X)/(1+X) = 253583.101105 effective cpm compared to 300000CPM
which is 15.47% error, which is already the worst case scenario.
if this happens the user can just change the tube to tube 2 or whatever they prefer.

quote:

And, what do you think about using the CPS instead of the CPM in the comparisons to have a more dynamic response?, as in:


That's actually ok but it could generate instant jump/fall becasue of inconsistent CPM sources. Also 1 pulse doesn't really mean that much
in uSv per HOUR.
It will switch the formula anyway if CPS is equal to some_threshold1 or slowly change if it's lower than some_threshold.
And user again can just configure tube 2 if they want. That's why we added configuring tubes to
just remove a lot of complexities in the calculations that might be unnecessary.
ikerrg Posted - 07/24/2018 : 00:47:32
quote:

in 3, there's only 2 steps calculation.
1. if CPM < SOME_TRHESHOLD, then use tube1CPM


Be careful with that algorithm. If tube 1 saturates in an unexpected mode, i.e. reducing the number of counts for whatever reason, the device could behave erratically at high radiation levels. It is worth adding a comparison that takes into account the tube 2 reading just in case the tube 1 is not doing what we expect, something like:

if ((CPM1 < SOME_TRHESHOLD1) & (CPM2 < SOME_TRHESHOLD2)), then use tube1CPM

To avoid more user input, the value SOME_TRHESHOLD2 can be automatically estimated from SOME_TRHESHOLD1 as SOME_TRHESHOLD2 = SOME_TRHESHOLD1/tube2Weight.
quote:

2. else use uSv/h = (tube1CPM*tube1Weight + tube2CPM*tube2Weight*X)/(1+X) * (calib_usv1/calib_cpm1) where X = sqrt(tube2weight/tube1weight)
**The threshold depends on the second calibration CPM data of tube 1
** this is just to avoid complexity in picking which tube to use, since the user can already pick which tube to display.


I very like the idea that the threshold (SOME_TRHESHOLD1) is user customizable using the current three point calibration of the device. Well spotted!

However, if you avoid the third step, you will increase the error at high radiation (see the last Excel I uploaded changing the nonlinearity column in tube 1) and you will depend on the tube 1 behaving more or less correctly in high radiation (the error would be more than 15% at “only” 6500 uSv/h). It is true that probably nobody will use that device in such high radiation and that it is not so important now that the user can decide to use only the second tube. However, it is almost costless (just some more programming). It is obviously your call. You can always implement only the 2 steps as you indicated and do a battery of tests with the two signal generators to see what the readings in different scenarios are. If that does not work as expected, you can try with the three step algorithm.

In any case, whatever algorithm you pick, some debugging is needed in order to find unexpected behaviours in different tube CPM scenarios.

And, what do you think about using the CPS instead of the CPM in the comparisons to have a more dynamic response?, as in:

if ((CPS1 < SOME_TRHESHOLD1) & (CPS2 < SOME_TRHESHOLD2)), then use tube1CPM

where SOME_TRHESHOLD1=second calibration point/60.

Thanks.
Stargazer 40 Posted - 07/23/2018 : 15:32:04
I don't believe I have ever seen this kind of response from an electronics vender. Simply amazing! THANK YOU!

Got my 500+ about a half hour ago. Charging. Looks really nice. Probably get another for a second home in mountains.

You guys are great!
EmfDev Posted - 07/23/2018 : 13:59:26
tube2Weight = (nCalibtationData2.uSv/(nCalibtationData2.nCPM))
/ ((nCalibtationData1.uSv)/(nCalibtationData1.nCPM));

==> for example this is going to become (.194/.0065) which is close to 30

X = sqrt(tube2Weight)
EmfDev Posted - 07/23/2018 : 13:53:54
I just edited my comment, let me know if its ok.
ikerrg Posted - 07/23/2018 : 13:48:33
Thanks for keeping us informed, EmfDev. And thanks again for hearing us!

Please, tell us when the new firmware is available so we can contact the technical support.
EmfDev Posted - 07/23/2018 : 10:10:09
Thanks for all your inputs, we will try to implement this:

3 options for the user to select,
1. Tube 1 (Low dose tube) only use tube 1
2. Tube 2 (High dose tube) preferable for high CPM/S readin
3. Combination.
in 3, there's only 2 steps calculation.
1. if CPM < SOME_TRHESHOLD, then use tube1CPM
2. else use uSv/h = (tube1CPM*tube1Weight + tube2CPM*tube2Weight*X)/(1+X) * (calib_usv1/calib_cpm1) where X = sqrt(tube2weight/tube1weight)
**The threshold depends on the second calibration CPM data of tube 1
** this is just to avoid complexity in picking which tube to use,
since the user can already pick which tube to display.

From the menu, after changing which tube to use, user might want to
restart the device to reset the counts.
For 500+ users, there will be an option to display tube1, and tube2
CPM's in the large font mode.


The CPM displayed and SAVED to the memory will be the CPM/S of the
selected tube.
ikerrg Posted - 07/21/2018 : 04:28:49
@EmfDev,
First of all, congratulations for the support that you are providing about this problem. We are much closer now to unlock the real potential of the GMC-500+!

Whatever is the algorithm that you finally pick to automatically calculate the uSv/h with both tubes at low and high ranges (like the autorange in a multimeter), I still think that the best option to add to the device is what I proposed some days ago in Reply #12:
quote:

- There is another option, which probably is the best one. Add a menu option so the user can select which tube to get readings from, with the options “high sensitivity tube”, “low sensitivity”, and “combination”. In this way, the user that only does background radiation, will have their devices set at "high sensitivity" and only the data from tube one and the conversion factor for tube 1 would be used. The user that wants to play inside the Fukushima reactor can select “low sensitivity”, or “combination” where the previous algorithm will be used by the software to automatically combine or switch between tubes.


By this way the user can select “manual range” and pick one of the two options ("high sensitivity" or "low sensitivity"), or select “auto range”, and the firmware does the combination with any of the proposed methods (it might also indicate on the screen which range it is using as Stargazer 40 was proposing). With this menu option, the advanced user could also find the sensitivity of both tubes independently when immersed in the same radiation field, and therefore set customized calibration factors with much more accuracy. It is a win-win option!

Now, only about the automatic “auto range” algorithm:
quote:

The problem of just switching to tube2 (only) above the threshold 30000 CPM is, if tube1 is 30,000CPM (195 uSv), we expect tube2 to be 1000 CPM (195uSv), but the reading won't be exactly 1000CPM, it can vary maybe 900, 800, 1200 CPM, or even higher or lower, then the uSv reading will be at the maximum error compared to if we average them.


That is effectively saying that the sensitivity of tube 2 is not known and the calibration factors we use are not good. OK, to smooth that behavior whatever the calibration factor is, you could easily add a comparison that makes sure that the switching from tube 1 to tube 2 only happens when the CPM in tube 2 is enough to match the uSv/h calculation from tube 1. And the same in the opposite direction. Something like:
quote:

if( (uSv/h of tube2 - uSv/h of tube1)/uSv of tube1 is greater than 10%?, then we will use uSv/h of tube2, also vice versa if tube1 uSv/h is significantly greater than tube2.



After doing some simulations in Excel (download it here: https://www.dropbox.com/s/n4xjnfddmfpeahg/TubeCombination2.xlsx?dl=0 ), my vote goes for these options (three ranges):

1.- if tube1CPM < 30,000 (CPS < 500) then uSv/h = tube1CPM*(calib_usv1/calib_cpm1) ==>> this will give equal uSv/h as GMC-500, 300, and 320. The other option that you propose is very good if saturation of tube1 starts earlier that 30,000, but it adds complexity and weighting factors to something that is not actually needed.

2.- if 30,000 < tube1CPM < 60,000 (or any other higher value) then uSv/h = (tube1CPM*tube1Weight + tube2CPM*tube2Weight*X)/(1+X) * (calib_usv1/calib_cpm1) where X = sqrt(tube2weight/tube1weight), as you proposed.

3.- if tube1CPM > 60,000 (or any other higher value) OR tube2CPM > 2000 (or any other higher value) then first check if (tube2CPM*(calib_usv2/calib_cpm2)) > (tube1CPM*(calib_usv1/calib_cpm1)) and, if true, then uSv/h = tube2CPM*(calib_usv2/calib_cpm2) (only tube2 data being used). If false, keep using tube1 until the condition is met. This third range avoids the big error that will happen if tube1 sensitivity drops massively in high radiation for whatever reason (try in the attached Excel), and it seems sensible to use only tube2 at very high radiation levels. I still think that you should show on the screen both CPMs of the tubes independently (there is space on the screen!), but if you prefer a combined number at this 3rd step that is continuously smooth with the step 2, you can continue showing the combined CPM as calculated in step 2, i.e. CPMequiv = (tube1CPM*tube1Weight + tube2CPM*tube2Weight*X)/(1+X). Again, see the effect in the Excel file.

In your formulas, when you say (calib_usv/calib_cpm), I suppose you are always referring to tube1 values (0.0065). I have specified above whether the numbers are from tube1 (0.0065) or tube2 (0.194). For the tube weights, I suppose that they are automatically calculated from the calibrated sensitivities, with no need for additional user input for the weights.

And I would use CPS for the comparisons because at these high radiations the jump between steps depends a lot on the distance to the source, and the user might want to see the instantaneous dose rate in uSv/h without having to wait around 1 minute for the auto range algorithm to swap between calculations.
Stargazer 40 Posted - 07/20/2018 : 18:37:51
We really then need to deal only with the transition from all tube 1 to all tube 2, smoothing that out. The line above about switching to all tube 2 when (uSv/h of tube2 - uSv/h tube1)/uSv of tube1 is greater than 10% may make actual smoothing algorithm less critical if getting to that point is narrow range of CPM increase versus jump to tube 2 uSv/h.

To be honest, I think safest approach may be to simply manually set range of meter by menu to either tube1 or tube2 with indicator on display. Like analog meters of old with simple switch for 5, 50, 500 mR/H.
EmfDev Posted - 07/20/2018 : 16:03:43
From the previous algorithm, the limit is 4250 uSv/h for 500, and 42500 for 500+. I am not sure how it was calculated (probably testing
the limit to high radiation). I'll have to check later. 4250 uSv = 655350 CPM

But in the new solution, the the limit will be the max CPM (saturation) of both tubes.

As long as the processor can handle the counts (up to 3.9 Million CPM or 65000 CPS for each counter),
but the Tubes will already be saturated far before they reach that CPM.

The problem of just switching to tube2 (only) above the threshold 30000 CPM is,
if tube1 is 30,000CPM (195 uSv), we expect tube2 to be 1000 CPM (195uSv), but the reading
won't be exactly 1000CPM, it can vary maybe 900, 800, 1200 CPM, or even higher or lower,
then the uSv reading will be at the maximum error compared to if we average them. It can also
confuse the user for example if you are moving closer to a high radiation source and the tube1 count jumped from 29000
to 3100 but tube2 during that time is 900, then you will notice the uSv convertion is now much lower
than your expected value because it used the 900 to convert it to uSv (we expect more than 1000CPM to get the expected uSv).
But we'll see which one we'll be using.

Right now the firmware should be good for your liking if you're not concerned about critical numbers because the
algorithm is coded that way.

Hahaha most cases people will already know they're in lethal range if they see that much CPM.


Stargazer 40 Posted - 07/20/2018 : 14:59:22
And to be clear the tube 1 solution is limited to 4250 uSv and the tube 1 and 2 solution is limited to 42500 uSv?

If I could implement all three of the solutions EmfDev just laid out in settings, I think that would be great. I wouldn't know how they could be tested however on the higher limits, so likely would simply employ the one that above 30,000CPM only makes use of tube 2. For me it's about order of magnitude of radiation, not lab critical number.

Also if 30,000 counts exceeded and switch to tube 2 or one of the combined mixes, it would be nice if the 'HIGH' warning could change to something like 'LETHAL'

Thanks
EmfDev Posted - 07/20/2018 : 14:32:07
@Stargazer
Thanks for your comments. Yeah we just want to improve the GMC-500+ uSv conversion.

@ullix, @ikerrg
As of now, we have

if tube1CPM < 30,000, then uSv/h = tube1CPM*(calib_usv/calib_cpm) ==>> this will give equal uSv/h as GMC-500, 300, and 320
OR
if tube1CPM < 30,000, then uSv/h = (tube1CPM*tube1Weight + tube2CPM*tube2Weight)/(1+1) * (calib_usv/calib_cpm)
But we might want to


if tube1CPM > 30,000, then uSv/h = tube2CPM*(calib_usv/(calib_cpm*(tube2Weight/tube1Weight))) (only tube2)
OR
if tube1CPM > 30,000, then uSv/h = (tube1CPM*tube1Weight + tube2CPM*tube2Weight)/(1+1) * (calib_usv/calib_cpm)
this willl give the average of the 2 tubes but we might want to increase the weight of tube2 so that
it can reduce the error during tube1 saturation.
==> uSv/h = (tube1CPM*tube1Weight + tube2CPM*tube2Weight*X)/(1+X) * (calib_usv/calib_cpm) where X = sqrt(tube2weight/tube1weight)

There is also
if( (uSv/h of tube2 - uSv/h of tube1)/uSv of tube1 is greater than 10%?, then we will use uSv/h of tube2,
also vice versa if tube1 uSv/h is significantly greater than tube2
This is to reduce errors in non-homogeneous radiation fields.

The tube weights can be configured by the user.

@ikerrg, Sorry but I don't think we will support saving both CPSs to the EEPROM, at least not in GMC_500+.
Stargazer 40 Posted - 07/20/2018 : 12:04:18
Thanks for going through all this. I do like the idea of the last sentence in first post -

"One way to fix this is to ignore tube2Count until certain level and only use tube1Count (best is until tube1 saturation count) but
we need time to determine those values. It's hard to find the saturation count because each tubes have different saturation limit."

and of using only a single tube at a time. I agree that there is likely a cutoff number that will work quite well with an estimate of saturation of the more sensitive tube and not have poor performance of the less sensitive tube. Hopefully GQ can go through some testing and come up with a number that works the majority of times. Just ordered a 500+ and given this conversation have some concerns about just what the two tubes are telling me if they are combined somehow.

Thanks
EmfDev Posted - 07/20/2018 : 10:28:07
Someone else tested and I don't have access to the data.

I think you misunderstood my statement, I was saying different tubes will have different sensitivity.

There are 2 independent 32bit counters attached to each tube. We can switch off the counters or just ignore
its reading. But what is the point?
ullix Posted - 07/20/2018 : 00:01:09
@EmfDev:
quote:
Not all tubes(tube2) have same sensitivity at lower level of radiation that's why the calibration of tube 2 is 30 times of tube 1 because is was assumed to be a low sensitive tube and is tested in high levels of radation.

So you have tested the tube in high levels of radiation? Can you show us the data?

I am very surprised about your claim that the tube has lower sensitivity at low radiation level. I never heard that before, and I find it hard to imagine given the mechanism of its functioning.

When a count is generated in the tube, the pulse of the electric discharge in the tube plus any pulse lengthening in the electronics last 0.2 millisecond (or less). At high rates the tube then sits idle for, let's say, a millisecond before the next pulse comes, or only 5 times the pulse length, it responds well. But when the tube has to wait for 1000 milliseconds, totally undisturbed, everything well charged, the tube becomes less responsive?

I think this is a major discovery, which will certainly have been published somewhere. Please, provide us with a link or reference to your source for this important information.

I had asked a question ina previous post, which you may have overlooked; I'd appreciate an answer:
quote:
Let me ask: Is it even possible to switch off the 1st tube in this way in the current 500+ unit?


EmfDev Posted - 07/19/2018 : 11:19:41
The display CPM is just there to display, but the uSv/h is calculated differently.

I remember I mentioned before from other threads that the counter is 32 bits and can handle up to 65KHz (3.9M CPM for each
tube).

Not all tubes(tube2) have same sensitivity at lower level of radiation that's why the calibration of tube 2 is 30 times
of tube 1 because is was assumed to be a low sensitive tube and is tested in high levels of radation.
ikerrg Posted - 07/18/2018 : 01:20:30
Adding both tube’s CPM is like adding pears and apples. They are not the same at all, the sum does not represent anything.

Anyway, about the uSv/h conversion:
- First of all, the conversion in the present calibration is not 0.195, but 0.194 (4.85/25). I suppose that those numbers for the formula will be taken from the user customizable calibration in the device, so their exact value does not matter at this time.

- Assuming that the tube 2 is working as expected, at 195 uSv/h (30000 CPM in tube 1) it should be quite sensitive by itself (detecting about 1005 CPM or 16.75 CPS), so I do not see why we need to consider the tube 1 above that radiation level. The formula you proposed cannot take into account an unknown reduction in sensitivity of the first tube with increasing CPM, and it will keep returning the CPM readings of the tube 1 slightly corrected by the readings of tube 2 (but still with plenty of error), hence the conversion to uSv/h will be wrong at higher radiation levels (see and play with the spreadsheet in https://www.dropbox.com/s/bj3tgun2z3b9xpf/TubeCombination.xlsx?dl=0 ).

- I agree that for non homogeneus radiations (when the CPMs are not related by the sensitivity ratio of the tubes), the firmware should return the readings of only the biggest corrected reading from both tubes, or just do nothing due to a wrong use of the device as ullix says. It is easy enough though that if the first tube is reading 1000 CPM and the second is reading 6.7 CPM, the firmware could internally calculate the dose rate of both independently (6.5 uSv/h and 1.3 uSv/h respectively in this case) and discard the lowest one.

- There is another option, which probably is the best one. Add a menu option so the user can select which tube to get readings from, with the options “high sensitivity tube”, “low sensitivity”, and “combination”. In this way, the user that only does background radiation, will have their devices set at "high sensitivity" and only the data from tube one and the conversion factor for tube 1 would be used. The user that wants to play inside the Fukushima reactor can select “low sensitivity”, or “combination” where the previous algorithm will be used by the software to automatically combine or switch between tubes.

I hope I did not say something too stupid ;)
ullix Posted - 07/17/2018 : 23:46:48
@EmfDev: I am not sure I can follow.

Are you now trying to accommodate a user who inappropriately handles the counter by bringing it into an inhomogeneous radiation field, where one tube gets more than the other?

Don't!

It is your responsibility to explain to the user the more demanding requirements of this more complex counter (here a homogeneous radiation field). But for your firmware you assume this condition is met. It is complicated enough anyway.

Your true main problem is the saturation of the 1st tube. At a certain point, at the very latest at CPS=5000, the tube will be in saturation and probably not deliver any counts at all, because they follow so close to each other that the electronics cannot distinguish between them. And even if it could, we'd see CPM=300 000, which it coulnd't handle as a 16bit number, limited to 65000.

To avoid this, well before this limit, the tube must be switched off. Preferably by switching off the high voltage, but at least by switching off the access to the counting circuitry.

Let me ask: Is it even possible to switch off the 1st tube in this way in the current 500+ unit?
EmfDev Posted - 07/17/2018 : 10:25:57
** This is for calculating uSv/h, the CPM displayed will still be the sum of both tubes.

for calculating uSv/h
We thought of using tube1 for cpm lower than 30k. Then use the formula
(10000 * 1 * 5.48 + 333.333 * 30 * 1) / (5.48 + 1) = 9999.998
if tube1 is higher than 30k. However, we need to find a point where
we need to use tube2 instead of tube1 at <30k tube1cpm if tube2 uSv/h convertion (tube2count*.195)
is significantly higher than tube1 uSv/h convertion. It can happen if the users try to put a source
much close to the low sensitivity tube. So need to find point where the uSv/h convertion of tube2
is significantly high enough that we only use the tube2(or both). can also happen during saturation.
Then tube 2 can go much higher than tube 1.

GQ Electronics Technical Support Forum © Copyright since 2011 Go To Top Of Page
Generated in 0.16 sec. Snitz's Forums 2000