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

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

Сборка, настройка, обсуждение, теория и практика построения металлоискателей.
Текущее время: Пн: 30 ноя 2020 13:55

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




Начать новую тему Ответить на тему
 [ Сообщений: 18 ] 
Автор Сообщение
 Заголовок сообщения: VDI sound mod
СообщениеДобавлено: Ср: 01 апр 2020 15:14 
Не в сети

Зарегистрирован: Пн: 28 авг 2017 20:21
Сообщения: 165
Сделал в первом варианте аналог VDI индикатора от Random из ветки вайтса. Хотя индикатор Random я не собирал, но судя по его описанию - полный аналог, только без дисплея. Пока работает с компадриком в домашних условиях (карантин, однако). В планах - прицепить этот мод к моему vaquero.

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

Основные фичи:
1. Можно уложиться в $1, компоненты копеечные.
2. Проц STM32F030 в корпусе TSSOP20. Операционник - любой в корпусе SOIC-8, я взял TL062. Резисторы 0805, емкости 1206.
3. Потребление модуля - 6 мА от 5 Вольт (в планах понизить до 4-5мА).
3. Открываю Сишные исходники для STM32Cube + HAL. Меняйте на здоровье!
4. Экрана нет, только озвучка - втыкается в базу последнего транзистора в выходном каскаде звукового тракта (картинка ниже).
5. Для отладки используется USART; можно убрать, чтобы не потребляло ток.
6. Печатка для ЛУТ, земли соединены по нижнему шейпу - 5 отверстий сверлить обязательно, остальные по желанию. Плата сделана как макетка - к неиспользуемым выводам можно подпояться, и использовать модуль для других задач. Компоненты расположены очень тесно, собирать сложно, но в результате размер платы получился чуть больше корпуса DIP28 - в перспективе планирую выкинуть PIC из своего Vaquero и воткнуть этот модуль. На 2.54 гребенки выведены: St-linkII, X+Y, USART, Sound.
Вложение:
connection.png
Вложение:
connectors_big.jpg

Принцип работы изложен здесь viewtopic.php?f=24&t=9306&start=27 Думаю, функционал прошивки будет расширяться. Если кто готов помочь советом или делом - велкам )
Старое видео, как выглядела отладка через USART на STM32F4_DISCOVERY https://youtu.be/ADXhDx-GHkk
Если кратко, то программа работает так:
Вложение:
principle.jpg
Ждем пересечения порога, ищем максимум, получаем два значения амплитуд, делим, конвертируем в звук. Все.

В архиве - схема, гербера, исходники на Си и проект для STM32Cube + HAL.
- Настройте на свой тулчейн, компилируйте и прошивайте (в интернете полно обучалок и примеров. Я учился с нуля).
- Перед прошивкой в дебагере надо обязательно выставить Software reset, т.к. порт SWD урезан.
- Вывода SWO в F0 чипах нет, поэтому отладчик не работает. Я вывожу все в USART, а в комп завожу с помощью платы STM32F4_DISCOVERY (прошил в нее мост USART-VCOM), и с нее же беру ST-LINK для прошивки.
- Если нужно другое питание - не забудьте изменить резистивный делитель между операционником и входами АЦП.

По ЛУТ - использовал бумагу каталога ИКЕА, лазерник, переносил на клей БФ6 с помощью ацетона (утюгом только прихватил чутка). Травил первый раз в лимонной кислоте с перекисью, понравилось. Получилось с первой попытки.

Претензии по коду не принимаются :-) это мой первый проект для микроконтроллера, и первая за ~20 лет программа на Си. Делал на основе примеров в интернете. Главное - работает.


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

_________________
Compadre, Vaquero


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


Вы можете отключить эти сообщения.
 Заголовок сообщения: Re: VDI sound mod
СообщениеДобавлено: Пт: 17 апр 2020 16:08 
Не в сети

Зарегистрирован: Пн: 28 авг 2017 20:21
Сообщения: 165
Скрестил саунд-мод со своим Vaquero. Выкинув при этом родной пик-контроллер. Полевых испытаний пока не было - карантин.

Платка из поста выше теперь не просто считает vdi и управляет пищалкой, она выполняет все функции процессора вакуеро. Для этого пришлось изготовить коннектор DIP-28 : кусочек текстолита + припаянные ножки (получены из разломанной Female-2.54 гребенки). Так же, пришлось добавить каналов: в АЦП появился канал для измерения батарейного питания, плюс несколько ног нужны для анализа кнопок АллМет и пинпоинтер, для управления звуком и - для управления 4053 аналоговым мультиплексором, который переключает выходные каналы дискрима и АллМет, а так же переключает пинпоинтер и Авто.
Вложение:
dip28_connector.jpg
Вложение:
installation.jpg
На втором фото платка чуть доработана - упрощен разъем USART (оставил только TX - толстый белый провод). Но это тот же самый модуль что в первом посте.
Собственно, прибор работает так же как и раньше, но добавился 1 новый режим (VDI-звук), для включения которого надо зажать кнопку пинпоинтера, и переключиться из АллМет в дискрим, поставив ручку в положение TAB (экспериментально выяснил что это 50% синхронного детектора).

Алгоритм определения VDI здесь улучшен: ловится не одна полуволна сигнала, а две (пролет над RX и TX половинами ДД-датчика), добавлен CORDIC для расчета арктангенса (раньше я только делил Y/X), watchdog больше не используется - вместо него обычное DMA.

В архиве - Сишные исходники, схема, фотка как подпаивать X и Y.
За код претензии не принимаю - пишу на Си меньше месяца. Текст форматирован слегка кривовато - спасибо Eclipse, самой кривой IDE в мире. Но, я ставил принципиально бесплатный тулчейн - STM32CubeMX + Eclipse (он же System Workbench)

Чем мне нравится мод, в любой момент его можно снять, вставить обратно PIC, и будет снова заводской прибор. Ни новых ручек, ни переключателей, ни перерезанных дорожек. Только подпаять X Y и землю.

Отвечая на вопрос, зачем было разносить коннектор DIP28 и платку - к сожалению над процеcсорным сокетом очень мало места - впритык упирается динамик. Поэтому пришлось делать такого "краба".

Из процессора выжато все что только можно, память почти под завязку (с USART). Чтобы считать VDI более точно с ЦОС (Фурье и т.д.) - надо брать более старший процессор вроде того что ставят в квазар, этот проц не годится - он слабый, и его фишка в очень низком потреблении. Но, я и так фактически новый прибор разработал - Vaquero-ARM, так что с квазаром пуcть уже кто то другой скрещивает, если в этом вообще есть смысл.

p.s.
Измерил потребление прибора
- С оригинальным PIC - 33mA standby
- 32F030 - 38mA standby
- 32F030 режим VDI - 39mA standby (работает АЦП)
Итого, есть куда двигаться. Думаю, до уровня PIC можно питание понизить. Скорее всего, в оригинале звук режется по уровню входа RA1 пика. Других предположений нет. Но, меня и 38мА устраивает.


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

_________________
Compadre, Vaquero


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: VDI sound mod
СообщениеДобавлено: Сб: 22 авг 2020 16:30 
Не в сети

Зарегистрирован: Вс: 16 сен 2018 21:05
Сообщения: 2
Спасибо, что поделились своей работой. Очень интересно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: VDI sound mod
СообщениеДобавлено: Чт: 17 сен 2020 21:20 
Не в сети

Зарегистрирован: Пн: 28 авг 2017 20:21
Сообщения: 165
Подумал, и решил запостить сюда схему, присланную ЛА3 для сдвигания средней точки АЦП. Она лучше чем у меня, правильней.
Вложение:
levelshifters.jpg


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

_________________
Compadre, Vaquero


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: VDI sound mod
СообщениеДобавлено: Пт: 18 сен 2020 23:11 
Не в сети
Аватара пользователя

Зарегистрирован: Чт: 12 фев 2015 22:47
Сообщения: 1129
Откуда: Narva
Ла3 и есть Самый-Самый. СУПЕР!
..я чем смогу подскажу.

Супер!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: VDI sound mod
СообщениеДобавлено: Сб: 19 сен 2020 9:14 
Не в сети
Аватара пользователя

Зарегистрирован: Ср: 10 мар 2010 9:39
Сообщения: 1739
Откуда: Пермский край
Korvo писал(а):
Подумал, и решил запостить сюда схему, присланную ЛА3 для сдвигания средней точки АЦП. Она лучше чем у меня, правильней.
Вложение:
levelshifters.jpg

А кто будет HEX писать?

_________________
Tesoro Cibola. TGSL. Tesoro lobo mod. Малыш FM. Verator. Clone AVR. Chance. Fisher 1266-х. Tesoro ELDORADO. Терминатор 3. Minelab Musketer. White's IDX PRO. Quasar.Гроза6(Super). Golden Mask 4(превзошел все ожидания).Verator 5-4.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: VDI sound mod
СообщениеДобавлено: Пн: 21 сен 2020 13:43 
Не в сети

Зарегистрирован: Пн: 28 авг 2017 20:21
Сообщения: 165
Хекса нет. Я не знаю как его делать, и даже не интересовался. В этой теме модель распространения информации, которой я делюсь с форумом - не копирование, без возможности изменения, как у Andy_F или Random, а диаметрально противоположная - я даю все сорцы, но копировать их просто так не получится - надо хотя бы установить и запустить тулчейн. Почему я так сделал: 1. я считаю что информация должна быть 100% открыта. 2. я не готов поддерживать этот проект из года в год. 3. я надеюсь, что если появится несколько энтузиастов, то проект будет развиваться независимо от меня - и от этого станет лучше.

Вектор развития, чего можно достичь - что то вроде Маски 5. К тому что я тут выложил надо просто добавить дисплей, правда не факт что это влезет в тот же проц что у меня (самый маленький и дешевый). Ну и прибор неплохо бы иметь с хорошим усилением, и наверное было бы неплохо иметь векторное вычитание грунта как у Тежона или Патриота. Алгоритмически, с точки зрения прошивки, что напрашивается сделать - научиться подсвечивать очень большие железные цели. Чтобы не копать ржавый лист железа, который звучит в цвете. Можно попытаться подсвечивать несколько пиков, если целей несколько, и они разнесены. Ну и озвучку надо улучшать. Я думаю в этих направлениях, но самоизоляция закончилась, свободного времени почти нет.

_________________
Compadre, Vaquero


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: VDI sound mod
СообщениеДобавлено: Вт: 22 сен 2020 20:36 
Не в сети
Аватара пользователя

Зарегистрирован: Чт: 12 фев 2015 22:47
Сообщения: 1129
Откуда: Narva
Где-то читал давно шутку программиста..
Сделать из СИ HEX просто как яишницу.
, сделать из СИ Ассемблер.. как куриц из яиц.
А вот из HEX-а сделать Си... это будут курицы из яишницы
:)
Так ,что Ваш вариант самый простой.
Жаль ветка не программистов.
.... самое большое усиление из тесор у Лобо.
..... Tejon "не совсем" векторный.
.... на сто процентов определить ржавую жесть- это замах.
Круто.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: VDI sound mod
СообщениеДобавлено: Вт: 22 сен 2020 21:45 
Не в сети

Зарегистрирован: Пн: 28 авг 2017 20:21
Сообщения: 165
Я не согласен насчет программистов. В микроконтроллерах используется сильно упрощенный Си, я бы сказал - совсем-совсем упрощенный. И если вы хоть раз в жизни на чем то писали (бейсик, фортран, асм?), то понять микроконтроллерные Сишные исходники не составит проблемы. На своем опыте могу сакзать - натырил примеров из интернета, склеил, и заставил работать. Наверное, у опытного программиста такой код лишь слезы вызовет, но мне как то по барабану - работает и ладно. Мы же здесь любители, а не профессионалы, верно? :-) А вот если профессионал-программист заглянет, я первый скажу спасибо - за улучшенный код.

_________________
Compadre, Vaquero


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: VDI sound mod
СообщениеДобавлено: Вт: 22 сен 2020 21:56 
Не в сети
Аватара пользователя

Зарегистрирован: Пт: 23 дек 2011 20:02
Сообщения: 951
Откуда: Тернопіль
Korvo писал(а):
....В микроконтроллерах используется сильно упрощенный Си, я бы сказал - совсем-совсем упрощенный. И если вы хоть раз в жизни на чем то писали (бейсик, фортран, асм?), то понять микроконтроллерные Сишные исходники не составит проблемы. ...

Код:
/*************  Timer Counter 0 Channel 0 to generate PWM pulses thru TIOA0  ************/
void tc_setup() {

  PMC->PMC_PCER0 |= PMC_PCER0_PID27;                       // Timer Counter 0 channel 0 IS TC0 / Лічильник таймера 0 канал 0 IS TC0

  TC0->TC_CHANNEL[0].TC_CMR = TC_CMR_TCCLKS_TIMER_CLOCK1   // MCK/2, clk on rising edge
                              | TC_CMR_WAVE                // Waveform mode
                              | TC_CMR_WAVSEL_UP_RC        // UP mode with automatic trigger on RC Compare
                              | TC_CMR_ACPA_CLEAR          // Clear TIOA0 on RA compare match
                              | TC_CMR_ACPC_SET;           // Set TIOA0 on RC compare match

  TC0->TC_CHANNEL[0].TC_RC = 525;                      // Frequency = (Mck/2)/TC_RC/2 = 20000Hz
  TC0->TC_CHANNEL[0].TC_RA = 20;                            // Duty cycle / робочий цикл = (TC_RA/TC_RC) * 100  % ???

  TC0->TC_CHANNEL[0].TC_CCR = TC_CCR_SWTRG | TC_CCR_CLKEN;  // Reset TC0 counter and enable
}

:mrgreen:

_________________
Ст. 14 КОНВЕНЦІЇ про захист прав і основних свобод.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: VDI sound mod
СообщениеДобавлено: Вт: 22 сен 2020 22:10 
Не в сети

Зарегистрирован: Пн: 28 авг 2017 20:21
Сообщения: 165
А я вот даже не знаю что это, как называется - объекты, структуры или еще что. Но- все интуитивно понятно. И никаких ужасов вроде указателей, 100500 типов переменных и прочей Си-шной лабуды, которой я не знаю, и которая в МК мне точно не встретится :-)

_________________
Compadre, Vaquero


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

Вы можете отключить эти сообщения.
 Заголовок сообщения: Re: VDI sound mod
СообщениеДобавлено: Вт: 22 сен 2020 23:17 
Не в сети
Аватара пользователя

Зарегистрирован: Чт: 12 фев 2015 22:47
Сообщения: 1129
Откуда: Narva
Это.. ардуинковый генератор похоже.
:)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: VDI sound mod
СообщениеДобавлено: Вт: 22 сен 2020 23:30 
Не в сети

Зарегистрирован: Сб: 14 дек 2019 10:44
Сообщения: 150
Korvo писал(а):
никаких ужасов вроде указателей
Ничего в них ужасного нет.., очень даже удобная штука, особенно в построении многоуровневого пользовательского меню. И все выше перечисленное в мк встречается, и даже ООП (очень полезная для смены взгляда на мир программ).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: VDI sound mod
СообщениеДобавлено: Ср: 23 сен 2020 19:22 
Не в сети
Аватара пользователя

Зарегистрирован: Чт: 12 фев 2015 22:47
Сообщения: 1129
Откуда: Narva
Если у Вас Троих Программистов появится общий код с идеями в " складчину"... всё равно на каком "камне"..
Для остальных форумчан будет ,что-то новое и интерестное... если поделитесь результатом на форуме.
Лички не кто не отменял.. у всех есть не стыковки кода.. возмодности паять "железо" и тд.
Покрайней мере в данной ветке жадин нет.. у нас всё древние :) аналоговое :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: VDI sound mod
СообщениеДобавлено: Ср: 23 сен 2020 23:52 
Не в сети
Аватара пользователя

Зарегистрирован: Пт: 23 дек 2011 20:02
Сообщения: 951
Откуда: Тернопіль
geptod3.14 писал(а):
...Для остальных форумчан будет ,что-то новое и интерестное... если поделитесь результатом на форуме.
...Покрайней мере в данной ветке жадин нет.. .

Код:
// Дані для фільтру пікового шуму (медіанний фільтр на 3 значення)

  intA = sensorValues[0][intCs];
  intB = sensorValues[1][intCs];
  intC = sensorValues[2][intCs];

  // Медіанний фільтр (фільтр пікового шуму)
  /* https://embeddedgurus.com/stack-overflow/tag/median-filter/ */
  /*Проводимо перше сортування за спаданням:if (A<B) and (A<C),
    то вважаємо A – найменшим елементом і далі вибираємо між B і С,
    найменший елемент є медіаною і видаємо його на вихід*/
  if ((intA <= intB) && (intA <= intC))
  {
    intMiddle[intCs] = (intB <= intC) ? intB : intC;
  }
  /*Якщо умова при першому сортуванні не виконується,
    тоді проводимо друге сортування за спаданням: if (B<A) and (B<C),
    тоді вважаємо B – найменшим елементом і далі вибираємо між A і С,
    найменший елемент є медіаною і видаємо його на вихід*/
  else if ((intB <= intA) && (intB <= intC))
  {
    intMiddle[intCs] = (intA <= intC) ? intA : intC;
  }
  /*Якщо умови по першому і другому сортуванню не виконуються,
    тоді проводимо третє сортування за спаданням між  A і B,
    найменший елемент є медіаною і видаємо його на вихід*/
  else
  {
    intMiddle[intCs] = (intA <= intB) ? intA : intB;
  }

_________________
Ст. 14 КОНВЕНЦІЇ про захист прав і основних свобод.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: VDI sound mod
СообщениеДобавлено: Чт: 24 сен 2020 20:31 
Не в сети
Аватара пользователя

Зарегистрирован: Чт: 12 фев 2015 22:47
Сообщения: 1129
Откуда: Narva
Ну кому надо.. я переведу :) не код конечно :)
Программисты и Медики... у них свои общепонятные языки.
Надеюсь Укранська Мова не проблема.
Очень красивый язык.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: VDI sound mod
СообщениеДобавлено: Пт: 25 сен 2020 8:28 
Не в сети
Аватара пользователя

Зарегистрирован: Пт: 23 дек 2011 20:02
Сообщения: 951
Откуда: Тернопіль
degrees:
Код:
if (lngSX > 0)
      {
        VDI = 90 * lngSY / (lngSY + lngSX);
      }
      else
      {
        VDI = -90 * lngSY / (lngSY - lngSX);
      }


VDI:
Код:
if (lngSX > 0)
      {
        VDI = 50 * lngSY / (lngSY + lngSX);
      }
      else
      {
        VDI = -50 * lngSY / (lngSY - lngSX);
      }

_________________
Ст. 14 КОНВЕНЦІЇ про захист прав і основних свобод.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: VDI sound mod
СообщениеДобавлено: Пт: 25 сен 2020 9:14 
Не в сети

Зарегистрирован: Сб: 14 дек 2019 10:44
Сообщения: 150
ЛАЗ, вы лучше бы сказали над чем трудитесь...


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

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


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

Сейчас этот форум просматривают: DoctoRentgen и гости: 8


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

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