Схемы металлоискателей MD4U
http://md4u.ru/

Пинпойнтер на AVR
http://md4u.ru/viewtopic.php?f=19&t=11208
Страница 1 из 5

Автор:  ВалерийЛем [ Сб: 24 ноя 2018 22:41 ]
Заголовок сообщения:  Пинпойнтер на AVR

Преимущества
- открытый код (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: схема и текст программы. Текст удалил - он, оказалось, не представляет интереса, а место занимал
;

Автор:  DesAlex [ Вс: 25 ноя 2018 12:05 ]
Заголовок сообщения:  Re: Пинпойнтер на AVR

Есть подобный проект - viewtopic.php?f=19&t=9700&start=0
Осталось "скрестить" - "камень" взять на 8 ног, а генератор и софт - предложенный здесь :|

Автор:  ВалерийЛем [ Вс: 25 ноя 2018 15:06 ]
Заголовок сообщения:  Re: Пинпойнтер на AVR

Дык в тексте программы поменять вектор прерывания и номер порта осталось. Для этого я и выложил текст. А других камней-то нет у меня кроме АтМега 2560 - ног там куда больше. Если Вам интересно, дайте номер камня я переделаю программу под него, но проверить смогу только в модели, которую видели в приложении.

Автор:  DesAlex [ Вс: 25 ноя 2018 15:28 ]
Заголовок сообщения:  Re: Пинпойнтер на AVR

Откомпилируйте в hex или bin для популярных процессоров attiny13 и attiny15. Если конфигурационные биты надо будет устанавливать отличные, от считанных с этих "камней" по умолчанию - укажите и их. Попробуем собрать. Файлы прошивок заархивируйте в rar или zip - они прикрепятся к сообщениям.

Автор:  ВалерийЛем [ Вс: 25 ноя 2018 16:56 ]
Заголовок сообщения:  Re: Пинпойнтер на AVR

Ok!

Автор:  ВалерийЛем [ Вс: 25 ноя 2018 21:56 ]
Заголовок сообщения:  Re: Пинпойнтер на AVR

Тут вот какая ситуевина вышла. При загрузке в AtmelStudio камня с номером AtTiny13 после компиляции без сообщения об ошибках, в протеусе не работал ни АЦП ни прерывание от таймера Т0. Несколько часов ушло на разбор . После установки в программу вместо мнемокодов регистров (ADCSRA, TIMSK, TCCR0A Et cetera) их реальные адреса, но не те что в даташите, а еще и со смещением 0x20, которое вычислил по протеусу, модель начала работать. А теперь пойди пойми, то что я выложу, нормальные HEX или помойку. Похоже, заголовочный файл к тини13 с приветом или я
Фуз по умолчанию CLKDIV8 снять, в этой программе пусть работает на 9 MHz. Картинку подключения прилагаю. на время проверки вместо генератора подключите потенциометр Внутренняя опора - 1.1В. У меня для 303Ж получается 6...8кОм.
Ход проверки: установить 1 В потенциометром. Включить. Дождаться звонка. Понизить напряжение на 0.05В услышать редкие звонки. Понижать по 0.1 В дальше до появления сплошного сигнала. Повысить напряжение от 1В на 0.05В и услышать противные звонки. Конец.

Автор:  DesAlex [ Сб: 01 дек 2018 18:51 ]
Заголовок сообщения:  Re: Пинпойнтер на AVR

ВалерийЛем писал(а):
Кстати, какая минимальная частота вышла, я по ней сравню результат в протеусе. У меня на осциллографе протеуса чуть больше 200 мс

Не мерял. Пусть, когда частоту генератора буду строить по осциллографу, замеряю.
Про конденсаторы. Обычно ставим "зелёные подушечки" с литерой J в маркировке - они и широко-распостранённые (с разборки) и стабильные (по крайней мере - для подобного типа устройств). Wima ещё есть, К71-1, но они крупнее.

Автор:  ВалерийЛем [ Вс: 02 дек 2018 2:22 ]
Заголовок сообщения:  Re: Пинпойнтер на AVR

Пока не стоит перематывать катушку. Возможно, 2 мГ хватит дальности и с ней. 4-5 см наверное вытянет

Автор:  DesAlex [ Вс: 02 дек 2018 14:20 ]
Заголовок сообщения:  Re: Пинпойнтер на AVR

Макетирую. Какой диод лучше применить? Указанного на схеме не нашёл (да и излишне мощный он))), но есть куча Шоттки других, например 1N5819.
По логике работы прибора: напряжение 1 вольт надо выставлять не на истоке полевика (как на схеме), а на входе МК?

Автор:  ВалерийЛем [ Вс: 02 дек 2018 15:21 ]
Заголовок сообщения:  Re: Пинпойнтер на AVR

Абсолютно любой, хоть BAT54 или КД521, не помню его номер точно. Можно германиевый, тогда через него обратный саморазряд появится, можно будет наверное отказаться от разрядного резистора, что параллельно С3. Самый маленький был КД102, кажется. Частота низкая, никаких особых требований. За амплитудой гнаться не надо, потому и шоттки не обязателен.
Заказал я пучек тини13а у китайцев. Поэтому сяду программировать тональный пин. Останется и импульсный там же. Места хватит, думаю. Куда что подключить, уже дело хозяйское. Может быть и регулировку порога чувствительности верну.

Автор:  DesAlex [ Вс: 02 дек 2018 15:42 ]
Заголовок сообщения:  Re: Пинпойнтер на AVR

В общем, запустил. КП303В, 1N5819, катушка 2 мГ, конденсаторы 0,1 мкФ (нижний) и 0,047 мкФ (верхний). Частота вышла 19,5 кГц. Напряжение около 1 В выставлял на входе МК. Стабильненько, после разных "Трекеров ФМ", "Малышей ФМ" и т.п. - даже удивлён. На МПЗ пока что реакции не заметил. Чувствительность получилась около 3,5 см на 5 коп СССР 1961 г. Цели с низким ВДИ видит отлично (не удивительно - рабочая частота высокая), это хорошо. Максимальная частота следования импульсов на бузер (для цветмета) - 20 Гц.
Из грустного (но, в принципе - маловажного): не получается для ферромагнетиков добиться, чтобы напряжение на вых.генератора пошло вверх. Только вниз и всё.
Предполагаемые действия: оптимизация генератора (конденсаторы, транзистор и, особенно - сам датчик).
Ожидаемый эффект: вытянуть 5 см для монеты 5 коп с отличной стабильностью.
Не нужно, но можно (в прошивке) - контроль напр. источника питания, "напоминалка" - если забыл выключить питание, добавить одну градацию в тон (смена частоты через каждый 1 см чувства)))

Автор:  Viktoryan [ Вс: 02 дек 2018 16:53 ]
Заголовок сообщения:  Re: Пинпойнтер на AVR

День добрый всем , ну и КП303 можно заменить на BF245B или MMBF5485 подешевле будут

Автор:  ВалерийЛем [ Вс: 02 дек 2018 17:50 ]
Заголовок сообщения:  Re: Пинпойнтер на AVR

Я выставлял 1В с расчетом того, что приближение к ферриту дает возрастание амплитуды. Оно достаточно заметно у меня на осциллографе. Одновременно уменьшается частота, это понятно-растет индуктивность. Для установки 1В я использовал участок от максимума амплитуды в сторону уменьшения истокового резистора.
Какая частота получилась при максимальном расстоянии? Совпала ли с моделью?

Автор:  ВалерийЛем [ Вс: 02 дек 2018 19:29 ]
Заголовок сообщения:  Re: Пинпойнтер на AVR

Попытался программировать тональный генератор. Что-то получилось, но проверить пока не могу, мои тини13А пока еще и не отгрузили.

Автор:  ВалерийЛем [ Вс: 02 дек 2018 19:56 ]
Заголовок сообщения:  Re: Пинпойнтер на AVR

К вопросу о ферромагнетиках и увеличению амплитуды. Ферромагнетик с малыми потерями (феррит,альсифер) даст эффект роста амплитуды, остальные приведут к потерям, т.е. к снижению. Тут уместно отметить, что изменяется частота всегда. Ферромагнетики ее снижают, диамагнетики повышают. В этом проекте она не анализируется. У этого камня мало ресурсов- слабый счетчик и маловато памяти под программу и переменные.
Забыл про др.изменения сказать. Любое "улучшение" добавляет деталей. За батареей проследить еще можно, а за отсутствием памяти у хозяина я не смогу, наверное. Потому как "Забыл" - это минута, час или день - поди догадайся. Когда элементы не термостабильны он и сам начинает напоминать через 3-5 минут. Поэтому я ничего и не придумывал-получается само, т.е. чем хуже, тем лучше в данном случае. А про на напряжение - сейчас взгляну, что можно сделать. Наверное нужен внешний делитель, а это еще 2 резистора, мне казалось, лишних.

Автор:  geov [ Вт: 04 дек 2018 6:59 ]
Заголовок сообщения:  Re: Пинпойнтер на AVR

[quote="ВалерийЛем"][/quote]
Какой ток потребления в режиме ожидания? на 328 и 13?

Автор:  DesAlex [ Вт: 04 дек 2018 9:49 ]
Заголовок сообщения:  Re: Пинпойнтер на AVR

Для 13-й: ожидание - 10 мА, со звуком - до 25 мА с активным бузером на 5 в. Для современных источников питания (литий) - это то же самое, что ничего 8) Если "камень" позволяет организовывать "спящий режим", то можно забецать включение электронным способом с автоотключением через сколько-то минут.

Автор:  ВалерийЛем [ Вт: 04 дек 2018 11:00 ]
Заголовок сообщения:  Re: Пинпойнтер на AVR

Да, можно и усыпить.
Кроме Teknetics G2 у меня есть еще китаец, MD1010, которым я очень доволен. Teknetics выключается обычным способом. А у MD1010 сделали то самое засыпание-пробуждение. Мне пришлось ковырять дыру в корпусе и ставить микровыключатель. Теперь он перестал жрать батарею пока выключен. Дополнительно вместо динамика 8 Ом установил 32 Ома. В Teknetics тоже установил высокоомный динамик. Это заметно удлинило время работы. Мне одинаково - выключать кнопкой или переводить этой же кнопкой в ждущий режим. Не могу найти ни одного отличия. Будить-то его все равно чем.
Пока отлаживал тональный кусок, нашел в тексте программы глюк. Наверное, когда модифицировал ее под тини13, случайно стер одну команду RJMP, потому программа, видимо, не свистит приближение к ферриту. Я доклюю тональный сигнал, потом выложу все вместе с этим исправлением. Надеюсь ,программа получится покороче раза в два, может память еще куда сгодится.

Автор:  DesAlex [ Вт: 04 дек 2018 11:40 ]
Заголовок сообщения:  Re: Пинпойнтер на AVR

ВалерийЛем писал(а):
Мне одинаково - выключать кнопкой или переводить этой же кнопкой в ждущий режим. Не могу найти ни одного отличия.

Единственное преимущество кнопки без фиксации - легко организовывается автоотключение. Ну, и ещё так более "по-фирмовому" :roll: В остальном - "на скорость не влияет".
Автоотключение хорошо тем, что, найдя хорошую находку, "забываешь обо всём на свете" - кинул пин, побежал к товарищам похвастаться :lol: , потом прибежал, ямку ногою завернул, детектор и лопату ухватил и побежал дальше... пин, особенно - чёрного цвета - остался на поле. Пусть сам выключится, только пропоёт что-нибудь перед этим, чтобы напомнить о себе :oops:

Автор:  ВалерийЛем [ Вт: 04 дек 2018 12:21 ]
Заголовок сообщения:  Re: Пинпойнтер на AVR

Я понял. Зима у нас длинная. Прикручу. Позднее. Пока звук не выходит как хочется. Пытаюсь сделать без лишних навесных.

Автор:  ВалерийЛем [ Вт: 04 дек 2018 16:48 ]
Заголовок сообщения:  Re: Пинпойнтер на AVR

Можно попробовать этот вариант, тут есть тон (РВ1, пин 5, кажется) и расширенное число градаций по импульсному выходу РВ0. Последний 7, непрерывный. Вы просили побольше, посмотрите лучше это или нет. У меня пока проверить не чем.
Для проверки тонального сигнала нужен какой-то наушник, лучше насовать побольше омов в него.
Я прицепил также файл .obj. Если будете отлаживаться в PROTEUS, то с ним удобнее следить за процессами.
==========
;
; Pin13Tone.asm
; Created: 01.12.2018 20:29:12
;************************************************************
; Metal_pointer.asm for Attiny13
;************************************************************

Автор:  DesAlex [ Ср: 05 дек 2018 10:51 ]
Заголовок сообщения:  Re: Пинпойнтер на AVR

Попробовал.
Много градаций - плохо. Бузер со встроенным генератором не успевает "потерять питание", получается что попало. Всё же лучше, как было - 4-5 градаций, максимальной частотой не увлекаться (15-20 Гц максимум).
Похоже, вкрался баг в прошивку: как будто бы не работает сравнение с опорой - очень сложно поймать рабочую точку, пересброс не помогает, а было же всё стабильно.
На феррит реакции нет, на мелкое железо - как на цветняк.
Тональный на выв.6 есть, попробовал пьезиком - мне импульсный режим больше по душе ("как у фирменных пинов").

Автор:  ВалерийЛем [ Ср: 05 дек 2018 11:15 ]
Заголовок сообщения:  Re: Пинпойнтер на AVR

Я примерно так и думал. На протеусе всего не прочувствуешь. Подожду приход тини13, потом закончу отладку.
Пьезо не подойдет - механический резонанс испортит звук до неузнаваемости.

Автор:  ВалерийЛем [ Ср: 05 дек 2018 15:28 ]
Заголовок сообщения:  Re: Пинпойнтер на AVR

Да, у меня он и стоит для проверки. Звук никакой. На комариный визг смахивает. Я потом слушал на наушники от мобильника, результат поприличнее. Теоретически лучше ШИМ с интегратором чтобы получить синус, но опять навесные появляются, а у меня от них зубы ломит. После интегратора мощность-то к нулю. Зима впереди. Мож моча в голову стукнет, напишу чего...

Автор:  ВалерийЛем [ Ср: 05 дек 2018 23:29 ]
Заголовок сообщения:  Re: Пинпойнтер на AVR

прошивка c 4 уровнями установленными произвольно

Страница 1 из 5 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/