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

Варриант ПП на ПИКе
http://md4u.ru/viewtopic.php?f=19&t=2832
Страница 1 из 2

Автор:  Petrucho [ Сб: 09 май 2009 5:41 ]
Заголовок сообщения:  Варриант ПП на ПИКе

Варриант ПП на ПИКе:
http://www.micro-examples.com/public/mi ... ector.html

Изображение

Исходники на С есть, схема проще не придумаешь. По включению сама автобаллансируется.

Принцип работы прибора аналогичен Кощеевскому Тракер-ФМ, но по деталям несравнимо проще.

Суть работы. На борту ПИКа имеется встроенный RC генератор от которого запитан WATCHDOG. Сам контроллер тактируется от LC генератора, при изменении L - меняется тактовая частота контроллера. В фоновом режиме контроллер инкрементит переменную и после ресета по WATCHDOG, происходит сравнение образцового числа (посчитанного во время калибровки непосредственно после включения) и текущего числа отсчётов. Если они не совпадают - загарается светодиод.

Конечно в программе не предусмотрено никакой отстройки от температурных изменений. Но учитывая особенности работы пинпоинтера - этого вобщемто и не требуется.

В видеоролике в качестве датчика использовалась стандартная индуктивность, на маленькой ферритовой гантельке. Видимо поэтому чувствительность не блещет. Но если сделать катушку на нормальном ферритовом сердечнике возможно будет и ничего.

Опятьтаки исходники перекомпилить под имеющийся контоллер можно.

Автор:  tilikum [ Вс: 10 май 2009 18:19 ]
Заголовок сообщения: 

Чувство не блещет не поэтому.... Чтобы получить более-менее чутьё,
надо при периоде ватчдога 50ms загнать частоту контура на L1 в
район 200 кГц и более. А чтобы оценить глюки, которые вы словите,
желающие могут вместо L1 поставить керамический резонатор (от пульта ДУ, например) или подать внешнее тактирование (кварцованное) :)
А при частоте контура на L1 10...20 кГц чутьё будет, я думаю, на порядок меньше, чем у Кощея.

Автор:  Petrucho [ Пн: 11 май 2009 1:36 ]
Заголовок сообщения: 

Если уж речь о частоте. То интересно с чего вы взяли что там 20 кГц?

Я например вижу если грубо прикинуть по указанному диаппазону изменения индуктивности и емкостям - частота в пределах 18...3.2МГц.

Дело в другом - при такой частоте ферритовый сердечник можает уже и не работать как феррит.


Вочдог там ресетится каждые 36мс, допустим что L=210uH, тогда тактовая ПИКа 4МГц, а значит частота следования инструкций 1МГц, период 1мкс. За 36мс вылопнится 36000 инструкций а счётчик там каждые 256 отсчётов переполняется :shock:

Что он там будет мерять? Да просто совпадает или не совпадает с калибровочным числом. Такчто с переполнениями счётчика идея на первый взгляд бестолковая - а может и наоборот. У меня ПИК есть 12F509, прогу под него перекомпилил. правда родным компилятором он не поддерживается, скачал бесплатную версию HI-TECH C PIC16. У бесплатной версии код не оптимизируется - объём HEX почти вдвое больше. Пока нет программатора опробовать.

Автор:  Сергей_П [ Пн: 11 май 2009 16:08 ]
Заголовок сообщения:  Re: Варриант ПП на ПИКе

Petrucho писал(а):
на маленькой ферритовой гантельке. Видимо поэтому чувствительность не блещет.

Чувствительность "не блещет" из-за низкой добротности контура, т.к. контур получается полностью зашунтирован генератором. Мне кажется, имеет смысл использовать частичное включение контура. Например, подключив OUT к отводу контура, где-нибудь в середине, увеличить С2... и т.д. и т.п..., а прогу нарисовать самому...

Автор:  DesAlex [ Пн: 11 май 2009 16:42 ]
Заголовок сообщения: 

С1 и С2, думаю, указаны ошибочно, должно быть 15 нФ, а не пФ.
Прошивку неплохо бы перекомпилировать под Атмел, что удешевит прибор и, взависимости от выбранного камня, позвилит снизить питание до двух пальчиковых батареек.

Автор:  Petrucho [ Пн: 11 май 2009 17:52 ]
Заголовок сообщения: 

Сергей_П - да тут вобщемто добротность роли не играет, так как косвенно измеряется частота тактового LC генератора, опорным является RC генератор WATCHDOG-а.

DesAlex - про кондёры идея неплохая, надо будет на свежую голову сесть и просчитать все. Буду пробовать что из этого получится. Макетку спаял катушку намотал без сердечника - получилась 390uH. Надо с прогой разбираться, мой контроллер PIC12F509 не поддерживается тем компилятором, в которм делался проект автора.

Что, что а C компиляторы под PIC - никаких стандартов, у одних одно у других другое. Я скачал HI-TECH компилятор, прогу под него поправил. В основном правка касалась обращения к портам о спец регистрам. Вшил - ерунда какаято получается. Надо разбираться.

Привык к внутрисхемному отладчику - все переменные можно посмотреть, а тут чтото мигает - а что внутри творится остаётся только гадать.

Автор:  Random [ Вт: 12 май 2009 1:08 ]
Заголовок сообщения: 

Petrucho писал(а):
Вшил - ерунда какаято получается. Надо разбираться.

Все правильно, так оно и должно быть. Дело в том, что между PIC12F683 и PIC12F509
общее является (почти) только то, что у обоих по 8 выводов.
Они из разных фамилий, к 683, пожалуй, ближе PIC16F84, -F628... (14-бит ядро).
А вообще, писать на С для младших фамилий пиков, это все равно что палить из гаубицы
по воробьям... Для этого люди придумали пик-бейсик. :D

п.с. А Сергей_П дело говорит.

Автор:  Petrucho [ Вт: 12 май 2009 2:41 ]
Заголовок сообщения: 

Random писал(а):
...между PIC12F683 и PIC12F509
общее является (почти) только то, что у обоих по 8 выводов...


Архитектура одна и таже - принципилаьной разницы между ними нет. Набор комманд одинаковый. Длинна слова комманды у последнего на два бита меньше. А это значит большая сегментация памяти программ на банки да и только. Так что не надо так категорично.

А вообще тут без разницы какой ПИК его задача инкремент переменной, и сброс по сторожевому таймеру.

Автор:  Ciklon [ Вт: 12 май 2009 10:15 ]
Заголовок сообщения: 

В таких устройствах добротность контура является определяющей. От нее зависит чувствительность. А она достижима только в академическом контуре, т.е. в классической катушке, приличном кондере и привильном согласовании с схемой возбуждения. Т.к. внешнее электромагнитное воздействие на высокодобротный контур оказывает большее влияние. Все остальные варианты с разными сердечниками и проч. только снижают добротность и следовательно чувствительность над которой все бьются.

Все буржуйские ПП типа "Бычий глаз" имеют чувство 2-3 см. И стоят по 120 долларов. Ну не знаю, возможно так и надо?

Автор:  Andy_F [ Вт: 12 май 2009 10:23 ]
Заголовок сообщения: 

Программа настолько примитивна, что особенности архитектуры никак не скажутся :) .

Ёмкости, скорее всего, указаны правильно - при низких частотах чувствительность будет вообще никакая (в силу особенности реализации/идеологии).

А в целом - это всё изврат. По сравнению с Тракером FM экономится всего лишь NE555, а геморроя будет - выше крыши.

Автор:  Random [ Вт: 12 май 2009 11:05 ]
Заголовок сообщения: 

Andy_F писал(а):
Программа настолько примитивна, что особенности архитектуры никак не скажутся :) .

Особенности архитектуры приводят к тому, что "объём HEX почти вдвое больше".
В конкретном случае это не имеет (?) значения, чего нельзя сказать об отсуствии
у PIC12F509 HS_OSC, который как-раз и используется в "оригинале". :)

А строить приборы не "на правилах", а на "изключениях" - действительно изврат... :D

Автор:  tilikum [ Вт: 12 май 2009 12:57 ]
Заголовок сообщения: 

Andy_F писал(а):
По сравнению с Тракером FM экономится всего лишь NE555, а геморроя будет - выше крыши.

Cамый основной геморрой - из-за того, что питона меряют в попугаях!
Предлагал же выше прицепить вместо катушки керамику или подать внешний кварцованный сигнал...... Тогда будет понятно, что там за RC-генератор у ватчдога (+ сишные глюки).

Автор:  Petrucho [ Вт: 12 май 2009 14:33 ]
Заголовок сообщения: 

Языком оно это, проще. Я предлагал, я не предлагал. Лучшее предложение - сделал и отчитался о результатах.

А то начинается - а я про добротность знаю, а я про архитектуру, а я про измерение в попугаях и глюках С.

Ну такие все знатоки аж некуда... а в принципах работы вижу кое кому надо ещё разбираться если не отличают измерение добротности от измерения индуктивности.

Успехов.

Автор:  Сергей_П [ Вт: 12 май 2009 16:20 ]
Заголовок сообщения: 

[quote="Petrucho"][/quote]
Как ты думаешь, с такой опорой можно что-нибудь путное собрать?
Это для AVR, не думаю, что в PIC генератор лучшее

Автор:  Petrucho [ Вт: 12 май 2009 16:40 ]
Заголовок сообщения: 

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

Автор:  Сергей_П [ Вт: 12 май 2009 17:12 ]
Заголовок сообщения: 

Так, откуда чутьё-то возьмется? Если, опора, в идеальных условиях и кратковременно, на третьем разряде скачет! Разве только на гирю в нескольких сантиметрах.. :)

Автор:  Petrucho [ Вт: 12 май 2009 17:28 ]
Заголовок сообщения: 

По ссылке первого поста - есть видеоролик, правда не про "гирю в неслкольких сантиметрах" а про более менкие предметы :wink:

Автор:  Сергей_П [ Ср: 13 май 2009 13:52 ]
Заголовок сообщения: 

Petrucho писал(а):
По ссылке первого поста - есть видеоролик

Не смотрел и не буду... :( Кто-то верит в чудо и мессию, я же - в точные науки: физику и математику :)

Автор:  Petrucho [ Чт: 14 май 2009 1:37 ]
Заголовок сообщения: 

Маленький отчёт, о том как продвигаются дела.

Первая засада ожидала в самом компиляторе. Дело в том что по стандарту С, переменные должны быть проинициализированы, поэтому при старте программы первым делом обнуляются все переменыые в том числе и вочдог.

Обнуление вочдога приводит к тому что меняется сосотояние бита TO в регистре STATUS, тоесть становится невозможно определить произошло ли включение питания либо сброс по вочдогу.

Сначала искал как вообще отключить стартап код, чтобы в бинарнике было только то что написано в С коде - не нашёл как отключить. Пробовал подменить на пустой стартап файл - тоже не получилось.

Пришлось немного погуглить и почитать документацию на компилятор и...

Проблема нежелатальной инициализации переменных была решена обозначением их как:
persistent unsigned char var;

persistent - обозначает что переменная не инициализируется при старте программы.


Отключение сброса вочдога сделать не удалось, зато если в линкере поставить галочку чтото вроде запонинать статус при старте - тогда появляются две переменные типа: bit

которые представляют из себя копию битов регистра STATUS, при старте программы.

Блин вот на эту ерунду убил целый вечер, и только к 12 ночи заработало так как предполагалось.

Пока результа не хороший.
Катушка без сердечника диаметр 17мм, длинна намотки 3мм, 150 витков провода диаметром 0.09мм. Тактовая пика получилась 1.1МГц.

Массивный металлический степлер чувствует на расстоянии около сантиметра.

Из варриантов:
- Думаю стоит попробовать отмотать витки так чтобы тактовая ПИК-а была 4-6МГц.

- Как варриант опробовать катушку с сердечником, правда какой сердечник будет работать на 4-х мегагерцах :shock:


Так что может и прав народ насчёт попугаев :lol:

Автор:  Random [ Чт: 14 май 2009 9:00 ]
Заголовок сообщения: 

Petrucho писал(а):
...какой сердечник будет работать на 4-х мегагерцах :shock:

Из феррита ВЧ.

Автор:  Petrucho [ Чт: 14 май 2009 11:46 ]
Заголовок сообщения: 

А где его искать?
у ферритов так-же как и у железа магнитная проницаемость падает с ростом частоты :( Потому и мотал для пробы катушку без сердечника.

Автор:  Сергей_П [ Чт: 14 май 2009 12:51 ]
Заголовок сообщения: 

Для чего датчик мотают на феррите? Для уменьшения влияния грунта (что-то типа: имитация грунта всегда присутствует...), или преследуются другие цели?

Автор:  Random [ Чт: 14 май 2009 12:51 ]
Заголовок сообщения: 

Petrucho писал(а):
А где его искать?

В КВ радиостанциях.

Автор:  Petrucho [ Пт: 15 май 2009 0:32 ]
Заголовок сообщения: 

Как мне видится - сердечник нужен для "вытягивания" магнитного поля вдоль оси перпендикулярной плоскоти катушки. Т.е. чем дальше разнесены полюса друг от друга тем более вытянутая диаграмма направленности. Покрайней мере у меня сложилось такое впечатление когда пытался симулировать магнитное поле катушек без сердечника и с сердечником. Правда насколько можно доверять тому симулятору, скачал простенькую прогу, более или менее приличные симуляторы магнитных полей стоят больших денег, и в виде демо версий их нет.



Эксперименты с ПП на ПИКе продолжаются. Нашёл одну из причин плохого чутья. Дело в том что RC генератор на борту ПИКа от которого тактируется вочдог, меняет частоту с изменением питания. Это хорошо видно из таблички приведеной Сергеем_П.

У меня на макетке получалась вот какая штука, во время калибровки горят два светодиода (индикация калибровки). Во время нормальной работы, в зависимости от того куда ушла тактовая в верх или в низ - один из светодиодов. Так вот после калибровки один из светодиодов, один интервал вочдога - горит, другой - негорит. Своего рода генерация. Перепроверил код - всё в порядке. И потом только дошло - что когда горит светодиод он немножко "просаживает" питание ПИКа, при этом уходит частота вочдога. Буду пробовать както с этим бороться.

Добавил в прогу механизм запуска автобаллансировки если сигнал цели более 3х секунд.

Автор:  Сергей_П [ Пт: 15 май 2009 11:34 ]
Заголовок сообщения: 

Petrucho писал(а):
сердечник нужен для

Всё намного проще. Чувствительность ПП определяется добротностью катушки датчика (не важно каким методом производится измерение ухода параметров катушки: по частоте или по амплитуде). В ПП используется катушка малого размера, а следовательно её добротность весьма низка. Для увеличения добротности как раз и применяют незамкнутый ферромагнитный сердечник В таких катушках добротность в основном определяется добротностью ферромагнетика сердечника, но при этом появляются дополнительные дестабилизирующие факторы: температура, влияние от тока подмагничивания (если он есть)...
>Нашёл одну из причин...
Сказано же: Это - кака!
Нет, надо попробовать на вкус :)
Удачи и успехов!
Хорошо, что хоть контроллеров не боитесь :)

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