Схемы металлоискателей MD4U http://www.md4u.ru/ |
|
VDI sound mod http://www.md4u.ru/viewtopic.php?f=25&t=11560 |
Страница 1 из 2 |
Автор: | Korvo [ Ср: 01 апр 2020 15:14 ] |
Заголовок сообщения: | VDI sound mod |
Сделал в первом варианте аналог 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 лет программа на Си. Делал на основе примеров в интернете. Главное - работает. |
Автор: | Korvo [ Пт: 17 апр 2020 16:08 ] |
Заголовок сообщения: | Re: VDI sound mod |
Скрестил саунд-мод со своим 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мА устраивает. |
Автор: | GoldenJoe [ Сб: 22 авг 2020 16:30 ] |
Заголовок сообщения: | Re: VDI sound mod |
Спасибо, что поделились своей работой. Очень интересно. |
Автор: | Korvo [ Чт: 17 сен 2020 21:20 ] |
Заголовок сообщения: | Re: VDI sound mod |
Подумал, и решил запостить сюда схему, присланную ЛА3 для сдвигания средней точки АЦП. Она лучше чем у меня, правильней. Вложение: levelshifters.jpg
|
Автор: | geptod3.14 [ Пт: 18 сен 2020 23:11 ] |
Заголовок сообщения: | Re: VDI sound mod |
Ла3 и есть Самый-Самый. СУПЕР! ..я чем смогу подскажу. Супер! |
Автор: | vlaser [ Сб: 19 сен 2020 9:14 ] |
Заголовок сообщения: | Re: VDI sound mod |
Korvo писал(а): Подумал, и решил запостить сюда схему, присланную ЛА3 для сдвигания средней точки АЦП. Она лучше чем у меня, правильней. Вложение: levelshifters.jpg А кто будет HEX писать? |
Автор: | Korvo [ Пн: 21 сен 2020 13:43 ] |
Заголовок сообщения: | Re: VDI sound mod |
Хекса нет. Я не знаю как его делать, и даже не интересовался. В этой теме модель распространения информации, которой я делюсь с форумом - не копирование, без возможности изменения, как у Andy_F или Random, а диаметрально противоположная - я даю все сорцы, но копировать их просто так не получится - надо хотя бы установить и запустить тулчейн. Почему я так сделал: 1. я считаю что информация должна быть 100% открыта. 2. я не готов поддерживать этот проект из года в год. 3. я надеюсь, что если появится несколько энтузиастов, то проект будет развиваться независимо от меня - и от этого станет лучше. Вектор развития, чего можно достичь - что то вроде Маски 5. К тому что я тут выложил надо просто добавить дисплей, правда не факт что это влезет в тот же проц что у меня (самый маленький и дешевый). Ну и прибор неплохо бы иметь с хорошим усилением, и наверное было бы неплохо иметь векторное вычитание грунта как у Тежона или Патриота. Алгоритмически, с точки зрения прошивки, что напрашивается сделать - научиться подсвечивать очень большие железные цели. Чтобы не копать ржавый лист железа, который звучит в цвете. Можно попытаться подсвечивать несколько пиков, если целей несколько, и они разнесены. Ну и озвучку надо улучшать. Я думаю в этих направлениях, но самоизоляция закончилась, свободного времени почти нет. |
Автор: | geptod3.14 [ Вт: 22 сен 2020 20:36 ] |
Заголовок сообщения: | Re: VDI sound mod |
Где-то читал давно шутку программиста.. Сделать из СИ HEX просто как яишницу. , сделать из СИ Ассемблер.. как куриц из яиц. А вот из HEX-а сделать Си... это будут курицы из яишницы :) Так ,что Ваш вариант самый простой. Жаль ветка не программистов. .... самое большое усиление из тесор у Лобо. ..... Tejon "не совсем" векторный. .... на сто процентов определить ржавую жесть- это замах. Круто. |
Автор: | Korvo [ Вт: 22 сен 2020 21:45 ] |
Заголовок сообщения: | Re: VDI sound mod |
Я не согласен насчет программистов. В микроконтроллерах используется сильно упрощенный Си, я бы сказал - совсем-совсем упрощенный. И если вы хоть раз в жизни на чем то писали (бейсик, фортран, асм?), то понять микроконтроллерные Сишные исходники не составит проблемы. На своем опыте могу сакзать - натырил примеров из интернета, склеил, и заставил работать. Наверное, у опытного программиста такой код лишь слезы вызовет, но мне как то по барабану - работает и ладно. Мы же здесь любители, а не профессионалы, верно? А вот если профессионал-программист заглянет, я первый скажу спасибо - за улучшенный код. |
Автор: | ЛА3 [ Вт: 22 сен 2020 21:56 ] |
Заголовок сообщения: | Re: VDI sound mod |
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 } |
Автор: | Korvo [ Вт: 22 сен 2020 22:10 ] |
Заголовок сообщения: | Re: VDI sound mod |
А я вот даже не знаю что это, как называется - объекты, структуры или еще что. Но- все интуитивно понятно. И никаких ужасов вроде указателей, 100500 типов переменных и прочей Си-шной лабуды, которой я не знаю, и которая в МК мне точно не встретится |
Автор: | geptod3.14 [ Вт: 22 сен 2020 23:17 ] |
Заголовок сообщения: | Re: VDI sound mod |
Это.. ардуинковый генератор похоже. :) |
Автор: | Pawa [ Вт: 22 сен 2020 23:30 ] |
Заголовок сообщения: | Re: VDI sound mod |
Korvo писал(а): никаких ужасов вроде указателей Ничего в них ужасного нет.., очень даже удобная штука, особенно в построении многоуровневого пользовательского меню. И все выше перечисленное в мк встречается, и даже ООП (очень полезная для смены взгляда на мир программ).
|
Автор: | geptod3.14 [ Ср: 23 сен 2020 19:22 ] |
Заголовок сообщения: | Re: VDI sound mod |
Если у Вас Троих Программистов появится общий код с идеями в " складчину"... всё равно на каком "камне".. Для остальных форумчан будет ,что-то новое и интерестное... если поделитесь результатом на форуме. Лички не кто не отменял.. у всех есть не стыковки кода.. возмодности паять "железо" и тд. Покрайней мере в данной ветке жадин нет.. у нас всё древние :) аналоговое :) |
Автор: | ЛА3 [ Ср: 23 сен 2020 23:52 ] |
Заголовок сообщения: | Re: VDI sound mod |
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; } |
Автор: | geptod3.14 [ Чт: 24 сен 2020 20:31 ] |
Заголовок сообщения: | Re: VDI sound mod |
Ну кому надо.. я переведу :) не код конечно :) Программисты и Медики... у них свои общепонятные языки. Надеюсь Укранська Мова не проблема. Очень красивый язык. |
Автор: | ЛА3 [ Пт: 25 сен 2020 8:28 ] |
Заголовок сообщения: | Re: VDI sound mod |
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); } |
Автор: | Pawa [ Пт: 25 сен 2020 9:14 ] |
Заголовок сообщения: | Re: VDI sound mod |
ЛАЗ, вы лучше бы сказали над чем трудитесь... |
Автор: | praktik_1974 [ Вт: 28 июн 2022 8:30 ] |
Заголовок сообщения: | Re: VDI sound mod |
Здравствуйте. Как то упустил из виду эту тему, тема очень интересна. Благодарю Korvo за открытый исходник. Я вот тоже решил "покорить" СИ для stm, и собираю материалы такого рода. Возьму наверное для повторения и модернизации схему Tesoro Vaquero, ту что в крайнем архиве от Korvo. Попробую заменить Pic на stm. Для начала хочу спросить мнения достопочтенной публики, стоит заморачиваться с Tesoro Vaquero, или есть более интересные схемы? Ну и совета по замене микросхем в схеме на более современные. С ув. P.S. Установил CubeIDE и MX |
Автор: | praktik_1974 [ Вт: 28 июн 2022 9:03 ] |
Заголовок сообщения: | Re: VDI sound mod |
Запустил проект, откомпилировал, все ОК. Возьму "зеленую таблетку" и на ней буду делать прототип. Ну и экспериментировать... Теперь дело за малым, собрать сам приборчик...)) |
Автор: | praktik_1974 [ Вт: 28 июн 2022 9:32 ] |
Заголовок сообщения: | Re: VDI sound mod |
Ну как вариант, попробую подружить это устройство с Голден Маской... |
Автор: | Korvo [ Чт: 15 сен 2022 22:47 ] |
Заголовок сообщения: | Re: VDI sound mod |
@praktik_1974 Отчечу по микросхеме. Кортес М0 - минимально и достаточно для реализованного алгоритма. Потому что алгоритм - не ЦОС (как в квазаре), а просто цифровой компаратор (на замену аналогового) в выходном тракте синхронного детектора сибола/вакуеро. Преимущество цифрового компаратора - чуть большая чуйка, и возможность немножко пошаманить со звуковым окрасом vdi. Но по большому счету, этому алгоритму до квазара как до китая пешком (в плане сложности, а не результата!), потому что не ЦОС. Для тесоро получается очень приятный довесок. Думаю отлично встанет и на 4ю маску, и на любой другой аналоговый девайс с СД. Возвращаясь к алгоритму, сейчас наверное имеет смысл попробовать адаптировать его к китайским микроконтроллерам, которые дешевы и доступны (в отличие от стм). Из доработок - можно конечно соорудить и цифровой фильтр, вычленяя частоту 3-7Гц (частоту смотреть по схеме фильтров в СД). Но мне кажется, толку будет не много, а микроконтроллер понадобится мощнее - и жрать будет тоже больше. По практике использования, к сожалению уже почти два года нет возможности копать, от слова совсем. Прибор лежит на полке .. в другом городе и стране. |
Автор: | geptod3.14 [ Пт: 23 сен 2022 20:49 ] |
Заголовок сообщения: | Re: VDI sound mod |
Города надеюсь вернутся своим странам. А насчёт жрать будет больше... Хоть 100 амперный ранцевый акум.. не важно. Важно,чтоб Е2 в грунте глубже 30 см и чишуя в грунте глубже 15см. Все приборы с достоинствами меньше этих показателей Безсмысленны( уже есть и проекирование шаг назад). За исключением радиолюбительского интереса. |
Автор: | Korvo [ Сб: 24 сен 2022 22:20 ] |
Заголовок сообщения: | Re: VDI sound mod |
Это не теоретический раздел, здесь речь о приспособе, позволяющей (как я считаю) чуть-чуть улучшить аналоговые приборы с СД. В остальном .. Являются ли аналоговые приборы бессмысленными? Думаю, пока еще нет, не до конца. Но и будущего у аналога нет. |
Автор: | FOMA [ Ср: 05 окт 2022 12:06 ] |
Заголовок сообщения: | Re: VDI sound mod |
Настроение праздничное. Всех с праздником, Днем учителя! Каждый живет так, и делает так как его научили. Спасибо учителям. |
Страница 1 из 2 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |