Разное
Нашли ошибку? Сообщите нам ...Комментировать: Карманная метеостанция — высотомер — радиометр (часть 2)Распечатать: Карманная метеостанция — высотомер — радиометр (часть 2)

Карманная метеостанция — высотомер — радиометр (часть 2)



Учтите, что напряжение питания и сигнал управления подсветкой поступают на модуль ЖКИ соответственно с выходов RA0 и RA4 микроконтроллера. Уровни на этих выходах изменяет программа, которая реагирует на состояния кнопок лишь в интервалах "бодрствования" микроконтроллера, повторяющихся с периодом около 2,3 с. Поэтому реакция прибора на нажатия кнопок несколько замедлена.

ЖКИ от сотового телефона Nokia 5110 выпускают как минимум в двух вариантах - на красной и на синей печатных платах. В приборе применён модуль на красной плате, в котором подсветку экрана включают подачей на вход Light (вывод 7) напряжения низкого логического уровня. По имеющимся сведениям для модуля на синей плате этот уровень должен быть высоким. В остальном модули идентичны.

В нулевом банке памяти данных микроконтроллера программа организует 24 регистра, в которые ежечасно записывает результаты измерения атмосферного давления датчиком B1. Программа обращается к ним, используя косвенную адресацию через служебные регистры INDF и FSR. Сохранённые сведения о давлении программа выводит на ЖКИ в миллиметрах ртутного столба в виде гистограммы, слева от которой помещает одну из пиктограмм прогноза погоды. Всего их три: "Будет дождь", если давление снижается; "Будет солнечно"; если давление повышается; "Как за окном", если оно неизменно. Направление изменения давления программа оценивает по результатам двух его последних ежечасных измерений. Более точно тенденцию изменения давления можно определить "на глаз", анализируя всю выведенную на экран гистограмму за истёкшие сутки.

Чтобы сократить текст программы и улучшить его читаемость, в нём использован набор макрокоманд, определения которых собраны в файл KOROTKO.inc. При трансляции программы этот файл должен находиться в той же папке, что и основной текст программы, иначе встречающиеся там макрокоманды ассемблер воспринимать не будет. Необходимо также учесть, что при использовании инструкций условного пропуска следующей инструкции (например, BTFSS), за которой следует макрокоманда, последняя не будет пропущена целиком. В ней не будет выполнена лишь самая первая инструкция. В таких ситуациях необходимо помещать после инструкции условного пропуска инструкцию GOTO для безусловного перехода на макрокоманду.

Для измерения уровня радиации пришлось добавить в прибор значительное число деталей. Работа измерителя уровня радиации достаточно подробно описана в [2]. Поэтому рассмотрим в основном теоретические предпосылки и необходимые программные решения.

Длительность временного интервала, в течение которого математическое ожидание числа импульсов от применённого в приборе счётчика Гейгера СБМ-21 численно равно мощности экспозиционной дозы радиации в микрорентгенах в час, - 5 мин [2].

Высокое напряжение для работы счётчика СБМ-21 обеспечивается подачей пачки импульсов на затвор транзистора VT1 перед переводом микроконтроллера в режим "сна". Напряжения, сформированного умножителем на диодах VD1-VD5, достаточно для нормальной работы счётчика. Разрядка конденсатора C8 за период переполнения WDT не выводит напряжение на счётчике СБМ-21 за нижний предел рабочего для него интервала. При каждом "пробуждении" (это происходит с приходом каждого импульса от счётчика BD1 либо в момент срабатывания сторожевого таймера через 2,3 с после предыдущего "пробуждения", если за это время ни одного импульса не было) микроконтроллер генерирует очередную пачку импульсов, подзаряжающих конденсатор C8. С учётом длительности опроса датчика давления, программных вычислений и генерирования упомянутых пачек импульсов экспериментально определённое число периодов переполнения сторожевого таймера за пятиминутный интервал измерения равно 100.

Усиленные импульсы счётчика с коллектора транзистора VT4 поступают на вход RB0 (INT) микроконтроллера. Прерывания программы по спадающим перепадам этих импульсов выводят микроконтроллер из "спящего" режима, затем он выполняет все необходимые действия и вновь "засыпает".

Известно, что число импульсов счётчика Гейгера за измерительный интервал времени - случайная величина, распределённая по закону Пуассона [4]. Вероятность того, что оно будет в точности равно измеряемому уровню радиации, очень мала - 0,102 при интенсивности 15 мкР/ч. Но, например, в интервале от 13 до 17 при указанном уровне оно будет лежать с вероятностью 0,48, а с вероятностью 0,96 - в интервале от 6 до 22, как показано на рис. 4, полученном экспериментально с помощью прибора, описанного в [2], усредняющего результаты пятидесяти измерений. Для вычисления вероятностей здесь и далее использовалась встроенная функция ПУАССОН.РАСП программы Microsoft Excel.

Информация на экране ЖКИ

Рис. 4. Информация на экране ЖКИ

Отсюда можно сделать вывод, что радиометры, показывающие уровень радиации по результатам однократного не очень длительного измерения, мягко говоря, не очень точны. Они позволяют лишь приблизительно оценить радиационную обстановку и поднять тревогу при явном и подтверждённом неоднократными измерениями превышении установленных норм. Чаще всего именно такие приборы создают радиолюбители (в том числе и автор настоящей статьи, см. [3]). Их выпускает и промышленность. Примером может служить прибор "Мастер-1" разработки ПО "Горизонт".

Описываемый прибор определяет уровень радиации усреднением содержимого массива из 12 регистров памяти данных микроконтроллера, что соответствует суммарному интервалу измерения один час (12 раз по 5 мин). По окончании самого первого после включения прибора измерения его результат принимается за первое, пусть неточное значение уровня, после второго измерения вычисляется среднее значение результатов двух измерений, затем трёх и так до двенадцати. Далее значение, полученное последним, программа записывает в регистр, хранящий самый старый из предыдущих результатов, а усреднение производится по всему массиву регистров.

По окончании каждого часа работы среднее за этот интервал времени значение записывается в очередной из 24-х регистров, хранящих информацию для построения суточного графика изменений уровня радиации, который выводится на ЖКИ вместо значения температуры, как это было описано выше.

Размер графика по вертикали - ±5 мкР/ч относительно текущего значения уровня радиации, полученного усреднением результатов последних 12-ти измерений. Это значение обозначено на графике средней горизонтальной пунктирной линией, а в численном виде выведено справа от него. Режимы отображения температуры и уровня радиации автоматически чередуются с периодом 5 мин. Для принудительной смены режимов отображения служит кнопка SB4.

Когда очередной импульс счётчика BD1 выводит микроконтроллер из "спящего" режима, сторожевой таймер принудительно возвращается в исходное состояние. Поскольку пятиминутный интервал счёта импульсов счётчика формируется в программе подсчётом периодов переполнения сторожевого таймера, каждый импульс счётчика сокращает этот интервал в среднем на полпериода переполнения сторожевого таймера. Было бы правильным в случае прихода импульса счётчика в первой половине текущего периода работы таймера оставлять необходимое для отсчёта пятиминутного интервала число подсчитываемых периодов переполнения таймера неизменным, а при приходе его во второй половине периода увеличивать это число на единицу.

К сожалению, определить текущее состояние сторожевого таймера невозможно. Но логично предположить, что вероятность прихода импульса в первой и второй половинах периода переполнения таймера одинакова. Это позволяет корректировать длительность счётного интервала просто с приходом каждого второго импульса. Такой принцип и реализован в программе. Его расчётная погрешность не превышает 1 %.

Согласно нормативным документам Украины (НРБУ-97), Белоруссии (НРБ-2000) и России (НРБ-99), для населения этих стран установлена норма облучения не более 5 мЗв/год, что приблизительно соответствует уровню радиации 57 мкР/ч. Такой уровень ни разу не был зафиксирован автором в естественных условиях с помощью разных приборов. Как правило, естественный фон не превышал 20 мкР/ч.

В описываемом приборе заданы два порога уровня радиации, о превышении которых он подаёт сигналы. Если подсчитанное в единичном, даже незаконченном измерении число импульсов счётчика Гейгера достигло 50, происходит следующее:

- включается ЖКИ, даже если датчик освещённости прибора затенён;

- прибор принудительно переходит в режим отображения уровня радиации;

- слово "Фон" слева от графика изменения уровня радиации сменяется пиктограммой, представляющей собой стандартный знак радиационной опасности;

- не дожидаясь завершения измерения, на экран выводится значение 50 мкР/ч. По окончании измерения его сменит реальное усреднённое за 12 измерений значение, как правило, меньшее порога;

- включается звуковая и световая индикация импульсов счётчика Гейгера, она автоматически прекратится при фиксации в одном из следующих измерений интенсивности меньше пороговой или может быть выключена вручную нажатием на кнопку SB3;

- изображение на экране ЖКИ становится негативным и остаётся таким, пока не будет нажата кнопка SB4.

Все эти меры дают гарантию, что владелец прибора неизбежно обратит внимание на экстренную ситуацию. Если же в незаконченном измерении накоплено более 99 импульсов счётчика, дополнительно произойдёт следующее:

- не дожидаясь окончания пятиминутного измерительного интервала, на ЖКИ будет выведено значение 99 мкР/ч, регистры хранения результатов однократных измерений будут обнулены, а измерительный интервал начнётся заново;

- будет подан прерывистый светозвуковой сигнал тревоги. При не слишком большой частоте следования импульсов счётчика Гейгера станет ощутимой работа вибромотора M1. Сигнал тревоги будет прекращён автоматически, если результат очередного измерения будет ниже порога. Его можно в любой момент выключить и вручную, нажав на любую из кнопок SB1-SB4.

Кнопка SB4 при последовательных нажатиях на неё переключает три режима звуковой сигнализации в отсутствие тревоги - обычный, без звука и индикации импульсов счётчика Гейгера. В каждом из них слева от графика изменений уровня радиации на экран ЖКИ выводится соответствующая пиктограмма.

Согласно описанной логике работы прибора в режиме измерения уровня радиации, превышение допустимых порогов фиксируется не по усреднённому за час значению, а по однократному пятиминутному измерению. Сделано это умышленно, чтобы быстрее сигнализировать о возникшей радиационной опасности. На рис. 5 показаны расчётные графики вероятностей превышения порога 50 мкР/ч (голубая кривая) и порога 99 мкР/ч (красная кривая) в зависимости от уровня радиации.

Расчётные графики

Рис. 5. Расчётные графики

Прибор без корпуса изображён на рис. 6. Все основные детали размещены на макетной двухсторонней печатной плате, а соединения между ними выполнены тонким монтажным проводом. Использованы в основном радиодетали для поверхностного монтажа. Модуль датчика BMP180 и плата контроля заряженности аккумулятора расположены в верхней части прибора и соединены с основной платой разъёмами. Плата зарядного устройства для аккумулятора G1 закреплена на проволочных стойках вверху справа. Под ней находятся излучатель звука HA1 со встроенным генератором и вибромотор M1.

Прибор без корпуса

Рис. 6. Прибор без корпуса

Микроконтроллер DD1 установлен в стандартную панель, что позволяет легко извлечь его для загрузки программы. К статье приложены два её варианта: MeteoRadiometr - полнофункциональная и MeteoVysotomer - упрощённая, не содержащая процедур, необходимых для работы радиометра. Файл KOROTKO.INC необходим для трансляции обоих вариантов программы.

Аккумулятор G1 находится под модулем ЖКИ, а кнопки SB1-SB5 припаяны к отдельной плате, которая на проволочных стойках поднята до уровня платы ЖКИ. Узел измерения уровня радиации со счётчиком Гейгера СБМ-21, установленным в держатель плавкой вставки соответствующего размера, собран в нижней части прибора. Там же находится и светодиод HL1.

Фототранзистор VT2 установлен на основной плате прибора под крепёжным отверстием для модуля датчика BMP180. Под платой контроля заряжен-ности аккумулятора находится выключатель питания SA1 и есть место для установки осветительных светодиодов. Корпусом прибора служит прозрачный футляр видеокассеты формата Mini DV.

Транзистор BS107A может быть заменён другим высоковольтным полевым n-канальным. Резисторы R3, R5, R6, R8 предназначены для защиты выводов микроконтроллера, ошибочно назначенных выходами (например, при переработке программы), от перегрузки при нажатии на подключённые к ним кнопки. В готовой конструкции они не нужны, их можно заменить перемычками. В качестве M1 использован вибромотор мобильного телефона.

Прибор не требует налаживания, однако иногда приходится подбирать сопротивление резистора R12, чтобы добиться надёжного включения прибора в условиях комфортного освещения. Фототранзистор Vt2 можно заменить резистором сопротивлением 1...10 кОм. В этом случае ЖКИ будет включён постоянно. Вместо счётчика Гейгера СБМ-21 можно использовать СБМ-20 большего размера. Но при этом в умножитель напряжения (VD1-VD5) необходимо будет добавить ещё одно звено из двух диодов и двух конденсаторов. Кроме того, для счётчика СБМ-20 придётся уменьшить длительность интервала измерения с 5 мин до 34,3 с, что потребует корректировки программы.

Программы микроконтроллера имеются здесь.

Литература

4. Вентцель Е. С. Теория вероятностей. Случайные величины и их законы распределения. Закон Пуассона. - URL: http:// semam.ru/book_tp.php?id=24 (15.11.17).

Автор: С. Макарец, г. Киев, Украина


Дата публикации: 14.02.2018

Мнения читателей
  • Высилий / 26.04.2018 - 05:56
    Здравствуйте! Все работает, в схеме автора допущена ошибка. Необходимо CLK подключить к 9 выводу, а SDA к 8 как в приведенной [1]
  • Василий / 25.03.2018 - 17:59
    Здравствуйте. Мне понравилась “Карманная метеостанция-высотометр-радиометр” и хочу собрать ее. Я не программировал этот PIC16F648 ( у меня программатор PICkit2 и загружал программы в микроконтроллеры PIC16F628, PIC16F630, PIC16F817, PIC16F876, PIC18F252 и др). В программировании я нуль. Комплектующие почти все есть. У меня к Вам вопрос: Как и куда загружается “КОROTKO.INC” в PIC16F648 (Если в EEPROM то как INC). Если у Вас найдется время прошу подсказать. Я попробовал в Протеусе у меня не получилось. Сбасибо. Украина, Краматорск vasilii119488@gmail.com

Вы можете оставить свой комментарий, мнение или вопрос по приведенному вышематериалу:








 



RadioRadar.net - datasheet, service manuals, схемы, электроника, компоненты, semiconductor,САПР, CAD, electronics