Здравствуйте, надеюсь я задаю вопрос в правильном разделе. Дело в том, что у меня есть очень стойкое желание разработать свой металлодетектор по принципу индуктивного баланса (такой как quasar, крот, кощей-20 и.т.д.). В качестве обработчика планирую использовать Arduino или AVR. Уже прочитал все роботы Колоколова, Щедрина, литературу по цифровой обработке сигналов и прочую дремучую ерунду. Теперь у меня в голове куча информации, которую я никак не могу сложить в нужный пазл. В итоге получается, что знания в этом направлении ничем не отличаются от знаний пятиклассника. Но желание заняться построением металлодетекторов всё сильнее и поэтому обращаюсь к специалистам этого форума (md4u.ru мне не помог).
Может кто-либо на пальцах объяснить принцип работы всей системы подобных устройств? Начиная от структурной схемы и заканчивая обработкой сигналов в МК (вычисление тангенса, определение фазового сдвига и т.д.). Думаю данная тема поможет таким как я, а нас очень много. Кто знает, может в результате совместных усилий получится прибор, не уступающий коммерческим.
Повторюсь, хочется узнать всё подноготную построения IB-металлоискателей. Совет собрать уже готовый не есть для меня интересным. Заранее всем благодарен!!!
prv1984 писал(а):...хочется узнать всё подноготную построения IB-металлоискателей...
С таким вопросом эта тема превратится в сплошной флуд. Задавайте более конкретные вопросы.
Если ничего конкретного не можете спросить, то как на счёт сначала разобраться и попробовать поработать с уже собранным металлоискателем. После месяца каждодневных тренировок глядишь всё в голове и уляжется. Потом можно попробовать собрать что-нибудь самому и тоже опробовать, сравнить, оценить. Если вот так браться за большое дело совсем с нуля, то дело окажется неподъёмным.
...как на счёт сначала разобраться и попробовать поработать с уже собранным металлоискателем
На досуге собрал себе Quasar ARM, ходил с ним всё лето - понравилось. После этого м появилось желание сделать свой прибор.
С таким вопросом эта тема превратится в сплошной флуд. Задавайте более конкретные вопросы.
Давайте буду задавать. Первый вопрос, который меня интересует следующий: допустим у нас есть микроконтроллер, который генерирует прямоугольные импульсы с нужной нам частотой, например 10 кГц. Некий передающий каскад переводит всё это дело в синусоидальное напряжение и раскачивает передающую катушку. В приёмной катушке у нас ничего не наводится, так как она сбалансирована (остаточный разбаланс не берём во внимание). При поднесении к датчику металлического предмета, в приёмной катушке наводится мизерная ЭДС, которую мы усиливаем с помощью операционника и подаём на АЦП. А суть вопроса в том как по одному показанию АЦП формируют два канала (X и Y) и меряют сдвиг фаз?
prv1984 писал(а):...допустим у нас есть микроконтроллер, который генерирует прямоугольные импульсы с нужной нам частотой, например 10 кГц. Некий передающий каскад переводит всё это дело в синусоидальное напряжение...
С помощью ШИМ можно сразу генерировать почти синус (будет нужна фильтрация только минимального уровня).
prv1984 писал(а):А суть вопроса в том как по одному показанию АЦП формируют два канала (X и Y) и меряют сдвиг фаз?
Не совсем понял что за каналы X и Y вы имеете в виду, но разность фаз между поданным с таймера сигналом и принятым на АЦП легко получить, если таймер и АЦП работают на одной частоте и были запущены одновременно.
И да, по одному показанию разность фаз определить не получится, только если она не лежит в диапазоне, длиной меньше чем п/2 и амплитуда сигнала известна. Если диапазон 2п и амплитуда не известна, то нужно по крайней мере два отсчёта синуса с разностью фаз в точности п/2 (четверть периода сигнала).
B@R5uk писал(а):С помощью ШИМ можно сразу генерировать почти синус
Если генерировать синус с помощью ШИМ, то необходимо городить ЦАП и забирать у процессора драгоценное время. К тому же ШИМ, как правило генерируется на определённой частоте, которая перестраивается в узких пределах, при этом пропадает возможность сделать гибкую настройку выходной частоты под разные типы катушек. В случае с прямоугольными импульсами можно аппаратно менять выходную частоту в широких пределах, например от 6 до 20 КГц. На мой взгляд лучше подавать прямоугольные импульсы на последовательный LC контур - по идее LC-цепь сама преобразует импульсы в синус.
Не совсем понял что за каналы X и Y
Каналы X и Y - это проекции вектора отклика. По идее их получают умножением входного сигнала на sin (для Х) и cos (для Y), но вот тут как раз до конца и не могу понять...
prv1984 писал(а):Каналы X и Y - это проекции вектора отклика...
Ну тогда вам надо обсуждать этот вопрос с теми, кто знаком с этими терминами.
prv1984 писал(а):Если генерировать синус с помощью ШИМ, то необходимо городить ЦАП и забирать у процессора драгоценное время.
Сначала разберитесь что такое ШИМ и что такое ЦАП, а потом уже делайте такие заявления.
Более того, на счёт времени. Что ШИМ, что ЦАП при грамотной реализации через прерывания займут не более 10 тактов процессора раз в один тик дискретизации. Если частота МК 16 МГц, а частота дискретизации 16 кГц, то это всего лишь 1% времени АЦП. Впрочем, хозяин — барин, нравится куча рассыпухи — делайте на рассыпухе. Я лишь указал на возможную альтернативу.
Добавлено after 5 minutes 45 seconds:
prv1984 писал(а):В случае с прямоугольными импульсами можно аппаратно менять выходную частоту в широких пределах, например от 6 до 20 КГц.
Думаю, это не тот размах частот, на котором можно увидеть качественную разницу в отклике от искомых объектов.
Ну тогда вам надо обсуждать этот вопрос с теми, кто знаком с этими терминами.
Я для того и на форуме, чтобы найти тех людей, которые знакомы с этими терминами, но знакомы с ними больше чем я.
Сначала разберитесь что такое ШИМ и что такое ЦАП
Что это такое я знаю, как знаю и то что все таймера будут задействованы при демодуляции сигнала с приёмной катушки и использовать 2 из 3-х аппаратных таймеров МК для генерации синуса в некотором диапазоне частот это, на мой взгляд, расточительно.
Думаю, это не тот размах частот, на котором можно увидеть качественную разницу в отклике от искомых объектов
Почему-то большинство датчиков для балансников работают в этом диапазоне или я чего-то не до конца понимаю...
prv1984 писал(а):К тому же ШИМ, как правило генерируется на определённой частоте, которая перестраивается в узких пределах, при этом пропадает возможность сделать гибкую настройку выходной частоты под разные типы катушек.
prv1984 писал(а):К тому же ШИМ, как правило генерируется на определённой частоте, которая перестраивается в узких пределах, при этом пропадает возможность сделать гибкую настройку выходной частоты под разные типы катушек.
И не надо на меня так смотреть я объяснил выше почему не хочется связываться с ШИМ - жалко использовать 2 таймера, а на одном каши не сваришь.
prv1984 писал(а):И не надо на меня так смотреть я объяснил выше почему не хочется связываться с ШИМ - жалко использовать 2 таймера, а на одном каши не сваришь.
ШИМ иногда можно сгенерировать вообще без таймера.
ШИМ иногда можно сгенерировать вообще без таймера.
Как тут поспоришь, иногда можно для включения одного светодиода дёргать весь порт контроллера - чего париться, так же проще. Andy_F, разработавший Quasar не зря перескочил с AVR на STМ32, потому что дорога каждая микросекунда процессорного времени. Давайте будем генерировать сигнал без таймера, прерываний а затем загрузим контроллер обработкой данных и посмотрим во что превратится генерируемый сигнал.
Один нескромный вопрос.
А Вы катушку своими руками пробовали мотать? Чтобы был баланс и он не уходил от влажности, температуры, тряски, ударов, погоде, давления, от чиха. Да от всего. Этим очень грешат самодельные катушки
Есть куча готовых схем, но все упирается в изготовление катушек. Я пробовал мотать - пока не далась. И еще неодин самоделкин не смог сделать электронику к готовой заводской катушке.
prv1984 писал(а):Andy_F, разработавший Quasar не зря перескочил с AVR на STМ32, потому что дорога каждая микросекунда процессорного времени. Давайте будем генерировать сигнал без таймера, прерываний а затем загрузим контроллер обработкой данных и посмотрим во что превратится генерируемый сигнал.
Правильно сделал. У STM32 этих таймеров - как на таймерной фабрике, не придётся их экономить.
И еще неодин самоделкин не смог сделать электронику к готовой заводской катушке.
А как же quasar, фортуна-м и др. У них подбирается резонансная частота автоматом по току потребления. Подключил, нажал, порадовался. Я думаю, что большой процент датчиков можно к ним прикрутить, даже заводских.
prv1984 писал(а):Можно узнать в каких пределах и с каким шагом вы можете менять частоту синуса
Верхний предел — половина частоты дискретизации (лучше не более 1/8). Шаг — любой.
Разумеется форма синуса не идеальна (хотя это зависит от многих факторов и выбора параметров), но одно верно наверняка: спектр сигнала ШИМ значительно ближе к синусу, чем просто прямоугольник (пара порядков?). Соответственно, фильтровать значительно легче.