Импульсный металлоискатель PI-AR на микроконтроллере stm32f103c8t6. Название взято то слов PI — импульсный принцип работы, AR — сокращенно от ARM микроконтроллер. Программное обеспечение разработано в среде Arduino. Параметры металлоискателя, обнаружение монеты,по воздуху, 25 мм до 25 см,крупные предметы до 200 см. Принципиальная схема представлена на рис.
Принцип работы как и у всех импульсных металлоискателей. На поисковую катушку L1 подается короткий импульс тока,(120 мкс в данном случае)наводящий в мишени вихревые токи. При резком прерывании импульса в катушке возникает ЭДС самоиндукции и эти вихревые токи увеличивают время затухания импульса самоиндукции, затем сигнал усиливается аналоговой частью и фиксируется микроконтроллером.На рисунках представлены осциллограммы,первая без металла в зоне видимости катушки,вторая с металлом. Первый канал осциллографа, выход с катушки через ограничительную цепь R5,D1,D2. Второй канал вход на контакт микроконтроллера ( А0).
Импульс на катушку L1 подается через транзистор Т1 который управляется цепочкой В9 (контакт платы STM32),R6,T2,R1,R2.Резистор R5 и диоды D1,D2 ограничивают напряжение самоиндукции катушки L1 до 2 вольт. Аналоговая часть выполнена на операционном усилителе DA1 (TL072) и транзисторе Т3, последний служит для усиления и согласования уровней с микроконтроллером на 3.3 вольта. Далее сигнал поступает на вход (А0) микроконтроллера STM32F103C8T6,где происходит захват по таймеру от (1) до (0) и после обработки сигнала, значение выводится на индикатор. Этот микроконтроллер выбран из-за своего быстродействия что в данном случае очень важно(не хотелось усложнять аналоговую часть, когда можно обработать цифровым методом),ну и поддержка этой платы в ARDUINO. Индикация выполнена на готовом модуле WS2812В из восьми светодиодов и зуммере с напряжением питания 5 вольт. Управление осуществляется с помощью энкодера (настройка чувствительности, яркости, отключение и включение зуммера, увеличение, уменьшение глубины обнаружения и расширение шкалы индикации.)
Изготовление катушки
Катушка намотана проводом 0.7 мм, на оправке 200 мм, 25 витков, затем плотно скручена ниткой. Корпус катушки изготовлен из листа ПВХ, толщиной 5 мм и склеен клеем для PVC труб.
Штанга
Штанга изготовлена из PVC труб соединенных клеем. Эти трубы имеют хорошую жесткость по сравнению с теми которые спаиваются, ну и по весу легче.
Программное обеспечение
В среде ARDUINO нужно скачать библиотеку для плат STM32, затем установить в менеджере плат поддержку 32 битных плат CORTEX M3. Затем выбрать плату Generic STM32F103C series. Выбрать программатор (я использовал программатор ST-LINK ). Скетч для прошивки прилагается в архиве.В скетче все прокомментировано так что должно быть все понятно.
Источник питания
В качестве источника питания я использовал POWER-BANK 10 Аh и DC-DC повышающий преобразователь.Так как POWER-BANK не хотел с ним работать,(срабатывала защита) припаял провода напрямую к аккумуляторам,на выходе получилось 3.7 — 4.2 вольта.В таком случае надо пользоваться КРАЙНЕ ОСТОРОЖНО!!! от короткого замыкания могут взорваться аккумуляторы и не допускать разряда ниже 2.7 вольт (так делать нельзя!!!,надо ставить дополнительную защиту).Далее на выходе DC преобразователя выставляем напряжение 12 вольт. В момент включения питания (пока инициализируется микроконтроллер) транзистор Т1 был открыт и DC преобразователь не запускался, для этого был добавлен резистор R4.
DC — DC повышающий преобразователь MT3608.
Здесь поставил фильтр по питанию (на всякий случай).
Потребление тока в момент работы 80 миллиампер.
Изготовление блока
Для изготовления самого блока нам понадобится готовая плата с микроконтроллером STM32F103C8T6, энкодер , зуммер на 5 вольт,светодиодный модуль из 8-ми светодиодов WS2812В в виде полоски или круга и радиоэлементы указанные в списке.
Печатная плата выполнена в программе Sprint-Layout.
В собранном виде. Здесь вместо R7,R8 и R10,R11 ставил подстроечные резисторы для настройки на максимальную чувствительность.
Настройка
Правильно собранная схема в настройке не нуждается. Вместо R10, R11 ставил подстроечный резистор на 10 кОм , самый оптимальный вариант это R10 — 3 кОм , R11 — 7 кОм. Вместо R7 и R8 тоже ставил подстроечный резистор на 100 кОм. Самый лучший вариант это R7 — 18 кОм , R8 — 82 кОм. Все настройки производились при напряжении питания 12 вольт. Коннекторы для подключения катушки и питания надо ставить мощнее такие как на фото не пойдут (влияет на чувствительность и ложные срабатывания) а лучше припаять на прямую. Вот на этом фото переделал.
Работа с металлоискателем
При включении питания поисковую катушку нужно отвести подальше от металлических предметов так как происходит автоподстройка чувствительности. Далее настройка чувствительности металлоискателя осуществляется вручную, вращением ручки энкодера. Так же есть режим меню. Первое нажатие на ручку энкодера, входим в режим регулировки яркости светодиодов. Второе нажатие, режим включения, отключения зуммера.Третье нажатие,режим регулировки глубины обнаружения мишени,уменьшаем или увеличиваем длительность импульса на катушку, от 120 до 50 мкс (по умолчанию 120 мкс). Четвёртое нажатие, входим в режим регулировки на крупные или мелкие объекты, расширяем шкалу индикации (по умолчанию на минимуме,более чувствительна).Пятое нажатие, выход из режима меню и автоподстройка чувствительности (отвести подальше от металла).
Металлоискатель в сборе.
Список радиоэлементов
Обозначение | Тип | Номинал | Количество | Примечание | Магазин | Мой блокнот |
---|---|---|---|---|---|---|
T1 | MOSFET-транзистор | IRF740 | 1 | |||
T2, T3, T4 | Биполярный транзистор | BC547 | 3 | |||
VR1 | Линейный регулятор | L7805AB | 1 | |||
IC1 | МК STM32 | STM32F103C8 | 1 | |||
R1 | Резистор | 6,8 кОм | 1 | smd 1206 | ||
R2 | Резистор | 20 Ом | 1 | smd 1206 | ||
R3 | Резистор | 390 Ом | 1 | 2W | ||
R4 | Резистор | 10 кОм | 1 | smd 1206 | ||
R5 | Резистор | 620 Ом | 2 | 1W | ||
R6, R13 | Резистор | 3,9 kОм | 1 | smd 1206 | ||
R7 | Резистор | 18 кОм | 1 | smd 1206 | ||
R8 | Резистор | 82 кОм | 1 | smd 1206 | ||
R9 | Резистор | 1 мОм | 1 | smd 1206 | ||
R10 | Резистор | 3,6 кОм | 1 | smd 1206 | ||
R11 | Резистор | 7,5 кОм | 1 | smd 1206 | ||
R12 | Резистор | 1 кОм | 2 | smd 1206 | ||
R14 | Резистор | 100 | 1 | smd 1206 | ||
C1, C5, C6 | Конденсатор | 100n | 3 | smd 1206 | ||
C2 | Конденсатор | 3300 мкф | 1 | 25 в | ||
C3 | Конденсатор | 1 мкф | 1 | 16 в | ||
C4 | Конденсатор | 10 мкф | 1 | |||
C7 | Конденсатор | 2200 мкф | 1 | 10 в | ||
C8 | Конденсатор | 1000 мкф | 1 | 10 в | ||
VD1, VD2 | Диод | 1N4841 | 2 | |||
DA1 | Операционный усилитель | TL 072 | 1 | |||