Начало и теория здесь: https://forum.vegalab.ru/showthread.php?t=81991
Практика и детали здесь.
Так сошлось, что знал куда копать. В 2-х словах, библиотека FHT (быстрое преобразование Хартли). Не очень давно на трубе видел ролик по теме анализа спектра. По этому отложил текущий проект и решил приложиться...
http://www.elektronika.kvalitne.cz/A...HT/AVRFHT.html - авторское описание (если что, то вообще не читал, мне нужен уровень пользователя и не больше).
http://alexgyver.ru/fhtspectrumanalyzer/ - собственно наводка с трубы.
Наработки и файлы будут позже (сам верю).
1. Как оказалось библиотека хорошо заточена под текущую задачу. Задача по библиотеке - изучить, настроить опции и обкатать.
2. Но и заточена под среду разработки Arduino, с коей до сей поры не пересекался, т.к. пишу в основном на ассемблере под AVR.
3. Успел выяснить, что в Atmеga8A (будучи превращённой в Arduino) недостаточно памяти (была ругань компилятора, а проект завёлся, но на вход не реагировал), надо 168-ю или 328-ю.
4. Отсюда вытекает понимание ядра и средства отладки - Adruino mini + FTDI (выяснилось: AREF (20) не выводится на пин, только подпаиваться) или Adruino Nano (FTDI на FT232 встроенный или аналогичных). FTDI (он же связь с ПК по USART через USB) в одной из демок выводит на терминал массив замеров, ака спекроанализатор, с чем и придётся работать.
5. Поскольку опыта работы с АЦП имел мало (сам не разрабатывал, работал только с компаратором), то не был в курсе того, что оказывается каналы легко переключаются и для замеров 2-х каналов поочерёдно, даётся элементарная команда указывающая на пин для измерения. Т.е. внешней коммутации не нужно.
6. Управление чувствительностью можно организовать простейшим делителем задающим опорное напряжение. Вероятно сверх высокая точность опорного напряжения не нужна.
7. Конденсаторы малой ёмкости отрежут совсем не интересную НЧ составляющую спектра. Да и подключить устройство можно к индикатору, да бы не вносить в УВ помех и искажений.
8. L293D (защитные диоды на выходе, внутри) перекроет потребность в управлении шаговым двигателем. Та же схема (микроконтроллер и его алгоритм) будет управлять направлением, шагами и инициализацией. Для инициализации нужен будет концевик, лучше оптический. Ограничение диапазона по шагам д.б. программное.
9. Шаговый двигатель - вполне подойдёт от флоппи дисковода + в нём же есть оптический концевик.
10. Основная задача обеспечить настройку головки на максимально высокую частоту. Можно научиться определять, после очередного шага, значение самой высокой частоты сумевшую достичь среднеарифметической амплитуды набора более низких частот, определённых (значения частот, а не замеров) заранее или вычисляемых (задавая смещение набора) относительно предыдущего результата поиска ВЧ. Если частота понизилась, то меняем направления шага и делаем шаг. Иначе не меняем. При достижении потолка, топчемся на месте. При отсутствии роста ВЧ - то же (в паузе, конце ленты, грязь).
11. Опция: возможно при не достижении какого-то значения частоты, сообщать зажиганием светодиода о загрязнение поверхности головки.
Остальное позже...
З.Ы. Естественно это не конечный вариант, а всего лишь предполагаемый путь решения задачи. На то и форум, что б предлагать что-то лучшее. Не маловажным фактором будет цена решения. Так же ещё предстоит решать вопрос конструкции "мотор->...->головка" и "остроты зрения" системы.
================================
Обновлено 01.07.2018:
Как и обещал выкладываю набросок.
Архив WinRAR v.5.00AA_06_(01.07.18).rar
Схема:
Социальные закладки