Разработка IB-метлладетектора на Arduino или AVR
- prv1984
- Нашел транзистор. Понюхал.
- Сообщения: 150
- Зарегистрирован: Вт апр 16, 2013 10:34:43
- Откуда: Украина, Артёмовск
- Контактная информация:
Разработка IB-метлладетектора на Arduino или AVR
Здравствуйте, надеюсь я задаю вопрос в правильном разделе. Дело в том, что у меня есть очень стойкое желание разработать свой металлодетектор по принципу индуктивного баланса (такой как quasar, крот, кощей-20 и.т.д.). В качестве обработчика планирую использовать Arduino или AVR. Уже прочитал все роботы Колоколова, Щедрина, литературу по цифровой обработке сигналов и прочую дремучую ерунду. Теперь у меня в голове куча информации, которую я никак не могу сложить в нужный пазл. В итоге получается, что знания в этом направлении ничем не отличаются от знаний пятиклассника. Но желание заняться построением металлодетекторов всё сильнее и поэтому обращаюсь к специалистам этого форума (md4u.ru мне не помог).
Может кто-либо на пальцах объяснить принцип работы всей системы подобных устройств? Начиная от структурной схемы и заканчивая обработкой сигналов в МК (вычисление тангенса, определение фазового сдвига и т.д.). Думаю данная тема поможет таким как я, а нас очень много. Кто знает, может в результате совместных усилий получится прибор, не уступающий коммерческим.
Повторюсь, хочется узнать всё подноготную построения IB-металлоискателей. Совет собрать уже готовый не есть для меня интересным. Заранее всем благодарен!!!
Может кто-либо на пальцах объяснить принцип работы всей системы подобных устройств? Начиная от структурной схемы и заканчивая обработкой сигналов в МК (вычисление тангенса, определение фазового сдвига и т.д.). Думаю данная тема поможет таким как я, а нас очень много. Кто знает, может в результате совместных усилий получится прибор, не уступающий коммерческим.
Повторюсь, хочется узнать всё подноготную построения IB-металлоискателей. Совет собрать уже готовый не есть для меня интересным. Заранее всем благодарен!!!
- B@R5uk
- Собутыльник Кота
- Сообщения: 2896
- Зарегистрирован: Сб ноя 13, 2010 12:53:25
- Откуда: приходит весна?
Re: Разработка IB-метлладетектора на Arduino или AVR
С таким вопросом эта тема превратится в сплошной флуд. Задавайте более конкретные вопросы.prv1984 писал(а):...хочется узнать всё подноготную построения IB-металлоискателей...
Если ничего конкретного не можете спросить, то как на счёт сначала разобраться и попробовать поработать с уже собранным металлоискателем. После месяца каждодневных тренировок глядишь всё в голове и уляжется. Потом можно попробовать собрать что-нибудь самому и тоже опробовать, сравнить, оценить. Если вот так браться за большое дело совсем с нуля, то дело окажется неподъёмным.
- prv1984
- Нашел транзистор. Понюхал.
- Сообщения: 150
- Зарегистрирован: Вт апр 16, 2013 10:34:43
- Откуда: Украина, Артёмовск
- Контактная информация:
Re: Разработка IB-метлладетектора на Arduino или AVR
...как на счёт сначала разобраться и попробовать поработать с уже собранным металлоискателем
На досуге собрал себе Quasar ARM, ходил с ним всё лето - понравилось. После этого м появилось желание сделать свой прибор.
С таким вопросом эта тема превратится в сплошной флуд. Задавайте более конкретные вопросы.
Давайте буду задавать. Первый вопрос, который меня интересует следующий: допустим у нас есть микроконтроллер, который генерирует прямоугольные импульсы с нужной нам частотой, например 10 кГц. Некий передающий каскад переводит всё это дело в синусоидальное напряжение и раскачивает передающую катушку. В приёмной катушке у нас ничего не наводится, так как она сбалансирована (остаточный разбаланс не берём во внимание). При поднесении к датчику металлического предмета, в приёмной катушке наводится мизерная ЭДС, которую мы усиливаем с помощью операционника и подаём на АЦП. А суть вопроса в том как по одному показанию АЦП формируют два канала (X и Y) и меряют сдвиг фаз?
- B@R5uk
- Собутыльник Кота
- Сообщения: 2896
- Зарегистрирован: Сб ноя 13, 2010 12:53:25
- Откуда: приходит весна?
Re: Разработка IB-метлладетектора на Arduino или AVR
С помощью ШИМ можно сразу генерировать почти синус (будет нужна фильтрация только минимального уровня).prv1984 писал(а):...допустим у нас есть микроконтроллер, который генерирует прямоугольные импульсы с нужной нам частотой, например 10 кГц. Некий передающий каскад переводит всё это дело в синусоидальное напряжение...
Не совсем понял что за каналы X и Y вы имеете в виду, но разность фаз между поданным с таймера сигналом и принятым на АЦП легко получить, если таймер и АЦП работают на одной частоте и были запущены одновременно.prv1984 писал(а):А суть вопроса в том как по одному показанию АЦП формируют два канала (X и Y) и меряют сдвиг фаз?
И да, по одному показанию разность фаз определить не получится, только если она не лежит в диапазоне, длиной меньше чем п/2 и амплитуда сигнала известна. Если диапазон 2п и амплитуда не известна, то нужно по крайней мере два отсчёта синуса с разностью фаз в точности п/2 (четверть периода сигнала).
- prv1984
- Нашел транзистор. Понюхал.
- Сообщения: 150
- Зарегистрирован: Вт апр 16, 2013 10:34:43
- Откуда: Украина, Артёмовск
- Контактная информация:
Re: Разработка IB-метлладетектора на Arduino или AVR
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
Ну тогда вам надо обсуждать этот вопрос с теми, кто знаком с этими терминами.prv1984 писал(а):Каналы X и Y - это проекции вектора отклика...
prv1984 писал(а):Если генерировать синус с помощью ШИМ, то необходимо городить ЦАП и забирать у процессора драгоценное время.
Сначала разберитесь что такое ШИМ и что такое ЦАП, а потом уже делайте такие заявления.Более того, на счёт времени. Что ШИМ, что ЦАП при грамотной реализации через прерывания займут не более 10 тактов процессора раз в один тик дискретизации. Если частота МК 16 МГц, а частота дискретизации 16 кГц, то это всего лишь 1% времени АЦП. Впрочем, хозяин — барин, нравится куча рассыпухи — делайте на рассыпухе. Я лишь указал на возможную альтернативу.
Добавлено after 5 minutes 45 seconds:
Думаю, это не тот размах частот, на котором можно увидеть качественную разницу в отклике от искомых объектов.prv1984 писал(а):В случае с прямоугольными импульсами можно аппаратно менять выходную частоту в широких пределах, например от 6 до 20 КГц.
- prv1984
- Нашел транзистор. Понюхал.
- Сообщения: 150
- Зарегистрирован: Вт апр 16, 2013 10:34:43
- Откуда: Украина, Артёмовск
- Контактная информация:
Re: Разработка IB-метлладетектора на Arduino или AVR
Ну тогда вам надо обсуждать этот вопрос с теми, кто знаком с этими терминами.
Я для того и на форуме, чтобы найти тех людей, которые знакомы с этими терминами, но знакомы с ними больше чем я.
Сначала разберитесь что такое ШИМ и что такое ЦАП
Что это такое я знаю, как знаю и то что все таймера будут задействованы при демодуляции сигнала с приёмной катушки и использовать 2 из 3-х аппаратных таймеров МК для генерации синуса в некотором диапазоне частот это, на мой взгляд, расточительно.
Думаю, это не тот размах частот, на котором можно увидеть качественную разницу в отклике от искомых объектов
Почему-то большинство датчиков для балансников работают в этом диапазоне или я чего-то не до конца понимаю...
Re: Разработка IB-метлладетектора на Arduino или AVR
prv1984 писал(а):К тому же ШИМ, как правило генерируется на определённой частоте, которая перестраивается в узких пределах, при этом пропадает возможность сделать гибкую настройку выходной частоты под разные типы катушек.
И хрюкотали зелюки,
Как мюмзики в мове.
На каждый РКН
Найдётся VPN.
Как мюмзики в мове.
На каждый РКН
Найдётся VPN.
- prv1984
- Нашел транзистор. Понюхал.
- Сообщения: 150
- Зарегистрирован: Вт апр 16, 2013 10:34:43
- Откуда: Украина, Артёмовск
- Контактная информация:
Re: Разработка IB-метлладетектора на Arduino или AVR
mickbell писал(а):prv1984 писал(а):К тому же ШИМ, как правило генерируется на определённой частоте, которая перестраивается в узких пределах, при этом пропадает возможность сделать гибкую настройку выходной частоты под разные типы катушек.
И не надо на меня так смотреть
- B@R5uk
- Собутыльник Кота
- Сообщения: 2896
- Зарегистрирован: Сб ноя 13, 2010 12:53:25
- Откуда: приходит весна?
Re: Разработка IB-метлладетектора на Arduino или AVR
prv1984 писал(а):а на одном каши не сваришь.
Скажите честно: вы пробовали?Re: Разработка IB-метлладетектора на Arduino или AVR
ШИМ иногда можно сгенерировать вообще без таймера.prv1984 писал(а):И не надо на меня так смотретья объяснил выше почему не хочется связываться с ШИМ - жалко использовать 2 таймера, а на одном каши не сваришь.
И хрюкотали зелюки,
Как мюмзики в мове.
На каждый РКН
Найдётся VPN.
Как мюмзики в мове.
На каждый РКН
Найдётся VPN.
- prv1984
- Нашел транзистор. Понюхал.
- Сообщения: 150
- Зарегистрирован: Вт апр 16, 2013 10:34:43
- Откуда: Украина, Артёмовск
- Контактная информация:
Re: Разработка IB-метлладетектора на Arduino или AVR
Скажите честно: вы пробовали?
Да
ШИМ иногда можно сгенерировать вообще без таймера.
Как тут поспоришь, иногда можно для включения одного светодиода дёргать весь порт контроллера - чего париться, так же проще. Andy_F, разработавший Quasar не зря перескочил с AVR на STМ32, потому что дорога каждая микросекунда процессорного времени. Давайте будем генерировать сигнал без таймера, прерываний а затем загрузим контроллер обработкой данных и посмотрим во что превратится генерируемый сигнал.
Re: Разработка IB-метлладетектора на Arduino или AVR
Один нескромный вопрос.
А Вы катушку своими руками пробовали мотать? Чтобы был баланс и он не уходил от влажности, температуры, тряски, ударов, погоде, давления, от чиха. Да от всего. Этим очень грешат самодельные катушки
Есть куча готовых схем, но все упирается в изготовление катушек. Я пробовал мотать - пока не далась. И еще неодин самоделкин не смог сделать электронику к готовой заводской катушке.
А Вы катушку своими руками пробовали мотать? Чтобы был баланс и он не уходил от влажности, температуры, тряски, ударов, погоде, давления, от чиха. Да от всего. Этим очень грешат самодельные катушки
Есть куча готовых схем, но все упирается в изготовление катушек. Я пробовал мотать - пока не далась. И еще неодин самоделкин не смог сделать электронику к готовой заводской катушке.
Re: Разработка IB-метлладетектора на Arduino или AVR
Правильно сделал. У STM32 этих таймеров - как на таймерной фабрике, не придётся их экономить.prv1984 писал(а):Andy_F, разработавший Quasar не зря перескочил с AVR на STМ32, потому что дорога каждая микросекунда процессорного времени. Давайте будем генерировать сигнал без таймера, прерываний а затем загрузим контроллер обработкой данных и посмотрим во что превратится генерируемый сигнал.
И хрюкотали зелюки,
Как мюмзики в мове.
На каждый РКН
Найдётся VPN.
Как мюмзики в мове.
На каждый РКН
Найдётся VPN.
- prv1984
- Нашел транзистор. Понюхал.
- Сообщения: 150
- Зарегистрирован: Вт апр 16, 2013 10:34:43
- Откуда: Украина, Артёмовск
- Контактная информация:
Re: Разработка IB-метлладетектора на Arduino или AVR
И еще неодин самоделкин не смог сделать электронику к готовой заводской катушке.
А как же quasar, фортуна-м и др. У них подбирается резонансная частота автоматом по току потребления. Подключил, нажал, порадовался. Я думаю, что большой процент датчиков можно к ним прикрутить, даже заводских.
- B@R5uk
- Собутыльник Кота
- Сообщения: 2896
- Зарегистрирован: Сб ноя 13, 2010 12:53:25
- Откуда: приходит весна?
Re: Разработка IB-метлладетектора на Arduino или AVR
Я тоже пробовал и у меня прекрасно получился синус из ШИМ на одном таймере.prv1984 писал(а):ДаСкажите честно: вы пробовали?
- fedyasolder
- Поставщик валерьянки для Кота
- Сообщения: 2168
- Зарегистрирован: Ср май 01, 2013 13:53:56
- Откуда: с пальмы в Рио-Инженейро
Re: Разработка IB-метлладетектора на Arduino или AVR
Меандр в катушку сразу давал?
электропримат паяю даже лёжа...
Re: Разработка IB-метлладетектора на Arduino или AVR
prv1984 писал(а):Подключил, нажал, порадовался. Я думаю, что большой процент датчиков можно к ним прикрутить, даже заводских.
Ага, только чего то миллион тем как сделать катушку своими руками и полмиллиона темм с вопросом, а можно ли использовать что то заводское.
- prv1984
- Нашел транзистор. Понюхал.
- Сообщения: 150
- Зарегистрирован: Вт апр 16, 2013 10:34:43
- Откуда: Украина, Артёмовск
- Контактная информация:
Re: Разработка IB-метлладетектора на Arduino или AVR
Я тоже пробовал и у меня прекрасно получился синус из ШИМ на одном таймере
Можно узнать в каких пределах и с каким шагом вы можете менять частоту синуса. Хочется ведь сделать возможность автоподстройки частоты под датчик...
Меандр в катушку сразу давал?
Мы с товарищами пока только обсуждаем что лучше подать: синус или меандр
Ага, только чего то миллион тем как сделать катушку своими руками и полмиллиона темм с вопросом, а можно ли использовать что то заводское.
Так это такие же люди как я, знаний не хватает, а делать хочется - будем эволюционировать
- B@R5uk
- Собутыльник Кота
- Сообщения: 2896
- Зарегистрирован: Сб ноя 13, 2010 12:53:25
- Откуда: приходит весна?
Re: Разработка IB-метлладетектора на Arduino или AVR
Верхний предел — половина частоты дискретизации (лучше не более 1/8). Шаг — любой.prv1984 писал(а):Можно узнать в каких пределах и с каким шагом вы можете менять частоту синуса
Разумеется форма синуса не идеальна (хотя это зависит от многих факторов и выбора параметров), но одно верно наверняка: спектр сигнала ШИМ значительно ближе к синусу, чем просто прямоугольник (пара порядков?). Соответственно, фильтровать значительно легче.