Разработка IB-метлладетектора на Arduino или AVR

Здесь принимаются все самые невообразимые вопросы... Главное - не стесняйтесь. Поверьте, у нас поначалу вопросы были еще глупее :)
Аватара пользователя
prv1984
Нашел транзистор. Понюхал.
Сообщения: 150
Зарегистрирован: Вт апр 16, 2013 10:34:43
Откуда: Украина, Артёмовск
Контактная информация:

Разработка IB-метлладетектора на Arduino или AVR

Сообщение prv1984 »

Здравствуйте, надеюсь я задаю вопрос в правильном разделе. Дело в том, что у меня есть очень стойкое желание разработать свой металлодетектор по принципу индуктивного баланса (такой как quasar, крот, кощей-20 и.т.д.). В качестве обработчика планирую использовать Arduino или AVR. Уже прочитал все роботы Колоколова, Щедрина, литературу по цифровой обработке сигналов и прочую дремучую ерунду. Теперь у меня в голове куча информации, которую я никак не могу сложить в нужный пазл. В итоге получается, что знания в этом направлении ничем не отличаются от знаний пятиклассника. Но желание заняться построением металлодетекторов всё сильнее и поэтому обращаюсь к специалистам этого форума (md4u.ru мне не помог).

Может кто-либо на пальцах объяснить принцип работы всей системы подобных устройств? Начиная от структурной схемы и заканчивая обработкой сигналов в МК (вычисление тангенса, определение фазового сдвига и т.д.). Думаю данная тема поможет таким как я, а нас очень много. Кто знает, может в результате совместных усилий получится прибор, не уступающий коммерческим.

Повторюсь, хочется узнать всё подноготную построения IB-металлоискателей. Совет собрать уже готовый не есть для меня интересным. Заранее всем благодарен!!!
Аватара пользователя
B@R5uk
Собутыльник Кота
Сообщения: 2896
Зарегистрирован: Сб ноя 13, 2010 12:53:25
Откуда: приходит весна?

Re: Разработка IB-метлладетектора на Arduino или AVR

Сообщение B@R5uk »

prv1984 писал(а):...хочется узнать всё подноготную построения IB-металлоискателей...
С таким вопросом эта тема превратится в сплошной флуд. Задавайте более конкретные вопросы.

Если ничего конкретного не можете спросить, то как на счёт сначала разобраться и попробовать поработать с уже собранным металлоискателем. После месяца каждодневных тренировок глядишь всё в голове и уляжется. Потом можно попробовать собрать что-нибудь самому и тоже опробовать, сравнить, оценить. Если вот так браться за большое дело совсем с нуля, то дело окажется неподъёмным.
Аватара пользователя
prv1984
Нашел транзистор. Понюхал.
Сообщения: 150
Зарегистрирован: Вт апр 16, 2013 10:34:43
Откуда: Украина, Артёмовск
Контактная информация:

Re: Разработка IB-метлладетектора на Arduino или AVR

Сообщение prv1984 »

...как на счёт сначала разобраться и попробовать поработать с уже собранным металлоискателем

На досуге собрал себе Quasar ARM, ходил с ним всё лето - понравилось. После этого м появилось желание сделать свой прибор.

С таким вопросом эта тема превратится в сплошной флуд. Задавайте более конкретные вопросы.

Давайте буду задавать. Первый вопрос, который меня интересует следующий: допустим у нас есть микроконтроллер, который генерирует прямоугольные импульсы с нужной нам частотой, например 10 кГц. Некий передающий каскад переводит всё это дело в синусоидальное напряжение и раскачивает передающую катушку. В приёмной катушке у нас ничего не наводится, так как она сбалансирована (остаточный разбаланс не берём во внимание). При поднесении к датчику металлического предмета, в приёмной катушке наводится мизерная ЭДС, которую мы усиливаем с помощью операционника и подаём на АЦП. А суть вопроса в том как по одному показанию АЦП формируют два канала (X и Y) и меряют сдвиг фаз?
Аватара пользователя
B@R5uk
Собутыльник Кота
Сообщения: 2896
Зарегистрирован: Сб ноя 13, 2010 12:53:25
Откуда: приходит весна?

Re: Разработка IB-метлладетектора на Arduino или AVR

Сообщение B@R5uk »

prv1984 писал(а):...допустим у нас есть микроконтроллер, который генерирует прямоугольные импульсы с нужной нам частотой, например 10 кГц. Некий передающий каскад переводит всё это дело в синусоидальное напряжение...
С помощью ШИМ можно сразу генерировать почти синус (будет нужна фильтрация только минимального уровня).

prv1984 писал(а):А суть вопроса в том как по одному показанию АЦП формируют два канала (X и Y) и меряют сдвиг фаз?
Не совсем понял что за каналы X и Y вы имеете в виду, но разность фаз между поданным с таймера сигналом и принятым на АЦП легко получить, если таймер и АЦП работают на одной частоте и были запущены одновременно.

И да, по одному показанию разность фаз определить не получится, только если она не лежит в диапазоне, длиной меньше чем п/2 и амплитуда сигнала известна. Если диапазон 2п и амплитуда не известна, то нужно по крайней мере два отсчёта синуса с разностью фаз в точности п/2 (четверть периода сигнала).
Аватара пользователя
prv1984
Нашел транзистор. Понюхал.
Сообщения: 150
Зарегистрирован: Вт апр 16, 2013 10:34:43
Откуда: Украина, Артёмовск
Контактная информация:

Re: Разработка IB-метлладетектора на Arduino или AVR

Сообщение prv1984 »

B@R5uk писал(а):С помощью ШИМ можно сразу генерировать почти синус

Если генерировать синус с помощью ШИМ, то необходимо городить ЦАП и забирать у процессора драгоценное время. К тому же ШИМ, как правило генерируется на определённой частоте, которая перестраивается в узких пределах, при этом пропадает возможность сделать гибкую настройку выходной частоты под разные типы катушек. В случае с прямоугольными импульсами можно аппаратно менять выходную частоту в широких пределах, например от 6 до 20 КГц. На мой взгляд лучше подавать прямоугольные импульсы на последовательный LC контур - по идее LC-цепь сама преобразует импульсы в синус.


Не совсем понял что за каналы X и Y

Каналы X и Y - это проекции вектора отклика. По идее их получают умножением входного сигнала на sin (для Х) и cos (для Y), но вот тут как раз до конца и не могу понять...
Аватара пользователя
B@R5uk
Собутыльник Кота
Сообщения: 2896
Зарегистрирован: Сб ноя 13, 2010 12:53:25
Откуда: приходит весна?

Re: Разработка IB-метлладетектора на Arduino или AVR

Сообщение B@R5uk »

prv1984 писал(а):Каналы X и Y - это проекции вектора отклика...
Ну тогда вам надо обсуждать этот вопрос с теми, кто знаком с этими терминами.
prv1984 писал(а):Если генерировать синус с помощью ШИМ, то необходимо городить ЦАП и забирать у процессора драгоценное время.
:facepalm: Сначала разберитесь что такое ШИМ и что такое ЦАП, а потом уже делайте такие заявления.

Более того, на счёт времени. Что ШИМ, что ЦАП при грамотной реализации через прерывания займут не более 10 тактов процессора раз в один тик дискретизации. Если частота МК 16 МГц, а частота дискретизации 16 кГц, то это всего лишь 1% времени АЦП. Впрочем, хозяин — барин, нравится куча рассыпухи — делайте на рассыпухе. Я лишь указал на возможную альтернативу.

Добавлено after 5 minutes 45 seconds:
prv1984 писал(а):В случае с прямоугольными импульсами можно аппаратно менять выходную частоту в широких пределах, например от 6 до 20 КГц.
Думаю, это не тот размах частот, на котором можно увидеть качественную разницу в отклике от искомых объектов.
Аватара пользователя
prv1984
Нашел транзистор. Понюхал.
Сообщения: 150
Зарегистрирован: Вт апр 16, 2013 10:34:43
Откуда: Украина, Артёмовск
Контактная информация:

Re: Разработка IB-метлладетектора на Arduino или AVR

Сообщение prv1984 »

Ну тогда вам надо обсуждать этот вопрос с теми, кто знаком с этими терминами.

Я для того и на форуме, чтобы найти тех людей, которые знакомы с этими терминами, но знакомы с ними больше чем я.

Сначала разберитесь что такое ШИМ и что такое ЦАП

Что это такое я знаю, как знаю и то что все таймера будут задействованы при демодуляции сигнала с приёмной катушки и использовать 2 из 3-х аппаратных таймеров МК для генерации синуса в некотором диапазоне частот это, на мой взгляд, расточительно.

Думаю, это не тот размах частот, на котором можно увидеть качественную разницу в отклике от искомых объектов

Почему-то большинство датчиков для балансников работают в этом диапазоне или я чего-то не до конца понимаю...
Аватара пользователя
mickbell
Друг Кота
Сообщения: 16372
Зарегистрирован: Пт мар 30, 2012 05:17:29
Откуда: Екатеринбург

Re: Разработка IB-метлладетектора на Arduino или AVR

Сообщение mickbell »

prv1984 писал(а):К тому же ШИМ, как правило генерируется на определённой частоте, которая перестраивается в узких пределах, при этом пропадает возможность сделать гибкую настройку выходной частоты под разные типы катушек.
:shock:
И хрюкотали зелюки,
Как мюмзики в мове.

На каждый РКН
Найдётся VPN.
Аватара пользователя
prv1984
Нашел транзистор. Понюхал.
Сообщения: 150
Зарегистрирован: Вт апр 16, 2013 10:34:43
Откуда: Украина, Артёмовск
Контактная информация:

Re: Разработка IB-метлладетектора на Arduino или AVR

Сообщение prv1984 »

mickbell писал(а):
prv1984 писал(а):К тому же ШИМ, как правило генерируется на определённой частоте, которая перестраивается в узких пределах, при этом пропадает возможность сделать гибкую настройку выходной частоты под разные типы катушек.
:shock:

И не надо на меня так смотреть :)) я объяснил выше почему не хочется связываться с ШИМ - жалко использовать 2 таймера, а на одном каши не сваришь.
Аватара пользователя
B@R5uk
Собутыльник Кота
Сообщения: 2896
Зарегистрирован: Сб ноя 13, 2010 12:53:25
Откуда: приходит весна?

Re: Разработка IB-метлладетектора на Arduino или AVR

Сообщение B@R5uk »

prv1984 писал(а):а на одном каши не сваришь.
:facepalm: Скажите честно: вы пробовали?
Аватара пользователя
mickbell
Друг Кота
Сообщения: 16372
Зарегистрирован: Пт мар 30, 2012 05:17:29
Откуда: Екатеринбург

Re: Разработка IB-метлладетектора на Arduino или AVR

Сообщение mickbell »

prv1984 писал(а):И не надо на меня так смотреть :)) я объяснил выше почему не хочется связываться с ШИМ - жалко использовать 2 таймера, а на одном каши не сваришь.
ШИМ иногда можно сгенерировать вообще без таймера.
И хрюкотали зелюки,
Как мюмзики в мове.

На каждый РКН
Найдётся VPN.
Аватара пользователя
prv1984
Нашел транзистор. Понюхал.
Сообщения: 150
Зарегистрирован: Вт апр 16, 2013 10:34:43
Откуда: Украина, Артёмовск
Контактная информация:

Re: Разработка IB-метлладетектора на Arduino или AVR

Сообщение prv1984 »

Скажите честно: вы пробовали?

Да

ШИМ иногда можно сгенерировать вообще без таймера.

Как тут поспоришь, иногда можно для включения одного светодиода дёргать весь порт контроллера - чего париться, так же проще. Andy_F, разработавший Quasar не зря перескочил с AVR на STМ32, потому что дорога каждая микросекунда процессорного времени. Давайте будем генерировать сигнал без таймера, прерываний а затем загрузим контроллер обработкой данных и посмотрим во что превратится генерируемый сигнал.
Fallk
Мудрый кот
Сообщения: 1842
Зарегистрирован: Пт май 29, 2009 10:58:47
Откуда: Саратов

Re: Разработка IB-метлладетектора на Arduino или AVR

Сообщение Fallk »

Один нескромный вопрос.
А Вы катушку своими руками пробовали мотать? Чтобы был баланс и он не уходил от влажности, температуры, тряски, ударов, погоде, давления, от чиха. Да от всего. Этим очень грешат самодельные катушки
Есть куча готовых схем, но все упирается в изготовление катушек. Я пробовал мотать - пока не далась. И еще неодин самоделкин не смог сделать электронику к готовой заводской катушке.
Аватара пользователя
mickbell
Друг Кота
Сообщения: 16372
Зарегистрирован: Пт мар 30, 2012 05:17:29
Откуда: Екатеринбург

Re: Разработка IB-метлладетектора на Arduino или AVR

Сообщение mickbell »

prv1984 писал(а):Andy_F, разработавший Quasar не зря перескочил с AVR на STМ32, потому что дорога каждая микросекунда процессорного времени. Давайте будем генерировать сигнал без таймера, прерываний а затем загрузим контроллер обработкой данных и посмотрим во что превратится генерируемый сигнал.
Правильно сделал. У STM32 этих таймеров - как на таймерной фабрике, не придётся их экономить.
И хрюкотали зелюки,
Как мюмзики в мове.

На каждый РКН
Найдётся VPN.
Аватара пользователя
prv1984
Нашел транзистор. Понюхал.
Сообщения: 150
Зарегистрирован: Вт апр 16, 2013 10:34:43
Откуда: Украина, Артёмовск
Контактная информация:

Re: Разработка IB-метлладетектора на Arduino или AVR

Сообщение prv1984 »

И еще неодин самоделкин не смог сделать электронику к готовой заводской катушке.


А как же quasar, фортуна-м и др. У них подбирается резонансная частота автоматом по току потребления. Подключил, нажал, порадовался. Я думаю, что большой процент датчиков можно к ним прикрутить, даже заводских.
Аватара пользователя
B@R5uk
Собутыльник Кота
Сообщения: 2896
Зарегистрирован: Сб ноя 13, 2010 12:53:25
Откуда: приходит весна?

Re: Разработка IB-метлладетектора на Arduino или AVR

Сообщение B@R5uk »

prv1984 писал(а):
Скажите честно: вы пробовали?
Да
Я тоже пробовал и у меня прекрасно получился синус из ШИМ на одном таймере.
Аватара пользователя
fedyasolder
Поставщик валерьянки для Кота
Сообщения: 2168
Зарегистрирован: Ср май 01, 2013 13:53:56
Откуда: с пальмы в Рио-Инженейро

Re: Разработка IB-метлладетектора на Arduino или AVR

Сообщение fedyasolder »

Меандр в катушку сразу давал?
электропримат паяю даже лёжа...
Fallk
Мудрый кот
Сообщения: 1842
Зарегистрирован: Пт май 29, 2009 10:58:47
Откуда: Саратов

Re: Разработка IB-метлладетектора на Arduino или AVR

Сообщение Fallk »

prv1984 писал(а):Подключил, нажал, порадовался. Я думаю, что большой процент датчиков можно к ним прикрутить, даже заводских.

Ага, только чего то миллион тем как сделать катушку своими руками и полмиллиона темм с вопросом, а можно ли использовать что то заводское.
Аватара пользователя
prv1984
Нашел транзистор. Понюхал.
Сообщения: 150
Зарегистрирован: Вт апр 16, 2013 10:34:43
Откуда: Украина, Артёмовск
Контактная информация:

Re: Разработка IB-метлладетектора на Arduino или AVR

Сообщение prv1984 »

Я тоже пробовал и у меня прекрасно получился синус из ШИМ на одном таймере

Можно узнать в каких пределах и с каким шагом вы можете менять частоту синуса. Хочется ведь сделать возможность автоподстройки частоты под датчик...

Меандр в катушку сразу давал?

Мы с товарищами пока только обсуждаем что лучше подать: синус или меандр

Ага, только чего то миллион тем как сделать катушку своими руками и полмиллиона темм с вопросом, а можно ли использовать что то заводское.

Так это такие же люди как я, знаний не хватает, а делать хочется - будем эволюционировать :))
Аватара пользователя
B@R5uk
Собутыльник Кота
Сообщения: 2896
Зарегистрирован: Сб ноя 13, 2010 12:53:25
Откуда: приходит весна?

Re: Разработка IB-метлладетектора на Arduino или AVR

Сообщение B@R5uk »

prv1984 писал(а):Можно узнать в каких пределах и с каким шагом вы можете менять частоту синуса
Верхний предел — половина частоты дискретизации (лучше не более 1/8). Шаг — любой.

Разумеется форма синуса не идеальна (хотя это зависит от многих факторов и выбора параметров), но одно верно наверняка: спектр сигнала ШИМ значительно ближе к синусу, чем просто прямоугольник (пара порядков?). Соответственно, фильтровать значительно легче.
Ответить

Вернуться в «Теория»