Вместо предисловия: как всё начиналось

Знаете, бывают проекты, которые начинаются как «сделать быстренько за выходные», а превращаются в эпопею на несколько лет. Вот у меня именно так и вышло.

Всё началось с того, что решил я сделать себе каротажную станцию. Идея возникла не просто так. Когда‑то давно закончив РГГРУ и не работая по специальности но имея определенный багаж знаний и желание...... решение было принято. Сразу скажу, что более ленивого человека чем я, встречать мне не доводилось, поэтому задача была следующая: сделать универсальный зонд (все методы в одном и желательно в него запихнуть еще видеокаротаж). Спойлер‑ видеокаротаж так и не запихнул). Начнем с того, что станция нужна была для исследований скважин на воду в Московском регионе. Наиболее подходящие методы: ГК (гамма каротаж), кс (электро каротаж), резистивиметрия, термометрия, кавернометрия, решил зачем то еще запихнуть магнитометр (как оказалось отлично показывает фильтра и трубы в скважине). И всё это нужно фиксировать в реальном времени, даже не просто в реальном времени а относительно глубины спуска прибора, с записью на компьютер, с индикацией глубины, с фильтрацией шумов, чтобы потом не мучиться с обработкой. Вроде‑бы только начал писать статью и понимаю что одной статьи будет мало, надо делать несколько‑ слишком большой объем работы. Поэтому сделаем так: я напишу сейчас вкратце что было сделано, если будут комментарии и какое‑то оживление, то уже буду писать несколько статей поэтапных, так как создание данного аппарата включает в себя токарные работы, чертежные, программирование прибора, создание регистратора данных, несколько утопленных приборов, кучу ошибок и провалов. Поэтому начнем с прибора а дальше посмотрим.

Сердцем было выбрано STM32F401 BLACK_PILL. Хотя рассматривал многие другие но ..
Arduino отпала сразу. STM32F103? У него нет FPU, а мне предстояло много считать float'ы для фильтров. STM32F407? Мощный, но дорогой и греется, а главное слишком большой по размерам.

И тут я наткнулся на STM32F401. Идеальный компромисс:

  • 84 MHz, Cortex-M4 с FPU — float'ы летают

  • 64 КБ RAM, 256 КБ Flash — с запасом

  • 3 таймера (как раз)

  • 3 USART (один на отладку, два на внешние устройства)

  • Цена около 350 рублей в розницу

Плюс есть готовые библиотеки под Arduino IDE (через STM32 Core), что сильно упрощает разработку, а главное его габариты !!! Скважины на воду обычно бурят с обсадной трубой диаметром от 114 мм. Плюс проходное отверстие моего токарного станка 38,5 мм всего, поэтому корпус был выбран- нержавеющая труба внешним диаметром 38 мм, и внутренним 32 мм. Я тогда не знал, что это упрощение потом вылезет боком...причем несколько раз.

Разводка платы: моя боль

Когда я начал разводить плату, столкнулся с классической проблемой: пинов много, а удобных мало. STM32F401 в корпусе LQFP64 — это 64 пина, из них:

  • 16 — питание и земля

  • 8 — под тактовый кварц и USB

  • Остальные 40 — под периферию

Я потратил три вечера, раскладывая датчики по пинам. В итоге плюнул, и использовал готовую плату, черную пилюлю. С ней раскидать пины не составило особого труда.


PA4 — вход резистивиметра
PB3 — вход гамма-счётчика (прерывание по фронту)( отдельная боль)
PB10 — питание резистивиметра.

PB7, PB6, PB5, PB4 — управление мультиплексором (4 пина на выбор платы) для генератора переменного напряжения для кс.

PB8 (SCL), PB9 (SDA) — I2C шина (к ней: масса датчиков)

PA2 (TX2), PA3 (RX2) — UART2 для внешнего УЗК-канала
PA9 (TX1), PA10 (RX1) — UART1 для каверномера ( перспективно)

PA8 — OneWire для датчика температуры

PA11, PA12 — USB (отладка)

Идея была следующая:

  1. Гамма пишется по прерываниям — тут все просто и понятно, кроме самого датчика‑ надо было его собрать ( есть крутая статья на радиокот с фэу), также на хабре есть много статей по сифэу. В итоге сделано все на сифэу. Обычное фэу требует высокого напряжения, очень хрупкое а главное занимает много места в приборе — мне не подходит.

  2. кс‑ электрокаротаж. Ну будучи ленивым и не любящим читать я решил так, на фига я буду делать зонд с 4мя электродами, где два токовых а и б, а м и н измеряющие. Я буду измерять падение напряжения сразу на токовых электродах. Итог такой‑после нескольких попыток я измеряю и на токовых и на измерительных. Особой разницы для гидрогеологических скважин нет, ниже приведу диаграммы, но измерение на токовых дает еще большое преимущество что просматривается целостность обсадной колонны, плюс быстрая реакция на маленькие прослойки, к примеру двигается прибор среди известняка и небольшая прослойка глины (около 0.5 метра) и прибор ее видит, что очень нравится. Но тут появилось большое НО. Если я использую кс то как я могу в данном приборе использовать резистивиметр?? А получается могу.

  3. резистивиметр. КС работает на частоте 70 гц. Но работает хитро. 700 мс он генерирует и измеряет а 300 мс он не работает и в это время работает рм (резистивиметр) получилось очень удобно, а главное привязка по глубине на одном приборе‑ шик.

  4. термометр — тут все просто, опрашивается раз в секунду, точность до сотки градуса, помогает выделить зону активной фильтрации.

Теперь пора показать что получается на выходе (уже с регистратора данных и обработкой).

РМ сразу показал зону активной фильтрации с 80 метров (там открытый ствол) , а с 60ти метров по 80 фильтровая колонна 219 труба.

Я не мастер писать статьи, просто поделился результатом проделанной работы. Если интерес вызовет то попробую описать все более детально и подробно.

Синяя линия это кс, он помог определить разгерметизацию обсадной колонны, там где пики там дыры (может отверстия)
Синяя линия это кс, он помог определить разгерметизацию обсадной колонны, там где пики там дыры (может отверстия)