О сайте Группа в контакте RSS Годограф Volksturm Импульсные металлоискатели IB металлоискатели Пинпоинтеры Другие схемы Заказать Конструкции металлоискателей Полезные ссылки

Схемы металлоискателей MD4U

Сборка, настройка, обсуждение, теория и практика построения металлоискателей.
Текущее время: Пт: 29 мар 2024 0:42

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему
 [ Сообщений: 13 ] 
Автор Сообщение
 Заголовок сообщения: Цифровой металлоискатель, шаг за шагом
СообщениеДобавлено: Чт: 02 фев 2023 13:52 
Не в сети

Зарегистрирован: Чт: 02 фев 2023 13:20
Сообщения: 6
Привет друзья

Я недавно нашел эту группу, где вы занимаетесь металлоискателями, и я тоже хочу построить свой собственный металлоискатель. Принцип работы детектора мне совершенно понятен, но я не понимаю порядок чередования фаз и как это сделать. В начале я добавляю исходный код, на который ввожу синусоидальный сигнал, сдвинутый на 90 градусов. Ну и у меня вопрос, что делать с этим сигналом дальше, чем его обработать и полностью убрать почву из сигнала. Код написан на Arduino, и это только пример, поэтому сигнал АЦП еще не используется, поэтому давайте просто воспользуемся сигналом "InSamples".

Код:
int16_t X;
int16_t Y;

int16_t VDI;

int16_t InSamples[16] = {0, 392, 724, 946, 1024, 946, 724, 392, 0, -392, -724, -946, -1024, -946, -724, -392};

void setup(){
     Serial.begin(115200);     
}

void loop(){

     X = 0;
     Y = 0;
     
  for(int i = 0; i < 16; i++){
     X += (InSamples[i]*sin(i * M_PI / 8));
     Y += (InSamples[i]*cos(i * M_PI / 8));
     }

     VDI = degrees(atan2(X,Y));

     Serial.print(" ");
     Serial.print(VDI); // VDI = 90
     Serial.print(" ");
     Serial.print(X/8); // X = 1023
     Serial.print(" ");
     Serial.println(Y/8); // Y = 0

     delay(32);
 
}


Вернуться к началу
 Профиль  
 


Вы можете отключить эти сообщения.
 Заголовок сообщения: Re: Цифровой металлоискатель, шаг за шагом
СообщениеДобавлено: Чт: 02 фев 2023 15:13 
Не в сети

Зарегистрирован: Чт: 02 фев 2023 13:20
Сообщения: 6
В документе, который я читал, написано, что фазу надо переворачивать дважды, и я не знаю, что автор имеет в виду под этим.


У вас нет необходимых прав для просмотра вложений в этом сообщении.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Цифровой металлоискатель, шаг за шагом
СообщениеДобавлено: Чт: 02 фев 2023 16:48 
Не в сети
Аватара пользователя

Зарегистрирован: Чт: 28 янв 2016 1:19
Сообщения: 119
Откуда: Витебск
Rotate by -p это поворот на угол феррита. После этого получаются полноценные каналы Х и У. Угол поворота выбирается таким, что бы подносимый к датчику кусок феррита изменял только значение канала X и не изменял значение канала Y.
Rotate by g это поворот на угол грунта.

_________________
«Радио» №1 1984г, Tracker PI-2, Anker-50, Quasar ARM, Fortune PRO2, Quasar F3, Stalker-IB. Пины Scanmaster, Q-metr. Telegram Stalker-IB


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Цифровой металлоискатель, шаг за шагом
СообщениеДобавлено: Чт: 02 фев 2023 18:06 
Не в сети

Зарегистрирован: Чт: 02 фев 2023 13:20
Сообщения: 6
Спасибо за ваш ответ, в коде, который я добавил в начале, есть смоделированный ферритовый сигнал, где VDI = 90 и X = 1023. Если я правильно понимаю, это ферритовый сигнал, и мой вопрос в том, как мне повернуть X сигнал, чтобы получить полный сигнал X,Y. Должен ли я делать это с функциями sin(), cos() ? или как заставить канал X поворачиваться на угол.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Цифровой металлоискатель, шаг за шагом
СообщениеДобавлено: Чт: 02 фев 2023 19:03 
Не в сети
Аватара пользователя

Зарегистрирован: Вт: 15 май 2018 14:25
Сообщения: 28
Detectorista писал(а):
Спасибо за ваш ответ, в коде, который я добавил в начале, есть смоделированный ферритовый сигнал, где VDI = 90 и X = 1023. Если я правильно понимаю, это ферритовый сигнал, и мой вопрос в том, как мне повернуть X сигнал, чтобы получить полный сигнал X,Y. Должен ли я делать это с функциями sin(), cos() ? или как заставить канал X поворачиваться на угол.

x и y это координаты на графике. x это время, y это амплитуда. Тебе нужно найти х, при которой y будет максимальным. Далее высчитываешь угол и производишь манипуляции с ферритом, грунтом... Получаешь нужный угол смещения.
Еще скорее всего прийдется ввести коэффициент типа k. Который будет корректировать твой VDI в зависимости от уровня сигнала.
А чтобы VDI не плясало, значения прогоняют через фильтры ФНЧ ФВЧ....
P.S/ Сам не не знаю, но так себе это представляю.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Цифровой металлоискатель, шаг за шагом
СообщениеДобавлено: Чт: 02 фев 2023 20:42 
Не в сети
Аватара пользователя

Зарегистрирован: Чт: 28 янв 2016 1:19
Сообщения: 119
Откуда: Витебск
Вот отличная статья по этим вопросам.
http://www.md4u.ru/viewtopic.php?f=77&t=10291
Прямо в первом сообщении труды Роберта Хулко с переводом.
Иначе тема отправится во Флудилку

_________________
«Радио» №1 1984г, Tracker PI-2, Anker-50, Quasar ARM, Fortune PRO2, Quasar F3, Stalker-IB. Пины Scanmaster, Q-metr. Telegram Stalker-IB


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Цифровой металлоискатель, шаг за шагом
СообщениеДобавлено: Чт: 02 фев 2023 23:10 
Не в сети

Зарегистрирован: Чт: 02 фев 2023 13:20
Сообщения: 6
Я читал статью Роберта Халка, но я не понимаю некоторых вещей, было бы здорово, если бы где-то был образец кода, как он работает, или если бы кто-то мог дополнить код, который я добавил, чтобы другие знали, как начать. Я создал эту тему, потому что нигде в Интернете нет примера рабочего кода металлоискателя.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Цифровой металлоискатель, шаг за шагом
СообщениеДобавлено: Пт: 03 фев 2023 13:44 
Не в сети
Аватара пользователя

Зарегистрирован: Чт: 28 янв 2016 1:19
Сообщения: 119
Откуда: Витебск
Рабочий код врядли кто то покажет, слишком тяжело он даётся. В итоге будет куча супер приборов в интернете которые делаются простым копипастом. Поэтому только самостоятельное изучение и эксперименты. Зато есть свои плюсы, может получится что-то действительно уникальное.
Ещё помогут книги по ЦОС. Например Цифровая обработка сигналов. Р. Лайонз. Раздел квадратурные сигналы. Ну и всю тоже полезно изучить.

_________________
«Радио» №1 1984г, Tracker PI-2, Anker-50, Quasar ARM, Fortune PRO2, Quasar F3, Stalker-IB. Пины Scanmaster, Q-metr. Telegram Stalker-IB


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Цифровой металлоискатель, шаг за шагом
СообщениеДобавлено: Пт: 03 фев 2023 23:35 
Не в сети

Зарегистрирован: Сб: 09 фев 2019 16:12
Сообщения: 20
Detectorista писал(а):

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

А что ваш код из первого поста делает? Это синхронный детектор?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Цифровой металлоискатель, шаг за шагом
СообщениеДобавлено: Сб: 04 фев 2023 4:53 
Не в сети

Зарегистрирован: Чт: 02 фев 2023 13:20
Сообщения: 6
nikVL писал(а):
Detectorista писал(а):

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

А что ваш код из первого поста делает? Это синхронный детектор?


Примерно так выглядит код, который я использую. Проект находится в Microchip MPLAB IDE v6.0.5


У вас нет необходимых прав для просмотра вложений в этом сообщении.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Цифровой металлоискатель, шаг за шагом
СообщениеДобавлено: Сб: 04 фев 2023 16:32 
Не в сети

Зарегистрирован: Сб: 09 фев 2019 16:12
Сообщения: 20
Detectorista писал(а):

Примерно так выглядит код, который я использую. Проект находится в Microchip MPLAB IDE v6.0.5

Смотрите,у вас есть сигнал который поступает в передающую часть датчика и есть сигнал который который поступает на вход АЦП с приемной части датчика.
Эти два сигнала сдвинуты по фазе.Вот эту разность фаз нам нужно найти.Это первоочередная задача,а уже потом ферриты,грунты и пр.Не стоит начинать с середины.


Вернуться к началу
 Профиль  
 
В сети

Вы можете отключить эти сообщения.
 Заголовок сообщения: Re: Цифровой металлоискатель, шаг за шагом
СообщениеДобавлено: Сб: 04 фев 2023 18:05 
Не в сети

Зарегистрирован: Чт: 02 фев 2023 13:20
Сообщения: 6
nikVL писал(а):
Detectorista писал(а):

Примерно так выглядит код, который я использую. Проект находится в Microchip MPLAB IDE v6.0.5

Смотрите,у вас есть сигнал который поступает в передающую часть датчика и есть сигнал который который поступает на вход АЦП с приемной части датчика.
Эти два сигнала сдвинуты по фазе.Вот эту разность фаз нам нужно найти.Это первоочередная задача,а уже потом ферриты,грунты и пр.Не стоит начинать с середины.


Если я правильно понял, вы имеете в виду сдвиг фаз и нахождение ферритового угла, это делается "TMR2 = TxPhase;" значение смещается до значения "X = 0" когда феррит прикреплен к датчику.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Цифровой металлоискатель, шаг за шагом
СообщениеДобавлено: Вс: 26 ноя 2023 6:47 
Не в сети

Зарегистрирован: Пт: 05 июн 2015 2:43
Сообщения: 1
Detectorista писал(а):
nikVL писал(а):
Detectorista писал(а):

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

А что ваш код из первого поста делает? Это синхронный детектор?


Примерно так выглядит код, который я использую. Проект находится в Microchip MPLAB IDE v6.0.5



Hi

Hi have link of pic microcontroller based induction metal detector can you help with source code can you help to convert to hex


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 13 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 16


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти: