Ссылка на вторую часть статьи. https://dzen.ru/a/ZtQSVoz0C2eixsoi
Архив с прошивкой и схемой https://romram.ru/dzen/leech0001.rar.
Вступление.
Говорят, если человек сделал татуировку, то через некоторое время у него возникает непреодолимое желание набить ещё одну и ещё одну и ещё… В особо запущенных случаях дело доходит до полного пропадания естественного цвета кожи даже в самых укромных местах.
Примерно такая же ситуация и с домашними метеостанциями. Сначала за окном висит одинокий датчик температуры, потом эта температура начинает отправляться на сервера Мордора народного мониторинга, потом добавляются гигрометр и барометр, прирастают анемометр и румбомер. Казалось бы всё, остановись! Но нет предела совершенству :)
Поэтому сегодня мы будем делать датчик радиационного фона! IMHO по нынешним временам штука весьма актуальная. И в первую очередь интересует даже не точное значение фона в данный момент, а скорее его изменение во времени. Не дай бог конечно, чтобы эти изменения были значительными.
Итак, поехали.
За основу возьмём прибор RadSens от отечественного производителя ClimateGuard.
Девайс был приобретён по безналу, непосредственно у производителей. За наличные можно приобрести на "Озоне" и на "Алиэкспрессе". Посылку привёз СДЭК. По поводу качества упаковки могу сказать, что вес поролона вокруг платы, многократно превышал вес самого девайса.
В комплекте присутствует кабель с разъёмом. Забота о покупателе конечно приятна, но почему цвета проводов никак не коррелируют с их назначением? Даже стало интересно количество уже убитых платок из за такого шнурка?
Eщё возникает вопрос, за что наказан сигнал INT и почему его не пустили в общий разъём?
Вот так мне кажется будет правильнее.
Во всём остальном замечательная заготовка для творчества. RadSens умеет сам накапливать данные и производить их первичную обработку. Допускается подключать разные модели счётчиков Гейгера-Мюллера, производить калибровку и прочее, прочее. Производителям жирный плюс! Мне эта штука почему то напомнила советские электронные конструкторы, некоторые из них продавались в частично собранном виде. Но нет в жизни совершенства :( Забросить этот девайс на крышу к метеостанции или хотя бы вынести за окно, просто так не получится. Поскольку в устройстве нет собственного стабилизатора напряжения, а питание требуется стабильное 3.3 Вольта, также в качестве интерфейса общения с внешним миром выбрана шина I2C, совсем никак не предназначенная для связи на расстояния больше одного метра. Похоже разработчики так и планировали, что их устройство будет составной частью другого прибора, конструкция которого обеспечит их изделие качественным питанием и защитит от помех.
Придётся изобретать свой переходник для стыковки RadSens`а с суровыми условиями внешнего мира и длинных линий.
Схема.
Схема запланированной конструкции выглядит так:
Схема конечно слегка избыточна для просто измерителя фона, но это же экспериментальная конструкция, мало ли что пригодится. При повторении можно будет всё оптимизировать и лишнее убрать.
Разберём подробнее. Для удобства повествования, схема разбита на логические блоки.
«Блок 1. Rs485.»
Типовой, простой и надёжный интерфейс для выноса устройств на большие расстояния, это rs485 в связке с протоколом modbus. Все модули моей метеостанции соединены именно этой сетью. Поэтому мой выбор физического и логического уровней очевиден. Абсолютно стандартное решение без изысков. Предохранители F1, F2 и супрессор D1 защищают входные цепи от перепадов напряжения. (На длинной соединительной линии что угодно может случится.) Резисторы терминатора и подтяжек R3,R4,R5 могут понадобиться или нет, в зависимости от конфигурации вашей линии rs485. Поэтому предусмотрена возможность их оперативно подключать/отключать при настройке с помощью джамперов J1,J2,J3. В качестве транссивера rs485 выбрана микросхема CS48520S. Купил в ЧипеДипе. Недорогая, доступная, умеет работать от напряжения 3 вольта. Резистор R10 не позволяет транссиверу перейти в режим передачи и нагадить в линию пока не проснулся микроконтроллер.
«Блок 2. Микроконтроллер».
Разбором протокола modbus и пересылкой данных из I2C в rs485 и обратно будет заниматься набирающий популярность китайконтроллер CH32V003F4P6. О нём подробно я писал раньше. X1,C9,C10 это кварцевый резонатор и его обвязка. Вообще в этом микроконтроллере имеется вполне приличный встроенный генератор, стабильности которого хватает для данного применения, но поскольку нашему устройству предстоит работать на улице в жару и стужу жгучую, чтобы не было беды на кварце лучше не экономить.
«Блок 3. Индикация.»
Светодиоды RED1,LED2,LED3 со своими токоограничивающими резисторами R1,R6,R7. Нужны только при монтаже и наладке. По итогу будут скрыты герметичным корпусом. В крайнем случае их потом можно отпаять и применить в более другом месте. Зелёный будет мигать и показывать всем своим видом, что питание есть и устройство работает. Красный будет вспыхивать при получении команд modbus. Синий пока не знаю зачем, но в любом случае светодиоды лишними не бывают.
«Блок 4. Цепи питания.»
С питанием всё совсем не просто, RadSens`у нужны стабильные 3.3 Вольта, а у нас планируется запитывать его по длинной линии, возможно даже по сотне метров тоненьких проволочек UTP кабеля. Поэтому надо предусмотреть возможность питать наше устройство напряжением с запасом и большим диапазоном, хотя бы 7-24 вольта. Ибо кто его знает, какое напряжение упадёт на этих проволочках. Простой линейный стабилизатор типа lm1117-3.3 или отечественная КРЕНка тут не справятся. Поскольку если на нём просадить 24 минус 3.3, 20.7 Вольта, то ему совершенно точно станет нехорошо. Даже с учётом относительно небольшого потребляемого RadSens`ом тока. Придётся использовать импульсный стабилизатор. К счастью трудолюбивые китайские товарищи давно за нас всё придумали и выпускают множество недорогих готовых модулей питания с нужными нам параметрами. Лично мне нравится модуль HW-613.
При его стоимости на Алиекспрессе 39 рублей, на вход можно подавать до 24 вольт, выходное напряжение регулируется либо плавно, либо запаиванием перемычек. Очень удобно. Собственно я их и воспринимаю просто как отдельную деталь. Купил по случаю тысячу штук и ставлю во все свои поделки. Есть один нюанс, выход стабилизатора довольно "шумный" и на него очень желательно поставить толстый конденсатор, собственно C1 большой ёмкости нужен для подавления пульсаций. Ещё этот конденсатор по сути единственный компонент в конструкции, который боится низких температур. При выборе стоит задуматься о его типе . Возможно стоит поставить твёрдотельный. Поскольку в EasyEda ожидаемо не нашлось модели этого модуля, то на схеме он представлен гребёнкой J4 на которую и запаивается при сборке. Предохранитель F3 и супрессор D6 защищают устройство от всплесков напряжения, а диод D2 от переполюсовки.
«Блок 5. Ds18b20.»
Устройство будет находится на открытом воздухе, в герметичном корпусе и мне хочется знать какая внутри этого корпуса температура. Возможно по итогам испытаний потребуется подогрев или наоборот охлаждение. Как тут обойтись без U2 ds18b20 c его резистором подтяжки R12.
«Блок 6. Блокировочные конденсаторы.»
Керамические блокировочные конденсаторы. Хаотично разбросаны по плате в целях подавления импульсных помех. Как и светодиодов их много не бывает.
«Блок 7. Разъёмы.»
Собственно разъёмы которые предусмотрены на плате.
- U1 В этот клеммник будет приходить кабель от мастер устройства. Линии A и B rs485, а также питание.
- J5 Для соединения с RadSens. Через него подаётся стабилизированное питание 3.3 Вольта. Линии I2C, SCl и SDA со своими pullup резисторами R8 и R9. И вход для импульсов частота которых задаётся непосредственно счётчиком. Этот вход подтянут вниз pulldown резистором R2.
- J6 На эту гребёнку выведена земля и напряжение питания. На всякий случай, вдруг пригодится. Например при отладке туда можно подключить землю осциллографа.
- J7 Сюда выведены оставшиеся свободными ножки микроконтроллера. На эти же штырьки впоследствии буде ставится джампер сброса настроек устройства.
- J8 Это разъём подключения программатора. Используется при прошивке микроконтроллера.
Физическое воплощение.
Схему разобрали. Разводим плату. Гербер файлы отправляем на производство. И поскольку ждать придётся почти месяц, пока сюда выкладываем рендер.
Постарался выполнить плату в формфакторе и стиле RadSens. При желании их можно сложить бутербродом, будет органично смотреться :)
Поскольку плат пока нет, а руки чешутся продолжать, то хоть мне это и не нравится, но придётся собирать временный макет из китайских палочек и верёвочек модулей.
Страх и ужас конечно, но начать писать прошивку позволит.
Ах да, ещё на плате RadSens имеется светодиод загорающийся когда гамма-излучение воздействует на счётчик. Аналог трещотки в обычных дозиметрах. Эта опция абсолютно автономна и начинает работать сразу после подачи питания. Можно медитировать глядя на эти вспышки или использовать в качестве идеального генератора случайных чисел.
Следующая статья будет о прошивке которая оживит наш девайс.
Ссылка на вторую часть статьи. https://dzen.ru/a/ZtQSVoz0C2eixsoi
Архив с прошивкой и схемой https://romram.ru/dzen/leech0001.rar.
Содержимое статьи можно обсудить в комментариях и телеграм канале etrivia.