Преимущества
- открытый код (Assembler AVR)
- питание 3.3...4V без каких-либо стабилизаторов (1 элемент LiPo)
- минимум деталей с минимумом требований к ним
- программная компенсация дрейфов на достаточное, на мой взгляд, для практики время
А вот и недостатки
- нужен программатор для Атмел. Я пользуюсь USBASp2.0 (c Aliexpress) + AVRDUDE_PROG3.3
- нужен компилятор, если хотите менять пороги срабатывания. Я пользуюсь AtmelStudio.
- нужны азы по знанию ассемблера для АВР если захочется улучшить программу
- остальные недостатки см.ниже по тексту.
Могу выложить просто файл прошивки но не знаю как тут это делается. Текст программы в отдельном файле не смог выложить - запрет на файлы .ТХТ
Как работает:
Генератор по схеме Колпитца на КП303Ж (чуть хуже 303А) уменьшает амплитуду при приближении индуктора к железу , меди или алюминию и увеличивает амплитуду при приближении к ферриту и др. с малыми потерями (магнитодиэлектрикам).
Контроллер периодически следит за напряжением генератора и сравнивает его с опорным напряжением, определенным при включении прибора. По этой причине не имеет значения величина питания прибора в указанных выше пределах и качество конденсаторов. Конечно, если мгновенно не изменяется окружающая температура. Если есть термостабильные конденсаторы - ну и слава богу. У меня их нет.
При снижении входного напряжения , звуком индицируется 4 порога: цель далеко- редкие сигналы, ближе - частые , очень частые и почти непрерывный звук. При повышении напряжения издается звук, похожий на слово ФЕРРИТ.
Настройка генератора сводится к подбору резистора, тк. разброс параметров КП303 у разных экземпляров, большой. При некотором значении резистора 5.. 9 кОм амплитуда максимальна. При увеличении резистора она падает. Этот участок дает бОльшую чувствительность прибора, как мне почудилось. Противоположный спад увеличивает потребление тока.
Вложение:
PinAVR_ColpitcC.jpg
АЦП переведен в режим работы от внутренней опоры 1.1В. Поэтому выгодно установить резистором R1 напряжение на входе АЦП около 1В. При этом разрешение аЦП максимально и есть возможность отследить и повышение амплитуды. Незначительно уменьшится чувствительность и при меньшем напряжении - 0.9 или 0.8В.
нижний по схеме конденсатор контура можно увеличить в 2-3 раза.
Феррит взят круглый. При длине 4см чувствительность меньше, при 8 см больше. Витков я намотал 4 слоя проводом 0.55, а другого у меня нет. Некоторые мотают 0.35. Ориентировочная индуктивность 3-5мГ. При конденсаторах по 33нФ частота составляет 15...18кГц. Мотайте больше, может оказаться лучше.
Выходное напряжение можно получить разным способом - взять амплитудное значение через диод, как на схеме, или проинтегрировать на конденсаторе через резистор 10-20кОм. Это для тех, у кого нет диода. Резистор устанавливается вместо диода. Выходное напряжение во втором случае, конечно, понизится. Интегрирующему конденсатору достаточно емкости 0.5...1.0мКФ но можно и больше. Если он будет керамическим, параллельно полезно установить резистор 100кОм или чуть больше. Если он электролитический и так присутствует саморазряд, но надо помнить, если конденсатор принудительно не разряжать, сигнал при применении диода запомнится надолго, а этого нам не надо.
Контроллер -любой АВР , с минимумом пинов. Нам надо 2: 1 пин для входа в АЦП и 1 пин для подключения звонка. Для простоты выбран активный бипер на 5В, у меня он работает и от 3.3В. Наверное лучше сразу взять на 3.3В. Кому надо , параллельно можно подключить сверхяркий светодиод через резистор.
Я взял контроллер АТМега328р, как самый дешевый, что нашел на алиэкспресс. Он был в составе прибора с названием Arduino-Pro-Mini, но какая разница как его назвать. У него избыточная мощность для этой конструевины, но он дешевый и маленький и это главное для меня. Вибратор, по моему опыту, бесполезная вещь, жрущая энергию. А надо вам - подключите к звонку чрез полевик 2N7002, он может пропустить около 100мА при 3,5В по паспорту.
Как видите, все лишнее отброшено. Упрощение привело к уменьшению стабильности во времени. Но тут все просто. Если появляются ложные сигналы, нужно выключить прибор и снова включить. Будет установлен новый опорный уровень амплитуды. Применено левое выравнивание в АЦП, используется 8 бит. Сигнал зашумлен и биты 9 и 10 сильно мотает.
Включать, конечно, надо в стороне от влияющих масс. После звукового сигнала порог определен, можно искать.
Прилагаю схему отладки в Протеусе. Полезная вещь для отладки программ. Не забудьте - в Протеусе не запустится Колпитц, если вы не инициируете генерацию. Для этого надо замкнуть и разомкнуть концы верхнего по схеме конденсатора контура. Используйте интерактивный двухполюсный свич SW-SPST-MOM. На схеме его нет, чтобы не загромождало суть. На время отладки куда как лучше поставить вместо генератора интерактивный потенциометр POT-HG. Резистор в истоке - 6...8 кОм.
Ниже можно найти и файлы прошивки для AtTiny13, AtTiny15, AtTiny25, а также программы для детекторов с переменной частотой выходного сигнала (тональный сигнал), что на мой взгляд лучше сигнала импульсного.
Приложений 2: схема и текст программы. Текст удалил - он, оказалось, не представляет интереса, а место занимал
;