Измерение содержания радона в доме и кое-что еще

13/05/2019 13:15:19

Про газ радон с атомным номером 86 из таблицы Дмитрия Ивановича Менделеева написано много и по-разному. Одни пишут, что радон, скапливаясь в подвалах и прочих жилых помещениях, якобы оказывает ужасное воздействие на организм человека, приводя к страшным заболеваниям. Другие пишут, что радоновые ванны способствуют восстановлению и стимулированию всех систем организма. Одни пишут, что радон выделяется не только из земли, но также из кирпича, песка и бетона, из которых строят дома, что значительно сокращает жизнь человека. Другие пишут, что горцы, находящиеся в условиях, когда содержание радона по естественным причинам на порядки превышает обычный уровень, живут в среднем в полтора раза дольше степных собратьев.


Не являясь экспертом в этой области, не могу принять какую-то одну сторону или точку зрения. Но мне стало любопытно. Ведь я живу в частном доме с подвалом, в котором размещены гараж, мастерская, котельная и щитовая. И, бывает, нахожусь в этих помещениях часто и подолгу. Кроме того, судя по картам, составленными уфологами, конспирологами и прочими профессорами алхимии, я нахожусь в неблагоприятной зоне по части радонового фона. Так вот для того, чтобы удовлетворить свое любопытство, я приобрел отечественный прибор Radex MR107. В документации сказано, что "прибор предназначен для оценки эквивалентной равновесной объёмной активности (ЭРОА) Rn-222 (радона) и дочерних продуктов изотопов радона по величине объёмной активности (ОА) радона в воздухе жилых и общественных помещений". Много датчиков я использую дома, но такого в моей коллекции еще не было. Получил, распаковал, притащил в подвал, включил, измерил... И что же?
 


Прибор Radex MR107 для мониторинга содержания радона в воздухе


Radex MR107 умеет измерять 3 параметра окружающего воздуха. Температуру, влажность и содержание радона. Температура и влажность, разумеется, отображаются моментально, а для измерения содержания радона требуется время. При первом включении требуется 4 часа. Далее показания обновляются каждый час. Этот временной отрезок называется экспозицией. Сенсор в течение часа регистрирует "распад" частиц, а дальше по заложенному алгоритму оценивает уровень в специальных единицах Бк/м3 (беккерелях на куб воздуха).


Прибор может отображать полученные значения на дисплее, который до боли напоминает известный нам SSD1306, а также сохранять их в памяти для последующей передачи на ПК. Для считывания данных из прибора производитель предоставляет программу Radex Data Center для ОС Windows, с помощью которой можно вручную, нажав кнопку, загрузить сохраненные в память прибора значения и отобразить их в виде таблицы или графика. Также программа позволяет делать минимальные настройки: управление звуковой индикацией, выбор отображаемой на дисплее информации. На этом все. А если я хочу интегрировать этот чудесный девайс в общую систему Умного Дома? А если я хочу смотреть графики на домашнем сайте с телефона и планшета? А если я хочу получать уведомления по электронной почте или SMS о превышении безопасного уровня радона? А если я хочу управлять вентиляцией по показаниям данного прибора? Нет, нет и нет.
 


Radex Data Center. ПО для MS Windows


Или да? Или да, если на компьютере установлен Serial Port Monitor и есть пара часов свободного времени. Мне не нужно было считывать сохраненные в памяти значения. Достаточно получать текущие значения. К Linux прибор Radex MR107 подключить просто. В системе он определяется так.

May  9 20:50:24 srv kernel: [906204.239045] usb 2-1: New USB device found, idVendor=abba, idProduct=a004
May  9 20:50:24 srv kernel: [906204.239048] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
May  9 20:50:24 srv kernel: [906204.239051] usb 2-1: Product: MR107
May  9 20:50:24 srv kernel: [906204.239052] usb 2-1: Manufacturer: Quarta-Rad
May  9 20:50:24 srv mtp-probe: checking bus 2, device 2: "/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1"
May  9 20:50:24 srv mtp-probe: bus: 2, device: 2 was not an MTP device
May  9 20:50:24 srv kernel: [906204.578446] cdc_acm 2-1:1.0: ttyACM0: USB ACM device

Никаких дополнительных драйверов не требуется. В системе появляется устройство /dev/ttyACM0, с которым можно работать, как с любым serial-портом. Скорость 9600 бод.
С помощью Serial Port Monitor я выяснил, что текущие значения прибор отдает, если в порт отправить команду вида
 

x7b xff x20 x00 x06 x00 x83 x04 x00 x00 xda xfb x04 x08 x0c x00 xef xf7


Radex Data Center при каждом запросе меняет значение некоторых полей (счетчиков). Но даже если не менять этот запрос вовсе, а отправлять в порт одну и ту же последовательность, прибор бодро отдает текущие значения.
 


Путем наблюдений я выяснил, что меняются поля, которые подчеркнуты на картинке. Во втором ряду 3 группы (по 4 байта каждая) и в третьем ряду 2 группы (4 байта и 2 байта).
Оказалось, что все значения кодируются с помощью IEEE754, стандарта двоичной арифметики с плавающей точкой с одинарной точностью (32 бита).
Первая группа - содержание радона. Вторая группа - температура. Третья - влажность. Во втором ряду содержится максимальный зафиксированный уровень содержания радона. А зеленым выделен 16-битный счетчик до конца экспозиции.

Потребовалось всего пара минут, чтобы накидать простенький скрипт на python'е для считывания текущих данных.
 

import serial
import struct

ser = serial.Serial(
    port='/dev/ttyACM0',
    baudrate=9600,
    parity=serial.PARITY_NONE,
    stopbits=serial.STOPBITS_ONE,
    bytesize=serial.EIGHTBITS
)

ser.isOpen()
packet = bytearray(b'x7bxffx20x00x06x00x83x04x00x00xdaxfbx04x08x0cx00xefxf7')
ser.write(packet)

raw_temp = ""
raw_hum = ""
raw_rad2 = ""
raw_rad3 = ""

exp_timer = 0;

for x in range(0, 70):
	c = ser.read()
	print '{0:x}'.format(ord(c), 10), " ",

	if x in range(28, 32):
		raw_rad3 = raw_rad3 + c
	if x in range(32, 36):
		raw_temp = raw_temp + c
	if x in range(36, 40):
		raw_hum = raw_hum + c
	if x in range(56, 60):
		raw_rad2 = raw_rad2 + c
	if x == 64:
		exp_timer = ord(c);
	if x == 65:
		exp_timer = ord(c) * 256 + exp_timer;

print ""
[temperature] = struct.unpack('f', raw_temp)
print "Temperature: " + str(temperature)
[humidity] = struct.unpack('f', raw_hum)
print "Humidity: " + str(humidity)
[radoncur] = struct.unpack('f', raw_rad3)
print "Radon Cur: " + str(radoncur)
[radonmax] = struct.unpack('f', raw_rad2)
print "Radon Max: " + str(radonmax)
print "Exposure countdown: " + str(exp_timer)
 

Результат работы скрипта.

user@srv:/home/user# python mr107.py
Temperature: 28.3455276489
Humidity: 40.5386390686
Radon Cur: 98.1800765991
Radon Max: 157.088134766
Exposure countdown: 3175

Немного забавно, что значение, скажем, "157.98" прибор отображает на дисплее как "157". Округление не производится. И для температуры с влажностью тоже.
Ну и, конечно, не составило большого труда записывать значения в БД и выводить график на домашнем Web-сервере, доступном с любого мобильного устройства и из Интернета (с паролем, конечно).
 


График изменения содержания радона в моем подвале


Несколько наблюдений.
Будучи размещенным в подвале, прибор фиксирует радон. Как видно на графике, его концентрация достигала 160 Бк/м3. Ничего критичного в этом нет. Вроде бы СанПиН допускает ЭРОА в пределах 200 Бк/м3 в уже эксплуатируемых зданиях. Для новых зданий якобы ЭРОА не должна превышать 100 Бк/м3. Насколько я понял в мировой практике уровни до 300 Бк/м3 считаются относительно безопасными.
График показывает содержание радона в щитовой (серверной). Это самая закрытая и непроветриваемая часть подвала. Интересно, что значение менялось от 160 до 60 Бк/м3. При этом никакого проветривания не осуществлялось. Возможно, если прибор не врет, выделение радона из земли также носит волнообразный и непостоянный характер. Возможно, этот процесс связан с погодой или сменой времен года. Буду наблюдать.
В жилых комнатах 1-го и 2-го этажа максимальное содержание радона составило 65 Бк/м3. При среднем показателе менее 30 Бк/м3. Иными словами, можно спать спокойно.


Уже когда я написал и запустил скрипт, я связался с представителем фирмы производителя ("Кварта-Рад") и сообщил, что я планирую использовать прибор в режиме постоянного сбора данных, что для этого планирую написать свое собственное ПО. Я спрашивал, допустим ли длительный режим работы, и могут ли разработчики предоставить более подробное описание протокола, чтобы сделать работу скрипта более корректной с точки зрения функционирования устройства. Я сразу же получил ответ, что постоянный режим работы допустим. А насчет протокола представитель фирмы обещал обсудить этот вопрос с коллегами. Возможно, моя статья подтолкнет сотрудников из "Кварта-Рад" к разработке средств для полноценной интеграции с внешними системами.

Update (26.06.2019)

В течение месяца производилось непрерывное считывание данных с прибора. И вот результаты.

Содержание радона в моем подвале менялось от 30 Бк/м3 до 300 Бк/м3 (что вообще-то уже многовато). Причем никакого проветривания не проводилось. При 300 Бк/м3 прибор пищал, регистрируя распад частиц, каждые 30-50 секунд. Признаться, это действовало на нервы... С чем связаны столь резкие колебания содержания радона я пока вывить не смог. Корреляции с погодными условиями, скоростью ветра, осадками установить на данный момент не удалось. Возможно, такой зависимости и нет. Наблюдаю дальше.

 

Автор: Andrey_B
Любое использование материалов сайта возможно только с разрешения автора и с обязательным указанием источника.



Добавить комментарий:



Сортировка комментариев: Последние сверху | Первые сверху

2019-05-16 19:39:15 | Andrey_B
Сергей, не знаю, не разбирал. Можно задать вопрос производителю. Но розничные цены на _новые_ датчики, которые используются в подобных изделиях, обычно весьма высокие. Это не самые простые сенсоры.


2019-05-16 02:05:21 | Сергей
Можно этот прибор показать в разрезе ? Или хотя-бы что за датчик там установлен.