Например TDA7294

РадиоКот > Схемы > Цифровые устройства > Измерительная техника

Измеритель параметров Тиля-Смолла на МК

Автор: Сергей Каминский Serj_K
Опубликовано 22.01.2013.
Создано при помощи КотоРед.

Как обычно происходит изготовление новых колонок? Ищем по каталогам наиболее подходящий нам по заявленным параметрам вариант или подбираем по чьим-то рекомендациям. Потом идём, покупаем, измеряем ТС-параметры и по результатам измерений рассчитываем требуемое акустическое оформление колонки. При этом исходим из того, что уже есть (куплено), а это может быть не совсем для нас оптимально. Тогда - или обмен динамиков или миримся с имеющимися.

Когда я решил познакомиться с новым для меня микроконтроллером (далее МК) серии STM8, то для тренировки решил изготовить автономный измеритель параметров Тиля-Смолла и совместить приятное с полезным.

Почему именно STM8? Потому что у него соотношение цена/возможности для 8-и битных МК одно из самых лучших. Причём у многих есть встроенный загрузчик, что позволяет избежать покупки или изготовления отдельного программатора. О некоторых тонкостях использования встроенного загрузчика будет написано далее.

Теперь несколько возможных вопросов и ответов на них.

В: Кому будет нужен автономный измеритель параметров Тиля-Смолла?
О: Тем, кто только собирается ПОКУПАТЬ НОВЫЕ динамики, для подбора их прямо при покупке.

В: Какие параметры измеряет этот прибор?
О: Основные: Fs – резонансная частота динамика, Qts – полная добротность динамика, отношение Fs/Qts и Vas – эквивалентный объём. Дополнительные: Qms – механическая добротность динамика, Qes – электрическая добротность динамика, Re – сопротивление динамика на постоянном токе.


В
: Какой применяется метод для измерения Vas?
О: Метод добавочной массы.

В: Какая примерная стоимость прибора?
О: Менее 3$ без стоимости индикатора и корпуса.

Кроме того, в приборе имеется ещё две полезных функции:

1) генератор с ручной перестройкой частоты с шагом 1Гц в режиме контроля.
2) режим настройки обычного фазоинвертора (1 резонанс) и BandPass (2 резонанса).

 

Описание схемы прибора.

Прибор состоит из четырёх основных частей: микроконтроллера (U4) с индикатором и кнопками, ЦАПа на резисторной матрице R-2R(R13-R28), усилителя мощности(U2) и активного детектора(U1). Питается прибор от батареек, напряжение питания стабилизировано линейным стабилизатором (U5). В измерительном тракте используется дифференциальное включение усилителя и детектора, что позволило избавиться от разделительных конденсаторов. Кнопки управления: «Вверх»(+), «Вниз»(-), «Вправо» и «Влево».

Если будет использоваться обычный стабилизатор типа 7805, то напряжение батареи должно быть не менее 7,5В (то есть реально - стандартные 9В). Можно применить стабилизатор с малым падением напряжения (LDO), но он дороже, или применить три пальчиковые батарейки и вообще отказаться от стабилизатора. В качестве усилителя мощности можно применить любой не очень мощный усилитель мощности ЗЧ с дифференциальным выходом и допускающем питание от однополярного источника +5В. Я применил усилитель с выхода на наушники от нерабочего CD-ROMа. В активном детекторе нужно применять ОУ обязательно с выходом типа rail-to-rai, такой тип входа ОУ не обязателен, так как уровни входных сигналов не большие. Диоды детектора D1 и D2 обычные, но лучше взять диоды Шотки. Резисторы для ЦАП (R13-R28) нужно взять из ряда 1%. Резисторы R01 и R02 каждый составлены из двух параллельно включённых по 1кОм. Они могут быть и меньше, но их величина участвует в расчётах, поэтому при использовании других номиналов нужно изменить прошивку. Транзисторы Q1-Q3 можно заменить на другие, которые могут работать с логическими уровнями на затворе. Можно попробовать биполярные с резисторами в базах, но на сколько хорошо они будут работать не скажу. Индикатор текстовый, 2 строки по 20 или 16 символов, совместимый по командам с HD44780. Мой индикатор имеет не стандартную распайку, поэтому схему откорректируйте под свой, с учётом добавления цепей регулировки контраста.


МК может работать от внутреннего генератора на 16МГц, поэтому внешний кварц можно исключить (выбирается в прошивке). У моего МК частота внутреннего генератора была около 15,9МГц, то есть отличалась всего на 0,5%. Такой точности для данного применения более чем достаточно.


В процессе измерения ТС-параметров прибор генерирует синусоидальный сигнал от 10 до 199Гц. Шаг изменения частоты в диапазоне от 10 до 100Гц – 0.5Гц, после 100Гц – 1Гц.

Порядок настройки.

Для настройки канала измерения желательно (но не обязательно) иметь осциллограф.


После монтажа проверяем прибор как минимум на наличие КЗ по цепям питания. Далее нужно записать прошивку в МК. Файл прошивки ts_metter_xx_yy.s19 находится в директории Release/Ехе проекта, где хх и уу - язык текста и длинна строки индикатора. Я применил МК STM8S105S6T6C, в котором есть встроенный загрузчик. В серии STM8S он есть в МК с объёмом флэш памяти от 32кБ и более, начиная от STM8S105. Для записи прошивки используется ПО от самой ST – “Flash loader demonstrator”. Запись производится через СОМ порт по трём проводам – TxD, RxD и GND через преобразователь уровней RS232-ТТЛ. Можно применить как простейший преобразователь на двух транзисторах для RS232, так и USB преобразователь. Я использовал интерфейсный USB шнур от мобильно телефона. При этом сразу получил сигналы с ТТЛ уровнями. На разъём Р1 (по схеме) выведен также и SWIM интерфейс для подключения отладчика ST-Link.

Я использовал индикатор без кириллицы, но в исходниках предусмотрен и вариант для нормальных индикаторов. В файле defines.h производится выбор нужного варианта при помощи параметра CYR_LCD. Параметр LCD_20 – для использования индикатора на 20 символов в строке, а EXT_CLK – для использования внешнего кварца.

Я использовал компилятор IAR для STM8. Бесплатная версия поддерживает прошивки до 8кБ, чего достаточно для этого случая. Но желающие могут вылечить его до полнофункционального варианта, хотя это и не законно. Его желательно скачать и установить в любом случае, так как может понадобиться для решения проблем. Я установил его в e:IAR_STM8.

Теперь обещанные нюансы применения встроенного загрузчика. Тем, кто не работал ранее с STM8 и не имеет отладчика St-Link – дальше читать очень внимательно, иначе есть вероятность заблокировать загрузчик, а для разблокировки понадобится ST-Link.

В новом МК загрузчик активирован по умолчанию. Однако, если не принять специальных мер, то после первой же записи прошивки он деактивируется. За активность загрузчика в МК STM8 отвечают два Option bytes (смотрим документацию) – OPTBL и NOPTBL. Если они не 0х55 и 0хАА соответственно, то при записанной прошивке загрузчик не активен. Поэтому при записи прошивки нам нужно установить их в правильное состояние (0х55 и 0хАА). Я использовал компилятор IAR, в котором я не нашёл, как штатными средствами установить эти байты в нужное мне состояние без использования аппаратного отладчика. Поэтому я написал простейший “add_option.bat” файл (находится в директории проекта), который после успешной компиляции проекта вызывается автоматически и дописывает в готовый файл прошивки одну строчку с нужными значениями этих двух Option bytes - S105487E55AA35. Кроме того, в прошивке предусмотрена запись этих байтов при замкнутой перемычке J1 (на всякий случай). Так как у меня нет отладчика ST-Link и я не могу проверить работоспособность этого варианта, то я проверил запись других Option bytes при замыкании перемычки – работает. Поэтому и байты OPTBL и NOPTBL должны таким способом записаться нормально. Для записи прошивки нужно установить и запустить программу “Flash loader demonstrator”, выбрать в ней нужный СОМ порт и скорость обмена (у меня 115200), нажать кнопку В1 прибора и сразу после её отпускания (в течении 1 с) в программе нажать кнопку «Next». С первого раза может не получиться. Далее выбирается тип МК – “STM8_32K” – «Next».

Пока МК не сброшен – можно продолжать работать с ним в режиме загрузчика.

Выбираете нужный файл прошивки и записываете её в МК.

В файле прошивки в конце обязательно должна быть дописанная строчка «S105487E55AA35».

Теперь на всякий случай проверьте, записались ли Option bytes. Для этого прочитайте их из МК в файл.



В конце файла должно быть 55АА.

Если нет – НЕ ВЫКЛЮЧАЙТЕ И НЕ СБРАСЫВАЙТЕ МИКРОКОНТРОЛЛЕР!!!

Если вы вносили изменения в прошивку и перекомпилировали её, то в окне сообщений компилятора обязательно должно быть сообщение «Performing Post-Build Action».

Это значит, что bat-файл отработал и дописал Option bytes. Если этого сообщения нет – укажите на этот файл в параметрах проекта и перекомпилируйте проект, чтобы вышеуказанное сообщение появилось.

Проверьте ещё два параметра в настройках компилятора:


Теперь перезапишите прошивку в МК и опять проверьте эти байты. Если они есть – всё нормально и можно проводить сброс МК.


После сброса МК на индикаторе появляется сообщение основного меню прибора – «Измерение» – и приглашение на вход. Если так – можно переходить к настройке измерительного тракта прибора. Если нет – проверьте монтаж и, возможно, уровень контраста индикатора.

Получили сообщение - жмите кнопку «Вверх» - переход на меню «Контроль».

 

Настройка измерительного тракта.


Подключите на вход прибора резистор 100 Ом. Точность не важна, важно знать его точное сопротивление, например 98,5 Ом (он будет эталоном при последующей калибровке). Измерьте постоянное напряжение на выходе детектора (вывод 7 U1). Должно быть чуть больше 0 (до нескольких десятых вольта, лучше около 0,1В), устанавливается подбором резистора R30. При нажатии кнопки «Вправо» на индикаторе отображается измеренное сопротивление. Его значение сейчас не важно. Опять два раза «Вправо» – начинает генерироваться синусоида частотой 199Гц. Форма сигнала контролируется на конденсаторах С11-С13. Она должна быть чистая, без ступенек, размахом чуть меньше 5В. Явные дефекты формы – обрывы или замыкания в ЦАПе, если ступенчатая – не работает ключ Q1. Далее проверяется сигнал на дифференциальных выходах усилителя. Амплитуда может быть разной в зависимости от применённого усилителя. У меня она равна 2,5В между пиками синусоиды на каждом из выходов (дифференциальные 5В). Главное, чтобы сигнал был без ограничения. Если сигнал ограничен, то нужно уменьшить КУ усилителя или увеличить резистор R29 (совместно с R6 и R7 образует делитель на 2).


На выходе детектора (вывод 7 U1) должен быть выпрямленный сигнал с минимальным уровнем, который мы установили при помощи R30 и максимальным – чуть меньше 5В, без ограничения.

Нужная максимальная амплитуда и равенство амплитуд (не очень критично) выпрямленных полупериодов устанавливается подбором резисторов R1 и R4.


После возврата в предыдущее меню кнопкой «Влево» измеренное сопротивление резистора должно быть около 100 Ом. Опять «Влево» и «Вверх» – меню калибровки. Жмёте «Вправо» – установка значения эталонного резистора – устанавливается кнопками «Вверх»/«Вниз», есть автоповтор нажатия. Два раза «Вправо» – отображается измеренное значение с учётом калибровки. Может отличаться на десятые Ома, если больше – повторите измерение кнопкой «Вправо». Кнопкой «Влево» выход в основное меню. В меню «Контроль» можно проверить измерение сопротивления. Для проверки можно подключить переменный резистор или другой постоянный с меньшим сопротивлением. Измерение проводится на постоянном токе, поэтому при малых значениях сопротивления измеренное значение может отличаться на несколько Ом. Если так, то можно подключать тестовый динамик и переходить к проверке измерения его параметров.


Если осциллографа нет, то можно настроить измерительный тракт по показаниям индикатора в режиме «Контроль» при генерации сигнала. На индикаторе отображаются три напряжения в отсчётах АЦП: N0 – напряжение смещения, N1 – амплитуда первой полуволны синусоиды ,N2 – второй. Подбором резистора R30 устанавливается значение N0 в районе нескольких десятков, а подбором R1, R4 устанавливаются значения N1 и N2 в районе 1000. Чтобы убедиться, что усилитель мощности не входит в ограничение, нужно в небольших пределах изменять его КУ или значение R29. При этом должны меняться значения N1 и N2. Если они не меняются, то нужно уменьшить КУ усилителя или увеличить R29 до тех пор, пока N1 и N2 не начнут уменьшаться. После этого значения N1 и N2 устанавливаются вышеописанным способом. Качество синусоиды проверить без осциллографа можно только на слух.

Измерение параметров динамика.

В меню «Настройка» кнопками «Вверх»/«Вниз» выбирается диаметр подключённого динамика (не диффузора) из списка стандартных, кнопкой «Вправо» переходите к установке значения добавочной массы. Это значение сохраняется в приборе после выключения питания. Рекомендуется брать 10 грамм на 1 дюйм диаметра диффузора, но можно меньше. Масса, бОльшая, чем нужно, может сильно исказить результат измерения. Возвращаетесь в основное меню и выбираете меню «Измерение».


Кнопка «Вправо» – приглашение на измерение в свободном пространстве. Опять «Вправо» – пошёл процесс. Через 5 секунд на индикаторе выводятся основные параметры: Fs, Qts и Fs/Qts. Причём, Fs приводится в двух вариантах – измеренном (Fsm) и вычисленном  (Fsc). Они могут отличаться на 1-2Гц. Кнопка «Вниз» – отображаются дополнительные параметры: Qms, Qes, Re. Здесь Re измеряется на переменном токе более точно. При использовании индикатора на 16 символов в строке Qms и Qes на индикатор не выводятся, а Fs/Qts выводится в дополнительных параметрах. «Вверх» – опять основные. При повторном нажатии «Вправо» происходит повторное измерение. Для проверки, подходит ли выбранная добавочная масса, кладёте её на диффузор и повторяете измерение. Если Fsm и Fsc отличаются не более, чем на 1-2Гц, то такая масса подходит. Если разница больше, то нужно уменьшить добавочную массу. Измерение основных параметров нужно повторить несколько раз для получения некоторого среднего значения.


После измерения основных параметров можно проводить измерение с добавочной массой. Возвращаетесь в предыдущее меню и жмёте «Вниз». Два раза «Вправо» – получаете значения резонансной частоты с добавочной массой Fs1 и рассчитанный эквивалентный объём Vas в литрах. Для справки здесь же выводится значение частоты Fsm.


Если измеренные параметры тестового динамика близки к заявленным или измеренным другим способом, то можно собирать прибор в корпус и идти за покупкой новых динамиков.


Желающие могут подключить выход прибора к СОМ порту ПК и вывести результаты измерений в терминал. После завершения измерения основных параметров в СОМ-порт выводятся значения сопротивления динамика на всех частотах только для этого режима, а после измерения с добавочной массой - до частоты 100Гц для обоих режимов. В терминале нужно выбрать скорость 115200 и включить обработку символов CR и LF. Принятые данные можно перенаправить в файл, а потом открыть его в Exel и построить графики зависимости полного сопротивления динамика от частоты.

 

Я прибор проверял на старом динамике 10ГД-30Е, результаты измерений адекватные.

Настройка фазоинверторов.

Характеристика импеданса динамика в оформлении фазоинвертора имеет не один максимум, а два, расположенные с двух сторон от резонансной частоты, на которой импеданс будет иметь минимум. В исполнении BandPass таких "двугорбых" резонансов будет два - для НЧ и ВЧ фазоинверторов.

В режиме настройки фазоинвертора отображаются три величины - амплитуды двух максимумов импеданса (в единицах отсчётов АЦП) с двух сторон от резонанса и резонансная частота. Для BandPass настройка производится отдельно для каждого фазоинвертора. Для обычного фазоинвертора или НЧ резонанса у BandPass частоа перестраивается от 10 Гц до 100Гц, а для ВЧ резонанса у BandPass от 45 до 144 Гц.

При настройке фазоинвертора нужно добиться примерно равных амплитуд максимумов импеданса.
Проверил на своей колонке - пришлось её перестраивать.

У меня колонки - обычный фазоинвертор, проверить работу прибора с BandPass у меня возможности нет.

В виде законченного устройства я его не оформлял.

P.S. Уже после изготовления своего прибора случайно наткнулся на аналогичный: http://www.radio-lubitel.ru/izmeritel-ts-parametrov-na-mikrokontrollere. Можете сравнить.
В приложенном файле схема, изображение платы со стороны компонентов в качестве примера, исходники.

P.P.S. В прибор добавлена возможность применения экрана от мобильного телефона Siemens C75 с жёлтой подложкой. Для его использования в файл defines.h введена опция GLCD. Назначение портов МК прописано в файле lcd.h. Распайка экрана приведена здесь http://www.juras-projects.org/eng/lcd.php?id=c75. В архив добавлена схема сопряжения такого экрана с прибором.

Ну и не забывайте отмечаться внизу после изготовления.


Файлы:
исходники+схема


Все вопросы в Форум.


ID: 1465