-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
FNIRSI GC-01: Custom HV profile error #96
Comments
Which MCU do you have in your unit? GC-01 was produced with at least 3 different MCUs. |
RadPro reports: FNIRSI GC-01 (CH32F103C8) |
RadPro will report whatever you will flash, important is what physically sits inside your unit. |
Ooopsie, really? CH32F103 |
Ok, so your MCU is WCH CH32F103-R8T6, and you are using the correct firmware. My unit has a Geehy/Apex MCU so I'm using a different firmware, built using a different toolchain. Although Geehy and Apex have the same MCU core, they differ in peripherals. Today I have noticed, that on a discharged battery, the duty cycle regulation has a much smaller effect on the HV, than on a fully charged battery. Also - measured voltage differs significantly when you run the device with or without the Geiger tube. Apparently, the tube acts as an output capacitor. |
Fixed. To test the fix, download and decompress this beta release: https://github.com/Gissio/radpro/actions/runs/9456284458/artifacts/1587392805 If you flash your device with the bootloader, flash the corresponding If you flash your device with an STLINK, download the flashtool. In the flashtool's |
I'm afraid it is NOT fixed. Install seems ok.
The frequency was set by GeigerLog software to 300 Hz (red curve, data as reported by Radpro). The duty was scanned in 1% steps from 0 ... 100% (black curve, 10x, data as reported by Radpro). The Anode-Voltage is measured by DMM (dark green). The measured frequency is either 1.66 kHz or zero Hz. At no point is it ever the same as the set, and Radpro confirmed, frequency of 300Hz. The Anode-Voltage increases 4 times during this scan from zero Volt up to 1400Volt. While I find it impressive that a cheapo-device like the GC-01 can do a voltage as high as 1400V, it is not related to my settings. |
Question: is the RadPro code based on Hardware-PWM or Software-PWM? |
There was another issue with the HV PWM timer. It should be fixed now: https://github.com/Gissio/radpro/actions/runs/9473910151/artifacts/1591656185 |
Nope. When the frequency collapses, the voltage, unsurprisingly, collapses as well. I am wondering what kind of testing you do to make a "fixed" claim? It is not fixed as these simple tests easily show. I'll give you a copy of my GeigerLog code (the latest is not released yet) if you'd like to use it. All you need is a DMM which can be accessed by computer, via serial or Bluetooth. |
This issue only occurs when changing PWM parameters very rapidly. Could you test https://github.com/Gissio/radpro/releases/tag/2.0.1beta3? |
First observation: I cannot set the DateTime:
This is the GC-01 time:
|
Next observation: History saves negative(!) count numbers:
|
Next observation: Anode-Voltage is way too high and wildly fluctuating. So far I have changed as little as possible on the Radpro settings. The PWM values as per "factory default" are:
What is the reason for such an odd fre setting? The DMM measured values - confirmed by osci - are f=9.206 kHz and 75% duty. (i.e the same) But the resulting Anode-Voltage ranges - during the "steady" phase - from a minimum of 670V up to 1100V. Even the minimum is too high for this tube! The wide fluctuation is seen the first time, and surely also not good! It had not been this bad before, what happens? |
Next problem: you have inactivated the option to change PWM settings; neither freq nor duty can be changed, and stay at their default:
A scan is not possible any more; this is all I can show (magenta is CPS, dark-green is Anode-Voltage): The average Anode-voltage is 891 Volt! Not acceptable! |
I just noticed one thing. In 2.0rc05 you made the statement:
However, I am now seeing that in Rad Pro 2.0rc3 you are back to LF only: I prefer LF-only, but what ever your choice, please stay with it! Which one is it from now on? |
I have reversed all instances of "CR&LF" in my code and replaced with "LF"-only. And voila, I can set the time again:
However, PWM still cannot be set:
Attempt to set 5000Hz and 20% duty returns errors, and the back-reported setting is 2500Hz and 23%. Apart from CR&LF - what else has changed? |
What version are you testing? According to your examples it is radpro2.0rc3, non radpro 2.0.1test3. |
@alfmck : The stated time issue in GeigerLog may have to do with timezone settings. It has nothing to do with RadPro, but if you file an issue at the GeigerLog site I'll investigate. The latest GeigerLog does have the freq and duty function, so your are obviously not using it. Which version are you using? Install the latest, and also check if your timezone issue still exists. The latest stable version is currently 1.5.0. The voltage fluctuation is a necessary consequence of the count rate. At higher count rate the average current through the tube is higher, and due to a HV generator with a high internal resistance of 23MOhm (measured by me, is in line with other brand counters) the voltage drops. This is normal, and basically an ohmic effect. Thus when measuring voltage I use the lowest count rate situation possible, i.e. background only. What is not normal is that the voltage breaks down completely. But this time due to a PWM frequency of zero. When even the factory default anode voltage is 850 V, then this is way too high for ALL tubes in the hobbyists sphere, and too high for most tubes! If you have a DMM with a computer link (serial, Bluetooth, other) I might be able to give a custom GeigerLog which allows to read the DMM. With the myriad of DMMs out there, it is not possible to make a generic interface, but with a bit of luck it might work. |
2.0rc3 is OLDER than 2.0rc5, so how could he be "back"? The current version is 2.0.1b3, not 2.0rc3. |
@TzOk83 I noticed this as well ... In my first post on the recent discussions I had shown Now the data when using the right version, please check:
In the first runs with beta3 I had set the PWM frequency to either 300Hz or 2500Hz, and scanned the duty from 0% to 100% in +1% steps, measuring CPS, Anode-Voltage, and Frequency, and continued the scan with -1% steps. CPS (magenta, left scale) shows up only when voltage is >350V. Ok. At 300Hz the voltage smoothly increases up to a maximum of 570V and then slowly but equally smoothly declines. The voltage is zero at extremes of duty 0% and 100%, ok. Overall: excellent performance of Radpro! I'll do frequency scans soon. |
I have now also completed my freq scans, and it is looking good. The duty was set to 10%, 50%, and 90%, and the freq scanned in the supported range of 100Hz to 100 000 Hz. Everything else as before, except that freq is shown as log(freq) due to its wide range. In every run the frequency as set by GeigerLog, as reported by Radpro, and as measured were all the same! In every run from from 10 to 50 to 90% the voltage climbed to a maximum which shifted slightly from approx 1500Hz to 2000Hz. The maximum increased from 450V, to 1100V, to 1500V. The breakdown of the voltage at 90% and 11793 Hz is a bit odd; but I'll blame the electronics for it ;-). The high voltages are nevertheless impressive, but they are not needed for any of the tubes I can imagine to see in such a counter. Instead, what is needed is a voltage in the range 400V to 800V. This range is marked with a light-green box in the bottom-right graph. The curve can easily be fitted with a linear fit. With that I suggest an update to the firmware with a command like "set voltage 430V" instead of the two PWM settings. In PWM the effect of changes is nearly impossible to predict unless you have these graphs at hand. This also opens the possibility for Anode Voltage controlling to keep the voltage at the preferred setting independent of the count rate! This could easily be done both at GeigerLog and in the firmware. |
I'm glad you've cleared the issue, and the results are impressive! Thank for the link about geigerlog 1.5.0 you give me - it is great! I red user manual and had a good time - you know much more about the theme. I hope we soon will see this version in Geigerlog radpro releasees. |
I'm afraid, that without a feedback circuit, it is impossible. The scale is valid for your unit, and only for your unit. It may greatly vary among different units (even the same model). P.S. |
True, but you do have a feedback, which is the count rate. I have established the relationship between count rate and voltage drop e.g. here https://www.geigerzaehlerforum.de/index.php/topic,2277.msg29993.html#msg29993 noting that for each CPM=10000 there is 50V voltage drop on the FNIRSI GC-01. One problem could be to verify proper functioning of such a measure, because it is not easy to get your hands of sources of this strength ;-) |
Don't quite understand what you mean by "for each CPM=10000 there is 50V voltage drop on the FNIRSI GC-01". From my understanding how this circuit works is that the output voltage depends mainly on absolute (thus in ms, not in %) pulse width, and the switching frequency impacts mainly the recovery time. Geiger tube is basically a capacitor, which shorts when a gamma particle penetrates it. Instrument sees the voltage drop and counts a particle. Then, the PSU needs to re-charge the tube, and the cycle repeats. Tube capacity greatly depends on its construction, and may vary even across units of the same type. Some GC-01 have an additional load resistor in the PSU, others does not, this difference would greatly affect your U=f(fs, th) characteristics. |
@TzOk83 The Geiger tube is anything but a capacitor! It is best described as a simple switch: without any counts the switch is "open" and its resistance is infinite. With a count it conducts, and its resistance is (close to) zero. During the count-event current is flowing through the tube, limited by the anode resistor. Assume this is 5MOhm, and the anode voltage is 500V, then 100µA is flowing. The pulse length for tubes like used in the GC-01 is near 150µs, tooth-shaped. I approximate this with a rectangular pulse of 100µs length. So, assume a count rate of CPM=10000, equal to CPS=167 (high compared to what hobbyists mostly can get!) you get an average current for 1 sec of: 167/s * 100µs * 100µA = 1.67µA. I have measured the internal resistance of the HV generator as 23MOhm. Then from the 500V you get a voltage drop of 23M * 1.67µA = 38V. My actual numbers made me estimate a 50V drop. For CPM=20000 you then have 50*2=100V voltage drop, and so on, 50V additional drop for each additional CPM=10000. The recharging happens within the capacitors of the voltage multiplier in the GC-01. I wish I had a SPICE model of this circuitry, so I could study its behavior more easily. Can anyone help with SPICE? |
My J614 tube has a capacitance of ~2pF, with this voltages and impedances this is not nothing. Try to run GC-01 without a tube, and then measure the voltage. Schematic for GC-01 is available, however, it is missing some component values, especially capacitors, and inductors. |
Sure, there are stray capacities, from tube, leads, circuit board, etc., and those can lead to problems. The less you have, the better; however, you need to have an order of magnitude more capacitance to see it. Here is an old post of mine, where I tested influence of capacities, see Without having some SPICE model available, the best model for a tube is still a plain switch. I have now built a voltage controller into GeigerLog, which keeps the anode-voltage constant, depending on the count rate. Geigerlog sets the voltage in the GC-01, and adjusts it up or down to achieve constant voltage independent of count rate CPS. Very simple; could easily be built into firmware. My problem now is testing: my highest source brings CPM=5000. But ten-fold more is needed for decent testing. Can anyone help with stronger sources? |
I got strange results scanning the PWM settings, and then checked PWM with an oscilloscope, measuring on the tube facing side of R9. I see a clean square signal (when there is one). These are the results:
Looks like a bug in setting the PWM values?
The text was updated successfully, but these errors were encountered: