О сайте

Электроника

Теория

Практика (1)

Проекты (2)

Форум

Разное

Обратная связь

Поддержка сайта


   Бытовой дозиметр DS-1200 на микроконтроллере PIC12F629/675 и с двухстрочным ЖКИ индикатором.


   Всем посетителям этой странички привет! :)

   На этот раз решил немного изменить стиль изложения, буду писать от первого лица. Итак, поехали!

   ВАЖНО!!!
   В устройстве действует высокое напряжение, поэтому очень прошу быть предельно внимательными и если налаживать конструкцию не в резиновых перчатках и валенках, то хотябы одеть хб перчатки. В них совсем не потеют руки и, по крайней мере, при случайном касании элементов конструкции они могут предотвратить неприятности.



   Давным давно получил от моего друга в подарок вот такую замечательную кучку счетчиков СБМ-20:


   Из помятых (что они прошли, мне не известно) выбрал пару для моего будущего дозиметра. Давно хотел купить этот нужный в быту прибор, но теперь, имея в наличии чувствительный элемент прибора, решил немного поразмять мозг и руки, и теперь хочу поделиться результатом. Сразу скажу, что конструктив получился "серьезным", неубиваемым и "немного" громозким. Так как люблю работать с алюминием, то идея сделать корпус из него не отпугнула, а габариты, как сказала одна знакомая, можно обратить в пользу, если использовать дозиметр в качестве линейки или уровня, попутно измеряя светимость строительных материалов. От себя добавлю, что с ним уже не так страшно ходить в лес, так как он вполне может заменить дубину. :) В конце концов каждый для себя может выбрать другой конструктив, а сам проект "растащить" на различного рода технические решения и идеи примененные в нем. Основной целью было сделать недорогой многофункциональный (на сколько это возможно) прибор.

   В разобраном виде дозиметр выглядит так (фотографию можно увеличить, если щелкнуть по ней):


   На фотографии можно увидеть узлы прибора (слева на право): счетчик ионизирующего излучения СБМ-20, плата умножителя напряжения с выходным напряжением +385В, плата обработки и индикации, выключатели питания и подсветки дисплея, батарея питания из 4-х элементов типа С (советский код типа 343). Благодаря большому корпусу стало возможным использовать более емкие батарейки, а подсветка ЖКИ сделала это даже необходимым. Дозиметр имеет клавиатуру из трех кнопок (слева направо): "Курсор влево и вниз", "Ввод" и "Курсор вправо и вверх".

   Принципиальная электрическая схема прибора представлена здесь (Нарисована от руки, так как проект в электронном виде в данном случае не создавался. Надеюсь, она вполне читаема):


   Дозиметр выполнен на микроконтроллере (DD1 на схеме) компании Microchip PIC12F629 (Я использовал микроконтроллер PIC12F675, так как он был под рукой. PIC12F629 предпочтительнее, так как дешевле за счет отсутствия в своем составе АЦП, который в дозиметре не используется. В остальном эти микросхемы тождественны). Микроконтроллер тактируется внутренним тактовым генератором с частотой 1 МГц, стабилизированой кварцевым резонатором. Вход сброса (MCLR) GP3 микроконтроллера в слове его конфигурации сконфигурирован как порт ввода-вывода.
   Сдвиговый регистр CD4094 (DD2 на схеме) выполняет функцию увеличения доступных для управления узлами дозиметра портов ввода-вывода микроконтроллера. Можно использовать другие микроконтроллеры, с большим количеством доступных портов ввода-вывода, но они обычно дороже. Выходы регистра управляют работой ЖКИ и опросом клавиатуры.
   К DD2 подключен жидкокристаллический индикатор и клавиатура из 3-х кнопок. Опрос клавиатуры происходит динамически, при последовательном появлении управляющей логической единицы на выходах Q1-3 DD2. В момент опроса клавиатуры, порт ввода-вывода GP1 DD1 программно переключается в третье состояние и работает на ввод. При нажатии кнопки, напряжение с выводов Q1-3 DD2 поступает на вход GP1 DD1. При записи команд и данных в ЖКИ, порт ввода-вывода программно переключается на вывод и сигнал с него защелкивает в выходных триггерах DD2 записанные в регистр данные. Нажатые в этот момент кнопки клавиатуры уже не мешают этому процессу, так как подключены через резистивный делитель на резисторах номиналом 10 кОм. Одновременное нажатие двух кнопок в алгоритме работы дозиметра не предусмотрено и не желательно, так как закорачивает выходы DD2. Можно защититься от этого случая, включив последовательно с кнопками токоограничивающие резисторы и достаточно увеличив номиналы резисторов делителя.
   Резистор R1 является нагрузкой для счетчика СБМ-20 и подобран таким образом, чтобы напряжение импульса на нем было порядка 5В. Стоит заметить, что сопротивление резистора влияет на длительность импульса (на время его спада), поэтому не стоит выбирать его слишком большим, в противном случает импульсы для микроконтроллера могут сливаться в один. Выглядит импульс так (с учетом емкости щупа осциллографа):


   От перенапряжения вход DD1 GP3 защищает диод 1N4148, подключенный к шине питания. Появление импульса на выводе микроконтроллера GP3 вызывает программное прерывание и счет импульсов. Прерывание вызывается по изменению уровня на этом входе, т.е. дважды за один импульс, но с однократым на 1-цу увеличением программного счетчика импульсов.
   Умножитель напряжения питания СБМ-20 состоит из ключей на 4-х транзисторах, повышающего трансформатора и умножителя напряжения на конденсаторах. Выходное напряжение стабилизируется стабилитронами VDZ1-VDZn. Счетчик СБМ-20 имеет рабочее напряжение 400В. Протяженность плато рабочей характеристики составляет 100В. Но так как выходное напряжение умножителя сильно зависит (в первую очередь из-за большого сопротивления высоковольтной обмотки маломощного трансформатора T1) от питающего напряжения и потребляемого от умножителя тока (который зависит от частоты импульсов счета), применена стабилизация. В процессе измерения умножитель возбуждается меандром, поступающим с порта GP0 DD1.
   В целом схема каких-то принципиальных особенностей не имеет. Единственный момент, пожалуй, в наличии в схеме диода VD1. Дело в том, что тот индикатор, который у меня есть в наличии не имеет регулировки контрастности. Подключение соответствующего потенциометра к выводу управления контрастностью ЖКИ не приводит к каким-то видимым ее изменениям. А при напряжении питания 4.5В изображение слишком бледное. Поэтому пришлось поднять напряжение питания схемы до 5.5В. Если применяемый Вами ЖКИ работает хорошо при напряжении 4.5В, то необходимость в VD1 и четвертой батарейке отпадает.

   Теперь о программном обеспечении и как это все работает.
   Программа обеспечивает экранное меню, измерение и сохранение результата во внутренню память EEPROM микроконтроллера. Данные в памяти доступны через меню для чтения. Перемещая кнопками курсор, можно выбрать нужный пункт меню и вызвать соответствующую функцию. Алгоритм работы меню можно увидеть на этой схеме:

   Черные прямоугольники на схеме указывают на возможные положения курсора, а исходящие линии из мест напротив соответствующего положения курсора показывают реакцию программы на нажатие кнопки "Ввод".

   Для упрощения математики и ускорения вывода результата на ЖКИ, вычисления проводятся в особой системе счисления. Прежде всего, программные счетчики импульсов и фона хранятся в памяти как строки цифр. К счетчику импульсов и фона прибавляется поразрядно 1 и база (количество мкР на импульс) СБМ-20, также хранящиеся в строковом виде (база в переменной base0_x). Если бит 4 каждого регистра счетчиков после суммирования становится равным 1, то в этот регистр записывается значение 6, а это есть виртуальный 0. При таком виде хранения состояния счетчиков импульсов и фона, перед выводом их состояний на ЖКИ нет необходимости преобразовывать их из двоичного представления в строковый, что экономит и время и ресурсы микроконтроллера. В таком же виде они сохраняются в EEPROM. Остальное прозрачно и не требует пояснений.

   Первый результат измерения выводится на ЖКИ через первые 10 секунд после старта. Второй через 90 секунд (сюда уже входит результат первых 10-ти секунд, т.е. второй результат получается рассчитаным за время 100 секунд). Третий и последующие через каждые 100 секунд.

   Конструктив. Ну, об этом нужно говорить особо, в темном месте, с глазу на глаз... Шучу! :)
   Корпус сделан из алюминиевого уголка 30х30х1.5мм. Схема смонтирована на двух макетных платах. Плюсовой контакт батарейного отсека вырезан из фольгированного текстолита и имеет усики, на которых свободно поворачивается. С другой стороны контакт подпружинен. Кнопки обычные, тактовые, установлены на плату. Толкатели кнопок - простые винты М3, с внутренней стороны корпуса защищены от выпадения двумя встречно зажатыми гайками. При сборке на толкатели кнопок одевается кембрик, чтобы винт был отцентрирован относительно толкателя. Датчик ионизирующего излучения плюсовым контактом упирается в углубление винта М3 в ценре (углубление высверливается сверлом), минусовым контактом в пружину, которая упирается в площадку из текстолита. Чтобы пружина не слетала, на нее и минусовой контакт датчика одет кембрик. Не следует выбирать пружину с большой жесткостью, так как изолятор СБМ-20 плюсового контакта выполнен из стекла и не терпит больших механических нагрузок.

   Краткие технические характеристики дозиметра:
      - напряжение питания, В ................................... 5.5 (4.5 без диода VD1)
      - ток потребляемый в режиме "Измерение", мА .. 22
      - ток потребляемый подсветкой, мА ................... 61
      - емкость счетчика импульсов ............................ 99999
      - регистрируемый фон, максимальный, мкР/ч ...... 999999

   В собраном виде дозиметр выглядит так (фотографию можно увеличить, если щелкнуть по ней):


   Здесь можно скачать документацию к проекту:

     - ПО микроконтроллера PIC12F629/675 в формате MPLab.

   На этом все, друзья. :)

Прочитано: 878 раз




При копировании и распространении материалов сайта, пожалуйста, ссылайтесь на оригинал.  R-Electronix.ru (c),  2015 г.