<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SBM20 &#8211; IoT-devices, LLC &#8211; Electronics manufacturer for IoT</title>
	<atom:link href="https://iot-devices.com.ua/tag/sbm20/feed/" rel="self" type="application/rss+xml" />
	<link>https://iot-devices.com.ua</link>
	<description>Від модулів до складних пристроїв</description>
	<lastBuildDate>Mon, 24 Mar 2025 10:53:43 +0000</lastBuildDate>
	<language>uk</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://iot-devices.com.ua/wp-content/uploads/2020/05/iot-devices_logo_inversed_kromka_512x512_82ce62_white-100x100.jpg</url>
	<title>SBM20 &#8211; IoT-devices, LLC &#8211; Electronics manufacturer for IoT</title>
	<link>https://iot-devices.com.ua</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Коефіцієнт перетворення трубки Гейгера J305: відмінності коефіцієнту для потужності випромінювання джерела та для поглинутої дози. Технічна нотатка</title>
		<link>https://iot-devices.com.ua/geiger-tube-j305-conversion-factor-difference-for-radiation-source-power-and-absorbed-dose-technical-note/</link>
		
		<dc:creator><![CDATA[iot-guru]]></dc:creator>
		<pubDate>Sun, 24 Mar 2024 04:56:54 +0000</pubDate>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[Тестування]]></category>
		<category><![CDATA[absorbed dose]]></category>
		<category><![CDATA[conversion factor]]></category>
		<category><![CDATA[DIY]]></category>
		<category><![CDATA[equivalent dose]]></category>
		<category><![CDATA[gamma-radiation]]></category>
		<category><![CDATA[geiger-counter]]></category>
		<category><![CDATA[GGreg20_V3]]></category>
		<category><![CDATA[gm-tube]]></category>
		<category><![CDATA[human body model]]></category>
		<category><![CDATA[ionizing radiation]]></category>
		<category><![CDATA[iot]]></category>
		<category><![CDATA[phantom]]></category>
		<category><![CDATA[photon radiation]]></category>
		<category><![CDATA[SBM20]]></category>
		<category><![CDATA[technical-note]]></category>
		<guid isPermaLink="false">https://iot-devices.com.ua/?p=3360</guid>

					<description><![CDATA[Ми раніше вже писали про те, як розрахувати коефіцієнти для трубки SBM20 та трубки J305, які постачаються з нашим модулем лічильника Гейгера GGreg20_V3 для DIY / IoT проектів.&#160;Але у тих статтях ми багато зробили наголосу на формулах розрахунку і майже випустили з уваги дуже важливу деталь: коли ми розраховуємо коефіцієнт перетворення кількості імпульсів трубки Гейгера, [&#8230;]]]></description>
										<content:encoded><![CDATA[<figure class="wp-block-post-featured-image"><img fetchpriority="high" decoding="async" width="1500" height="1000" src="https://iot-devices.com.ua/wp-content/uploads/2024/03/GGreg20_V3_Differences-in-Conversion-Factor.webp" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="GGreg20_V3 Differences in Conversion-Factor Article Photo" style="object-fit:cover;" srcset="https://iot-devices.com.ua/wp-content/uploads/2024/03/GGreg20_V3_Differences-in-Conversion-Factor.webp 1500w, https://iot-devices.com.ua/wp-content/uploads/2024/03/GGreg20_V3_Differences-in-Conversion-Factor-300x200.webp 300w, https://iot-devices.com.ua/wp-content/uploads/2024/03/GGreg20_V3_Differences-in-Conversion-Factor-1024x683.webp 1024w, https://iot-devices.com.ua/wp-content/uploads/2024/03/GGreg20_V3_Differences-in-Conversion-Factor-768x512.webp 768w, https://iot-devices.com.ua/wp-content/uploads/2024/03/GGreg20_V3_Differences-in-Conversion-Factor-454x303.webp 454w" sizes="(max-width: 1500px) 100vw, 1500px" /></figure>


<p class="wp-block-paragraph">Ми раніше вже писали про те, як розрахувати коефіцієнти для трубки <a href="https://iot-devices.com.ua/technical-note-how-to-calculate-the-conversion-factor-for-geiger-tube-sbm20/">SBM20 </a>та трубки <a href="https://iot-devices.com.ua/geiger-tube-j305-how-to-calculate-the-conversion-factor-of-cpm-technical-note/">J305</a>, які постачаються з нашим модулем лічильника Гейгера <a href="https://go.iot-devices.com.ua/ggreg20_v3">GGreg20_V3</a> для DIY / IoT проектів.&nbsp;<br>Але у тих статтях ми багато зробили наголосу на формулах розрахунку і майже випустили з уваги дуже важливу деталь: коли ми розраховуємо коефіцієнт перетворення кількості імпульсів трубки Гейгера, то маємо бути свідомими того, яку саме величину ми бажаємо отримати на виході.</p>



<p class="wp-block-paragraph">Якщо нам потрібно отримати зареєстровану лічильником потужність випромінювання радіоактивного джерела, це буде одна задача.&nbsp;<br>Зовсім інша задача, коли нам потрібно отримати еквівалентне значення дози радіації поглинутої людським тілом за певний час.</p>



<p class="wp-block-paragraph">Як рахувати коефіцієнти ми докладно розповідаємо у попередніх наших публікаціях, тому зараз не будемо витрачати час читача.&nbsp;<br>Краще ми спробуємо показати відмінності розрахованих коефіцієнтів і як краще ними скористатися для DIY проекту</p>



<p class="wp-block-paragraph">Дані наводимо для трубки J305. На її місці також може бути будь-яка інша трубка Гейгера, як-от SBM20 чи LN712, адже всі вони мають <a href="https://iot-devices.com.ua/comparison-of-geiger-muller-tubes-sbm20-j305-and-lnd712/">подібний принцип дії</a> за виключенням певних нюансів, якими можемо знехтувати в межах цієї історії.</p>



<p class="wp-block-paragraph">У попередніх наших публікаціях ми йшли з початку до кінця: маємо імпульси -&gt; хочемо тримати значення у μSv/h.<br>Сьогодні ми спробуємо йти навпаки: крокуючи від мети DIY-проекту крізь послідовні дій її досягнення.</p>



<p class="wp-block-paragraph">Як користувачі DIY лічильника Гейгера, скоріше за все ми хотіли б отримати доступ до наступної інформації на дисплеї нашого пристрою:</p>



<ol class="wp-block-list"><li>Кількість зареєстрованих імпульсів на хвилину отримана від лічильника, CPM;</li><li>Потужність джерела випромінювання зареєстрована лічильником, μSv/h;</li><li>Поглинута людським тілом доза за певний період часу, μSv.</li></ol>



<p class="wp-block-paragraph">Подивіться уважно на ці величини. Секрет правильного їх розрахунку полягає не лише у правильних формулах та коефіцієнтах, а також і у розумінні загального процесу:</p>



<ul class="wp-block-list"><li>джерело випромінює;</li><li>лічильник реєструє;</li><li>людське тіло поглинає;</li></ul>



<p class="wp-block-paragraph">Людське тіло поглинає не все, що реєструє лічильник. Виміри лічильника та поглинута доза дуже сильно залежать від багатьох факторів. Тому для спрощення вимірів прийнято застосовувати вже готові дані від виробника та еквівалентні моделі розрахунку відповідних коефіцієнтів.</p>



<h2 class="wp-block-heading">Кількість імпульсів</h2>



<p class="wp-block-paragraph">Кількість імпульсів ми отримуємо від модуля лічильника Гейгера. Для зручності розрахунків, а також виходячи із щільності імпульсів під час вимірювання нормального фонового випромінювання, цей показник найкраще розраховувати у імпульсах за хвилину, CPM (Counts per Minute).</p>



<p class="wp-block-paragraph">Наприклад, виробник J305 зазначає у даташит, що при нормальному фоновому випромінюванні трубка має видавати 25 імпульсів на хвилину. Інакше кажучи 25 CPM.</p>



<p class="wp-block-paragraph">Навіщо нам на дисплеї величина CPM, якщо є інші, більш зрозумілі показники? Дійсно, без імпульсів на хвилину можна обійтися. Але це дуже зручний показник, коли ми хочемо зрозуміти, чи не буває збоїв у роботі пристрою. Зазвичай, у своїх пристроях ми робимо накопичувальний лічильник кількості зареєстрованих імпульсів за весь час роботи пристрою з моменту подачі живлення.&nbsp;</p>



<p class="wp-block-paragraph">У цьому випадку, навіть якщо у нас немає джерела точного синхронізованого часу як-от NTP чи RTC, ми все одно можемо розрахувати середню кількість імпульсів на хвилину поділивши суму всіх імпульсів на весь час, що пройшов з моменту подачі живлення. Цей показник може свідчити про якість наших даних, навіть якщо пройшли години з моменту вмикання пристрою.&nbsp;</p>



<p class="wp-block-paragraph">Сподіваємося, що оскільки сам принцип таких контролів вже відомий і вам, то ви за потреби розробите власні алгоритми перевірки якості даних та роботи лічильника. Реалізацій може бути багато.</p>



<h2 class="wp-block-heading">Потужність джерела випромінювання</h2>



<p class="wp-block-paragraph">Коли ми хочемо оцінити потужність джерела випромінювання, ми маємо застосовувати коефіцієнт перетворення CPM у μSv/h отриманий шляхом розрахунків на базі даних зазначених у даташит на трубку від виробника:</p>



<p class="wp-block-paragraph"><em>Для трубки J305 виробник вказує чутливість 44 імп/c при 1 мР/год від джерела Co-60;</em></p>



<p class="wp-block-paragraph">Зробимо необхідні нам перетворення цих даних:</p>



<ol class="wp-block-list"><li>Перетворимо в імпульси на хвилину при 1 мР/год:</li></ol>



<p class="has-text-align-center wp-block-paragraph"><strong>CPS / mR/h → CPM / mR/h: 44 * 60 = 2640;</strong></p>



<ol class="wp-block-list" start="2"><li>Перетворимо в імпульси на хвилину при 1 мкЗв/год:&nbsp;</li></ol>



<p class="has-text-align-center wp-block-paragraph"><strong>CPM / mR/h → CPM / μSv/h: 2640 / 10 = 264;</strong></p>



<ol class="wp-block-list" start="3"><li>Ціна одного імпульсу за хвилину у мкЗв/год:</li></ol>



<p class="has-text-align-center wp-block-paragraph"><strong>1 / ( CPM / μSv/hr ) = 1 / 264 = 0,00378;</strong></p>



<p class="wp-block-paragraph">Таким чином, якщо нам потрібно перевести імпульси, зареєстровані трубкою J305 протягом хвилини у мкЗв / годину і отримати значення потужності джерела випромінювання:</p>



<p class="has-text-align-center wp-block-paragraph"><strong>1 імп/хв = 0,00378 мкЗв/год;</strong></p>



<p class="wp-block-paragraph">або</p>



<figure class="wp-block-table"><table><tbody><tr><td class="has-text-align-center" data-align="center"><strong>μSv/h&nbsp; = CPM * 0,00378</strong></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Коли ми читаємо документацію на трубку Гейгера, то саме про розрахунок цього показника там йдеться.</p>



<h2 class="wp-block-heading">Еквівалент поглинутої людським тілом дози</h2>



<p class="wp-block-paragraph">Для отримання значення еквіваленту дози випромінювання поглинутої людським тілом застосуємо модель фантому людського тіла:</p>



<ol class="wp-block-list"><li>Перетворимо імп/с у імп/хв при 1 мР/г:</li></ol>



<p class="has-text-align-center wp-block-paragraph"><strong>44 * 60 = 2640 імп/хв / мР/год</strong></p>



<ol class="wp-block-list" start="2"><li>Перетворюємо імп/хв при 1 мР/г у імп/хв при 1 Р/год:</li></ol>



<p class="has-text-align-center wp-block-paragraph"><strong>2640 * 1000 = 2640000</strong></p>



<ol class="wp-block-list" start="3"><li>Знаходимо значення дози експозиції R/h при 1 імп/хв:</li></ol>



<p class="has-text-align-center wp-block-paragraph"><strong>1 / 2640000 = 0,0000003787878788</strong></p>



<ol class="wp-block-list" start="4"><li>Знаходимо air-kerma (Ka, kinetic energy released per unit mass / in matter):</li></ol>



<p class="wp-block-paragraph">Рівняння має наступний вигляд:&nbsp;</p>



<p class="has-text-align-center wp-block-paragraph">Ka [Gy] = 0,00877 [Gy/R] x exposure [R]</p>



<p class="wp-block-paragraph">де 0,00877 – коефіцієнт поглинання дози радіації людським тілом на фантомній моделі під впливом фотонних енергій 100 keV – 3 MeV</p>



<p class="has-text-align-center wp-block-paragraph"><strong>0,00877 * 0,0000003787878788 = 0,000000003321969697 Ka[Gy]</strong></p>



<ol class="wp-block-list" start="5"><li>Перетворимо Ka[Gy] у Ka[μSv] (тобто перейдемо від Грей до мкЗв):</li></ol>



<p class="has-text-align-center wp-block-paragraph"><strong>0,000000003321969697 * 1000000 = 0,003321969697 Ka[μSv]</strong></p>



<p class="wp-block-paragraph">Таким чином, формула еквівалентної поглинутої дози тілом людини радіації для трубки Гейгера-Мюллера J305 з гамма- чутливістю по Co-60 44 cps / mR/hr наступна:</p>



<figure class="wp-block-table"><table><tbody><tr><td class="has-text-align-center" data-align="center"><strong>μSv/h = CPM x 0,00332</strong></td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><em><strong>Зверніть увагу.</strong></em> Щоб отримати кумулятивне значення дози еквівалентної енергії поглинутої тілом людини, нам потрібно додавати щохвилинні значення до попередньої накопиченої суми протягом всього часу вимірювань (з моменту подачі живлення чи скидання значення лічильника). Дивись приклад нижче.</p>



<p class="wp-block-paragraph">Чому нам має бути більш цікава доза поглинутої людським тілом радіації, а не потужність джерела радіації? На те є мінімум дві причини, які витікають одна з одної.&nbsp;</p>



<p class="wp-block-paragraph"><strong>По-перше</strong>, з точки зору радіаційної безпеки, важлива не потужність джерела як така, а саме доза, яку ми отримаємо за певний час, якщо будемо перебувати під впливом джерела радіації.</p>



<p class="wp-block-paragraph"><strong>По-друге</strong>, оскільки доза отриманого опромінення є такою важливою, то саме дозу для людини розраховують та наводять державні організації з радіаційного захисту та охорони здоров’я громадян.&nbsp;</p>



<p class="wp-block-paragraph">Зазвичай припустиму дозу навоводять для проміжку часу у один рік. Саме такі табличні дані дозволяють об’єктивно оцінити, що є нормальним рівнем постійного фонового випромінювання &#8211; той момент, коли потужність джерела та отриману еквівалентну дозу людським тілом можливо привести до спільних одиниць та порівняти.&nbsp;</p>



<p class="wp-block-paragraph">Якщо постійний фоновий рівень за своєю миттєвою потужністю у перерахунку до року виявиться вище, ніж припустима доза на рік, то це може бути не фон, а певне радіоактивне джерело. І тоді з потужністю джерела, яке створює створює такий “фон”, потрібно негайно щось робити, щоб не перевищити припустиму поглинуту нашим тілом дозу опромінення.</p>



<h2 class="wp-block-heading">Практика та приклади</h2>



<p class="wp-block-paragraph">І ось тепер ми підходимо до найголовнішого: створюючи сутності сенсорів для GGreg20_V3 з трубкою J305, наприклад у ESPHome, нам потрібно брати відповідні коефіцієнти для різних величин.</p>



<ol class="wp-block-list"><li>Кількість імпульсів за хвилину, це завжди лише кількість імпульсів &#8211; безрозмірна величина. Але за потреби також може бути застосовано коефіцієнт перетворення чи усереднення (у цій статті не розглядаємо);</li><li>Для потужності радіоактивного джерела CPM * <strong>0,00378</strong> [μSv/h];</li><li>Для еквівалентної дози поглинутої людським тілом CPM x <strong>0,00332</strong> [μSv/h] знаходячи при цьому суму щохвилинних значень [μSv] за весь час вимірювань.</li></ol>



<h3 class="wp-block-heading">Приклад для ESP32 + GGreg20_V3 + J305 у ESPHome</h3>



<p class="wp-block-paragraph"><strong># 1</strong>. Сенсор кількості імпульсів від лічильника з циклом вимірювання 60 секунд</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""> sensor:
- platform: pulse_counter
  pin:
    number: 23
    inverted: True
    mode: 
      input: True 
      pullup: False
      pulldown: False
  unit_of_measurement: 'CPM'
  name: 'Ionizing Radiation CPM'
  count_mode: 
    rising_edge: DISABLE
    falling_edge: INCREMENT # GGreg20_V3 uses Active-Low logic
  use_pcnt: False
  internal_filter: 180us # for J305
  update_interval: 60s
  accuracy_decimals: 0
  id: my_cpm_meter
</pre>



<p class="wp-block-paragraph"><strong># 2</strong>. Сенсор потужності джерела випромінювання з циклом вимірювання 60 секунд</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">- platform: copy
  source_id: my_cpm_meter
  unit_of_measurement: 'uSv/Hour'
  name: 'Ionizing Radiation Power'
  accuracy_decimals: 3
  id: my_power_meter
  filters:
    - multiply: 0.00378 # for J305</pre>



<p class="wp-block-paragraph"><strong># 3</strong>. Сенсор еквівалентної дози поглинутої людським тілом на годину з циклом вимірювання 60 секунд</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">- platform: copy
  source_id: my_cpm_meter
  unit_of_measurement: 'uSv/Hour'
  name: 'Ionizing Radiation Equivalent Absorbed Energy'
  accuracy_decimals: 3
  id: my_dose_meter
  filters:
    - multiply: 0.00332 # for J305</pre>



<p class="wp-block-paragraph"><strong># 4</strong>. Кумулятивна еквівалентна доза поглинутої людським тілом радіації за час з початку вимірювання (читай, з моменту подачі живлення)</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">- platform: integration
  name: "Total Ionizing Radiation Equivalent Absorbed Energy Dose"
  unit_of_measurement: "uSv"
  sensor: my_dose_meter # link entity id to the pulse_counter values above
  icon: "mdi:radioactive"
  accuracy_decimals: 5
  time_unit: min # integrate values every next minute
  filters:
    # cumulative absorbed dose. Converting it from uSv/hour into uSv/minute: [uSv/h / 60] OR [uSv/h * 0.0166666667]. 
    - multiply: 0.0166666667
    # but if my_dose_meter in CPM, then [0.00332 / 60 minutes] = 0.000055; so CPM * 0.000055 = dose every next minute, uSv.
    #- multiply: 0.000055 # for J305</pre>



<h2 class="wp-block-heading">Висновки</h2>



<p class="wp-block-paragraph">У статті ми зробили важливу знахідку, що коефіцієнти для різних задач для однієї і тієї ж трубки Гейгера мають бути різними. Цей підхід відрізняється від прикладів, які наводять у інтернет.&nbsp;</p>



<p class="wp-block-paragraph">Хоча ми і писали вже побіжно про різні коефіцієнти (дивись статті про розрахунок коефіцієнтів перетворення), але у своїх численних прикладах на <a href="https://github.com/iotdevicesdev/DIY-Geiger-Counter-Module-GGreg20_V3" target="_blank" rel="noopener">GitHub</a> ми раніше послуговувалися лише одним коефіцієнтом, бо так роблять всі.&nbsp;</p>



<p class="wp-block-paragraph">Тепер ми вважаємо, що краще рахувати окремий коефіцієнт під кожну сутність сенсора в залежності від типу та призначення. Можливо, ми навіть зробимо оновлення YAML-файлів у наших прикладах на GitHub.</p>



<h2 class="wp-block-heading">Посилання на інші публікації та приклади</h2>



<p class="wp-block-paragraph">UA: <a href="https://iot-devices.com.ua/geiger-tube-j305-how-to-calculate-the-conversion-factor-of-cpm-technical-note/">Трубка Гейгера J305: Як розрахувати коефіцієнт перетворення CPM у мкЗв/год. Технічна нотатка</a><br>EN: <a href="https://iot-devices.com.ua/en/geiger-tube-j305-how-to-calculate-the-conversion-factor-of-cpm-technical-note-en/">Geiger tube J305: How to calculate the conversion factor of CPM to μSv/h. Technical note</a></p>



<p class="wp-block-paragraph">UA: <a href="https://iot-devices.com.ua/technical-note-how-to-calculate-the-conversion-factor-for-geiger-tube-sbm20/">Технічна нотатка: Як розрахувати коефіцієнт перетворення для трубки Гейгера СБМ20</a><br>EN: <a href="https://iot-devices.com.ua/en/technical-note-how-to-calculate-the-conversion-factor-for-geiger-tube-sbm20/">Technical note: How to calculate the conversion factor for Geiger tube SBM20</a></p>



<p class="wp-block-paragraph">UA: <a href="https://iot-devices.com.ua/comparison-of-geiger-muller-tubes-sbm20-j305-and-lnd712/">Трубки Гейгера-Мюллера: порівняння SBM20, J305 та LND712</a><br>EN: <a href="https://iot-devices.com.ua/en/comparison-of-geiger-muller-tubes-sbm20-j305-and-lnd712/">Geiger-Muller tubes: Comparison of SBM20, J305 and LND712</a></p>



<p class="wp-block-paragraph">EN: <a href="https://github.com/iotdevicesdev/DIY-Geiger-Counter-Module-GGreg20_V3" target="_blank" rel="noopener">DIY Geiger counter GGreg20_V3 on GitHub</a></p>



<h2 class="wp-block-heading">Easy Links</h2>



<p class="wp-block-paragraph">Unique Vendor ID: <a href="https://go.iot-devices.com.ua/ggreg20_v3">https://go.iot-devices.com.ua/ggreg20_v3</a><br>User Friendly ID: <a href="https://go.iot-devices.com.ua/geiger-counter">https://go.iot-devices.com.ua/geiger-counter</a></p>



<h2 class="wp-block-heading">Де та як замовити</h2>



<p class="wp-block-paragraph"><a href="https://go.iot-devices.com.ua/ggreg20_v3">Website Online Shop</a><br><a href="https://go.iot-devices.com.ua/ggreg20_v3_etsy">Etsy Store</a><br><a href="https://go.iot-devices.com.ua/ggreg20_v3_tindie">Tindie Marketplace</a></p>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Трубка Гейгера J305: Як розрахувати коефіцієнт перетворення CPM у мкЗв/год. Технічна нотатка</title>
		<link>https://iot-devices.com.ua/geiger-tube-j305-how-to-calculate-the-conversion-factor-of-cpm-technical-note/</link>
		
		<dc:creator><![CDATA[iot-guru]]></dc:creator>
		<pubDate>Mon, 08 Jan 2024 05:50:38 +0000</pubDate>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[DIY]]></category>
		<category><![CDATA[Geiger]]></category>
		<category><![CDATA[GGreg20_V3]]></category>
		<category><![CDATA[J305]]></category>
		<category><![CDATA[SBM20]]></category>
		<category><![CDATA[technical-note]]></category>
		<guid isPermaLink="false">https://iot-devices.com.ua/?p=3250</guid>

					<description><![CDATA[Ми вже робили аналогічну публікацію для трубки Гейгера СБМ20. Цього разу пропонуємо до вашої уваги статтю, яку присвячено не менш популярній трубці J305 китайського виробництва. За нашою статистикою, трубка J305 за поширеністю серед DIY проектів лічильників Гейгера поступається лише трубці СБМ20 радянського виробництва. Втім, час плине, технології удосконалюються, змінюються ланцюжки постачання. Нові товари та компоненти [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Ми вже робили аналогічну публікацію для трубки Гейгера <a href="https://iot-devices.com.ua/technical-note-how-to-calculate-the-conversion-factor-for-geiger-tube-sbm20/">СБМ20</a>. Цього разу пропонуємо до вашої уваги статтю, яку присвячено не менш популярній трубці J305 китайського виробництва.</p>


<figure class="wp-block-post-featured-image"><img decoding="async" width="1500" height="1000" src="https://iot-devices.com.ua/wp-content/uploads/2024/01/ggreg20_v3_j305_conversion_factor.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="трубка Гейгера J305" style="object-fit:cover;" srcset="https://iot-devices.com.ua/wp-content/uploads/2024/01/ggreg20_v3_j305_conversion_factor.jpg 1500w, https://iot-devices.com.ua/wp-content/uploads/2024/01/ggreg20_v3_j305_conversion_factor-300x200.jpg 300w, https://iot-devices.com.ua/wp-content/uploads/2024/01/ggreg20_v3_j305_conversion_factor-1024x683.jpg 1024w, https://iot-devices.com.ua/wp-content/uploads/2024/01/ggreg20_v3_j305_conversion_factor-768x512.jpg 768w, https://iot-devices.com.ua/wp-content/uploads/2024/01/ggreg20_v3_j305_conversion_factor-454x303.jpg 454w" sizes="(max-width: 1500px) 100vw, 1500px" /></figure>


<p class="wp-block-paragraph">За нашою статистикою, трубка J305 за поширеністю серед DIY проектів лічильників Гейгера поступається лише трубці СБМ20 радянського виробництва.</p>



<p class="wp-block-paragraph">Втім, час плине, технології удосконалюються, змінюються ланцюжки постачання. Нові товари та компоненти невпинно займають свою нішу на полицях постачальників радіоелектроніки, поступово витісняючи з ринку тимчасові рішення, яким, по суті, була радянська трубка СБМ20 на ринку DIY-електроніки.</p>



<p class="wp-block-paragraph">Якби нас попросили порівняти трубки СБМ20 та J305, ми б обрали для свого проекту J305, про що ми вже встигли зазначити у окремій <a href="https://iot-devices.com.ua/comparison-of-geiger-muller-tubes-sbm20-j305-and-lnd712/">публікації</a>. Згадана стаття порівнює трубки J305, СБМ20 і LND712, з якими нам доводилося працювати, та з якими є сумісним за електричними характеристиками модуль лічильника Гейгера GGreg20_V3.</p>



<p class="wp-block-paragraph">Ця ж публікація оповідає про трубку J305, як найближчу та найкращу, на наш погляд, альтернативу трубці СБМ20. Ми розглянемо, як розрахувати коефіцієнт перетворення кількості імпульсів на хвилину трубки J305 у значення мкЗв/год &#8211; еквівалентної дози радіації, поглинутої тілом людини.</p>



<figure class="wp-block-table"><table><tbody><tr><td>Головна мета цієї публікації &#8211; правильно розрахувати і, за можливості, зрозуміти, звідки ж береться коефіцієнт перерахунку, як-от 0,00812 для трубки J305, який всі публікують у інтернет.</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">У інтернет масово публікуються дані, що коефіцієнт перетворення для трубки Гейгера J305 дорівнює 0,00812.</p>



<p class="has-text-align-center wp-block-paragraph">0,00812</p>



<p class="wp-block-paragraph">Як і у випадку з трубкою СБМ20, нам довелося старанно шукати в інтернет першоджерело такої інформації. На відміну від розслідування щодо коефіцієнту для СБМ20, наші пошуки щодо даних на J305 завершилися успішно та привели нас до першоджерела появи поширеного коефіцієнту 0,00812.</p>



<p class="wp-block-paragraph">Але не будемо забігати далеко вперед і викладатимемо все по-порядку.</p>



<p class="wp-block-paragraph">Наведемо загальні технічні характеристики трубок, щоб ми могли підглядати, вивчаючи наведені далі за текстом розрахунки.</p>



<figure class="wp-block-table"><table><tbody><tr><td></td><td>SBM20</td><td>J305</td><td>LND712</td></tr><tr><td>Джерело калібровки виробником</td><td>Cs-137</td><td>Co-60</td><td>Co-60</td></tr><tr><td>Чутливість</td><td>60 &#8211; 70 імп / мкР при 4 мкР/с Cs-137або це240-280 імп/с при 4 мкР/с Cs-137</td><td>44 імп/c при 1 мР/год Co-60</td><td>18 імп/с при 1 мР/год</td></tr><tr><td>Час нечутливості (Dead Time)</td><td>190 мкс</td><td>?</td><td>90 мкс</td></tr><tr><td>Рівень фонового випромінювання</td><td>60 імп/хв</td><td>25 імп/хв</td><td>?</td></tr><tr><td>Власний шум трубки</td><td>1 імп/сабо60 імп/хв</td><td>0,2 імп/сабо12 імп/хв</td><td>10 імп/хв</td></tr><tr><td>Рекомендована робоча напруга живлення</td><td>400 В</td><td>glass tube 380 Вmetal tube 400 В</td><td>500 В</td></tr></tbody></table></figure>



<h2 class="wp-block-heading">Трохи формул і розрахунків</h2>



<p class="wp-block-paragraph">Як і для трубки <a href="https://iot-devices.com.ua/technical-note-how-to-calculate-the-conversion-factor-for-geiger-tube-sbm20/">СБМ20</a>, для трубки J305 процедура розрахунку буде такою ж.&nbsp;</p>



<p class="wp-block-paragraph">Зробимо розрахунки для J305, спираючись на дані виробника.</p>



<p class="wp-block-paragraph">Швидкість реєстрації подій трубкою J305 при 1 мкР/год від джерела Co-60, складає 44 імпульси на секунду;</p>



<p class="wp-block-paragraph">1. Запишемо початкові дані з даташит виробника. Імпульси на секунду при 1 мР/год:</p>



<p class="has-text-align-center wp-block-paragraph"><strong>44 імп/с / мР/год</strong></p>



<p class="wp-block-paragraph">2. Перетворимо в імпульси на хвилину при 1 мР/год:</p>



<p class="has-text-align-center wp-block-paragraph"><strong>44 * 60 = 2640 імп/хв / мР/год</strong></p>



<p class="wp-block-paragraph">3. Перетворимо в імпульси на хвилину при 1 мкЗв/год:</p>



<p class="has-text-align-center wp-block-paragraph"><strong>2640 / 10 = 264 імп/хв / мкЗв/год</strong></p>



<p class="wp-block-paragraph">або</p>



<p class="has-text-align-center wp-block-paragraph"><strong>264 імп/хв = 1 мкЗв/год</strong></p>



<p class="wp-block-paragraph">або</p>



<p class="has-text-align-center wp-block-paragraph"><strong>1 імп/хв = 1</strong>:<strong>264 мкЗв/год</strong></p>



<p class="wp-block-paragraph">4. Розрахуємо значення одного імпульсу на хвилину:</p>



<p class="has-text-align-center wp-block-paragraph"><strong>1 / 264 = 0,00378</strong></p>



<p class="wp-block-paragraph">Таким чином, якщо нам потрібно перевести імпульси, зареєстровані трубкою J305 протягом хвилини у мкЗв / годину:</p>



<figure class="wp-block-table"><table><tbody><tr><td class="has-text-align-center" data-align="center"><strong>мкЗв/год&nbsp; = імп/хв * 0,00378</strong></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Все було б добре, і на цьому можна було б припинити розрахунки. Але щойно отриманий нами коефіцієнт</p>



<p class="has-text-align-center wp-block-paragraph"><strong>0,00378</strong></p>



<p class="wp-block-paragraph">дає нам значення експозиції, яке реєструє лічильник Гейгера. А нас насамперед цікавить, яку еквівалентну дозу радіації поглине людське тіло.</p>



<p class="wp-block-paragraph">Тому переходимо до наступної частини розрахунків.</p>



<figure class="wp-block-table"><table><tbody><tr><td>Нас насамперед цікавить, яку еквівалентну дозу радіації поглине людське тіло, а не та доза експозиції, яку зареєструє прилад</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Для того, щоб оцінити еквівалентну дозу поглинутої енергії людським тілом у науці застосовують так звану модель фантому людського тіла, для якої розраховують певні коефіцієнти перетворення одних величин в інші.</p>



<p class="wp-block-paragraph">Якщо вам цікаво прочитати теорію з цього приводу, можемо порадити ознайомитися ось з цією публікацією:</p>



<p class="wp-block-paragraph"><a href="https://web.archive.org/web/20230402162906/https://www.automess.de/en/service/radiation-quantities-and-units" target="_blank" rel="noopener">https://web.archive.org/web/20230402162906/https://www.automess.de/en/service/radiation-quantities-and-units</a></p>



<p class="wp-block-paragraph">А ми переходимо до виведення коефіцієнту перетворення CPM трубки в еквівалентну дозу поглинутої радіації у мікрозіверт на годину з урахуванням фантомної моделі людського тіла.</p>



<p class="wp-block-paragraph">Почнемо розрахунок з коефіцієнту, який надає виробник у документації: 44 імп/с на 1 мР/год Co-60.</p>



<p class="wp-block-paragraph">Чутливість J305 до gamma-променів: 44 CPS / mR/h</p>



<p class="wp-block-paragraph">1. Перетворимо імп/с у імп/хв при 1 мР/г (у нас вже є це значення, але ми наводимо ще раз його розрахунок для зручності читача):</p>



<p class="has-text-align-center wp-block-paragraph"><strong>44 * 60 = 2640 імп/хв / мР/год</strong></p>



<p class="wp-block-paragraph">2. Перетворюємо імп/хв при 1 мР/г у імп/хв при 1 Р/год:</p>



<p class="has-text-align-center wp-block-paragraph"><strong>2640 * 1000 = 2640000</strong></p>



<p class="wp-block-paragraph">3. Знаходимо значення дози експозиції R/h при 1 імп/хв:</p>



<p class="has-text-align-center wp-block-paragraph"><strong>1 / 2640000 = 0,0000003787878788</strong></p>



<p class="wp-block-paragraph">4. Знаходимо air-kerma (Ka, kinetic energy released per unit mass / in matter):</p>



<p class="wp-block-paragraph">Рівняння має наступний вигляд:&nbsp;</p>



<p class="has-text-align-center wp-block-paragraph"><strong>Ka [Gy] = 0,00877 [Gy/R] x exposure [R]</strong></p>



<p class="wp-block-paragraph">де 0,00877 &#8211; коефіцієнт поглинання дози радіації людським тілом на фантомній моделі під впливом фотонних енергій 100 keV &#8211; 3 MeV&nbsp;</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><strong>Примітка</strong>. Звідки береться рівняння air-kerma і коефіцієнти, див. за посиланням: <a href="https://web.archive.org/web/20230402162906/https://www.automess.de/en/service/radiation-quantities-and-units" target="_blank" rel="noopener">https://web.archive.org/web/20230402162906/https://www.automess.de/en/service/radiation-quantities-and-units</a></p>
</blockquote>



<p class="has-text-align-center wp-block-paragraph"><strong>0,00877 * 0,0000003787878788 = 0,000000003321969697 Ka[Gy]</strong></p>



<p class="wp-block-paragraph">5. Перетворимо Ka[Gy] у Ka[uSv] (тобто перейдемо від Грей до мкЗв):</p>



<p class="has-text-align-center wp-block-paragraph"><strong>0,000000003321969697 * 1000000 = 0,003321969697 Ka[uSv]</strong></p>



<p class="wp-block-paragraph">6. Виконуємо перевірку і знаходимо обернене значення:</p>



<p class="has-text-align-center wp-block-paragraph"><strong>0,003321969697 ^(-1) = 301,0262258</strong></p>



<p class="wp-block-paragraph">Таким чином, формула еквівалентної поглинутої дози тілом людини радіації для трубки Гейгера-Мюллера J305 з гамма- чутливістю по Co-60 44 cps / mR/hr наступна:</p>



<figure class="wp-block-table"><table><tbody><tr><td class="has-text-align-center" data-align="center"><strong>uSv/h = CPM x 0,00332</strong></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">де&nbsp;</p>



<p class="wp-block-paragraph">0,00332 мкЗв/год &#8211; ціна одного відліку, імп/хв;</p>



<p class="wp-block-paragraph">CPM &#8211; кількість відліків (подій) за хвилину, зареєстрованих трубкою Гейгера.</p>



<figure class="wp-block-table"><table><tbody><tr><td class="has-text-align-left" data-align="left">Лайфгак (Швидка формула):<br><br>Щоб отримати коефіцієнт 0,00332, можна просто значення 44 імп/с / мР/год, отримане з даташит, помножити на 60 і поділити на 8.77, і взяти обернене число.<br><br>                  <strong>1 / (44 * 60 / 8,77) = 1 / 301,0262258 = 0,003321969697</strong><br><br>Що ми і перевіряли такими складними перетвореннями вище. Тепер і ви знаєте, де береться цей коефіцієнт</td></tr></tbody></table></figure>



<h2 class="wp-block-heading">Щось тут не так</h2>



<p class="wp-block-paragraph">Добре, скаже пильний читач, а де ж число 0,00812, про яке йшлося на початку розрахунків!?</p>



<p class="wp-block-paragraph">Ви маєте рацію! Ми теж були здивовані: у результаті обчислень у нас вийшло, що коефіцієнт дорівнює 0,00332, але очікувалося, що розрахунок має вийти на значення 0,00812. Тобто зовсім інше число коефіцієнту перетворення CPM у мкЗв/год.&nbsp;</p>



<p class="wp-block-paragraph">Ми почали шукати в інтернет і таки знайшли.</p>



<p class="wp-block-paragraph">Як виявилося, більшість прикладів налаштувань для трубки J305 просто посилаються одне на одного, та ми таки відшукали звідки взявся цей коефіцієнт.</p>



<p class="wp-block-paragraph">За <a href="https://web.archive.org/web/20230711100550/http://www.opengeiger.de/LibeliumDoku.pdf" target="_blank" rel="noopener">посиланням</a> (або ось тут, у <a href="https://web.archive.org/web/20230711100737/https://www.libelium.com/wp-content/uploads/2013/02/radiation_board_eng.pdf" target="_blank" rel="noopener">PDF на сайті Libelium</a>) ви знайдете документ з наступними даними:</p>



<p class="wp-block-paragraph">“…The current version of the pack comes with the J305ß Geiger tube which detectes Beta and Gamma radiation.<br>Specifications:<br>Manufacturer: North Optic<br>Radiation Detection: β, γ<br>Length: 111mm<br>Diameter: 11mm<br>Recommended Voltage: 350V<br>Plateau Voltage: 360-440V<br>Sensitivy γ (60Co): 65cps/(µR/s)<br>Sensitivy γ (equivalent Sievert): 108cpm / (µSv/h)<br>Max cpm: 30000<br>cps/mR/h: 18<br>cpm/mR/h: 1080<br>cpm/µSv/h: 123.147092360319<br>Factor: 0.00812037037037…&#8221;</p>



<p class="wp-block-paragraph">На цей текст всі посилаються і немає ніякої можливості перевірити зазначені дані, адже сайту такої компанії-виробника як North Optic не існує.</p>



<p class="wp-block-paragraph">Найбільше дивує те, що респектабельні ресурси також публікують (чи дозволяють це робити) цей коефіцієнт без позначки “Увага! Ніхто не знає, звідки він взявся”.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><em><strong>Примітка.</strong> Будь-ласка, якщо у вас є інформація, як зв’язатися з North Optic, або пояснення щодо надійності застосування коефіцієнту 0,00812, напишіть нам. Заздалегідь щиро вдячні.</em></p>
</blockquote>



<p class="wp-block-paragraph">Як можна бачити, вихідні дані виробника North Optic, дуже сильно відрізняються від тих, які наразі надають разом з трубками китайські виробники.</p>



<p class="wp-block-paragraph">Наведемо для порівняння наявний у нас даташит для трубки J305 glass. Саме такими трубками ми комплектуємо модуль лічильника Гейгера GGreg20_V3:</p>



<figure class="wp-block-table"><table><tbody><tr><td><img decoding="async" src="https://lh7-us.googleusercontent.com/7blyW8D9FsjIRE2SEbpI4h98ZjpoSOnuPAywTQO5ioPgNy_r7uP1Ae74zDTfFIHkee7GXz476_eY5lqcvtCvgFMW9GQkBeJfDl9wF_IN_1lng1TTIhvrjQVwoHDsSVQvS26M_mk7454PsAN361DCbtk" width="587" height="515"></td></tr><tr><td>Рис.. Характеристики трубки J305 з даташит виробника</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Зважаючи на знайдені нами матеріали, принаймні стає зрозуміло, звідки береться числове значення коефіцієнту перетворення 0,00812.</p>



<p class="wp-block-paragraph">Ось подивіться, з математичного боку все дуже просто:</p>



<p class="has-text-align-center wp-block-paragraph">[18 CPS / mR/h] x 60 / 8,77 = 123,1470923603193</p>



<p class="has-text-align-center wp-block-paragraph">1 / 123,1470923603193 = 0,0081203703703704</p>



<p class="wp-block-paragraph">Тут ми одразу застосували швидку формулу і отримали значення коефіцієнту перетворення 0,00812 для трубки, чутливість якої немов би 18 CPS / mR/h.&nbsp;</p>



<p class="wp-block-paragraph">І дійсно, якщо прийняти в розрахунках, що трубка має чутливість 18 CPS / mR/h, тоді коефіцієнт має бути саме 0,00812.</p>



<p class="wp-block-paragraph">Але та трубка J305 випуску 2022 року, яку у 2023 році продають постачальники через Alibaba, і яку ми тримаємо у своїх власних руках, має абсолютно інші властивості, що заявлені виробником у даташит: 44 CPS / mR/h.</p>



<h2 class="wp-block-heading">Висновки</h2>



<p class="wp-block-paragraph">Ми навели повний алгоритм дій і показали, як розраховується коефіцієнт перетворення CPM у еквівалентну дозу поглинутої людським тілом радіації (uSv/h) для трубки Гейгера, як-от J305.</p>



<p class="wp-block-paragraph">Також ми розглянули два варіанти значення коефіцієнта перетворення.&nbsp;</p>



<p class="wp-block-paragraph">Перший &#8211; це той, що ми розрахували, спираючись на дані у даташит: <strong>0,00332</strong>.&nbsp;</p>



<p class="wp-block-paragraph">Другий &#8211; це той, що всі застосовують: <strong>0,00812</strong></p>



<p class="wp-block-paragraph">Який саме коефіцієнт перетворення вам краще застосовувати &#8211; вирішувати вам.</p>



<h2 class="wp-block-heading">Приклади для ESPHome</h2>



<p class="wp-block-paragraph">Нагадаємо, що модуль GGreg20_V3 є сумісним з обома трубками: SBM20 та J305.</p>



<p class="wp-block-paragraph">На нашому <a href="https://github.com/iotdevicesdev/DIY-Geiger-Counter-Module-GGreg20_V3" target="_blank" rel="noopener">GitHub</a> ви знайдете кілька прикладів конфіг-файлів побудови прошивки ESPHome, як для трубки SBM20 так і для трубки J305. Відмінність лише у кількох коефіцієнтах цих трубок:</p>



<ul class="wp-block-list">
<li>коефіцієнт перетворення трубки CPM -> uSv/h;</li>



<li>коефіцієнт компенсації внутрішнього шуму трубки (для випадків, коли вона застосовується).</li>
</ul>



<p class="wp-block-paragraph">Наразі ESPHome є доволі поширеною та популярною платформою з широкою підтримкою різноманітних мікроконтролерів, як-от <a href="https://github.com/iotdevicesdev/DIY-Geiger-Counter-Module-GGreg20_V3#esp8266-example--yaml" target="_blank" rel="noopener">ESP8266</a>, <a href="https://github.com/iotdevicesdev/DIY-Geiger-Counter-Module-GGreg20_V3#esp32-example--yaml" target="_blank" rel="noopener">ESP32</a>, <a href="https://github.com/iotdevicesdev/DIY-Geiger-Counter-Module-GGreg20_V3#raspberry-pi-pico-w-example--yaml" target="_blank" rel="noopener">RaspberryPi Pico W</a>, та інші. Саме через це, більшість прикладів у наших <a href="https://github.com/iotdevicesdev?tab=repositories" target="_blank" rel="noopener">репозиторіях на GitHub</a> спрямовано та засновується на прошивці ESPHome і сервері Home Assistant.</p>



<h2 class="wp-block-heading">Де замовити GGreg20_V3</h2>



<p class="wp-block-paragraph">Ви можете замовити модуль лічильника Гейгера <a href="https://go.iot-devices.com.ua/geiger-counter">GGreg20_V3 на нашому сайті</a>, а також на одному з наших електронних майданчиків:</p>



<ul class="wp-block-list">
<li>Онлайн магазин: <a href="https://go.iot-devices.com.ua/shop">go.iot-devices.com.ua/shop</a></li>



<li>Магазин Etsy: <a href="https://go.iot-devices.com.ua/etsy">go.iot-devices.com.ua/etsy</a></li>



<li>Магазин Tindie: <a href="https://go.iot-devices.com.ua/tindie">go.iot-devices.com.ua/tindie</a></li>
</ul>



<p class="wp-block-paragraph">У випадку замовлення, модуль GGreg20_V3 комплектується кількома додатковими опціями на вибір. Серед яких:</p>



<ul class="wp-block-list">
<li>трубка Гейгера J305</li>



<li>кабелі для підключення до MCU</li>



<li>захисний 3д-друкований пластиковий кожух для GGreg20_V3</li>
</ul>



<p class="wp-block-paragraph">Також зверніть увагу, що на нашому сайті також можливо замовити модуль універсального контролера <a href="https://go.iot-devices.com.ua/esp8266-mcu-board">ESP12.OLED_V1</a> (на базі ESP8266).</p>



<p class="wp-block-paragraph">Обидва ці модулі є достатніми, щоб побудувати саморобний лічильник Гейгера з дисплеєм:</p>



<p class="wp-block-paragraph">[GGreg20_V3] + [ESP12.OLED_V1] = [DIY Geiger counter]</p>



<p class="wp-block-paragraph">Сподіваємося, що ця та інші наші публікації були корисними і цікавими.</p>



<p class="wp-block-paragraph">Бажаємо успіхів!</p>



<p class="wp-block-paragraph">Team IoT-devices, LLC</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Трубки Гейгера-Мюллера: порівняння SBM20, J305 та LND712 </title>
		<link>https://iot-devices.com.ua/comparison-of-geiger-muller-tubes-sbm20-j305-and-lnd712/</link>
		
		<dc:creator><![CDATA[iot-guru]]></dc:creator>
		<pubDate>Fri, 05 May 2023 12:56:22 +0000</pubDate>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[Тестування]]></category>
		<category><![CDATA[DIY-модуль]]></category>
		<category><![CDATA[GGreg20_V3]]></category>
		<category><![CDATA[GM tube]]></category>
		<category><![CDATA[iot]]></category>
		<category><![CDATA[J305]]></category>
		<category><![CDATA[LND712]]></category>
		<category><![CDATA[SBM20]]></category>
		<category><![CDATA[technical-note]]></category>
		<category><![CDATA[UV]]></category>
		<category><![CDATA[альфа-частинки]]></category>
		<category><![CDATA[бета-частинки]]></category>
		<category><![CDATA[власний фоновий шум]]></category>
		<category><![CDATA[гамма-промені]]></category>
		<category><![CDATA[лічильник Гейгера]]></category>
		<category><![CDATA[трубка Гейгера]]></category>
		<category><![CDATA[чутливість до випромінювання]]></category>
		<guid isPermaLink="false">https://iot-devices.com.ua/?p=2942</guid>

					<description><![CDATA[Ми дуже добре розуміємо складнощі вибору радіоаматорів, які, замовляючи продукт, мають обирати між різними опціями, трубками в тому числі.&#160; Розробляючи GGreg20 у 2020 році, ми взагалі нічого не тямили у цих матеріях. Зараз ми можемо поділитися накопиченим нашою компанією досвідом з усіма, хто потребує допомоги, або просто шукає додаткову інформацію. Зверніть увагу, що ми у [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Ми дуже добре розуміємо складнощі вибору радіоаматорів, які, замовляючи продукт, мають обирати між різними опціями, трубками в тому числі.&nbsp;</p>


<figure class="wp-block-post-featured-image"><img loading="lazy" decoding="async" width="1500" height="1000" src="https://iot-devices.com.ua/wp-content/uploads/2023/05/sbm20_j305_compare.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Comparison of Geiger-Muller tubes SBM20, J305 and LND712" style="object-fit:cover;" srcset="https://iot-devices.com.ua/wp-content/uploads/2023/05/sbm20_j305_compare.jpg 1500w, https://iot-devices.com.ua/wp-content/uploads/2023/05/sbm20_j305_compare-300x200.jpg 300w, https://iot-devices.com.ua/wp-content/uploads/2023/05/sbm20_j305_compare-1024x683.jpg 1024w, https://iot-devices.com.ua/wp-content/uploads/2023/05/sbm20_j305_compare-768x512.jpg 768w, https://iot-devices.com.ua/wp-content/uploads/2023/05/sbm20_j305_compare-454x303.jpg 454w" sizes="(max-width: 1500px) 100vw, 1500px" /></figure>


<p class="wp-block-paragraph">Розробляючи <a href="https://iot-devices.com.ua/product-uk/ggreg20_v3-ionizing-radiation-detector-with-geiger-tube-sbm-20/">GGreg20</a> у 2020 році, ми взагалі нічого не тямили у цих матеріях. Зараз ми можемо поділитися накопиченим нашою компанією досвідом з усіма, хто потребує допомоги, або просто шукає додаткову інформацію.</p>



<p class="wp-block-paragraph">Зверніть увагу, що ми у більшій мірі тут порівнюємо трубки Гейгера-Мюллера SBM20 і J305, <a href="https://iot-devices.com.ua/ggreg20v3-geiger-tube-j305/">з якими постачається GGreg20_V3</a>, а <a href="https://www.lndinc.com/products/geiger-mueller-tubes/712/" target="_blank" rel="noopener">трубку LND712</a> наводимо, скоріше, як ще одну альтернативу обом трубкам. Це дозволяє розширити межі порівняння до можливостей більш складної і коштовної трубки LND712. Без таких порівнянь ця публікація не мала б глибини і звелася б до тези, що SBM20 і J305 є взаємно замінними, і тому їх немає чого порівнювати.</p>



<p class="wp-block-paragraph">Перерахуємо ключові моменти, які потрібно враховувати, обираючи трубку Гейгера-Мюллера для DIY-проекту:</p>



<ul class="wp-block-list">
<li>Мета DIY проекту;</li>



<li>Типи випромінювання, які здатна детектувати трубка;</li>



<li>Чутливість трубки;</li>



<li>Власний шум та нечутливість;</li>



<li>Рівень робочої напруги;</li>



<li>Розміри та спосіб кріплення трубки;</li>



<li>Країна походження та рік виготовлення.</li>
</ul>



<p class="wp-block-paragraph">Розглянемо і порівняємо трубки під цими кутами докладніше.</p>



<h2 class="wp-block-heading">Мета DIY проекту</h2>



<p class="wp-block-paragraph">Від того, як поставити мету проекту може залежати, через які критерії успішності ви потім будете його пропускати, проводячи оцінку результатів, яких вдалося чи не вдалося досягнути. <br>Стосовно лічильника Гейгера мета проекту також може бути дуже різною.&nbsp;<br>Наприклад:</p>



<ul class="wp-block-list">
<li>дешевий стаціонарний пристрій, який більшу частину часу повинен вимірювати фонову радіацію і сповіщати про небезпеку;</li>



<li>мініатюрний кишеньковий пристрій, як сенсор особистої безпеки для здійснення піших прогулянок;</li>



<li>чутливий та швидкісний вимірювач для детектування випромінювання у продуктах харчування та інших матеріалах;</li>



<li>вимірювач / сигналізатор радіоактивних газів у повітрі, таких як побутовий радон.</li>
</ul>



<p class="wp-block-paragraph">Задача, для якої розробляється кінцевий пристрій, може потребувати вибору трубки за розмірами і взагалі не потребувати високої чутливості, тощо. Тому лише користувач може визначити для себе, яка саме трубка в складі лічильника Гейгера підійде. Ми ж можемо лише зазначити, що вибір трубки відповідно до задачі проекту &#8211; це комплексний багатофакторний аналітичний процес, який ми і спробували поглиблено описати у даній публікації.</p>



<h2 class="wp-block-heading">Типи випромінювання</h2>



<p class="wp-block-paragraph">Тут все досить просто: трубку потрібно обирати в залежності від того, яке випромінювання вам потрібно вимірювати у проекті.  <br>Більшість поширених трубок чутливі до гамма- і бета- випромінювання. Деякі трубки також здатні вимірювати альфа-канал.  <br>Зверніть увагу, що альфа-канал у трубки, як правило, реалізується за допомогою наявності слюдяного віконця у торці корпусу.&nbsp;  <br>Щоб перетворити a,b,g &#8211; трубку на b,g-, достатньо щільно закрити слюдяне вікно аркушем паперу, або пластиковою кришкою корпусу.  <br>Щоб перетворити b,g- чи a,b,g- трубку лише на g-, потрібно екранувати трубку від beta-частинок. З цим може впоратися алюмінієвий кожух товщиною в кілька міліметрів. Такий кожух з алюмінію одночасно екранує трубку не лише від бета-, а і від альфа-частинок.</p>



<p class="wp-block-paragraph">Дотично до нашої статті, трубки SBM20 та J305 здатні до вимірювання бета- і гамма- випромінювання. Трубка LND712 має всі три канали: альфа-, бета- та гамма-.</p>



<p class="wp-block-paragraph">На що це може впливати у DIY проекті з практичної точки зору?&nbsp;</p>



<p class="wp-block-paragraph">Якщо планується трубкою SBM20 / J305 вимірювати лише гамма-промені, то тоді потрібно екранувати таку трубку від beta-частинок.&nbsp; <br>Якщо трубкою SBM20 / J305&nbsp; потрібно вимірювати лише бета-частинки, то тоді можна спробувати застосувати дві такі трубки одночасно: одну з екраном, що захищає від бета-, а іншу &#8211; без такого екрану. В цьому випадку, знайшовши різницю між результатами вимірювання для кожної трубки, ми зможемо розрахувати кількісну характеристику для бета-частинок.&nbsp; <br>Те ж саме відноситься і до альфа-частинок: фільтруючи канал альфа- і віднімаючи результати між трубками, знаходимо кількість для альфа-частинок.  <br>З трубкою LND712, яка чутлива до a,b,g-, можливо реалізувати проект з вимірювання побутового радону, зокрема Radon-222, оскільки саме цей ізотоп є джерелом альфа-частинок.&nbsp; <br>Підкреслимо, що для проведення вимірювань з кількома трубками, потрібно мати кілька модулів GGreg20_V3. Кожен модуль підключається до окремого GPIO головного контролера, який в свою чергу, зможе виконувати підрахунок імпульсів незалежно для кожної трубки.&nbsp;</p>



<h2 class="wp-block-heading">Чутливість трубки</h2>



<p class="wp-block-paragraph">Коли ми кілька років тому тільки почали розбиратися з тим, які трубки нам застосовувати для нашого проекту лічильника Гейгера GGreg20, ми, експериментуючи, іноді помилково обирали навіть такі трубки, які за фонового рівня випромінювання здатні були робити лише кілька імпульсів на годину.&nbsp;</p>



<p class="wp-block-paragraph">Звісно, ними неможливо було б користуватися у DIY проекті лічильника Гейгера, який більшу частину часу має бути достатньо чутливим, щоб вимірювати фонове випромінювання.</p>



<figure class="wp-block-table"><table><tbody><tr><td>Чутливість трубки має значення. В залежності від того, яку задачу ви ставите перед своїм проектом, потрібно обирати трубку з відповідною чутливістю.</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Тому, коли ви будете обирати, яку з опцій GGreg20_V3 замовити, не хвилюйтеся і знайте: ми вже перевірили різні моделі трубок для вас і заздалегідь включили у опції лише ті, які дійсно підходять до GGreg20_V3.</p>



<p class="wp-block-paragraph">Трубки J305 і SBM20 хоча і мають деякі відмінності, але однаково гарно працюють у складі нашого продукту.&nbsp;</p>



<p class="wp-block-paragraph">Трубка LND712 не дивлячись на те, що наразі не постачається нами, як опція GGreg20_V3, також дуже добре працює з нашим модулем лічильника Гейгера.&nbsp;</p>



<p class="wp-block-paragraph">Взагалі LND712 має вдосталь цікавих функцій та особливостей, які можуть зробити проект з модулем GGreg20_V3 ще цікавішими. Можливо у майбутньому ми запропонуємо цю трубку, як додаткову опцію у складі модуля лічильника Гейгера нашого виробництва.&nbsp;</p>



<p class="wp-block-paragraph">З точки зору чутливості (імпульсів / mR), трубка LND712 не сильно відрізняється від SBM20, але враховуючи, що вона є більш сучасною, ми б віддали перевагу їй.</p>



<h2 class="wp-block-heading">Власний шум та нечутливість</h2>



<p class="wp-block-paragraph">Трубки Гейгера-Мюллера мають дві важливі характеристики, які варто брати до уваги під час їх порівняння.&nbsp;</p>



<p class="wp-block-paragraph">Власний шум &#8211; це хибно-позитивні імпульси, які генерує трубка за відсутності зовнішнього радіоактивного випромінювання. Під час проектування чи калібровки трубки, виробник розміщує тестовий зразок у екранованому від радіації лабораторному середовищі і проводить вимірювання кількості хибно-позитивних імпульсів на одиницю часу. Зазвичай власний шум трубки зазначається у даташит у імпульсах на секунду.</p>



<p class="wp-block-paragraph">Трубка SBM20 у порівнянні до J305 та LND712, має значно вищий показник власного шуму відповідно до даташит. Це означає, що трубка SBM20 буде набагато гірше вимірювати натуральне фонове випромінювання, ніж трубки J305 чи LND712.</p>



<p class="wp-block-paragraph">Нечутливість &#8211; це час, протягом якого трубка відновлюється після попереднього лавиноподібного збурення та не здатна детектувати наступну таку подію. Цей час прийнято називати dead time трубки і вимірювати у мікросекундах. На практиці, як наслідок, у цей проміжок часу трубка не здатна генерувати вихідний імпульс.&nbsp;</p>



<p class="wp-block-paragraph">Також варто звернути увагу на те, що час dead time прямо залежить від розмірів трубки. Чим довша трубка, тим більший цей час. Звісно, довжина це не причина, а лише наслідок загальної конструкції більшості трубок та їх принципу дії.</p>



<p class="wp-block-paragraph">Якщо ваш проект спрямований на вимірювання високих рівнів радіації, ця властивість трубки має бути ретельно врахована, адже чим вищу радіацію ми вимірюємо, тим більш щільними будуть події, що реєструє трубка. У певний момент буде досягнуто межі, за якою почнеться нечутливість, тобто такої щільності подій у часі, коли трубка просто не встигатиме відновлюватися, щоб їх реєструвати.</p>



<p class="wp-block-paragraph">Завдячуючи своїм розмірам, трубка LND712 (90 мікросекунд) є лідером за цим показником, який вдвічі менший, ніж у трубок SBM20 і J305 (190 та 180 мікросекунд).</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><strong>Примітка.</strong> Ми тут наводимо Dead Time для J305 базуючись на даних з інтернет, оскільки у даташитах від постачальників &#8211; цих даних немає.</p>
</blockquote>



<p class="wp-block-paragraph">Чутливість до UV. Окремо варто зазначити про чутливість трубок зі скляним (таких, як J305) корпусом до променів звичайного сонячного світла, особливо до UV-спектра. Дійсно, в інтернет можливо знайти відео експериментів з UV-ліхтариком та звичайним сонячним освітленням. Трубки у тих відео просто шаленіють від цих подразників, що видно неозброєним оком.</p>



<p class="wp-block-paragraph">Ми теж провели <a href="https://www.youtube.com/watch?v=TRgxQ9AgAOI&amp;ab_channel=iot-devices" target="_blank" rel="noopener">подібний тест нашвидкоруч</a>. У нас не вийшло відтворити показану на відео картину поведінки J305. Можливо, що трубка, яка генерує хибно-позитивні події на відео з інтернет, має якісь фізичні чи технологічні вади, які неможливо ідентифікувати без спеціального обладнання.&nbsp;</p>



<p class="wp-block-paragraph">Ми співчуваємо власнику такої трубки. І через це вирішили перевірити випадкові екземпляри з партії своїх трубок J305, які постачаються як опція до модуля GGreg20_V3. Хоча наші трубки J305 не показали такого ефекту, ми цілком погоджуємося, що сонячні промені можуть створювати додатковий шум у вимірах. Рекомендуємо трубки J305 розміщувати у світлонепроникному кожусі, якщо є така можливість.</p>



<p class="wp-block-paragraph">З&nbsp; модулем лічильника Гейгера GGreg20_V3 ми пропонуємо (як опцію) захисний кожух, надрукований на 3д-принтері. І хоча цей кожух не здатен виступати повноцінним екраном для високоенергетичного фотонного потоку сонячного світла, він хоча б частково фільтруватиме одне з джерел можливих завад.</p>



<h2 class="wp-block-heading">Рівень робочої напруги</h2>



<p class="wp-block-paragraph">Порівнюючи наявні варіанти трубок, потрібно пам’ятати, що трубки різного типу можуть мати індивідуальні рівні напруги живлення. Ці дані зазвичай вказуються у даташит на трубку.</p>



<p class="wp-block-paragraph">На практиці також важливо враховувати, що вирішальне значення має модуль лічильника Гейгера (і його налаштування!), на який обрану вами трубку потрібно буде встановлювати.</p>



<p class="wp-block-paragraph">Модуль GGreg20_V3 проектувався так, щоб бути здатним забезпечити якнайширший діапазон можливих робочих напруг. З одного боку, GGreg20 підтримує у високовольтній частині напругу 200 &#8211; 1200 В. З іншого боку, живлення модуля може здійснюватися у діапазоні <a href="https://iot-devices.com.ua/technical_note_supply_voltage_range_geiger_counter_ggreg20_v3_ua/">2.4 &#8211; 5.5 В</a>. Наскільки нам відомо, це найширший діапазон напруги живлення серед аналогічних модулів.</p>



<p class="wp-block-paragraph">Тож за високовольтною напругою живлення модуль GGreg20_V3 підтримує всі трубки, які ми з вами розглядаємо та порівнюємо: J305 (380В для моделі зі скляною колбою), SBM20 (400В), LND712 (500В).</p>



<p class="wp-block-paragraph">На практиці, по-за полями даного матеріалу, радимо завжди звертати увагу на те, чи дозволяє модуль, який буде працювати з трубкою налаштувати необхідну для роботи трубки напругу. Перевищення напруги живлення трубки гарантовано виведе її з ладу. За недостатньої напруги трубка просто не буде працювати.</p>



<h2 class="wp-block-heading">Розміри та спосіб кріплення трубки</h2>



<p class="wp-block-paragraph">Трубки J305 і SBM20 мають схожі розміри та зручний спосіб кріплення, який не вимагає пайки. З точки зору виготовлення мікроелектроніки для IoT-пристроїв, вони мають середні розміри в порівнянні з іншими трубками Гейгера.&nbsp;</p>



<p class="wp-block-paragraph">SBM20 і J305 можна назвати взаємозамінними, адже вони мають схожий рівень робочої напруги, однакові клеми, та майже однакові розміри, що дозволяє за необхідності замінювати трубки між собою, якщо є можливість встановлювати відповідні коефіцієнти перерахунку для CPM.&nbsp;</p>



<p class="wp-block-paragraph">Особливо зручно те, що на платі модуля лічильника Гейгера, такого як GGreg20_V3, кріплення підтримує обидві трубки. Також буває корисним те, що трубку Гейгера можливо швидко зняти з модуля, або замінити. У випадку SBM20 / J305 це так само легко зробити, як замінити батарейки у ліхтарику.</p>



<p class="wp-block-paragraph">LND712 має приблизно вдвічі меншу довжину, що робить її ідеальною, як для розмірів сенсора a,b,g- випромінювання. Але у неї вивідні контакти зроблені таким чином, що її доведеться лише паяти. Тому LND712, у парі із значно вищою ціною, перестає бути такою ж “зручною” як SBM20 чи J0305.&nbsp;</p>



<p class="wp-block-paragraph">Іноді, для регулювання налаштувань модуля лічильника Гейгера, потрібно мати можливість зняти трубку, &#8211; у випадку з LND712 це буде неможливо зробити без пайки.</p>



<p class="wp-block-paragraph">Також варто зазначити, що у випадку з побудовою кишенькових пристроїв саме довжина трубки може бути вирішальною. От подивіться: на товщину пристрою буде також впливати акумулятор, кнопки та роз’єми, тому діаметр трубки Гейгера нівелюється цими іншими обмеженнями і не впливає на розміри корпуса пристрою. А от довжина трубки вимагає збільшувати розміри корпуса пристрою. З цих міркувань трубка LND712 є значно кращою, ніж SBM20 / J305.</p>



<h2 class="wp-block-heading">Країна походження та рік виготовлення</h2>



<p class="wp-block-paragraph">Країна походження на нашу думку є не менш важливою, ніж решта характеристик трубки. Навіть із суто практичної точки зору (витрати коштів та часу на логістику, підтримка місцевого бізнесу, сплата податків, тощо), перебуваючи у США, краще придбати трубку, яка виробляється у США.&nbsp;</p>



<p class="wp-block-paragraph">На жаль, наразі нам не відомо, чи є можливість придбати трубки, які виробляються в Україні. Наші побіжні пошуки українських трубок нічого не дали.&nbsp;</p>



<p class="wp-block-paragraph">Якщо вам щось відомо про трубки Гейгера-Мюллера українського виробництва, будь-ласка, напишіть нам про це.</p>



<p class="wp-block-paragraph">Запаси радянських трубок SBM20 у приватних продавців відчутно виснажуються. Строки зберігання та експлуатації радянських зразків вже давно минули. Саме через це ми постійно шукаємо альтернативи. Однією з таких альтернатив є трубка китайського виробництва J305. Трубки J305, які продаються на Alibaba та Aliexpress, мають 2020-2022 роки виробництва і цілком задовольняють наші вимоги за технічними характеристиками та якістю.</p>



<p class="wp-block-paragraph">Трубки LND712 також мають чудові характеристики, якість та функції. Єдиним недоліком є те, що їх потрібно закуповувати в США, виконувати тривалу логістику в Європу. Враховуючи вищу відносну вартість даних трубок та відсутність організованої офіційної роздрібної мережі дистрибуції LND712 стає зрозуміло, чому ця трубка не вийшла у лідери за статистикою проектів DIY лічильника Гейгера.</p>



<h2 class="wp-block-heading">Висновки</h2>



<p class="wp-block-paragraph">Ми кілька років поспіль спостерігаємо за власною статистикою, а також такими проектами, як radmon.org, <a href="https://thingspeak.com/channels/1749073" target="_blank" rel="noopener">ThingSpeak</a>, uRADMonitor та подібними.</p>



<p class="wp-block-paragraph">Трубка радянського виробництва SBM20 є, мабуть, найпопулярнішою серед тих, що застосовується у DIY проектах.&nbsp;</p>



<p class="wp-block-paragraph">Щоправда, SBM20 вже майже неможливо придбати, адже запаси радянських часів виснажуються, строк зберігання і придатності вичерпався, а виробники сучасних трубок SBM20 є лише в країні, що знаходиться під санкціями і є міжнародно визнаним агресором, спонсором тероризму і прямо зараз вчиняє військові злочини та злочини проти людяності щонайменше в Україні.&nbsp;</p>



<p class="wp-block-paragraph">В той же час, китайську трубку J305 набагато легше знайти і придбати у інтернет, але лише коли йдеться про версію зі скляним корпусом. Нажаль, J305 з металевим корпусом наразі придбати дуже складно з невідомих нам причин.&nbsp;</p>



<p class="wp-block-paragraph">На відміну від SBM20 та J305, американська трубка LND712, крім beta- та gamma-, також має канал вимірювання alfa- випромінювання, що значно розширює коло її застосування у DIY проектах. Трубка LND712 має металевий корпус, як і SBM20, а ще слюдяне віконце для детектування альфа-частинок.&nbsp;</p>



<p class="wp-block-paragraph">На форумах у інтернет дописувачі припускають, що скляний корпус трубки J305 не захищений від фотонів звичайного сонячного світла, що може вносити завади у процес вимірювання, якщо трубку додатково не захищено сонце-непроникним кожухом.&nbsp;</p>



<p class="wp-block-paragraph">Ми не впевнені у даному твердженні, хоча з нашого боку також існує певне розуміння, що скляні трубки потребують світлонепроникного кожуха, оскільки скло може пропускати світло, включаючи шуми, що можуть збільшувати шумовий рівень спостережень.</p>



<p class="wp-block-paragraph">І навпаки, металевий корпус трубок SBM20 і LND712 може у незначній мірі виступати екраном для електромагнітних завад та сонячних променів. Це робить вимірювальні характеристики металевих трубок більш стабільними. З іншого боку, трубка зі скляним корпусом може бути більш чутливою до радіації, що теж за певних умов є корисною властивістю.</p>



<p class="wp-block-paragraph">Але слід зазначити, що все це лише припущення, які варто перевірити. Втім, ми перевіряти це все не маємо можливості, адже такі тести вимагають спеціально обладнаної лабораторії.&nbsp;</p>



<p class="wp-block-paragraph">Та й у нас завжди є набагато кращий інструмент &#8211; даташит виробника. Трубка має відповідати тим характеристикам і працювати у той спосіб, що зазначені у даташит.</p>



<figure class="wp-block-table is-style-regular"><table><tbody><tr><td><strong>Властивість</strong></td><td><strong>SBM20</strong></td><td><strong>J305</strong></td><td><strong>LND712</strong></td></tr><tr><td>Тип радіації</td><td>beta, gamma</td><td>beta, gamma</td><td>alfa, beta, gamma</td></tr><tr><td>Розміри (макс.), мм</td><td>d11 x 109</td><td>d11 x 107</td><td>d15.1 x 49.2</td></tr><tr><td>Країна походження</td><td>срср або росія</td><td>Китай</td><td>США</td></tr><tr><td>Джерело калібровки виробником</td><td>Cs-137</td><td>Co-60</td><td>Co-60</td></tr><tr><td>Чутливість</td><td>60 &#8211; 70 імп / мкР при 4 мкР/с Cs-137або це240-280 імп/с при 4 мкР/с Cs-137</td><td>44 імп/c при 1 мР/год Co-60</td><td>18 імп/с при 1 мР/год</td></tr><tr><td>Час нечутливості (Dead Time)</td><td>190 мкс</td><td>немає даних</td><td>90 мкс</td></tr><tr><td>Рівень при фоновому випромінюванні</td><td>60 імп/хв</td><td>25 імп/хв</td><td>немає даних</td></tr><tr><td>Власний шум трубки</td><td>1 імп/сабо60 імп/хв</td><td>0,2 імп/с або 12 імп/хв</td><td>0.17 імп/с або 10 імп/хв</td></tr><tr><td>Рекомендована робоча напруга живлення</td><td>400 В</td><td>glass tube 380 Вmetal tube 400 В</td><td>500 В</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Якби ми обирали трубку для себе, то не вагаючись обрали б LND712. Але оскільки зараз у GGreg20_V3 немає підтримки типорозмірів даної трубки, ми б обирали між SBM20 і J305 наступним чином:</p>



<ul class="wp-block-list">
<li>Термін зберігання / придатності &#8211; J305 краща; </li>



<li>Власний шум &#8211; J305 краща; </li>



<li>Чутливість &#8211; J305 краща; </li>



<li>Країна походження &#8211; J305 краща; </li>



<li>Фонове випромінювання &#8211; J305 краща; </li>



<li>Джерело калібровки &#8211; J305 краща (більшість трубок калібрують по Co-60); </li>



<li>Час нечутливості &#8211; немає різниці; </li>



<li>Металевий корпус &#8211; SBM20 краща; </li>



<li>Розміри і кріплення &#8211; немає різниці; </li>



<li>Напруга живлення &#8211; немає різниці; </li>



<li>Роздрібна мережа дистрибуції &#8211; J305 краща; </li>



<li>Ціна і якість &#8211; J305 краща.</li>
</ul>



<p class="wp-block-paragraph">Керуючись даними з документації, статистикою з інтернет та власним досвідом, безумовно, ми б обрали J305. SBM20 ми б обрали лише за виняткових обставин, коли з якихось суттєвих причин J305 застосовувати було б неможливо.&nbsp;</p>



<p class="wp-block-paragraph">Дякуємо за увагу!<br>Team IoT-devices, LLC</p>



<p class="wp-block-paragraph">Додаткові ресурси за темою:</p>



<p class="wp-block-paragraph"><a href="https://iot-devices.com.ua/ggreg20v3-geiger-tube-j305/">https://iot-devices.com.ua/ggreg20v3-geiger-tube-j305/</a><br><a href="https://iot-devices.com.ua/technical_note_supply_voltage_range_geiger_counter_ggreg20_v3_ua/">https://iot-devices.com.ua/technical_note_supply_voltage_range_geiger_counter_ggreg20_v3_ua/</a><br><a href="https://iot-devices.com.ua/uv-test-of-the-j305-geiger-tubes/">https://iot-devices.com.ua/uv-test-of-the-j305-geiger-tubes/</a><br><a href="https://iot-devices.com.ua/technical_note_performance_of_diy_geiger_counter_ggreg20_v3_at_low_-temperatures_ua/">https://iot-devices.com.ua/technical_note_performance_of_diy_geiger_counter_ggreg20_v3_at_low_-temperatures_ua/</a><br><a href="https://iot-devices.com.ua/geiger-counter-emulator-ggreg20_v3-module-by-means-of-esp8266-part1-ua/">https://iot-devices.com.ua/geiger-counter-emulator-ggreg20_v3-module-by-means-of-esp8266-part1-ua/</a><br><a href="https://iot-devices.com.ua/maximum-radiation-that-can-be-measured-by-geiger-counter-ggreg20_v3/">https://iot-devices.com.ua/maximum-radiation-that-can-be-measured-by-geiger-counter-ggreg20_v3/</a><br><a href="https://iot-devices.com.ua/ggreg20v3-case-3d-model-for-personal-use/">https://iot-devices.com.ua/ggreg20v3-case-3d-model-for-personal-use/</a></p>



<p class="wp-block-paragraph">Easy Links:</p>



<p class="wp-block-paragraph">go.iot-devices.com.ua</p>



<p class="wp-block-paragraph">                               /geiger-counter <br>                               /high-voltage-converter <br>                               /geiger-counter-emulator <br>                               /tindie</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Технічна нотатка: Як розрахувати коефіцієнт перетворення для трубки Гейгера СБМ20</title>
		<link>https://iot-devices.com.ua/technical-note-how-to-calculate-the-conversion-factor-for-geiger-tube-sbm20/</link>
		
		<dc:creator><![CDATA[iot-guru]]></dc:creator>
		<pubDate>Wed, 12 Apr 2023 17:11:03 +0000</pubDate>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[absorbed dose]]></category>
		<category><![CDATA[calibration]]></category>
		<category><![CDATA[Co-60]]></category>
		<category><![CDATA[conversion factor]]></category>
		<category><![CDATA[Cs-137]]></category>
		<category><![CDATA[divider-8.77]]></category>
		<category><![CDATA[DIY]]></category>
		<category><![CDATA[equivalent dose]]></category>
		<category><![CDATA[exposition dose]]></category>
		<category><![CDATA[factor-0.0057]]></category>
		<category><![CDATA[gamma-radiation]]></category>
		<category><![CDATA[geiger-counter]]></category>
		<category><![CDATA[GGreg20_V3]]></category>
		<category><![CDATA[gm-tube]]></category>
		<category><![CDATA[human body model]]></category>
		<category><![CDATA[ionizing radiation]]></category>
		<category><![CDATA[iot]]></category>
		<category><![CDATA[phantom]]></category>
		<category><![CDATA[photon radiation]]></category>
		<category><![CDATA[Ra-226]]></category>
		<category><![CDATA[SBM20]]></category>
		<category><![CDATA[technical-note]]></category>
		<guid isPermaLink="false">https://iot-devices.com.ua/?p=2883</guid>

					<description><![CDATA[Проблема і мета У інтернет є маса публікацій про те, як перераховувати отримані з трубки Гейгера CPM (Counts per Minute) у рівень радіації. Але не дивлячись на широке покриття цієї теми на різноманітних форумах та широкий вибір прикладів з кодом під різноманітні мови програмування, нам довелося розібратися у темі глибше, ніж нам хотілося, щоб мати [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">Проблема і мета</h2>



<p class="wp-block-paragraph">У інтернет є маса публікацій про те, як перераховувати отримані з трубки Гейгера CPM (Counts per Minute) у рівень радіації. Але не дивлячись на широке покриття цієї теми на різноманітних форумах та широкий вибір прикладів з кодом під різноманітні мови програмування, нам довелося розібратися у темі глибше, ніж нам хотілося, щоб мати змогу правильно розрахувати коефіцієнт перетворення для трубки Гейгера СБМ20 з CPM у поглинуту дозу радіації мкЗв/год та налаштувати перерахунок у своїх власних продуктах і зробити приклад розрахунку для всіх бажаючих.</p>



<p class="wp-block-paragraph">Компанія IoT-devices, LLC випускає свій модуль лічильника Гейгера <a href="https://go.iot-devices.com.ua/ggreg20_v3">GGreg20_V3 </a>з імпульсним виходом та двома типами трубки на вибір. Наразі Клієнти можуть обирати або СБМ20, або J305, замовляючи пристрій нашого виробництва.</p>



<figure class="wp-block-table"><table><tbody><tr><td>Головна мета цієї публікації &#8211; правильно розрахувати і, за можливості, зрозуміти, звідки ж беруться коефіцієнти перерахунку як-от 8.77 та 0.0057 для трубки СБМ20, який всі публікують у інтернет.</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">У наші плани входить зробити окремі документи для кожної з популярних трубок, і починаємо ми з технічної нотатки про СБМ20.</p>



<p class="wp-block-paragraph">Тож у даному документі ми розглянемо процедуру розрахунку коефіцієнтів перетворення CPM у мікрозіверти на годину для СБМ20. Для інших поширених трубок, як мінімум J305 та LND712, згодом.</p>



<p class="wp-block-paragraph">Збираючи матеріали для цієї статті ми дійшли висновку, що це зовсім не проста задача, адже інтернетом шириться інформація, яку потрібно перевіряти, а іноді навіть довелося проводити розслідування того, звідки взялися ті чи інші коефіцієнти.</p>



<p class="wp-block-paragraph">Почнемо з корисної для нас інформації, яку надають виробники у даташитах на трубки.</p>



<figure class="wp-block-table"><table><tbody><tr><td></td><td>SBM20</td><td>J305</td><td>LND712</td></tr><tr><td>Джерело калібровки виробником</td><td>Cs-137</td><td>Co-60</td><td>Co-60</td></tr><tr><td>Чутливість</td><td>60 &#8211; 70 імп / мкР при 4 мкР/с Cs-137або це240-280 імп/с при 4 мкР/с Cs-137</td><td>44 імп/c при 1 мР/год Co-60</td><td>18 імп/с при 1 мР/год</td></tr><tr><td>Час нечутливості (Dead Time)</td><td>190 мкс</td><td>?</td><td>90 мкс</td></tr><tr><td>Рівень фонового випромінювання</td><td>60 імп/хв</td><td>25 імп/хв</td><td>?</td></tr><tr><td>Власний шум трубки</td><td>1 імп/сабо60 імп/хв</td><td>0,2 імп/сабо12 імп/хв</td><td>10 імп/хв</td></tr><tr><td>Рекомендована робоча напруга живлення</td><td>400 В</td><td>glass tube 380 Вmetal tube 400 В</td><td>500 В</td></tr></tbody></table></figure>



<h2 class="wp-block-heading">Розв’язок</h2>



<p class="wp-block-paragraph">Зробимо розрахунки для СБМ20, спираючись на дані виробника:</p>



<p class="wp-block-paragraph">Швидкість підрахунку при 4 мкР/с від джерела Cs-137 імпульсів на секунду: 240 &#8211; 280;</p>



<p class="wp-block-paragraph">1. Візьмемо середнє для двох цих значень:&nbsp;</p>



<p class="wp-block-paragraph">Це середня швидкість підрахунку при 4 мкР/с від джерела Cs-137 імпульсів на секунду.</p>



<p class="has-text-align-center wp-block-paragraph"><strong>(240 + 280)/2 = 260 імп/с / мкР/с</strong></p>



<p class="wp-block-paragraph">2. Перетворимо у імпульси на секунду при 1 <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color">мк</mark>Р/с:</p>



<p class="has-text-align-center wp-block-paragraph"><strong>260 / 4 = 65 імп/с / мкР/с</strong></p>



<p class="wp-block-paragraph">3. Перетворимо у імпульси на секунду при 1 <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color">м</mark>Р/с:</p>



<p class="has-text-align-center wp-block-paragraph"><strong>65 * 1000 = 65000 імп/с / мР/с</strong></p>



<p class="wp-block-paragraph">4. Перетворимо у імпульси на секунду при 1 мР/<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color">год</mark>:</p>



<p class="has-text-align-center wp-block-paragraph"><strong>round( 65000 / 3600) = 18 імп/с / мР/год</strong></p>



<p class="wp-block-paragraph">5. Перетворимо у імпульси на <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color">хвилину</mark> при 1 мР/год:</p>



<p class="has-text-align-center wp-block-paragraph"><strong>18 * 60 = 1080 імп/хв / мР/год</strong></p>



<p class="wp-block-paragraph">6. Перетворимо у імпульси на хвилину при 1 <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color">мкЗв</mark>/год:</p>



<p class="has-text-align-center wp-block-paragraph"><strong>1080 / 10 = 108 імп/хв / мкЗв/год</strong></p>



<p class="wp-block-paragraph">або</p>



<p class="has-text-align-center wp-block-paragraph"><strong>108 імп/хв = 1 мкЗв/год</strong></p>



<p class="wp-block-paragraph">або</p>



<p class="has-text-align-center wp-block-paragraph"><strong>1 імп/хв = </strong><strong>1/</strong><strong>108 </strong><strong>мкЗв/год</strong></p>



<p class="wp-block-paragraph">7. Розрахуємо значення одного імпульсу на хвилину:</p>



<p class="has-text-align-center wp-block-paragraph"><strong>1 / 108 = 0,00926</strong></p>



<p class="wp-block-paragraph">Таким чином, якщо нам потрібно перевести імпульси, зареєстровані трубкою СБМ20 протягом хвилини у мкЗв / годину:</p>



<figure class="wp-block-table aligncenter is-style-regular"><table><tbody><tr><td class="has-text-align-center" data-align="center"><strong>мкЗв/год&nbsp; = імп/хв * 0.00926</strong></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Це значення еквівалентної дози радіації, яку реєструє сенсор &#8211; трубка СБМ20.</p>



<p class="wp-block-paragraph">Зверніть увагу, що ми взяли середнє значення імп/с / мкР/с = 260 і отримали шляхом простих математичних перетворень значення імп/с / мР/год = 18.</p>



<p class="wp-block-paragraph">Ми також можемо виконати наведені вище розрахунки не лише для середнього, а і для мінімальних і максимальних значень, що вказані у даташит на трубку: 240 імп/с і 280 імп/с при 4 мкР/с.</p>



<p class="wp-block-paragraph">В такому випадку ми отримаємо два додаткових значення, з якими за потреби також зможемо працювати.&nbsp;</p>



<p class="wp-block-paragraph">Запишемо їх для зручності у імп/с при 1 мР/год:</p>



<p class="wp-block-paragraph">мінімальне значення: 17 імп/с / мР/год <br>максимальне значення 19 імп/с / мР/год</p>



<p class="wp-block-paragraph">І складемо узагальнену таблицю результатів нашої роботи на даному етапі розрахунку:</p>



<figure class="wp-block-table"><table><tbody><tr><td>При Cs-137</td><td>імп/с / мР/год</td><td>імп/хв / мР/год</td><td>імп/хв / мкЗв/год</td><td>мкЗв/год на 1 імп/хв</td></tr><tr><td>Середнє</td><td>18</td><td>1080</td><td>108</td><td>0,00926</td></tr><tr><td>Мінімальне</td><td>17</td><td>1020</td><td>102</td><td>0,00980</td></tr><tr><td>Максимальне</td><td>19</td><td>1140</td><td>114</td><td>0,00877</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Все було б добре, і на цьому можна було б припинити розрахунки. Але розрахований нами коефіцієнт</p>



<p class="has-text-align-center wp-block-paragraph"><strong>0,00926</strong></p>



<p class="wp-block-paragraph">дозволяє лише отримати значення експозиції, яке реєструє лічильник Гейгера. А нас насамперед цікавить, яку еквівалентну дозу радіації поглине людське тіло.</p>



<p class="wp-block-paragraph">Тому переходимо до наступної частини розрахунків.</p>



<figure class="wp-block-table"><table><tbody><tr><td>Нас насамперед цікавить, яку еквівалентну дозу радіації поглине людське тіло, а не та доза експозиції, яку зареєструє прилад</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Хоча ми з вам і не науково-дослідний інститут, для вирішення нашої простої задачі нам доведеться ненадовго зануритися у складні матерії.&nbsp;</p>



<p class="wp-block-paragraph">Для того, щоб оцінити еквівалентну дозу поглинутої енергії людським тілом у науці застосовують так звану модель фантому людського тіла, для якої розраховують певні коефіцієнти перетворення одних величин в інші.</p>



<p class="wp-block-paragraph">Якщо вам цікаво прочитати теорію з цього приводу, можемо порадити ознайомитися ось з цією публікацією:</p>



<p class="wp-block-paragraph"><a href="https://web.archive.org/web/20230402162906/https://www.automess.de/en/service/radiation-quantities-and-units" target="_blank" rel="noopener">https://web.archive.org/web/20230402162906/https://www.automess.de/en/service/radiation-quantities-and-units</a></p>



<p class="wp-block-paragraph">А ми переходимо до виведення коефіцієнту перетворення CPM трубки у еквівалентну дозу поглинутої радіації у мікрозіверт на годину з урахуванням фантомної моделі людського тіла.</p>



<p class="wp-block-paragraph">Почнемо розрахунок з вже знайденого коефіцієнту 18 імп/с на 1 мР/год. Чому так? Далі ви побачите, що більшість виробників трубок (J305 та LND712 в тому числі) надають у даташит для своїх продуктів параметри саме в такому форматі.&nbsp;</p>



<p class="wp-block-paragraph">Наприклад,&nbsp;</p>



<ul class="wp-block-list"><li>для J305 у даташит зазначається: sensitivity of γ (60Co) cps/ mR/h 44</li><li>для LND712: GAMMA SENSITIVITY CO60 (CPS/mR/HR): 18</li></ul>



<p class="wp-block-paragraph">де CPS &#8211; Counts per Second; mR &#8211; мР; h = hr = год &#8211; години</p>



<p class="wp-block-paragraph">У випадку з трубкою СБМ20, виробник зазначає дані для джерела Cs-137.</p>



<p class="wp-block-paragraph">І ми вже зробили необхідні перетворення на попередньому кроці:</p>



<p class="wp-block-paragraph">Чутливість СБМ20 до gamma-променів: 18 CPS / mR/h</p>



<p class="wp-block-paragraph">1. Перетворимо імп/с у імп/хв при 1 мР/г (у нас вже є це значення, але ми наводимо ще раз його розрахунок, для зручності читача):</p>



<p class="has-text-align-center wp-block-paragraph"><strong>18 * 60 = 1080 імп/хв / мР/год</strong></p>



<p class="wp-block-paragraph">2. Перетворюємо імп/хв при 1 мР/г у імп/хв при 1 Р/год:</p>



<p class="has-text-align-center wp-block-paragraph"><strong>1080 * 1000 = 1080000</strong></p>



<p class="wp-block-paragraph">3. Знаходимо значення дози експозиції R/h при 1 імп/хв:</p>



<p class="has-text-align-center wp-block-paragraph"><strong>1 / 1080000 = 0,0000009259259259</strong></p>



<p class="wp-block-paragraph">4. Знаходимо air kerma (Ka, kinetic energy released per unit mass / in matter):</p>



<p class="wp-block-paragraph">Рівняння має наступний вигляд:&nbsp;</p>



<p class="has-text-align-center wp-block-paragraph"><strong>Ka [Gy] = 0.00877 [Gy/R] x exposure [R]</strong></p>



<p class="wp-block-paragraph">де 0,00877 &#8211; коефіцієнт поглинання дози радіації людським тілом на фантомній моделі під впливом фотонних енергій 100 keV &#8211; 3 MeV&nbsp;</p>



<p class="wp-block-paragraph">Примітка. Докладно див. за посиланням: <a href="https://web.archive.org/web/20230402162906/https://www.automess.de/en/service/radiation-quantities-and-units" target="_blank" rel="noopener">https://web.archive.org/web/20230402162906/https://www.automess.de/en/service/radiation-quantities-and-units</a></p>



<p class="has-text-align-center wp-block-paragraph"><strong>0,00877 * 0,0000009259259259 = 0,00000000812037037 Ka[Gy]</strong></p>



<p class="wp-block-paragraph">5. Перетворимо Ka[Gy] у Ka[uSv] (тобто перейдемо від Грей до мкЗв):</p>



<p class="has-text-align-center wp-block-paragraph"><strong>0,00000000812037037 * 1000000 = 0,00812037037 Ka[uSv]</strong></p>



<p class="wp-block-paragraph">6. Виконуємо перевірку і знаходимо обернене значення:</p>



<p class="has-text-align-center wp-block-paragraph"><strong>0,00812037037 ^(-1) = 123,1470924</strong></p>



<p class="wp-block-paragraph">Таким чином, формула еквівалентної поглинутої дози тілом людини радіації для трубки Гейгера-Мюллера СБМ20 з гамма- чутливістю по Cs-137 18 cps / mR/hr наступна:</p>



<figure class="wp-block-table aligncenter"><table><tbody><tr><td class="has-text-align-center" data-align="center"><strong>uSv/h = CPM x 0,00812</strong></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">де&nbsp;</p>



<p class="wp-block-paragraph">0,00812 мкЗв/год &#8211; ціна одного відліку, імп/хв;</p>



<p class="wp-block-paragraph">CPM &#8211; кількість відліків за хвилину.</p>



<figure class="wp-block-table"><table><tbody><tr><td class="has-text-align-left" data-align="left">Лайфгак:<br>Щоб отримати коефіцієнт 0,00812, можна просто значення 18 імп/с / мР/год, отримане з даташит, помножити на 60 і поділити на 8.77 і взяти обернене число.<br><strong>1 / (18 * 60 / 8.77) = 1 / 123.1470923603193 = 0.0081203703703704</strong><br>Що ми і перевіряли такими складними перетвореннями вище. Тепер і ви знаєте, де береться цей коефіцієнт</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Також можемо розрахувати коефіцієнти для мінімального та максимального значень CPS / mR/h, які нам надає даташит:</p>



<figure class="wp-block-table"><table><tbody><tr><td></td><td>min CPS / mR/h</td><td>avg CPS / mR/h</td><td>max CPS / mR/h</td></tr><tr><td></td><td>17</td><td>18</td><td>19</td></tr><tr><td>CPM to Absorbed dose coef.</td><td>0.008598039216</td><td><strong>0.00812037037</strong></td><td>0.007692982456</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">В той же час, у інтернет прийнято застосовувати коефіцієнт 175.43 (0.0057), який, як можна бачити, взагалі не лягає у розрахунки наведені вище. Хоча за своїм значенням цей коефіцієнт схожий на дані для СБМ20 по Ra-226 взяті з інтернет:</p>



<figure class="wp-block-table"><table><tbody><tr><td>дані з інтернетдля СБМ20</td><td>CPS</td><td>CPM / mR/hr</td><td>CPM / uSv/hr</td><td>uSv/h per CPM</td></tr><tr><td>SBM20 gamma sensitivity Ra226 (cps/mR/hr)</td><td>29</td><td>1740</td><td>174</td><td>0.00575</td></tr><tr><td>SBM20 gamma sensitivity Co60 (cps/mR/hr)</td><td>22</td><td>1320</td><td>132</td><td>0.00758</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Щоб коефіцієнт перетворення CPM у uSv/h мав значення 0.00570, початкове значення CPS / mR/hr у даташит на трубку мав би рівнятись 25,643. Ми це визначили звичайним підбором значення (25.643 * 60 / 8.77 = 175.4367; 1 / 175.4367 = 0.00570).</p>



<p class="wp-block-paragraph">Також у інтернет публікується ще один популярний коефіцієнт для трубки СБМ20:&nbsp; 150.5131 (0.00664), каліброваної начебто по Co-60. Звідки ця інформація &#8211; нам не відомо.</p>



<h2 class="wp-block-heading">Додаткові розрахунки</h2>



<p class="wp-block-paragraph">Що ще ми можемо зробити, щоб спробувати знайти коефіцієнт 0.0057, який всюди застосовують для СБМ20?</p>



<h3 class="wp-block-heading">Перехід від коефіцієнтів для Cs-137 до Co-60</h3>



<p class="wp-block-paragraph">Ми можемо спробувати перейти від значень при Cs-137 (який зазначено у документації трубки) до Co60, по якому зараз найчастіше прийнято калібрувати трубки Гейгера-Мюллера у світі.&nbsp;</p>



<p class="wp-block-paragraph">Для цього потрібно розрахувати коефіцієнт перетворення значень для Cs-137 у значення при Co-60.</p>



<p class="wp-block-paragraph">Візьмемо середнє значення для двох енергетичних ліній Co-60:</p>



<p class="wp-block-paragraph">Co-60: 1,1732 MeV; 1,3325 MeV; Середнє значення: 1,25285 MeV</p>



<p class="wp-block-paragraph">Та значення енергії Cs-137:</p>



<p class="wp-block-paragraph">0,6617 MeV</p>



<p class="wp-block-paragraph">Знайдемо співвідношення енергій Co-60 до Cs-137:</p>



<p class="has-text-align-center wp-block-paragraph"><strong>1,25285 / 0,6617 = 1,893380686</strong></p>



<p class="wp-block-paragraph">далі розрахуємо відповідне значення імп/с при 1 мР/год:</p>



<p class="has-text-align-center wp-block-paragraph"><strong>18 * 1,893380686 = 34,08085235</strong></p>



<p class="wp-block-paragraph">Вдаваючи, що це значення вказане у даташит на трубку, розрахуємо новий коефіцієнт поглинутої еквівалентної дози мкЗв/год на 1 імп/хв по Co-60:</p>



<p class="has-text-align-center wp-block-paragraph"><strong>34 CPS / mR/h</strong></p>



<p class="wp-block-paragraph">1. Перетворимо імп/с у імп/хв при 1 мР/г:</p>



<p class="has-text-align-center wp-block-paragraph"><strong>34 * 60 = 2040 імп/хв / мР/год</strong></p>



<p class="wp-block-paragraph">2. Перетворюємо імп/хв при 1 мР/г у імп/хв при 1 Р/год:</p>



<p class="has-text-align-center wp-block-paragraph"><strong>2040 * 1000 = 2040000</strong></p>



<p class="wp-block-paragraph">3. Знаходимо значення дози експозиції R/h при 1 імп/хв:</p>



<p class="has-text-align-center wp-block-paragraph"><strong>1 / 2040000 = 0,0000004901960784</strong></p>



<p class="wp-block-paragraph">4. Знаходимо air kerma (Ka, kinetic energy released per unit mass / in matter):</p>



<p class="wp-block-paragraph">Рівняння має наступний вигляд (як і у попередньому розрахунку):&nbsp;</p>



<p class="has-text-align-center wp-block-paragraph"><strong>Ka [Gy] = 0.00877 [Gy/R] x exposure [R]</strong></p>



<p class="wp-block-paragraph">Отже:</p>



<p class="has-text-align-center wp-block-paragraph"><strong>0,00877 * 0,0000004901960784 = 0,000000004299019608 Ka[Gy]</strong></p>



<p class="wp-block-paragraph">5. Перетворимо Ka[Gy] у Ka[uSv] (тобто перейдемо від Грей до мкЗв):</p>



<p class="has-text-align-center wp-block-paragraph"><strong>0,000000004299019608 * 1000000 = 0,004299019608 Ka[uSv]</strong></p>



<p class="wp-block-paragraph">uSv/h = CPM x <strong>0,00429</strong> для випадку Cs-137-&gt;Co-60</p>



<h3 class="wp-block-heading">Перехід від коефіцієнтів для Cs-137 до Ra-226</h3>



<p class="wp-block-paragraph">У аналогічний спосіб розрахуємо коефіцієнт переходу від Cs-137 до Ra-226:</p>



<p class="wp-block-paragraph">Оскільки у Ra-226 є кілька енергетичних ліній гамма-випромінювання:</p>



<p class="wp-block-paragraph">186.2 кеВ;<br>240.3 кеВ;<br>295.2 кеВ;<br>352.0 кеВ;<br>609.3 кеВ;<br>657.0 кеВ;<br>768.4 кеВ;<br>934.8 кеВ.</p>



<p class="wp-block-paragraph">ми оберемо всі, які здатна детектувати трубка СБМ20. Відповідно до документації, СБМ20 чутлива до гамма-квантів від 0.05 МеВ до 3 МеВ.&nbsp;</p>



<p class="wp-block-paragraph">Тому всі перераховані лінії потрапляють у діапазон детектування. І для того, щоб перейти від Cs-137 нам потрібно або працювати з середнім значенням цих ліній, або обрати найбільш характерну для Ra-226 лінію.</p>



<p class="wp-block-paragraph">Якщо нам потрібно спиратися на якусь конкретну лінію для ідентифікації радіонукліда, то потрібно враховувати інтенсивність та енергію цієї лінії. Зазвичай для ідентифікації радіонукліда використовують так званий &#8220;характерний пік&#8221;, який є найбільш інтенсивним і знаходиться при найбільш характерній енергії для цього радіонукліда.</p>



<p class="wp-block-paragraph">У випадку гамма-спектра Ra-226, який складається з кількох ліній, характерний пік можна визначити за найбільшою інтенсивністю та енергією лінії. За даними таблиці інтенсивностей ліній гамма-спектра Ra-226, лінія з енергією 609,3 кеВ є найбільш інтенсивною лінією, тому ця лінія може бути використана для ідентифікації Ra-226.</p>



<p class="wp-block-paragraph">Середнє значення енергій усіх ліній гамма-спектра Ra-226 також можна визначити, але воно не є корисним для ідентифікації радіонукліда. Але середнє значення корисне для визначення середньої енергії гамма-випромінювання даного радіонукліда.</p>



<p class="wp-block-paragraph">Для розрахунку середньої енергії гамма-випромінювання Ra-226 можна використати таблицю інтенсивностей ліній та їх енергій.</p>



<p class="wp-block-paragraph">Обчислимо суму енергій всіх ліній гамма-спектра Ra-226:</p>



<p class="wp-block-paragraph">0,186 МeВ + 0,244 МeВ + 0,295 МeВ + 0,351 МeВ + 0,609 МeВ + 1,061 МeВ + 1,158 МeВ + 1,332 МeВ = 5,196 МeВ</p>



<p class="wp-block-paragraph">Розділимо суму енергій на кількість ліній, щоб отримати середню енергію:</p>



<p class="wp-block-paragraph">5,196 МeВ / 8 = 0,6495 МeВ</p>



<p class="wp-block-paragraph">Таким чином, середня енергія гамма-випромінювання радіонукліда Ra-226 становить приблизно 0,65 МеВ. Зазначимо, що це значення є лише середньою енергією і може відрізнятися від індивідуальних значень ліній гамма-спектра.</p>



<p class="wp-block-paragraph">Тепер ми маємо три альтернативні значення, які можемо застосувати, щоб знайти співвідношення переходу від калібровки по Cs-137 до калібровки по Ra-226. Третім коефіцієнтом ми взяли ваговане значення енергії, наведене на сайті hps.org.</p>



<p class="wp-block-paragraph">1. Характерний пік: 609,3 кеВ [peak];</p>



<p class="wp-block-paragraph">2. Середня енергія гамма-випромінення: 0,6495 МeВ [avg];</p>



<p class="wp-block-paragraph">3. Ваговане значення енергії гамма-випромінювання: 0,74 МеВ [wght].</p>



<p class="wp-block-paragraph">Див. <a href="https://web.archive.org/web/20230404222401/https://hps.org/publicinformation/ate/q4817.html" target="_blank" rel="noopener">https://web.archive.org/web/20230404222401/https://hps.org/publicinformation/ate/q4817.html</a></p>



<p class="wp-block-paragraph">Розрахуємо відповідніі співвідношення енергій:</p>



<p class="wp-block-paragraph">Значення енергії Cs-137: 0,6617 MeV.</p>



<p class="wp-block-paragraph">Знайдемо співвідношення енергій Ra-226 та Cs-137:</p>



<p class="wp-block-paragraph"><strong>&nbsp;&nbsp;&nbsp;&nbsp;peak: &nbsp; 0,6617 / 0,6093 = 1,086000328245528</strong><br><strong>&nbsp;&nbsp;&nbsp;&nbsp;avg:&nbsp; &nbsp; 0,6617 / 0,6495 = 1,018783679753657</strong><br><strong>&nbsp;&nbsp;&nbsp;&nbsp;wght: &nbsp; 0,74 / 0,6617 = 1,118331570197975</strong></p>



<p class="wp-block-paragraph">далі розрахуємо відповідне значення імп/с при 1 мР/год, тобто перейдемо від калібровки Cs-137, як зазначається у даташит, до розрахункового значення калібровки відносно Ra-226:</p>



<p class="wp-block-paragraph"><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;peak:&nbsp; 18 * 1,086000328245528 = 19,5480059084195</strong><br><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;avg: &nbsp; 18 * 1,018783679753657 = 18,33810623556582</strong><br><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wght:&nbsp; 18 * 1,118331570197975 = 20,12996826356355</strong></p>



<p class="wp-block-paragraph">Як можемо бачити, спроба переходу від Cs-137 до Ra-226 нам теж нічого не дала, адже ми не змогли отримати цільове значення CPS 25.643 / mR/h, при якому можливо отримати коефіцієнт 0.00570.</p>



<p class="wp-block-paragraph">Коефіцієнт 0,00429, що ми отримали раніше для випадку Cs-137-&gt;Co-60, також не схожий на розповсюджений для СБМ20 175,43 (0,0057). Тож звідки його взяли інтернет-дописувачі, доводиться лише гадати і використовувати той, який ми отримали вище шляхом розрахунків, спираючись на інформацію у даташит на трубку.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><em><strong>Примітка</strong>. Якщо ви подумали, що ми не перевірили даташити СБМ20 сучасного виробництва, а лише спираємося на застарілі радянські дані, то це не так. Ми перевірили всі можливі джерела доступні через інтернет. Випущені у 2021 році і пізніше трубки СБМ20 у документації мають різні варіанти калібровки:</em><br>&#8211; <em>78 імп / мкР без зазначення джерела (1 / 150,5131129, або 0,006643);</em><br><em>&#8211; 105 імп / мкР по Ra-226 (1 / 198,4036488, або 0,005040);</em><br>&#8211; <em>67,5 імп / мкР по Cs-137 (1 / 129,9885975, або 0,007692);</em><br><em>Жодний з вивчених нами&nbsp; документів не містить вихідних даних, які могли б привести нас до коефіцієнту 0.0057 мкЗв/год при 1 імп/хв.</em></p></blockquote>



<p class="wp-block-paragraph">Нагадаємо, що рекомендована нами формула поглинутої тілом людини еквівалентної дози радіації для радянської трубки Гейгера-Мюллера СБМ20 з гамма- чутливістю 18 cps / mR/hr по Cs-137 наступна:</p>



<figure class="wp-block-table aligncenter"><table><tbody><tr><td class="has-text-align-center" data-align="center"><strong>uSv/h = CPM x 0,00812</strong></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">де&nbsp;</p>



<p class="wp-block-paragraph">0,00812 мкЗв/год &#8211; ціна одного відліку, імп/хв;<br>CPM &#8211; кількість відліків за хвилину.</p>



<h2 class="wp-block-heading">Висновки</h2>



<p class="wp-block-paragraph">У даній статті ми навели докладний покроковий розрахунок коефіцієнту перетворення даних, які надсилає нам лічильник Гейгера з трубкою СБМ20 та розібралися, який саме нам потрібно застосовувати коефіцієнт, щоб не просто отримати рівень експозиційної дози, зафіксованої сенсором, а дози поглинутої людським тілом.</p>



<p class="wp-block-paragraph">На жаль, ми так і не змогли розібратися, звідки взявся магічний коефіцієнт 0.0057 мкЗв/год на 1 CPM, який всі використовують. Ні математичні перетворення, ні перехід від Cs-137 до Co-60, ні перехід від Cs-137 до Ra-226, ні підбір коефіцієнту (зокрема 8.77, 0.94 to 0.98) дози поглинання для фантомної моделі людського тіла не дав бажаних результатів. Таке враження, що це частковий випадок, який хтось, колись просто прийняв для своїх розрахунків і не залишив по собі інструкції для нас.</p>



<p class="wp-block-paragraph">Напишіть нам, якщо у вас є власна версія звідки взявся 0.0057 чи гарний розрахунок за даною темою. Ми будемо вдячні і внесемо в цю публікацію відповідні доповнення.</p>



<p class="wp-block-paragraph">В той же час, ми змогли розшукати математично обгрунтований розрахунок іншого магічного коефіцієнту&nbsp;</p>



<p class="has-text-align-center wp-block-paragraph"><strong>8.77,</strong>&nbsp;</p>



<p class="wp-block-paragraph">який застосовується для отримання значення поглинутої людським тілом дози радіації. Тепер і ви знаєте, звідки він береться.</p>



<p class="wp-block-paragraph">Наразі для радянських трубок рекомендуємо замість коефіцієнта 0.0057 застосовувати коефіцієнт, який ми розрахували для еквівалентної дози радіації, що поглинається людським тілом:</p>



<figure class="wp-block-table aligncenter"><table><tbody><tr><td class="has-text-align-center" data-align="center"><strong>uSv/h = CPM x 0,00812</strong></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">де&nbsp;</p>



<p class="wp-block-paragraph">&nbsp;&nbsp;&nbsp;&nbsp;0,00812 мкЗв/год &#8211; ціна одного відліку, імп/хв для трубки СБМ20 каліброваної відносно джерела Cs-137;<br>&nbsp;&nbsp;&nbsp;CPM &#8211; кількість відліків за хвилину.</p>



<p class="wp-block-paragraph">Якщо у вас трубка СБМ20 має у документації інший коефіцієнт чутливості, або ваша трубка калібрована виробником відносно іншого радіоактивного джерела, рекомендуємо вам застосовувати дані саме для вашої трубки.</p>



<p class="wp-block-paragraph">У наступних публікаціях для трубок J305 та LND712 буде трошки менше тексту, адже там майже всі коефіцієнти, поширені у інтернет, сходяться з нашими розрахунками.</p>



<p class="wp-block-paragraph">І це ми ще не розкривали тему щодо власних фонових (хибно-позитивних) імпульсів для трубок Гейгера. Непочатий край роботи!</p>



<p class="wp-block-paragraph">Stay tuned!</p>



<p class="wp-block-paragraph">Дякуємо за увагу!</p>



<p class="wp-block-paragraph">Team IoT-devices, LLC</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Емулятор лічильника Гейгера GGreg20_V3 засобами ESP8266 Частина 3: Тестування та висновок</title>
		<link>https://iot-devices.com.ua/geiger-counter-emulator-ggreg20_v3-module-by-means-of-esp8266-part3-ua/</link>
		
		<dc:creator><![CDATA[iot-guru]]></dc:creator>
		<pubDate>Fri, 31 Mar 2023 12:58:07 +0000</pubDate>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[Новини]]></category>
		<category><![CDATA[Тестування]]></category>
		<category><![CDATA[DIY]]></category>
		<category><![CDATA[emulator]]></category>
		<category><![CDATA[ESP12.OLED]]></category>
		<category><![CDATA[ESP8266]]></category>
		<category><![CDATA[Espressif]]></category>
		<category><![CDATA[Geiger]]></category>
		<category><![CDATA[geiger-counter]]></category>
		<category><![CDATA[GGreg20_V3]]></category>
		<category><![CDATA[GPIO]]></category>
		<category><![CDATA[iot]]></category>
		<category><![CDATA[LUA]]></category>
		<category><![CDATA[NodeMCU]]></category>
		<category><![CDATA[SBM20]]></category>
		<category><![CDATA[tindie]]></category>
		<category><![CDATA[unit test]]></category>
		<guid isPermaLink="false">https://iot-devices.com.ua/?p=2842</guid>

					<description><![CDATA[Тестування емулятора Після того, як ми зібрали емулятор лічильника Гейгера і запрограмували ESP8266, ми можемо протестувати його, щоб переконатися, що він працює правильно. Склавши фізичну схему і розробивши та завантаживши / компілювавши Lua-код у контролери, запускаємо емулятор лічильника Гейгера та головний контролер, щоб перевірити як працює наш тестовий стенд. Як можна бачити, підключення емулятора дуже [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading"><a></a> Тестування емулятора</h2>



<p class="wp-block-paragraph">Після того, як ми зібрали емулятор лічильника Гейгера і запрограмували ESP8266, ми можемо протестувати його, щоб переконатися, що він працює правильно.</p>



<p class="wp-block-paragraph">Склавши фізичну схему і розробивши та завантаживши / компілювавши Lua-код у контролери, запускаємо емулятор лічильника Гейгера та головний контролер, щоб перевірити як працює наш тестовий стенд.</p>



<figure class="wp-block-image size-large"><a href="https://iot-devices.com.ua/wp-content/uploads/2023/01/esp12_oled_we_disp_ggreg20_hwemu-scaled.jpg"><img loading="lazy" decoding="async" width="1024" height="768" src="https://iot-devices.com.ua/wp-content/uploads/2023/01/esp12_oled_we_disp_ggreg20_hwemu-1024x768.jpg" alt="" class="wp-image-2588" srcset="https://iot-devices.com.ua/wp-content/uploads/2023/01/esp12_oled_we_disp_ggreg20_hwemu-1024x768.jpg 1024w, https://iot-devices.com.ua/wp-content/uploads/2023/01/esp12_oled_we_disp_ggreg20_hwemu-300x225.jpg 300w, https://iot-devices.com.ua/wp-content/uploads/2023/01/esp12_oled_we_disp_ggreg20_hwemu-768x576.jpg 768w, https://iot-devices.com.ua/wp-content/uploads/2023/01/esp12_oled_we_disp_ggreg20_hwemu-1536x1152.jpg 1536w, https://iot-devices.com.ua/wp-content/uploads/2023/01/esp12_oled_we_disp_ggreg20_hwemu-2048x1536.jpg 2048w, https://iot-devices.com.ua/wp-content/uploads/2023/01/esp12_oled_we_disp_ggreg20_hwemu-454x341.jpg 454w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><figcaption>Рис. Тестовий стенд емулятора GGreg20_V3 на базі ESP12.OLED (MCU_B) підключений до NodeMCU dev.board (MCU_A, поза меж фото)</figcaption></figure>



<p class="wp-block-paragraph">Як можна бачити, підключення емулятора дуже просте: кабель живлення micro USB та сигнальні дроти імпульсного виходу, а також за бажанням можна підключити debug-консоль через UART.</p>



<p class="wp-block-paragraph">На наступних скріншотах наводимо діагностичні дані і їх вимірювання. Також наводимо приклад розподілу подій на виході емулятора, який ми побудували, щоб можна було візуально показати, як працює генератор випадкових чисел контролера ESP8266 за запропонованою нами реалізацією через таймери.</p>



<figure class="wp-block-image size-large"><a href="https://iot-devices.com.ua/wp-content/uploads/2023/01/10-ggreg20_v3_hwemu_esp12_oled_nodemcu_log_2022-12-01_222323.jpg"><img loading="lazy" decoding="async" width="1024" height="631" src="https://iot-devices.com.ua/wp-content/uploads/2023/01/10-ggreg20_v3_hwemu_esp12_oled_nodemcu_log_2022-12-01_222323-1024x631.jpg" alt="" class="wp-image-2590" srcset="https://iot-devices.com.ua/wp-content/uploads/2023/01/10-ggreg20_v3_hwemu_esp12_oled_nodemcu_log_2022-12-01_222323-1024x631.jpg 1024w, https://iot-devices.com.ua/wp-content/uploads/2023/01/10-ggreg20_v3_hwemu_esp12_oled_nodemcu_log_2022-12-01_222323-300x185.jpg 300w, https://iot-devices.com.ua/wp-content/uploads/2023/01/10-ggreg20_v3_hwemu_esp12_oled_nodemcu_log_2022-12-01_222323-768x473.jpg 768w, https://iot-devices.com.ua/wp-content/uploads/2023/01/10-ggreg20_v3_hwemu_esp12_oled_nodemcu_log_2022-12-01_222323-454x280.jpg 454w, https://iot-devices.com.ua/wp-content/uploads/2023/01/10-ggreg20_v3_hwemu_esp12_oled_nodemcu_log_2022-12-01_222323.jpg 1421w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><figcaption>Рис. Тестовий стенд емулятора GGreg20_V3 на базі ESP12.OLED (MCU_B) підключений до NodeMCU dev.board (MCU_A, поза меж фото)</figcaption></figure>



<figure class="wp-block-image size-large"><a href="https://iot-devices.com.ua/wp-content/uploads/2023/01/10-ggreg20_v3_hwemu_esp12_oled_nodemcu_distribution_2022-12-01_222323.jpg"><img loading="lazy" decoding="async" width="1024" height="397" src="https://iot-devices.com.ua/wp-content/uploads/2023/01/10-ggreg20_v3_hwemu_esp12_oled_nodemcu_distribution_2022-12-01_222323-1024x397.jpg" alt="" class="wp-image-2592" srcset="https://iot-devices.com.ua/wp-content/uploads/2023/01/10-ggreg20_v3_hwemu_esp12_oled_nodemcu_distribution_2022-12-01_222323-1024x397.jpg 1024w, https://iot-devices.com.ua/wp-content/uploads/2023/01/10-ggreg20_v3_hwemu_esp12_oled_nodemcu_distribution_2022-12-01_222323-300x116.jpg 300w, https://iot-devices.com.ua/wp-content/uploads/2023/01/10-ggreg20_v3_hwemu_esp12_oled_nodemcu_distribution_2022-12-01_222323-768x298.jpg 768w, https://iot-devices.com.ua/wp-content/uploads/2023/01/10-ggreg20_v3_hwemu_esp12_oled_nodemcu_distribution_2022-12-01_222323-1536x595.jpg 1536w, https://iot-devices.com.ua/wp-content/uploads/2023/01/10-ggreg20_v3_hwemu_esp12_oled_nodemcu_distribution_2022-12-01_222323-454x176.jpg 454w, https://iot-devices.com.ua/wp-content/uploads/2023/01/10-ggreg20_v3_hwemu_esp12_oled_nodemcu_distribution_2022-12-01_222323.jpg 1610w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><figcaption>Рис. Графічний розподіл 175 подій на виході емулятора в межах однієї хвилини</figcaption></figure>



<p class="wp-block-paragraph">Як ми можемо бачити, події, що генерує на виході емулятор, є хаотичними, тобто мають характер, де при побіжному вивченні не проглядається певний графічний патерн.</p>



<p class="wp-block-paragraph">Ось ще один графік тестового набору з 175 подій на хвилину, але трохи в іншому форматі. Зверніть увагу на горизонтальну вісь. Значення початкових порядкових номерів подій у циклі розташоване на цьому графіку випадковим чином, саме так, як вони відбувалися у реальності на виході емулятора:</p>



<figure class="wp-block-image size-large"><a href="https://iot-devices.com.ua/wp-content/uploads/2023/01/10-ggreg20_v3_hwemu_esp12_oled_nodemcu_random_distribution_2022-12-07.jpg"><img loading="lazy" decoding="async" width="1024" height="476" src="https://iot-devices.com.ua/wp-content/uploads/2023/01/10-ggreg20_v3_hwemu_esp12_oled_nodemcu_random_distribution_2022-12-07-1024x476.jpg" alt="" class="wp-image-2594" srcset="https://iot-devices.com.ua/wp-content/uploads/2023/01/10-ggreg20_v3_hwemu_esp12_oled_nodemcu_random_distribution_2022-12-07-1024x476.jpg 1024w, https://iot-devices.com.ua/wp-content/uploads/2023/01/10-ggreg20_v3_hwemu_esp12_oled_nodemcu_random_distribution_2022-12-07-300x139.jpg 300w, https://iot-devices.com.ua/wp-content/uploads/2023/01/10-ggreg20_v3_hwemu_esp12_oled_nodemcu_random_distribution_2022-12-07-768x357.jpg 768w, https://iot-devices.com.ua/wp-content/uploads/2023/01/10-ggreg20_v3_hwemu_esp12_oled_nodemcu_random_distribution_2022-12-07-454x211.jpg 454w, https://iot-devices.com.ua/wp-content/uploads/2023/01/10-ggreg20_v3_hwemu_esp12_oled_nodemcu_random_distribution_2022-12-07.jpg 1529w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><figcaption>Рис. Графічне зображення випадкових 175 подій на виході емулятора (ліва вісь) та вільної пам’яті (права вісь) контролера ESP8266 під час виконання 60-секундного циклу</figcaption></figure>



<p class="wp-block-paragraph">Звісно, перевірка справжньої випадковості подій не є метою даної публікації і виходить далеко за її межі. Ми просто спираємося на тезу, що ESP8266 має апаратний генератор справжніх випадкових чисел.</p>



<h2 class="wp-block-heading"><a></a>Відомі обмеження</h2>



<p class="wp-block-paragraph">Серед обмежень даного методу створення емулятора лічильника Гейгера, які наразі нам відомі, є кількість пам’яті контролера ESP8266, у якій ми створюємо в циклі необхідну кількість одноразових таймерів з випадковим часом спрацювання. Кожен таймер по суті є функцією, яка займає певну оперативну пам’ять.</p>



<p class="wp-block-paragraph">Таймери, що спрацювали одразу ж вивільняють пам’ять. Виконання розробленого нами коду нагадує пружину, що у циклі раз на хвилину різко стискається і поволі розтискається в межах наявної пам’яті контролера.</p>



<p class="wp-block-paragraph">Таким чином, максимальна можлива кількість подій, що генерується обраним нами методом створення випадкових подій на виході емулятора, напряму залежить від кількості вільної оперативної пам’яті та швидкодії контролера.</p>



<p class="wp-block-paragraph">Експериментально нами було встановлено, що ESP8266 з прошивкою NodeMCU та мовою Lua здатен впевнено генерувати близько 260 подій на хвилину. Це більш ніж достатня кількість імпульсів на хвилину для проекту емулятора та рівнів радіації які він начебто реєструє.</p>



<p class="wp-block-paragraph">Це наразі все, що ми запланували розповісти. Тепер ви знаєте нашу версію того, як можна самостійно зробити емулятор лічильника Гейгера, а також для чого і кому може бути корисним такий пристрій. Втім, якщо ви бажаєте придбати готовий до застосування емулятор, це можливо зробити на нашому сайті, або на Tindie.</p>



<p class="wp-block-paragraph">Сайт IoT-devices.com.ua:&nbsp;<a href="https://iot-devices.com.ua/product-uk/gcemu20_v1-geiger-counter-emulator/">GCcemu20_V1</a></p>



<p class="wp-block-paragraph">tindie.com:&nbsp;<a href="https://www.tindie.com/products/iotdev/gcemu20_v1-geiger-counter-emulator/" target="_blank" rel="noreferrer noopener">GCcemu20_V1</a></p>



<p class="wp-block-paragraph">Загалом, створення емулятора лічильника Гейгера може бути цікавим і пізнавальним проектом. Він дозволяє імітувати показання лічильника Гейгера без використання радіоактивних джерел. Ми сподіваємося, що цей посібник був корисним, і заохочуємо вас експериментувати з різними компонентами та методами програмування для подальшої кастомізації емулятора.</p>



<p class="wp-block-paragraph">Початок статті:</p>



<p class="wp-block-paragraph"><a href="https://iot-devices.com.ua/geiger-counter-emulator-ggreg20_v3-module-by-means-of-esp8266-part1-ua/">Емулятор лічильника Гейгера GGreg20_V3 засобами ESP8266: Частина 1. Вступ та загальний огляд</a></p>



<p class="wp-block-paragraph"><a href="http://Емулятор лічильника Гейгера GGreg20_V3 засобами ESP8266">Емулятор лічильника Гейгера GGreg20_V3 засобами ESP8266: Частина 2 Створення емулятора</a></p>



<p class="wp-block-paragraph">Бажаємо успіхів!</p>



<p class="wp-block-paragraph">Команда IoT-devices LLC</p>



<p class="wp-block-paragraph">&nbsp;</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Емулятор лічильника Гейгера GGreg20_V3 засобами ESP8266: Частина 2 Створення емулятора</title>
		<link>https://iot-devices.com.ua/geiger-counter-emulator-ggreg20_v3-module-by-means-of-esp8266-part2-ua/</link>
		
		<dc:creator><![CDATA[iot-guru]]></dc:creator>
		<pubDate>Wed, 29 Mar 2023 11:50:27 +0000</pubDate>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[Новини]]></category>
		<category><![CDATA[Тестування]]></category>
		<category><![CDATA[DIY]]></category>
		<category><![CDATA[emulator]]></category>
		<category><![CDATA[ESP12.OLED]]></category>
		<category><![CDATA[ESP8266]]></category>
		<category><![CDATA[Espressif]]></category>
		<category><![CDATA[Geiger]]></category>
		<category><![CDATA[geiger-counter]]></category>
		<category><![CDATA[GGreg20_V3]]></category>
		<category><![CDATA[GPIO]]></category>
		<category><![CDATA[iot]]></category>
		<category><![CDATA[LUA]]></category>
		<category><![CDATA[NodeMCU]]></category>
		<category><![CDATA[SBM20]]></category>
		<category><![CDATA[tindie]]></category>
		<category><![CDATA[unit test]]></category>
		<guid isPermaLink="false">https://iot-devices.com.ua/?p=2813</guid>

					<description><![CDATA[Емулятор лічильника Гейгера: що нам знадобиться Для побудови емулятора лічильника Гейгера нам знадобляться наступні деталі та матеріали: ESP8266 #1 як основний (MCU_A, модуль NodeMCU); ESP8266 #2 як емулятор GGreg20_V3 (MCU_B, модуль ESP12.OLED); Дроти для перемичок; USB кабель для програмування та живлення. Далі нам потрібно буде запрограмувати основний контролер MCU_A та код скрипту емуляції програмного забезпечення [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading" id="block-786c35cc-31be-43f0-a658-40945e2c73d7">Емулятор лічильника Гейгера: що нам знадобиться</h2>



<p class="wp-block-paragraph">Для побудови емулятора лічильника Гейгера нам знадобляться наступні деталі та матеріали:</p>



<ul class="wp-block-list"><li>ESP8266 #1 як основний (MCU_A, модуль NodeMCU);</li><li>ESP8266 #2 як емулятор GGreg20_V3 (MCU_B, модуль ESP12.OLED);</li><li>Дроти для перемичок;</li><li>USB кабель для програмування та живлення.</li></ul>



<p class="wp-block-paragraph">Далі нам потрібно буде запрограмувати основний контролер MCU_A та код скрипту емуляції програмного забезпечення GGreg20_V3 для MCU_B.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>Примітка 3</strong>. Ми будемо наводити приклади у цій публікації на модулях власного виробництва <a href="https://iot-devices.com.ua/product-uk/esp12oled-universal-esp8266-mcuboard-oled/">ESP12.OLED</a>. Втім, якщо у вас немає модуля ESP12.OLED, ви також можете застосувати плату розробника на базі ESP8266, наприклад NodeMCU, і самостійно розробити програмне забезпечення керуючись прикладами, що наведено у тексті. Якщо ж ви бажаєте одразу користуватися готовим пристроєм, будь-ласка, дочитайте цю статтю до кінця, адже далі ми даємо посилання на наш готовий до використання модуль емулятора, який можливо придбати.</p></blockquote>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>Примітка 4.</strong> У цій, як і у інших наших публікаціях ми будемо наводити приклади простою та потужною скриптовою мовою програмування Lua, що доступна у популярній програмній прошивці NodeMCU.</p></blockquote>



<h2 class="wp-block-heading" id="block-fa9009c2-5b8c-41b0-bb8a-10108721c789">Бюджет необхідних нам входів/виходів</h2>



<p class="wp-block-paragraph" id="block-72e01d54-951b-4117-8327-b53872654d3a">На головному контролері макету нам необхідно визначити порти вводу/виводу, які будуть обслуговувати задачу реєстрації вхідних імпульсів від модуля емулятора лічильника Гейгера.</p>



<p class="wp-block-paragraph" id="block-dc43f265-c4cd-4a94-8940-0af029bf502d">На модулі емулятора лічильника Гейгера нам необхідно буде вже трохи більше портів. Тут необхідно задіяти порти вводу/виводу: для емуляції вихідних імпульсів, для RGB світлодіода та для кнопки перемикання режиму роботи емулятора.</p>



<figure class="wp-block-table"><table><tbody><tr><td><br>﻿</td><td>Роль MCU_A (Головний)</td><td>Роль MCU_B (Емулятор)</td></tr><tr><td>1 х GPIO лічильника вхідних імпульсів</td><td>NodeMCU</td><td>&#8211;</td></tr><tr><td>1 х GPIO емуляції вихідних імпульсів GGreg20_V3</td><td>&#8211;</td><td>ESP12.OLED</td></tr><tr><td>3 х GPIO RGB світлодіода індикації вихідних імпульсів GGreg20_V3</td><td>&#8211;</td><td>ESP12.OLED</td></tr><tr><td>1х GPIO кнопки перемикання режимів роботи емулятора</td><td>&#8211;</td><td>ESP12.OLED</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Схема підключення</p>



<p class="wp-block-paragraph" id="block-c6b2cc85-b3fb-4407-a53a-677106212716">Щоб взаємодія головного контролера з емулятором модуля GGreg20_V3 виглядала реалістично, пропонуємо скористатися вбудованими властивостями певних портів вводу/виводу плати ESP12.OLED і обрати на контролері емулятора MCU_B наступні GPIO:</p>



<ul class="wp-block-list" id="block-f010198d-685b-4fee-b4d6-3e1d8f38aeb3"><li>для емуляції імпульсного виходу GGreg20_V3 рекомендуємо використовувати GPIO4 / D2 (GPIO D-index в Lua);</li><li>для перемикання режимів роботи емулятора ми можемо використати вбудовану на платі ESP12.OLED кнопку Flash &#8211; GPIO0 / D3;</li><li>вбудований RGB-світлодіод на модулі ESP12.OLED займає GPIO14 / D5; GPIO12 / D6; GPIO13 / D7.</li></ul>



<p class="wp-block-paragraph" id="block-2527070a-42a1-48e0-983b-6cfc16e216fc">На модулі головного контролера MCU_A, пропонуємо обрати наступний порт для лічильника вхідних імпульсів:</p>



<ul class="wp-block-list" id="block-c8feffc1-6e34-42d2-b70e-3b3631fb85fb"><li>GPIO14 / D5.</li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>Примітка 5</strong>. У якості довідкового матеріалу за нумерацією портів рекомендуємо наступні матеріали: </p><p>Стандарт планування та застосування пінів, розроблений alterstrategy.lab: <a href="https://alterstrategy.com/recommended-pin-use-standard/" target="_blank" rel="noopener">ttps://alterstrategy.com/recommended-pin-use-standard/</a> </p><p>Документація на прошивку NodeMCU: <a href="https://nodemcu.readthedocs.io/en/latest/modules/gpio/" target="_blank" rel="noopener">https://nodemcu.readthedocs.io/en/latest/modules/gpio/</a> </p><p>Документація на модуль ESP12.OLED на сайті: <a href="https://iot-devices.com.ua/en/product/esp12oled-universal-esp8266-mcuboard-oled-en/">https://iot-devices.com.ua/en/product/esp12oled-universal-esp8266-mcuboard-oled-en/</a> </p><p>та на Tindie: <a href="https://www.tindie.com/products/iotdev/esp12oled-universal-esp8266096oled-mcu-board/" target="_blank" rel="noopener">https://www.tindie.com/products/iotdev/esp12oled-universal-esp8266096oled-mcu-board/</a></p></blockquote>



<p class="wp-block-paragraph" id="block-0017d8d7-e663-4e4b-8d4e-d20072cdf305">Оновимо таблицю з урахуванням конкретних портів вводу/виводу, які ми обрали:</p>



<figure class="wp-block-table"><table><tbody><tr><td><br>﻿</td><td>Роль MCU_A</td><td>Роль MCU_B</td></tr><tr><td>1 х GPIO лічильника вхідних імпульсів</td><td>NodeMCU GPIO14/ D5</td><td>&#8211;</td></tr><tr><td>1 х GPIO емуляції вихідних імпульсів GGreg20_V3</td><td>&#8211;</td><td>ESP12.OLED GPIO4 / D2</td></tr><tr><td>3 х GPIO RGB світлодіода індикації вихідних імпульсів GGreg20_V3</td><td>&#8211;</td><td>ESP12.OLED GPIO14 / D5 GPIO12 / D6 GPIO13 / D7</td></tr><tr><td>1х GPIO кнопки перемикання режимів роботи емулятора</td><td>&#8211;</td><td>ESP12.OLED GPIO0 / D3</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">﻿</p>



<figure class="wp-block-image size-full" id="block-3e816c74-b488-4f9c-af8a-46e7b768c80c"><a href="https://iot-devices.com.ua/wp-content/uploads/2023/01/10-the-esp12.oled-geiger-counter-emulator-and-nodemcu-wiring-diagram.jpg"><img loading="lazy" decoding="async" width="960" height="540" src="https://iot-devices.com.ua/wp-content/uploads/2023/01/10-the-esp12.oled-geiger-counter-emulator-and-nodemcu-wiring-diagram.jpg" alt="" class="wp-image-2586" srcset="https://iot-devices.com.ua/wp-content/uploads/2023/01/10-the-esp12.oled-geiger-counter-emulator-and-nodemcu-wiring-diagram.jpg 960w, https://iot-devices.com.ua/wp-content/uploads/2023/01/10-the-esp12.oled-geiger-counter-emulator-and-nodemcu-wiring-diagram-300x169.jpg 300w, https://iot-devices.com.ua/wp-content/uploads/2023/01/10-the-esp12.oled-geiger-counter-emulator-and-nodemcu-wiring-diagram-768x432.jpg 768w, https://iot-devices.com.ua/wp-content/uploads/2023/01/10-the-esp12.oled-geiger-counter-emulator-and-nodemcu-wiring-diagram-800x450.jpg 800w, https://iot-devices.com.ua/wp-content/uploads/2023/01/10-the-esp12.oled-geiger-counter-emulator-and-nodemcu-wiring-diagram-454x255.jpg 454w" sizes="(max-width: 960px) 100vw, 960px" /></a><figcaption>Рис. Підключення модулів з використанням двох апаратних контролерів ESP8266. У ролі MCU_B &#8211; модуль ESP12.OLED. У ролі MCU_A &#8211; модуль NodeMCU</figcaption></figure>



<h2 class="wp-block-heading" id="block-cb422977-8184-4a88-9c04-66d8e4c95e9d"><br>Режими роботи емулятора</h2>



<p class="wp-block-paragraph" id="block-4228e826-79a4-4376-aad4-045e96815dc7">Для того, щоб наш емулятор лічильника Гейгера GGreg20_V3 міг імітувати роботу в умовах різного рівня радіації пропонуємо реалізувати можливість перемикати діапазон потужності випромінювання, який начебто вимірюється пристроєм і подається на імпульсний вихід.</p>



<p class="wp-block-paragraph" id="block-4e0350bb-494c-480f-b831-a6e3d0c4b3ce">Натискаючи кнопку Flash (D3), користувач може поперемінно перемикати режими, щоб вибрати необхідний.</p>



<p class="wp-block-paragraph" id="block-8566cf3a-6d34-494a-a1c4-9783454ba6ad">Для зручності користування емулятором RGB-світлодіод модуля ESP12.OLED блимає різними кольорами, які легко розрізняються людським оком. За кожним режимом роботи емулятора закріплено свій колір. Тож коли емулятор видає на імпульсний вихід сигнал про вдаване “спрацювання”, світлодіод також буде блимати кольором поточного режиму роботи.</p>



<h2 class="wp-block-heading" id="block-63c378b0-b723-4c14-a913-697192337a31">Діапазони рівня радіації</h2>



<p class="wp-block-paragraph" id="block-d791023e-f3f0-4cb0-a8d6-56b4f2d848c6">Пропонуємо реалізувати емуляцію наступних діапазонів радіаційного випромінювання оточуючого середовища, яке буде імітувати MCU_B:</p>



<p class="wp-block-paragraph" id="block-b19d8848-2821-488d-9731-af30f8d6a932">Режим 0. Немає імпульсів (імітація помилки сенсора);</p>



<p class="wp-block-paragraph" id="block-b78e9cf4-f0ce-4bb5-a037-2e465dbc7279">Режим 1. Природне фонове випромінювання: 0.1 &#8211; 0.2 мкЗв/год;</p>



<p class="wp-block-paragraph" id="block-fcdb4d5e-1a51-47d4-b7eb-656d53f9f600">Режим 2. Припустимий рівень: 0.2 &#8211; 0.3 мкЗв/год;</p>



<p class="wp-block-paragraph" id="block-2b79a053-b8bb-4548-ad17-d8f31bb58219">Режим 3. Підвищений рівень: 0.3 &#8211; 0.6 мкЗв/год;</p>



<p class="wp-block-paragraph" id="block-555eda96-59ee-425b-b6bb-29b4d1775ecf">Режим 4. Небезпечний рівень: 0.6 мкЗв/год &#8211; 1.5 мкЗв/год.</p>



<p class="wp-block-paragraph" id="block-636beefb-1875-4800-b434-371a282b0432">За замовчуванням модуль буде стартувати після подачі живлення з “Режиму 1”. Цей режим ми обрали як початковий лише через те, що це зручно, коли подавши живлення ми одразу отримуємо імпульси на рівні фонового випромінювання.</p>



<p class="wp-block-paragraph" id="block-e688333a-52ff-469c-b8f4-9f9559f976a6">Реальний модуль GGreg20_V3 оснащено трубкою Гейгера радянського виробництва СБМ-20. Ця трубка має наступний коефіцієнт перерахунку імпульсів на хвилину у мікрозіверти на годину:</p>



<p class="has-text-align-center wp-block-paragraph" id="block-57d145ae-f971-436c-9dc2-ea5b1f3946aa">мкЗв на годину = CPM * 0.0057</p>



<p class="wp-block-paragraph" id="block-5f2d88d1-fa2a-4c1c-b998-6c2d35b5188d">Виконаємо обернену операцію, щоб розрахувати для діапазонів радіації відповідну вилку кількості імпульсів на годину, які мав би генерувати емулятор, працюючи у певному режимі:</p>



<p class="has-text-align-center wp-block-paragraph" id="block-1a1a2729-0148-4991-a7c5-b8d7190e5969">CPM = мкЗв на годину / 0.0057</p>



<p class="wp-block-paragraph" id="block-939c0593-7e19-41fe-940b-0d34f5a5af24">Робимо приблизний розрахунок таким чином, щоб утворити діапазони потужності, що не перетинаються за значенням:</p>



<p class="wp-block-paragraph" id="block-a0935c72-ddee-4500-92dd-caa443833e00">Режим 0. 0 CPM;</p>



<p class="wp-block-paragraph" id="block-bfbf37c0-e77a-40bb-a524-aecffb2f5ffc">Режим 1. від 18 CPM до 35 CPM;</p>



<p class="wp-block-paragraph" id="block-9b5a7549-1217-4a21-862e-6123d5f1fcc0">Режим 2. від 36 CPM до 52 CPM;</p>



<p class="wp-block-paragraph" id="block-a28b6f7b-2535-426d-97c5-289e31330abe">Режим 3. від 53 CPM до 105 CPM;</p>



<p class="wp-block-paragraph" id="block-4d52fbd2-bff2-4f66-b1a7-44a17677efb3">Режим 4. від 106 CPM до 264 CPM.</p>



<p class="wp-block-paragraph" id="block-0761ad79-1104-4eb4-8586-2b413119bad9">Співвіднесення кольору спалахів RGB-світлодіода певному режиму роботи є наступним:</p>



<figure class="wp-block-table"><table><tbody><tr><td><strong>Режим роботи</strong></td><td><strong>Колір спалахів</strong></td><td><strong>R</strong></td><td><strong>G</strong></td><td><strong>B</strong></td></tr><tr><td>Режим 0</td><td>немає спалахів black</td><td>0</td><td>0</td><td>0</td></tr><tr><td>Режим 1</td><td>cyan</td><td>0</td><td>1</td><td>1</td></tr><tr><td>Режим 2</td><td>green</td><td>0</td><td>1</td><td>0</td></tr><tr><td>Режим 3</td><td>red</td><td>1</td><td>0</td><td>0</td></tr><tr><td>Режим 4</td><td>magenta</td><td>1</td><td>0</td><td>1</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Тепер нам лишається написати відповідний програмний Lua-код для ролі MCU_A та для ролі MCU_B.</p>



<h2 class="wp-block-heading" id="block-f6fa38ba-c4f6-4484-9e32-cb4c380574d4"><strong>Приклад</strong>. Код лічильника Гейгера для головного контролера (роль MCU_A)</h2>



<p class="wp-block-paragraph" id="block-923bc983-837f-4384-9148-96385e6b3e3b">Ми візьмемо цей код з GitHub за наступною адресою:</p>



<p class="wp-block-paragraph"><a href="https://github.com/iotdevicesdev/ggreg20-v3-nodemcu-lua-example" target="_blank" rel="noopener">https://github.com/iotdevicesdev/ggreg20-v3-nodemcu-lua-example</a></p>



<p class="wp-block-paragraph" id="block-0979654a-2651-4027-abcd-2ff33ce599d4">Код з GitHub повністю готовий до застосування. Щоб запускати код з GitHub, треба його скачати з інтернет і завантажити у контролер, наприклад у модуль NodeMCU, як у нашому випадку. Також необхідно написати ще один Lua-скрипт і його теж завантажити у контролер:</p>



<pre class="wp-block-code"><code>-- filename: mcu_a.lua
-- MCU_A Lua code example
-- Copyright 2022 IoT-devices LLC, Kyiv, Ukraine
dofile('ggreg20_v3_nodemcu_firmware_lua_example.lua')
init(5, 1, 60000)

function snsrUpd()
ma5_rad_lvl, cpm, minutes = read()
print(ma5_rad_lvl, cpm, minutes)
end

snsrUpd_tmr = tmr.create()
snsrUpd_tmr:register(60000, tmr.ALARM_AUTO, function() snsrUpd() end)
snsrUpd_tmr:start()</code></pre>



<h2 class="wp-block-heading" id="block-245d7efc-1d20-42e3-b2d1-14d29e6b7cb1"><strong>Приклад</strong>. Код для емулятора модуля GGreg20_V3 (роль MCU_B)</h2>



<p class="wp-block-paragraph" id="block-6f398d6f-0323-4900-81bf-fb082b4bb006">Документація на мову Lua нам підказує, що у швидкісних задачах необхідно робити перепризначення глобальних ідентифікаторів на локальні, що додає швидкості виконання у десятки разів. Тому ми це зробимо у такий спосіб:</p>



<pre class="wp-block-code"><code>local gpio = gpio
local mode = gpio.mode
local trig = gpio.trig
local write = gpio.write
local read = gpio.read
local INT = gpio.INT
local OUTPUT = gpio.OUTPUT
local FLOAT = gpio.FLOAT
local HIGH = gpio.HIGH
local LOW = gpio.LOW
local PULLUP = gpio.PULLUP
local print = print

local tmr = tmr
local create = tmr.create
local now = tmr.now
local delay = tmr.delay
local alarm = tmr.alarm
local ALARM_SINGLE = tmr.ALARM_SINGLE
local ALARM_SEMI = tmr.ALARM_SEMI
local ALARM_AUTO = tmr.ALARM_AUTO
local register = tmr.register
local start = tmr.start
local stop = tmr.stop

local node = node
local heap = node.heap
local random = node.random</code></pre>



<p class="wp-block-paragraph" id="block-02068264-0668-452a-a175-d7f2197ecf05">Також нам необхідно налаштувати GPIO, які у нас будуть відповідати за свої функції (див. вище):</p>



<pre class="wp-block-code"><code>mode(3,INT,FLOAT)
mode(4,OUTPUT, PULLUP)
write(4, HIGH)</code></pre>



<p class="wp-block-paragraph" id="block-67fa4fe3-dab6-44c3-b317-89d685a65809">Щоб генерувати імпульси, які імітують вихідний інтерфейс GGreg20_V3, нам потрібно випадковим чином запускати ось таку функцію:</p>



<pre class="wp-block-code"><code>local function pulseOut()
	write(4, LOW)
	delay(10)
	write(4, HIGH)
end</code></pre>



<p class="wp-block-paragraph" id="block-76bde581-ad02-443e-9b0e-1b0b5a802151">Але щоб у повній мірі забезпечити емуляцію лічильника Гейгера, нам недостатньо просто запустити <code>pulseOut()</code> визначену кількість разів на хвилину. Насправді все складніше, і нам необхідно таким чином запускати <code>pulseOut()</code>, щоб виконувалася справжня випадковість виникнення імпульсів на виході ESP8266.</p>



<p class="wp-block-paragraph" id="block-45dc16f8-88b4-48cc-b315-92da5ffdc8af">Зважаючи на широкі можливості платформи, можна було б запропонувати навіть декілька способів реалізації цієї функціональності, але ми обмежимося лише одним з них &#8211; тим, що на наш погляд максимально відтворює випадковість імпульсів реального модуля лічильника Гейгера.</p>



<p class="wp-block-paragraph" id="block-0b0c2c3e-e7e7-4aaf-a30c-395557aa8674">Для цього нам знадобиться скористатися генератором випадкових чисел, який відповідно до документації на прошивку NodeMCU здатен генерувати справжні випадкові числа. У прошивці для цього ми маємо готовий метод <code>node.random().</code></p>



<p class="wp-block-paragraph" id="block-c0c54a29-d8c5-4824-896e-cc3ce2eae785">Щоб хаотично розподілити обрану кількість імпульсів в межах однієї хвилини скористаємося таймерами, які можливо створювати у теоретично необмеженій кількості:</p>



<pre class="wp-block-code"><code>create():alarm(timer timeout, timer type, callback function)</code></pre>



<p class="wp-block-paragraph" id="block-a4766066-59e9-40ea-9b6e-8cfbb48c83e8">Єдиним обмеженням є кількість вільної оперативної пам’яті контролера. Експериментально ми встановили, що у такий спосіб без проблем можливо створювати близько 260 імпульсів на хвилину, що вкладається у наші вимоги до максимального рівня віртуальної радіації, яку може відтворити наш емулятор.</p>



<p class="wp-block-paragraph" id="block-cc004032-5661-4186-9c8c-e28b279f3726">Тож функція, яка у циклі створює випадкові таймаути запуску <code>pulseOut(),</code> має наступний вигляд:</p>



<pre class="wp-block-code"><code>local t_start = 0
local count = 0
local function randGen(pulses)
	for i = 1, pulses do -- pulses
			create():alarm(random(60000), ALARM_SINGLE, 
				function()
						print(heap(), count, i, (now() - t_start)/1000000)
						pulseOut()
				end
			)
	end
end</code></pre>



<p class="wp-block-paragraph" id="block-2b32df03-eab1-4d84-b60f-00e71a4c3ead">Працюючи у парі, розроблені нами функції <code>randGen(<em>pulses</em>)</code> та <code>pulseOut()</code> створюють необхідну нам кількість абсолютно випадкових імпульсів на виході ESP8266 тривалістю 10 мікросекунд кожен в межах однієї хвилини.</p>



<p class="wp-block-paragraph" id="block-70e9c748-19dd-4028-bbb7-5fe1f0280797">Кількість імпульсів на хвилину задаємо за допомогою параметра <em><code>pulses</code></em>.</p>



<p class="wp-block-paragraph" id="block-4a90ceb2-c169-4711-9d49-5b43bb34435e">Для того, щоб емулятор працював у різних режимах потужності удаваної радіації необхідно забезпечити випадкове значення кількості імпульсів <code><em>pulses</em>,</code> що потрапляє як завдання на вхід функції <code>randGen().</code> Це можна зробити наступним чином:</p>



<pre class="wp-block-code"><code>radMode = 1
rand_tmr = create()
rand_tmr:register(1000, ALARM_AUTO, 
	function()
		if radMode == 0 and running == 0 then 
			print(heap(), 'Mode0:Snsr Err emu')
			return 0
		end
		local num = 0
		if radMode == 1 then 
			num = random(math.ceil(18),math.ceil(35))
		elseif radMode == 2 then
			num = random(math.ceil(36),math.ceil(52))
		elseif radMode == 3 then
			num = random(math.ceil(53),math.ceil(105))
		elseif radMode == 4 then
			num = random(math.ceil(106),math.ceil(264))
		end
		if num ~= 0 then print('count:',count + 1,'mode:',radMode, 'num:',num); randGen(num) end
	end
)

rand_tmr:start()</code></pre>



<p class="wp-block-paragraph" id="block-e5b05b89-d43b-4a2d-8e18-2bffffe503be">Задаючи значення глобальної змінної <em><code>radMode</code></em>, користувач може задавати один з п’яти режимів потужності іонізуючого випромінювання, яке відтворює на виході емулятор.</p>



<p class="wp-block-paragraph" id="block-601d0a86-27e4-4066-a9a4-61d3770b1b94">Останнє, що нам необхідно передбачити у емуляторі, це перемикання режиму потужності радіації за допомогою вбудованої кнопки Flash / GPIO0 / D3:</p>



<pre class="wp-block-code"><code>trig(3, 'down', 
	function(lvl, ts, cnt)
		if radMode &lt; 4 then radMode = radMode + 1 else radMode = 0 end
		print ('New radMode:', radMode)
	end
)</code></pre>



<h3 class="wp-block-heading" id="block-1b688a62-cea2-48b8-811d-2e5cde4c87b1">Повний програмний код емулятора</h3>



<p class="wp-block-paragraph" id="block-be1e5721-a28c-4eb4-9552-eb301bf23577">Готового прикладу для цієї ролі контролера у нас немає, як було у випадку з головним контролером. Тож напишемо необхідний код з нуля. Ось мінімально необхідний код, який здатен виконувати емуляцію імпульсів лічильника Гейгера.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>Примітка 6.</strong> Наведений у даному розділі код є лише прикладом. Ви можете самостійно завантажити і налагодити роботу даного прикладу у власному емуляторі лічильника Гейгера, або придбати готовий до використання апаратний модуль з прошивкою та повнофункціональним програмним забезпеченням у нашому магазині чи на Tindie за наступними посиланнями:</p><p>Сайт: <a href="https://iot-devices.com.ua/product-uk/gcemu20_v1-geiger-counter-emulator/">GCcemu20_V1</a></p><p>Tindie: <a href="https://www.tindie.com/products/iotdev/gcemu20_v1-geiger-counter-emulator/" target="_blank" rel="noopener">GCcemu20_V1</a></p></blockquote>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>Увага!</strong> Код з лістингу прикладу має свої обмеження і суттєво відрізняється від того коду, який ми розробили для комерційного використання та продаємо у складі продукту емулятора на нашому сайті та інших комерційних майданчиках.</p></blockquote>



<pre class="wp-block-code"><code>-- filename: mcu_b.lua
-- MCU_B Lua code example
-- Copyright 2022 IoT-devices LLC, Kyiv, Ukraine
local t_start = 0
local count = 0
radMode = 0

local gpio = gpio
local mode = gpio.mode
local trig = gpio.trig
local write = gpio.write
local read = gpio.read
local INT = gpio.INT
local OUTPUT = gpio.OUTPUT
local FLOAT = gpio.FLOAT
local HIGH = gpio.HIGH
local LOW = gpio.LOW
local PULLUP = gpio.PULLUP
local print = print

local tmr = tmr
local create = tmr.create
local now = tmr.now
local delay = tmr.delay
local alarm = tmr.alarm
local ALARM_SINGLE = tmr.ALARM_SINGLE
local ALARM_SEMI = tmr.ALARM_SEMI
local ALARM_AUTO = tmr.ALARM_AUTO
local register = tmr.register
local start = tmr.start
local stop = tmr.stop

local node = node
local heap = node.heap
local random = node.random

mode(3,INT,FLOAT)
mode(4,OUTPUT, PULLUP)
write(4, HIGH)

local function pulseOut()
	write(4, LOW)
	delay(10)
	write(4, HIGH)
end

local function randGen(pulses)
	for i = 1, pulses do -- pulses
			create():alarm(random(60000), ALARM_SINGLE, 
				function()
						print(heap(), count, i, (now() - t_start)/1000000)
						pulseOut()
				end
			)
	end
end

rand_tmr = create()
rand_tmr:register(1000, ALARM_AUTO, 
	function()
		if radMode == 0 and running == 0 then 
			print(heap(), 'Mode0:Snsr Err emu')
			return 0
		end
		local num = 0
		if radMode == 1 then 
			num = random(math.ceil(18),math.ceil(35))
		elseif radMode == 2 then
			num = random(math.ceil(36),math.ceil(52))
		elseif radMode == 3 then
			num = random(math.ceil(53),math.ceil(105))
		elseif radMode == 4 then
			num = random(math.ceil(106),math.ceil(264))
		end
		if num ~= 0 then print('count:',count + 1,'mode:',radMode, 'num:',num); randGen(num) end
	end
)

rand_tmr:start()

trig(3, 'down', 
	function(lvl, ts, cnt)
		if radMode &lt; 4 then radMode = radMode + 1 else radMode = 0 end
		print ('New radMode:', radMode)
	end
)</code></pre>



<p class="wp-block-paragraph">Початок статті:  <a href="https://iot-devices.com.ua/geiger-counter-emulator-ggreg20_v3-module-by-means-of-esp8266-part1-ua/">Емулятор модуля лічильника Гейгера GGreg20_V3 засобами ESP8266: Частина 1. Вступ та загальний огляд </a></p>



<p class="wp-block-paragraph">Завершення статті за кілька днів у наступній публікації:<br>Емулятор модуля лічильника Гейгера GGreg20_V3 засобами ESP8266: Частина 3. Тестування та висновок</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Емулятор лічильника Гейгера GGreg20_V3 засобами ESP8266</title>
		<link>https://iot-devices.com.ua/geiger-counter-emulator-ggreg20_v3-module-by-means-of-esp8266-part1-ua/</link>
		
		<dc:creator><![CDATA[iot-guru]]></dc:creator>
		<pubDate>Mon, 27 Mar 2023 18:55:25 +0000</pubDate>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[Новини]]></category>
		<category><![CDATA[Тестування]]></category>
		<category><![CDATA[DIY]]></category>
		<category><![CDATA[emulator]]></category>
		<category><![CDATA[ESP12.OLED]]></category>
		<category><![CDATA[ESP8266]]></category>
		<category><![CDATA[Espressif]]></category>
		<category><![CDATA[Geiger]]></category>
		<category><![CDATA[geiger-counter]]></category>
		<category><![CDATA[GGreg20_V3]]></category>
		<category><![CDATA[GPIO]]></category>
		<category><![CDATA[iot]]></category>
		<category><![CDATA[LUA]]></category>
		<category><![CDATA[NodeMCU]]></category>
		<category><![CDATA[SBM20]]></category>
		<category><![CDATA[tindie]]></category>
		<category><![CDATA[unit test]]></category>
		<guid isPermaLink="false">https://iot-devices.com.ua/?p=2793</guid>

					<description><![CDATA[Ласкаво просимо до нашого посібника зі створення програмно-апаратного емулятора лічильника Гейгера GGreg20_V3 на базі ESP8266. Цей емулятор може бути корисним для тестування та налаштування лічильників Гейгера або у навчальних цілях. Давайте почнемо! Оновлено: Під час написання цієї статті, ми подумали і вирішили зробити окремий комерційний продукт &#8211; емулятор лічильника Гейгера GCemu20_V1. Частина 1: Вступ та [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Ласкаво просимо до нашого посібника зі створення програмно-апаратного емулятора лічильника Гейгера <a href="https://iot-devices.com.ua/product-uk/ggreg20_v3-ionizing-radiation-detector-with-geiger-tube-sbm-20/">GGreg20_V3</a> на базі ESP8266. Цей емулятор може бути корисним для тестування та налаштування лічильників Гейгера або у навчальних цілях. Давайте почнемо!</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>Оновлено:</strong> Під час написання цієї статті, ми подумали і вирішили зробити окремий комерційний продукт &#8211; емулятор лічильника Гейгера <a href="https://iot-devices.com.ua/product-uk/gcemu20_v1-geiger-counter-emulator/">GCemu20_V1</a>.</p></blockquote>



<h2 class="wp-block-heading">Частина 1: Вступ та загальний огляд</h2>



<p class="wp-block-paragraph">Загально відомо, що модуль Espressif ESP8266 має дуже якісний генератор випадкових чисел. Офіційні деталі щодо фактичної реалізації даного генератора нам знайти не вдалося, тож пропонуємо на цю тему подивитися матеріал, який було опубліковано радіоаматором і збережено в мережі інтернет:</p>



<p class="wp-block-paragraph"><a href="https://web.archive.org/web/20170321162556/http://esp8266-re.foogod.com/wiki/Random_Number_Generator" target="_blank" rel="noopener">https://web.archive.org/web/20170321162556/http://esp8266-re.foogod.com/wiki/Random_Number_Generator</a></p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>Увага</strong>. У тексті застосовується два різних поняття, які мають однакову назву. Так історично склалося, що на ринку існує апаратний модуль NodeMCU, а також програмна прошивка NodeMCU. </p><p>Прошивка NodeMCU &#8211; це компільована мікропрограма з відкритим вихідним кодом, яка може записуватися на апаратні модулі з контролером ESP8266 компанії Espressif. Одним з величезної кількості продуктів на базі контролера ESP8266, є апаратний модуль NodeMCU. </p><p>Тож програмну прошивку NodeMCU можливо записати на апаратний модуль NodeMCU. У тексті цієї статті ми намагаємося, де це можливо, вказувати, що саме мається на увазі поруч з назвою NodeMCU: модуль чи прошивка.</p></blockquote>



<h2 class="wp-block-heading"><a></a>Для чого потрібен емулятор лічильника Гейгера</h2>



<p class="wp-block-paragraph">Перш ніж розпочати побудову емулятора лічильника Гейгера, необхідно розглянути для чого ж і кому може бути потрібен такий програмно-апаратний комплекс.</p>



<p class="wp-block-paragraph">Головна ідея будь-якого емулятора в галузі DIY-електроніки полягає у тому, щоб під час розробки IoT-пристроїв або проведення експериментів чи навчання, замість реального модуля тимчасово на певних етапах використовувати віртуальний компонент-замінник, який дозволяє відтворювати роботу та характеристики реального пристрою з високою точністю. Емулятор має спростити та прискорити розробку, а також додати зручності на початкових етапах запланованого проекту чи виконання модульних тестів.</p>



<p class="wp-block-paragraph">Ось кілька думок, що розлого пояснюють мотиви, якими ми керувалися, коли задумали розробити емулятор модуля лічильника Гейгера GGreg20_V3.</p>



<h3 class="wp-block-heading">1. Немає високої напруги</h3>



<p class="wp-block-paragraph">Емулятор GGreg20_V3, на відміну від справжнього модуля, не має високої напруги на платі, тому його дуже зручно використовувати під час розробки на столі і не боятися випадкового ураження струмом.</p>



<p class="wp-block-paragraph">В той же час, з точки зору електричного інтерфейсу вихідних імпульсів, емулятор є повністю аналогічним модулем сенсора радіації, що генерує випадкові імпульси такої ж форми та тривалості, як і справжній GGreg20_V3.</p>



<h3 class="wp-block-heading">2. Спрощений навчальний процес</h3>



<p class="wp-block-paragraph">Емулятор лічильника Гейгера добре лягає у набір для навчальних закладів. Викладач може поступово поглиблювати практичні заняття з студентами.</p>



<p class="wp-block-paragraph">Спочатку всі роботи у класі можуть проводитися на безпечних і дешевих емуляторах лічильника Гейгера, а вже потім на реальних модулях з трубками Гейгера та високою напругою на боці трубки. Як у військових: ознайомлення та тренування спочатку проводиться на холостих, а вже з досвідом на бойових боєприпасах.</p>



<p class="wp-block-paragraph">Емулятор повністю відтворює результати роботи справжнього модуля GGreg20_V3, тому немає проблеми недостатньої кількості реальних модулів у класі і кожен учень зможе самостійно працювати зі своїм модулем і повністю пройти процес навчання без поділу на групи чи черги, як це зазвичай буває, коли ресурси навчальних приладів та стендів у лабораторії обмежені.</p>



<h3 class="wp-block-heading">3. Нижча вартість</h3>



<p class="wp-block-paragraph">Емулятор має нижчу вартість, ніж справжній модуль GGreg20_V3, тому його не так шкода застосовувати, у першу чергу, для налагодження та узгодження схеми або програмного забезпечення системи, що проектується чи вивчається.</p>



<p class="wp-block-paragraph">Роботи з налагодження стенду чи проекту з таким емулятором можуть виконуватися без залучення відповідно кваліфікованого персоналу.</p>



<p class="wp-block-paragraph">Якщо емулятором користуються студенти, то викладач може не здійснювати особливого нагляду за роботою з приладами, як це буде необхідно робити з реальним модулем лічильника Гейгера.</p>



<p class="wp-block-paragraph">Емулятор, маючи низьку вартість, може закуповуватися у великих кількостях і видаватися студентам на весь час навчання, а не лише на час роботи у лабораторії навчального закладу.</p>



<h3 class="wp-block-heading">4. Справжнє джерело радіації не потрібне</h3>



<p class="wp-block-paragraph">Коли ми працюємо зі справжнім GGreg20_V3, нам потрібно мати справжнє джерело радіації, щоб відтворити різні ситуації, які необхідно передбачити у програмному забезпеченні системи вимірювання, що проектується або тестується. Щоб придбати тестове джерело радіації, радіоаматору потрібно заздалегідь вирішити низку завдань:</p>



<ul class="wp-block-list"><li>визначитися за фізико-хімічними параметрами, яке саме джерело потрібне;</li><li>знайти постачальника та придбати тестове джерело;</li><li>для деяких країн вимагається попередити митні служби і отримати дозвіл на ввіз через кордон;</li><li>тестове джерело може бути лише певної потужності;</li><li>потрібно правильно зберігати та утилізовувати такі інструменти, як радіоактивне джерело;</li><li>вартість справжнього джерела радіації та системи зберігання перевищує в рази вартість лічильника Гейгера.</li></ul>



<p class="wp-block-paragraph">З емулятором жодної з цих проблем не буде. Прилад вміє імітувати 5 різних режимів потужності іонізуючого випромінювання. Емулятор лічильника Гейгера створює вихідні імпульси аналогічні імпульсам справжнього модуля GGreg20_V3 у діапазоні від 0 до 1.5 мкЗв/год (якщо брати за аналогічний еталон трубку СБМ-20). На виході генеруються хаотичні (із застосуванням генератора справжніх випадкових чисел ESP8266) імпульси однакової амплітуди з тривалістю повного періоду імпульсу 10 мікросекунд кожен.</p>



<h3 class="wp-block-heading">5. Ресурс емулятора не виснажується</h3>



<p class="wp-block-paragraph">Трубка СБМ-20, яку встановлено у GGreg20_V3, має відносно великий, але все ж таки обмежений ресурс частинок, які вона може детектувати за своє життя.</p>



<p class="wp-block-paragraph">Заявлений у документації ресурс трубки СБМ-20 складає не менше 2*10<sup>10</sup> імпульсів.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>Примітка 1</strong>. За фонового випромінювання 0.15 мкЗв/год з коефіцієнтом 0.0057 трубка СБМ-20 детектувати близько 27 імпульсів на хвилину.</p></blockquote>



<p class="wp-block-paragraph">Таким чином, за нормальних умов ресурсу трубки вистачить на 2*10<sup>10</sup> / (27 * 60 * 24) = 20 000 000 000 / (26 * 60 * 24) = 514403 днів. І здавалося б, що це цілком достатній потенційний строк експлуатації однієї трубки.</p>



<p class="wp-block-paragraph">Зовсім інша картина спостерігається, коли йдеться про експлуатацію трубки з тестовим джерелом радіації.</p>



<p class="wp-block-paragraph">Наведемо приклад:</p>



<p class="wp-block-paragraph">На своєму сайті компанія Images Scientific Instruments наводить перелік дозволених до ввозу граничних рівнів радіоактивного випромінювання для тестових джерел:</p>



<p class="wp-block-paragraph"><a href="https://www.imagesco.com/geiger/radioactive-sources-int.html" target="_blank" rel="noopener">https://www.imagesco.com/geiger/radioactive-sources-int.html</a></p>



<p class="wp-block-paragraph">Візьмемо два джерела з наведеного за посиланням переліку:</p>



<ol class="wp-block-list"><li>Co-60 1.00 uCi, 37000 Bq;</li><li>Cs-137 0.25 uCi, 9250 Bq;</li></ol>



<p class="wp-block-paragraph">Якщо припустити, що під впливом такого тестового джерела половина частинок від радіоактивних розпадів потрапляють у трубку Гейгера СБМ-20, то ресурс такої трубки складе:</p>



<ol class="wp-block-list"><li>20 000 000 000 / (37000 / 2 * 60 * 60 * 24) = 12 днів (для Co-60);</li><li>20 000 000 000 / (9250 / 2 * 60 * 60 * 24) = 50 днів (для Cs-137).</li></ol>



<p class="wp-block-paragraph">Як можемо бачити, якщо ми хочемо ставити експерименти (чи тестувати свої пристрої, у складі яких є лічильник Гейгера) на реальній трубці, то ми виснажуємо її наявний ресурс реальним джерелом радіації досить швидко.</p>



<p class="wp-block-paragraph">З емулятором такої проблеми немає. Застосовувати спочатку емулятор замість трубки економічно доцільно.</p>



<h3 class="wp-block-heading"> 6. Дані налагодження в UART</h3>



<p class="wp-block-paragraph">Емулятор модуля GGreg20_V3 у процесі своєї роботи виводить у порт UART-консолі оперативні дані своєї роботи (імпульси, час, кількість, цикли і т.п.), які за необхідності може реєструвати і обробляти студент, розробник чи радіоаматор щоб навчатися, або порівнювати з вимірами своєї системи, яка тестується чи розробляється.</p>



<p class="wp-block-paragraph">Такої вбудованої можливості у справжнього модуля GGreg20_V3 та аналогічних модулів інших виробників немає і не може бути.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>Примітка 2</strong>. Для підключення до UART-консолі, модуль <a href="https://iot-devices.com.ua/product-uk/esp12-oled-komplekt-2-kontroler-iot-bez-displeya-na-osnovi-esp8266-12f/">ESP12.OLED</a>, на якому базується емулятор GGreg20_V3, має на друкованій платі окремо виведені лінії інтерфейсу UART (отвори з кроком 2.54 мм під пайку). Для підключення емулятора до комп’ютера користувачеві додатково потрібно мати власний перетворювач USB-UART. Далі у тексті буде наведено схему підключення.</p></blockquote>



<p class="wp-block-paragraph">Продовження статті у наступних публікаціях:<br><a href="https://iot-devices.com.ua/geiger-counter-emulator-ggreg20_v3-module-by-means-of-esp8266-part2-ua/">Емулятор модуля лічильника Гейгера GGreg20_V3 засобами ESP8266 Частина 2 Створення емулятора</a><br>Емулятор модуля лічильника Гейгера GGreg20_V3 засобами ESP8266 Частина 3: Тестування та висновок</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Лічильник Гейгера своїми руками: схема підключення GGreg20_V3 та ESP12.OLED  (Технічна примітка)</title>
		<link>https://iot-devices.com.ua/diy_geiger_counter_ggreg20_v3_and_esp12-oled_wiring_diagram_uk/</link>
		
		<dc:creator><![CDATA[iot-guru]]></dc:creator>
		<pubDate>Wed, 03 Aug 2022 10:45:56 +0000</pubDate>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[DIY]]></category>
		<category><![CDATA[esp12.oled_v1]]></category>
		<category><![CDATA[ESP8266]]></category>
		<category><![CDATA[geiger-counter]]></category>
		<category><![CDATA[GGreg20_V3]]></category>
		<category><![CDATA[radiation counter]]></category>
		<category><![CDATA[SBM20]]></category>
		<category><![CDATA[technical-note]]></category>
		<category><![CDATA[UART]]></category>
		<category><![CDATA[wiring]]></category>
		<guid isPermaLink="false">https://iot-devices.com.ua/?p=2231</guid>

					<description><![CDATA[Звільнення від відповідальності Компанія IoT-devices, LLC не несе жодної відповідальності за можливу пряму чи опосередковану шкоду чи витрати, які може понести будь-хто у процесі використання електронних модулів чи виконання даних інструкцій. Це лише поради які враховують досвід та кращі практики поводження з електронними системами.&#160; Користувачі та читачі мають дотримуватися здорового глузду, а головне дотримуватися правил [&#8230;]]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image size-large"><a href="https://iot-devices.com.ua/wp-content/uploads/2022/07/foto1-esp12oled-esp8266-ggreg20v3.jpg"><img loading="lazy" decoding="async" width="1024" height="768" src="https://iot-devices.com.ua/wp-content/uploads/2022/07/foto1-esp12oled-esp8266-ggreg20v3-1024x768.jpg" alt="" class="wp-image-2165" srcset="https://iot-devices.com.ua/wp-content/uploads/2022/07/foto1-esp12oled-esp8266-ggreg20v3-1024x768.jpg 1024w, https://iot-devices.com.ua/wp-content/uploads/2022/07/foto1-esp12oled-esp8266-ggreg20v3-300x225.jpg 300w, https://iot-devices.com.ua/wp-content/uploads/2022/07/foto1-esp12oled-esp8266-ggreg20v3-768x576.jpg 768w, https://iot-devices.com.ua/wp-content/uploads/2022/07/foto1-esp12oled-esp8266-ggreg20v3-1536x1152.jpg 1536w, https://iot-devices.com.ua/wp-content/uploads/2022/07/foto1-esp12oled-esp8266-ggreg20v3-454x341.jpg 454w, https://iot-devices.com.ua/wp-content/uploads/2022/07/foto1-esp12oled-esp8266-ggreg20v3.jpg 1600w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<h2 class="wp-block-heading">Звільнення від відповідальності</h2>



<p class="wp-block-paragraph">Компанія IoT-devices, LLC не несе жодної відповідальності за можливу пряму чи опосередковану шкоду чи витрати, які може понести будь-хто у процесі використання електронних модулів чи виконання даних інструкцій. Це лише поради які враховують досвід та кращі практики поводження з електронними системами.&nbsp;</p>



<p class="wp-block-paragraph">Користувачі та читачі мають дотримуватися здорового глузду, а головне дотримуватися правил поводження з електричними установками та виконувати місцеве законодавство, яке може встановлювати вимоги до процедури кваліфікованого виконання робіт з підключення електронних компонентів один до одного.</p>



<hr class="wp-block-separator is-style-wide"/>



<p class="has-text-align-left wp-block-paragraph">Цей документ до уваги тих користувачів, хто збирається підключити два модулі GGreg20_V3 та ESP12.OLED разом.</p>



<p class="wp-block-paragraph">Документ містить діаграму підключення на якій зокрема показано&nbsp;</p>



<ul class="wp-block-list"><li>всі необхідні інтерфейсні сигнали та порти, які потрібно з&#8217;єднати, включаючи схему забезпечення живлення модулів.&nbsp;</li><li>Також діаграма містить дані про підключення перетворювача USB-UART для можливості програмування та/чи прошивки модуля ESP8266-12F, вбудованого на платі ESP12.OLED.</li></ul>



<figure class="wp-block-image size-full"><a href="https://iot-devices.com.ua/wp-content/uploads/2022/08/the-ggreg20_v3-and-esp12.oled-wiring-diagram.jpg"><img loading="lazy" decoding="async" width="960" height="540" src="https://iot-devices.com.ua/wp-content/uploads/2022/08/the-ggreg20_v3-and-esp12.oled-wiring-diagram.jpg" alt="" class="wp-image-2236" srcset="https://iot-devices.com.ua/wp-content/uploads/2022/08/the-ggreg20_v3-and-esp12.oled-wiring-diagram.jpg 960w, https://iot-devices.com.ua/wp-content/uploads/2022/08/the-ggreg20_v3-and-esp12.oled-wiring-diagram-300x169.jpg 300w, https://iot-devices.com.ua/wp-content/uploads/2022/08/the-ggreg20_v3-and-esp12.oled-wiring-diagram-768x432.jpg 768w, https://iot-devices.com.ua/wp-content/uploads/2022/08/the-ggreg20_v3-and-esp12.oled-wiring-diagram-800x450.jpg 800w, https://iot-devices.com.ua/wp-content/uploads/2022/08/the-ggreg20_v3-and-esp12.oled-wiring-diagram-454x255.jpg 454w" sizes="(max-width: 960px) 100vw, 960px" /></a><figcaption>Рис. Діаграма підключення GGreg20_V3 та ESP12.OLED</figcaption></figure>



<p class="wp-block-paragraph">Зверніть увагу, що деякі інтерфейсні сигнали позначено на схемі NC, тобто вони не підключаються.&nbsp;</p>



<p class="wp-block-paragraph">Це особливо важливо, коли йдеться про підключення USB-UART адаптера: згідно схеми, ланцюги живлення адаптера (+5В та +3.3В) підключати до модуля ESP12.OLED заборонено!</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>ВАЖЛИВО</strong>! Неправильне підключення, або порушення схеми підключення може призвести до виникнення зустрічного струму. Це може призвести до пошкодження обладнання.</p></blockquote>



<p class="wp-block-paragraph">Сторінки продукту GGreg20_V3:</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-electronics-manufacturer-for-iot wp-block-embed-electronics-manufacturer-for-iot"><div class="wp-block-embed__wrapper">
<div class="oceanwp-oembed-wrap clr"><blockquote class="wp-embedded-content" data-secret="QYZ6IJKduU"><a href="https://iot-devices.com.ua/product-uk/ggreg20_v3-ionizing-radiation-detector-with-geiger-tube-sbm-20/">Детектор радіоактивних частинок GGreg20_V3 з трубкою Гейгера СБМ-20</a></blockquote><iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="&#8220;Детектор радіоактивних частинок GGreg20_V3 з трубкою Гейгера СБМ-20&#8221; &#8212; Electronics manufacturer for IoT" src="https://iot-devices.com.ua/product-uk/ggreg20_v3-ionizing-radiation-detector-with-geiger-tube-sbm-20/embed/#?secret=tM7EX56cwf#?secret=QYZ6IJKduU" data-secret="QYZ6IJKduU" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe></div>
</div></figure>



<p class="wp-block-paragraph"><a href="https://www.tindie.com/products/iotdev/ggreg20_v3-ionizing-radiation-detector/" target="_blank" rel="noopener">https://www.tindie.com/products/iotdev/ggreg20_v3-ionizing-radiation-detector/</a></p>



<p class="wp-block-paragraph">Сторінки продукту ESP12.OLED:</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-electronics-manufacturer-for-iot wp-block-embed-electronics-manufacturer-for-iot"><div class="wp-block-embed__wrapper">
<div class="oceanwp-oembed-wrap clr"><blockquote class="wp-embedded-content" data-secret="PFhwAYxpgg"><a href="https://iot-devices.com.ua/product-uk/esp12oled-universal-esp8266-mcuboard-oled/">ESP12.OLED &#8211; універсальний ESP8266 MCU контролер з 0.96&#8243;OLED</a></blockquote><iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="&#8220;ESP12.OLED &#8211; універсальний ESP8266 MCU контролер з 0.96&#8243;OLED&#8221; &#8212; Electronics manufacturer for IoT" src="https://iot-devices.com.ua/product-uk/esp12oled-universal-esp8266-mcuboard-oled/embed/#?secret=Dz5PVnCTZ7#?secret=PFhwAYxpgg" data-secret="PFhwAYxpgg" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe></div>
</div></figure>



<p class="wp-block-paragraph"><a href="https://www.tindie.com/products/iotdev/esp12oled-universal-esp8266096oled-mcu-board/" target="_blank" rel="noopener">https://www.tindie.com/products/iotdev/esp12oled-universal-esp8266096oled-mcu-board/</a></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Чому ми не додали інтерфейс I2C у модуль GGreg20_V3</title>
		<link>https://iot-devices.com.ua/why-we-didnt-add-the-i2c-interface-to-the-ggreg20_v3-module-uk/</link>
		
		<dc:creator><![CDATA[iot-guru]]></dc:creator>
		<pubDate>Sat, 28 May 2022 19:24:07 +0000</pubDate>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[Тестування]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[ESP-IDF]]></category>
		<category><![CDATA[ESPHome]]></category>
		<category><![CDATA[Espressif]]></category>
		<category><![CDATA[Geiger]]></category>
		<category><![CDATA[Geiger-Counter-Device]]></category>
		<category><![CDATA[GGreg20_V3]]></category>
		<category><![CDATA[GPIO]]></category>
		<category><![CDATA[Home Assistant]]></category>
		<category><![CDATA[I2C]]></category>
		<category><![CDATA[ionizing radiation]]></category>
		<category><![CDATA[IoT-devices]]></category>
		<category><![CDATA[ISR]]></category>
		<category><![CDATA[LUA]]></category>
		<category><![CDATA[MicroPython]]></category>
		<category><![CDATA[NodeMCU]]></category>
		<category><![CDATA[Pulse-Counter]]></category>
		<category><![CDATA[SBM20]]></category>
		<category><![CDATA[STM32]]></category>
		<category><![CDATA[Tasmota]]></category>
		<guid isPermaLink="false">https://iot-devices.com.ua/?p=1993</guid>

					<description><![CDATA[І дійсно, чому б не додати на модуль такий зручний інтерфейс? Пропонуємо до вашої уваги наш черговий матеріал, де ми цього разу розмірковуємо про переваги та недоліки оснащення модуля детектора іонізуючої радіації GGreg20_V3 інтерфейсом I2C. Одразу зазначимо, що серед інших інтерфейсів передачі даних нам дуже подобається послідовна шина I2C за її простоту, функціональність та надійність [&#8230;]]]></description>
										<content:encoded><![CDATA[
<div class="wp-block-image"><figure class="aligncenter size-large"><a href="https://iot-devices.com.ua/wp-content/uploads/2022/05/6-ggreg20_v3_iot-deviceslogo_i2c_publpic_ukr.png"><img loading="lazy" decoding="async" width="1024" height="683" src="https://iot-devices.com.ua/wp-content/uploads/2022/05/6-ggreg20_v3_iot-deviceslogo_i2c_publpic_ukr-1024x683.png" alt="GGreg20_V3, I2C" class="wp-image-2021" srcset="https://iot-devices.com.ua/wp-content/uploads/2022/05/6-ggreg20_v3_iot-deviceslogo_i2c_publpic_ukr-1024x683.png 1024w, https://iot-devices.com.ua/wp-content/uploads/2022/05/6-ggreg20_v3_iot-deviceslogo_i2c_publpic_ukr-300x200.png 300w, https://iot-devices.com.ua/wp-content/uploads/2022/05/6-ggreg20_v3_iot-deviceslogo_i2c_publpic_ukr-768x512.png 768w, https://iot-devices.com.ua/wp-content/uploads/2022/05/6-ggreg20_v3_iot-deviceslogo_i2c_publpic_ukr-454x303.png 454w, https://iot-devices.com.ua/wp-content/uploads/2022/05/6-ggreg20_v3_iot-deviceslogo_i2c_publpic_ukr.png 1500w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure></div>



<p class="wp-block-paragraph">І дійсно, чому б не додати на модуль такий зручний інтерфейс? Пропонуємо до вашої уваги наш черговий матеріал, де ми цього разу розмірковуємо про переваги та недоліки оснащення модуля детектора іонізуючої радіації GGreg20_V3 інтерфейсом I2C. </p>



<p class="wp-block-paragraph">Одразу зазначимо, що серед інших інтерфейсів передачі даних нам дуже подобається послідовна шина I2C за її простоту, функціональність та надійність роботи. Ви можете ознайомитися з іншими публікаціями, де ми розглядаємо цю чудову шину: <br><a href="https://iot-devices.com.ua/how-to-choose-the-right-i2c-chips-ukr/">Як правильно вибрати I2C чіпи. Або про приховану програмну проблему вибору<br>апаратних модулів</a> / <a href="https://iot-devices.com.ua/en/how-to-choose-the-right-i2c-chips-en/">How to choose the right I2C chips. Or the hidden software problem of<br>choosing hardware modules</a></p>



<p class="wp-block-paragraph"><a href="https://iot-devices.com.ua/application-of-i2c-bus-interface-splitter/">Application of I2C bus interface splitter</a> </p>



<p class="wp-block-paragraph">Втім, під час роботи над GGreg20_V3 нашою метою було і є забезпечити якомога ширшу сумісність цього нашого продукту з різними системами.</p>



<p class="wp-block-paragraph">Ось подивіться:</p>



<p class="wp-block-paragraph"><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-green-cyan-color">(1)</mark></strong> Коли  якийсь модуль чи мікросхема має інтерфейс комунікації I2C (чи SPI, UART), це автоматично вимагає написати для такого пристрою низькорівневий драйвер-коннектор.</p>



<p class="wp-block-paragraph"><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-green-cyan-color">(2)</mark></strong> Також такий пристрій взагалі не може інтегруватися з іншими компонентами, які заздалегідь не підтримують певний інтерфейс обміну даними чи керування, як-от I2C. Буває купа проектів, у яких немає I2C, або ж під шину I2C не вистачає вільних GPIO.</p>



<p class="wp-block-paragraph"><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-green-cyan-color">(3)</mark></strong> Модуль вимірювання радіації, за певних умов, має бути спроможним застосовуватися у польових умовах, без підключення до головного контролера. Користувач має мати змогу використати такий пристрій незалежно від умов, в яких він опинився. Без програмування чи апаратних доробок.</p>



<p class="wp-block-paragraph"><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-green-cyan-color">(4)</mark></strong> Оснащення модуля інтерфейсом I2C вимагає розташування на модулі вбудованого контролера-компаньйона, який забезпечує підготовку даних для споживача та комунікацію у режимі підпорядкованого пристрою (Slave Device) відповідно до специфікації I2C. Хоча це може бути простий і недорогий контролер, його наявність підвищує вартість, а також збільшує розміри модуля. Також потрібно виділити додаткове місце на платі модуля під площадки вибору адреси. </p>



<p class="wp-block-paragraph"><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-green-cyan-color">(5)</mark></strong> Модуль з інтерфейсом I2C обов&#8217;язково потребує наявності головного контролера та дисплею, щоб ним можливо було користуватися за призначенням. І це при тому, що на модулі вже є вбудований контролер &#8211; компаньйон. Головні контролери бувають дуже різні. Хтось використовує Raspberry Pi, або ж Arduino, а комусь важливо мати можливість застосувати ESP32 / ESP8266. Саме тому ми не ставимо головний контролер на плату модуля GGreg20. Ми вважаємо, що користувач має право обирати контролер, платформу чи середовище розробки незалежно та самостійно. А наша задача &#8211; забезпечити якомога ширшу сумісність та універсальність нашого продукту.</p>



<p class="wp-block-paragraph">З електричної точки зору, оснащення пристроїв даної категорії інтерфейсом I2C переваг теж не має, адже живлення та інтерфейс передачі даних що у I2C-варіанті, що у варіанті з імпульсним виходом, як у GGreg20_V3, потребують однакової кількості сигнальних дротів у шлейфі. Гарячу заміну, яку підтримує шина I2C, для модулів даного типу теж важко назвати бажаною, вже не кажучи про обов’язковість наявності такої функції.</p>



<p class="wp-block-paragraph">На Рис. наводимо схематичні зображення двох модулів &#8211; поточної версії GGreg20 без I2C, та версії з інтерфейсом I2C, щоб показати, наскільки довелося б змінити модуль з урахуванням реальних розмірів (10х10 мм) додаткової мікросхеми вбудованого контролера-компаньйона.</p>



<figure class="wp-block-image size-large"><a href="https://iot-devices.com.ua/wp-content/uploads/2022/05/6-ggreg20_v3_publication_pic.png"><img loading="lazy" decoding="async" width="1024" height="566" src="https://iot-devices.com.ua/wp-content/uploads/2022/05/6-ggreg20_v3_publication_pic-1024x566.png" alt="GGreg20_V3" class="wp-image-2005" srcset="https://iot-devices.com.ua/wp-content/uploads/2022/05/6-ggreg20_v3_publication_pic-1024x566.png 1024w, https://iot-devices.com.ua/wp-content/uploads/2022/05/6-ggreg20_v3_publication_pic-300x166.png 300w, https://iot-devices.com.ua/wp-content/uploads/2022/05/6-ggreg20_v3_publication_pic-768x424.png 768w, https://iot-devices.com.ua/wp-content/uploads/2022/05/6-ggreg20_v3_publication_pic-1536x848.png 1536w, https://iot-devices.com.ua/wp-content/uploads/2022/05/6-ggreg20_v3_publication_pic-454x251.png 454w, https://iot-devices.com.ua/wp-content/uploads/2022/05/6-ggreg20_v3_publication_pic.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<p class="wp-block-paragraph"><em><br>Рис. Якби GGreg20_V3 мав інтерфейс I2C (червоним показано вбудований контролер-компаньйон, що забезпечує режим I2C Slave Device</em>)</p>



<p class="wp-block-paragraph">Єдиними перевагами для обґрунтування доцільності оснащення нашого модуля радіації інтерфейсом I2C є наступні:</p>



<ul class="wp-block-list"><li>можливість підключення декількох пристроїв на I2C-інтерфейс головного контролера;</li><li>розрахунок користувацьких значень засобами вбудованого контролера-компаньйона.</li></ul>



<p class="wp-block-paragraph">Але якщо ретельно зважити потенційні здобутки та цілком конкретні втрати від запровадження I2C у даному пристрої, стане очевидним, що для користувача краще мати універсальний модуль з широкою драйверною підтримкою і можливістю застосування у “ручному” режимі, ніж отримати купу переваг шини I2C, якими ще потрібно зуміти скористатися.</p>



<figure class="wp-block-table is-style-regular"><table class="has-fixed-layout"><tbody><tr><td></td><td><strong>Інтерфейс I2C</strong>                         </td><td><strong>Інтерфейс лічильника імпульсів на порту вводу-виводу (GPIO pulse counter)</strong></td></tr><tr><td>Автономне використання в “ручному” режимі</td><td>Ні</td><td>Так</td></tr><tr><td>Потребує вбудований контролер &#8211; компаньйон</td><td>Так:&nbsp;<br>&#8211; вища вартість;<br>&#8211; більші розміри.</td><td>Ні</td></tr><tr><td>Драйверна підтримка</td><td>Відсутня / дуже обмежена</td><td>Найширша</td></tr><tr><td>Вимоги до апаратної обв’язки</td><td>Високі:<br>&#8211; головний контролер;<br>&#8211; дисплей.</td><td>Низькі / відсутні</td></tr><tr><td>Вимоги до кваліфікації користувача</td><td>Високі:<br>&#8211; програмування embed.;<br>&#8211; адміністрування/конфіг;<br>&#8211; інтерфейси/протоколи;<br>&#8211; електроніка/інтеграція.</td><td>Низькі / відсутні</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Додатково до вже викладеного вище наведемо дві ключові проблеми, котрі ми хотіли б окреслити для потенційних користувачів. Цих проблем немає в GGreg20_V3, але їх неодмінно матиме (у тих чи інших варіаціях) модуль вимірювання радіації з інтерфейсом I2C.</p>



<h2 class="wp-block-heading"><strong>Проблема #1</strong> Польові умови / Надзвичайна ситуація&nbsp;</h2>



<p class="wp-block-paragraph">Обдумайте таку ситуацію: у вас в шухляді лежить сенсор радіації і чекає, коли ж ви його нарешті почнете програмувати, а в наступний момент вам вже потрібно якнайшвидше покинути будинок з одним наплічником у руках і, можливо, мерщій починати вимірювати рівень радіації, бо настала ситуація природного чи техногенного лиха, і ви знаходитеся поруч з епіцентром таких подій.&nbsp;</p>



<p class="wp-block-paragraph">Ми в Україні дуже добре знаємо ці обставини і враховуємо накопичений у найважчі для країни часи досвід, щоб зробити системний дизайн наших продуктів якомога кращим.</p>



<p class="wp-block-paragraph">Наш модуль GGreg20_V3 достатньо лише заживити від павербанка (чи навіть кількох батарейок АА/ААА) чи сонячної панелі &#8211; і все: можна вручну проводити вимір за спалахами світлодіода та секундоміром чи власним відліком.&nbsp;</p>



<p class="wp-block-paragraph">Кількість спалахів за хвилину помножена на коефіцієнт перетворення &#8211; і є рівень радіації у mkSv/hour.&nbsp;</p>



<p class="wp-block-paragraph">Коефіцієнт перетворення для трубки SBM20 є рівним 0.0054. Таким чином маємо просту формулу:&nbsp;</p>



<p class="has-text-align-center wp-block-paragraph">CPM x 0.0054 = mkSv/hour.&nbsp;</p>



<p class="wp-block-paragraph">де CPM &#8211; кількість спалахів на хвилину (<em>Counts per Minute</em>).</p>



<p class="wp-block-paragraph">Для Києва [20 &#8211; 48] спалахів &#8211; це нормальний рівень (0.10 &#8211; 0.26 mkSv/h).</p>



<p class="wp-block-paragraph">На противагу GGreg20_V3, модуль з інтерфейсом I2C в польових умовах буде дуже складно використати за призначенням. Адже модуль також потребує наявності головного контролера, дисплея, засобів програмування, розробки програмного коду, та спеціальних знань і навичок, що дозволять взаємно підключити необхідні компоненти та запрограмувати їх. Це означає, що звичайний користувач без спеціальних знань не зможе провести вимірювання сенсором з інтерфейсом I2C, навіть якщо він, за гарним збігом обставин, матиме такий у своєму наборі доступних інструментів.</p>



<h2 class="wp-block-heading"><strong>Проблема #2</strong> Драйверна підтримка</h2>



<p class="wp-block-paragraph">Навіть якщо все гаразд з обстановкою, що оточує користувача, і модуль сенсора радіації експлуатується в умовах цивілізації, все одно з варіантом дизайну модуля, що має інтерфейс I2C є проблеми. Проблеми виникають у користувачів, які хочуть використовувати улюблені системи / платформи / середовища / архітектури розробки для IoT.&nbsp;</p>



<p class="wp-block-paragraph">Систем і смаків дуже багато, і навіть самі передові і популярні системи мають драйвери далеко не для всіх пристроїв, що зазвичай купують та намагаються підключити споживачі.&nbsp;</p>



<p class="wp-block-paragraph">Завдяки неоднорідності протоколів інтеграції іноді доводиться писати драйвер самостійно, або чекати кілька років, доки розробники системи звернуть увагу на цей конкретний комерційний пристрій і розроблять відповідний драйвер-конектор.</p>



<p class="wp-block-paragraph">Наведемо порівняльну таблицю поширених платформ з вбудованою підтримкою I2C сенсорів радіації та платформ з підтримкою лічильника імпульсів на GPIO, щоб читач міг осягнути масштаб цієї проблеми.</p>



<figure class="wp-block-table"><table><tbody><tr><td><strong>Платформа</strong>         </td><td class="has-text-align-center" data-align="center"><strong>Модуль сенсора радіації з I2C, вбудована драйверна підтримка платформою</strong>      </td><td class="has-text-align-center" data-align="center"><strong>Модуль сенсора радіації З імпульсним виходом, вбудована драйверна підтримка (GPIO pulse counter, external ISR) платформою</strong></td></tr><tr><td>Arduino</td><td class="has-text-align-center" data-align="center">Ні</td><td class="has-text-align-center" data-align="center">Так</td></tr><tr><td>NodeMCU (Lua)</td><td class="has-text-align-center" data-align="center">Ні</td><td class="has-text-align-center" data-align="center">Так</td></tr><tr><td>MicroPython</td><td class="has-text-align-center" data-align="center">Ні</td><td class="has-text-align-center" data-align="center">Так</td></tr><tr><td>ESPHome / Home Assistant</td><td class="has-text-align-center" data-align="center">Ні</td><td class="has-text-align-center" data-align="center">Так</td></tr><tr><td>Espressif ESP-IDF</td><td class="has-text-align-center" data-align="center">Ні</td><td class="has-text-align-center" data-align="center">Так</td></tr><tr><td>STM32</td><td class="has-text-align-center" data-align="center">Ні</td><td class="has-text-align-center" data-align="center">Так</td></tr><tr><td>Tasmota</td><td class="has-text-align-center" data-align="center">Ні</td><td class="has-text-align-center" data-align="center">Так</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Ці дані дуже промовисто вказують, що сенсор з імпульсним виходом, такий як GGreg20_V3, набагато легше підключити до будь-якої платформи, або ж використовувати модуль взагалі автономно, за необхідності.&nbsp;</p>



<p class="wp-block-paragraph">Звісно, що кожен модуль з інтерфейсом I2C зазвичай має власні бібліотеки, розроблені виробником або небайдужими учасниками спільноти програмного забезпечення з відкритим вихідним кодом. Наприклад, модуль GGreg20_V3 має кілька таких бібліотек для популярних платформ:</p>



<figure class="wp-block-table is-style-stripes"><table><tbody><tr><td><strong>Platform</strong></td><td><strong>Link</strong></td></tr><tr><td>Arduino contributed library</td><td>https://www.arduino.cc/reference/en/libraries/ggreg20_v3/</td></tr><tr><td>ESPHome / Home Assistant example</td><td>https://github.com/iotdevicesdev/ggreg20-v3-homeassistant-esphome-example</td></tr><tr><td>Tasmota driver example</td><td>https://github.com/iotdevicesdev/ggreg20-v3-tasmota-esp32-driver</td></tr><tr><td>NodeMCU (Lua) example</td><td>https://github.com/iotdevicesdev/ggreg20-v3-nodemcu-lua-example</td></tr><tr><td>NodeMCU (Lua) full functional driver</td><td>https://alterstrategy.com/product/radcounter/</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><em><strong>Примітка.</strong> Хоча кожна сучасна платформа для IoT, як правило, забезпечує підтримку шини I2C, також має бути наявним драйвер для кожного конкретного апаратного модуля (виробник, модель, версія). Підтримка має бути як на боці платформи, так і на боці головного контролера, до якого підключається модуль.</em></p></blockquote>



<p class="wp-block-paragraph">Наявність бібліотек, подібних до тих, що наведено у таблиці, вже добре. Але це не дає жодних гарантій, що ці бібліотеки підтримуються їх авторми та є актуальними, а також що користувач знайде таку бібліотеку саме до своєї улюбленої платформи і зможе її інтегрувати до неї і запрограмувати кінцевий пристрій.</p>



<p class="wp-block-paragraph">У випадку ж з лічильником імпульсів на GPIO абсолютно інша ситуація: усі платформи підтримують таку функцію і дуже просто програмуються.</p>



<h2 class="wp-block-heading"><strong>Замість висновків</strong></h2>



<p class="wp-block-paragraph">Попри очевидні переваги шини I2C, якщо ми і приймемо в майбутньому рішення додати підтримку I2C у модуль GGreg20, то це буде ще один, альтернативний пристрій з такими можливостями. А споживачі самі зможуть обирати, який з варіантів їм підходить найкраще.</p>



<p class="wp-block-paragraph">Купуйте детектор іонізуючої радіації <a href="https://iot-devices.com.ua/product-uk/ggreg20_v3-ionizing-radiation-detector-with-geiger-tube-sbm-20/">GGreg20_V3</a> з імпульсним виходом.</p>



<p class="wp-block-paragraph">Бажаємо успіхів!</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
