Список разделов Flyback.org.ru » Измерительные приборы » LCR-метр из звуковой карты: LCmeter, Zmeter
Тему сейчас просматривают - зарегистрированных: 0, скрытых: 0 и гостей: 0
Зарегестрированные - Нет
Ответить с цитатой

DVK
 


> слегка отредактированную версию (прилагаю) программы, выдающую в результате на один разряд больше (и позволяющую выбирать опорное из готового списка)

Честное слово, хотел сделать редактируемый и запоминаемый список - вот руки не дошли.
KaV, слушай, спасибо, мне даже как-то неудобно, я автор, а вот таких оценок даже не сделал...
У меня сейчас совсем нету времени этим заниматься, скажу лишь что Фурье у меня сделано неправильно, как потом выяснилось.
Т.е. там вместо обычного Фурье я по ошибке залудил комплексное, вообще странно, что оно работает...
Я потом делал и правильное и с максимальным набором рабочих частот - в 2 раза меньше чем длина буфера, по Котельникову короче, только не довел программу до конечного продукта. В качестве промежуточного результата получал проходную АЧХ звуковой карты в виде графика (3-х горбый у меня получился) и ФАЧХ (в смысле активную и реактивную части) больших индуктивностей, там где собственная ёмкость достаточно велика и резонанс приходится на звуковые частоты. Прямо как в книжках по электронике рисуют Re(Z) и Im(Z) колебательного контура, прикольно. Кстати, где-то недавно была тема про резонанс вторички строчника, так если он меньше 25 кГц то его можно просто тупо увидеть (надо будет проверить на досуге). Но опять же времени сейчас нет, хотя и очень интересно. Могу выслать код недоделаной версии.
Короче, желание поддерживать программму есть, а времени нет.

>Я нашёл, где программа вываливается с "invalid floating point operation".
> Вывалится гораздо быстрее, если cWavesCount поставить побольше 9-и (10, 11 ,12).

Насчёт алгоритма мне его самому нужно вспомнить, а лучше вообще переделать, так как Re(Z) считается константой на всём диапазоне для вычисления L и C (но не для графика!), а в большинстве случаев это не так. Ещё у меня там использована фильтрация частот. Т.е. если на каких-то частотах сигнал слишком мал или слишком близок к опорному, то я убираю эту частоту из массива данных для обработки. Возможно эта фильтрация сделана не совсем корректно, но в любом случае, если на какой-то частоте есть деление на бесконечно малые числа, то эту частоту нужно убивать раньше и не доводить до этого рокового деления. Короче, нужно доработать алгоритм фильтрации частот.
Если найду алгоритм вычисления скину сюда. Я на маткаде его делал, помнится, давно это было...


Последний раз редактировалось: DVK (Sun Nov 30, 2008 1:53 am), всего редактировалось 2 раз(а)
Добавлено: Sun Nov 30, 2008 1:46 am
Ответить с цитатой

KaV
 


DVK, сваливается именно на if () - вот что удивительно. Видимо, что-то с механизмом расчёта таких малых чисел не так. При попытке не сравнивать, а поставить условие "больше-меньше" (дабы выйти при сверхмалых числах) - тоже сваливается.


Последний раз редактировалось: KaV (Sun Nov 30, 2008 2:59 pm), всего редактировалось 1 раз
Добавлено: Sun Nov 30, 2008 12:30 pm
Ответить с цитатой

Valkyr2003
Copyrighter


Поставил 100 Ом. Еще раз тестером проверил монтаж. Разобрался с лево-право, своп делал ошибочно. Но сейчас еще веселее. Кондюк 1 мкф опознается как индуктивность в 985 мкГн. Резистор 100 Ом. Кондюк исправен, 100%, мерял емкость тестером. Кондюк 33 наноФ - как индуктивность в 295мкГн. Я не понимаю - схема простейшая, калибровка проходит - и ничего не работает...

Добавлено: Sun Nov 30, 2008 2:44 pm
Ответить с цитатой

KaV
 


Если и с 1К не заработает - виноваты провода или особенности звуковой карты.
У меня оно, например, работает лишь на семплинге 96000 и выше. Алгоритмы, блин их!

Добавлено: Sun Nov 30, 2008 3:01 pm
Ответить с цитатой

Valkyr2003
Copyrighter


УРА!!!! Я нашел засаду! В проводе на вход звуковухи не было земли! Исправил.
Работает отлично, сэмплинг 96000. DVK, KaV, респект за отличную прогу!
ЗЫ. Похоже, что больше 1 метра провод на Ин делать нельзя. Даже при исправленной земле пришлось укорачивать, тогда заработало.

Добавлено: Sun Nov 30, 2008 3:20 pm
Ответить с цитатой

KaV
 


Провод должен быть двойной, экранированный. В идеале - оплётка не должна нести сигнал. Т.е. на каждый канал - по два провода. Итого 8 Smile

Добавлено: Sun Nov 30, 2008 3:35 pm
Ответить с цитатой

DVK
 


Да, KaV прав. Я уже писал где-то что нужно подключать стандартные экранированые стерокабели хоть метр, хоть два длиной к линейному входу и выходу а все соединения делать в коробочке. Все 4 земли тоже соединяются все вместе в коробочке. А уже из коробочки провода к измеряемому элементу должны быть как можно меньшей длины.

Добавлено: Sun Nov 30, 2008 7:20 pm
Ответить с цитатой

Valkyr2003
Copyrighter


Понятно, буду сам паять кабели из нормального микрофонного провода. Внимание: то, что дешево продается на рынке - туфта! Я на этом и попался. Купил кабель джек-джек, разрезал пополам и... о"№ел. Вместо оплетки - 5 тоненьких медных жилок, ни о каком экране и речи нет! Хотя и на этом дерьме заработало.

Добавлено: Sun Nov 30, 2008 7:23 pm
Ответить с цитатой

DVK
 


Вот на всякий случай фотка моей коробочки - бывшей зажигалки.

Слева видны 2 стереокабеля.

Добавлено: Sun Nov 30, 2008 7:56 pm
Ответить с цитатой

Valkyr2003
Copyrighter


DVK, это понятно. Я цивильно соберу, с переключателем пределов, сейчас отладка на макетке. Хороший кабель - вот самое главное! Ну и радость от того, что все заработало. Уже два дохлых электролита в помойку пошли))
Да, и самое главное: я теперь могу мерять индуктивность!

Добавлено: Sun Nov 30, 2008 8:04 pm
Ответить с цитатой

DVK
 


KaV
А ты не можешь сказать поточнее где вылетает cDiv - в вычислении aW или KZ? Я такого не смог у себя добится.
И чему равны при этом комплексные амплитуы гармоник aU и aUr?

Добавлено: Sun Nov 30, 2008 8:27 pm
Ответить с цитатой

KaV
 


Вылетает на вычислении aW.
Подробности на рисунке.

Добавлено: Sun Nov 30, 2008 8:52 pm
1232.gif
1232.gif (3.94 Кб)

123.gif
123.gif (5.67 Кб)

Ответить с цитатой

DVK
 


KaV
По всей видимости выходит за пределы массива. cWavesCount чему равен?

Померял АЧХ строчника ТВС110ЛА
http://deforg.free.fr/Img/StrochnikAFC.jpg (57 кбайт)


добавил

KaV
не cWavesCount даже а длина массива aData по отношению к j. Данные массива выглядят тае, как будто за его пределами или просто длинну его определили, а даннык туда не ввели. Тогда дебагер кажет похожие цифры, а когда пробуешь к ним обращаться, то ошибку выдает.


Последний раз редактировалось: DVK (Sun Nov 30, 2008 10:26 pm), всего редактировалось 1 раз
Добавлено: Sun Nov 30, 2008 9:57 pm
Ответить с цитатой

Valkyr2003
Copyrighter


DVK, а можно такую программку (которая АЧХ снимает)? Честно, очень под впечатлением измерителя LC!

Добавлено: Sun Nov 30, 2008 10:03 pm
Ответить с цитатой

DVK
 


http://deforg.free.fr/Download/WaveIOTest.zip
Это тестовая программа, так что за интерфейс не ругайте.
Там левые 2 парралелльные ползунка это уровень входа, а правый одиночный - уровень выхода.
Использовалась та же коробочка что и в LC метре. Я неправильно сказал - это не АЧХ а что-то типа комплексного сопротивления цепи.
Отношение комплексных амплитуд левого и правого каналов.

Добавлено: Sun Nov 30, 2008 10:19 pm
Ответить с цитатой

KaV
 


2 DVK
12.

Добавлено: Sun Nov 30, 2008 10:25 pm
Ответить с цитатой

ZoneRR
 


А какой математический алгоритм вообще?
DVK, можешь вкратце описать по пунктам его? Я с wave-функциями так и не разьебался, и даже не знаю что оно дает при считывании буфера входа. Тупо PCMку(плейн-поток байтов с цапа)?
Дальше ты измеряеш(считаеш) сдвиг фаз? (так как схема - фазовращатель).
Тогда зачем прокручивать целый диапазон частоты? для большей точности? И прога строит нам(на первой странице темы скриншот) зависимость сдвига фазы от частоты, да?
Ну а дальше по известным формулам считается емкость...

Добавлено: Sun Nov 30, 2008 10:38 pm
Ответить с цитатой

KILLoVOLT
Дизайнер-жестянщик


Снёс висту, поставил ЭксПи и прога заработала <^;^>

Добавлено: Sun Nov 30, 2008 10:43 pm
Ответить с цитатой

Valkyr2003
Copyrighter


KILLoVOLT писал(а):
Снёс висту, поставил ЭксПи и прога заработала <^;^>
Offtopic:
Жму лапу, коллега!


Добавлено: Sun Nov 30, 2008 10:58 pm
Ответить с цитатой

DVK
 


Тупо PCMку(плейн-поток байтов с цапа)?

Да, а потом нормирую на 1. Т.е.если однобайтная, то 128-это 1., а если 2-х байтпая, то 3277 это 1. Это делается автоматически, чтобы не зависеть от байтности буфера. Длину буфера я беру кратную 2 в степени n, чтобы FFT можно было использовать.

Дальше ты измеряеш(считаеш) сдвиг фаз? (так как схема - фазовращатель).


Ну с фазами я не хочу заморачиваться, FFT дает сразу комплексные амплитуды от левого и правого каналов. Для вычисления реактивной компоненты важно их отношение, вернее его мнимая часть. Т.е. Im(Z)=Im(U/I), где U и I комплексные. Ток вычисляется делением напряжения на опорном сопротивлении (правый канал) на это сопротивление, а напряжение на измеряемом элементе - напряжение левого за вычетом правого. И так для всех частот. Потом я пытаюсь вписать гладкую кривую по методу наименьших квадратов в получившийся график 2-мя способами - в предположении, что это L и С. Если L подходит больше, я показываю L а если нет -то С Алгоритм не совсем корректный, так как предполагает R константой во всем диапазоне, а это не всегда так, как потом выяснилось, нужно только мнимую часть оставлять. Много частот нужно, чтобы расширить диапазон измеряемых реактивностей при одном и том же опорном сопротивлении. В одних случаяюх работает низкочастотная часть диапазона, в других высокочастотная. Если какая часть диапазона не работает, то я ее убираю из вычиследний этого среднего L и С. Некоторые вычисления происходят до фильтрации и наверно поэтому у KaV-а глючит. Сейчас попробовал разобраться в чем дело - никак врубиться не могу, забыл уже детали как работает.

И прога строит нам(на первой странице темы скриншот) зависимость сдвига фазы от частоты, да?


Она строит зависимость активного и реактивного сопротивления от частоты. А также график вычисленной реактивности, L или C, чтобы оценить на взгляд как она соответствует измереной Im(Z).

добавил:

KaV,
Я нашел кое-что:
cWavesCount больше 9 нельзя ставить. Это связано с размером буфера.
Буфер имеет размер 2 в 12 степени, его размер определяется в процедуре MultiSin в unit uWaveOut.pas.
Нужно чтобы cWavesCount был в 8 раз меньше (2 в 3-ей степень, 3-я степень-это =12-9) чем буфер - это глюки комплексного FFT, которое я сдуру использовал, для нормального должно быть всего в 2 раза меньше.
Кроме того (из проц. MultiSin), если
Sampling > 150000, то буфер умножается на 2, тогда 10 можно, а если
Sampling < 75000, то на 2 делится, тогда вообще надо 8 делать.

Добавлено: Mon Dec 01, 2008 1:00 am
Ответить с цитатой

sunny
 


У меня под ХР на звуковой CMI8738 при старте программы выдает сообщение "Integer overflow" ,а сама программа закрывается только через диспечер задач.Никакие манипуляции со входами ничего не дают. Можно как-нибудь запустить прогу с этой картой или всетаки тут виноваты драйвера и ничего не сделать?

Добавлено: Mon Dec 08, 2008 9:34 pm
Ответить с цитатой

DVK
 


sunny
Попробуй предыдущие версии Free 2, Free или может еще более ранние кто-то мне писал, что у него последняя почему-то не шла.
Я сейчас всё равно дебагом заниматься не буду, единственно могу посмотреть .txt файл c конфигурацией микшера, который ранние версии генерируют автоматически. Да, сейчас глянул к себе на сайт - CMI8738 вообще глючно работает, даже если драйверы нормальные поставить, то-то я гляжу название знакомое...

Добавлено: Tue Dec 09, 2008 12:39 am
Ответить с цитатой

DVK
 


Продолжение LCmeter - Zmeter
http://deforg.free.fr/Zmeter.html

Основные отличия от LCmeter:
- Измерения ведутся не на 10, а максимум на 1000 частотах, т.е на экране виден непрерывный спектр.
- Пользовать может сам регулировать диапазон измерений
- С микшером программа не работает - пользователь должен сам выставлять уровни сигнала при калибровке.
Это делается один раз и потом, если микшер не трогали, калибровку каждый раз делать не надо, она сохраняется в .ini файле.
Сделано специально, чтобы иметь возможность работы в Висте (не проверялось).
- Калибровка учитывает теперь разницу АФЧХ левого и правого каналов, включая задержку одного канала относительно другого,
Это позволяет использовать карты типа Aureal и некоторые Саунд-Бластеры, на которых у пользователей возникали вопросы типа
"Почему меряю индуктивность а показывает ёмкость?" или наоборот. Это также повышает точность на тех картах, которые работали
с LC-meter-ом, но не все номиналы показывали правильно.
- Добавлен сохраняемый список опорных сопротивлений вместо одного.
- Добавлен режим просто графика комплексного сопротивления без L/C измерения а также график
проходной АФЧХ 3-х полюсника с возможностью показа модуля и фазы сигнала как функция частоты.

подробности см. в .doc файле из архива.

Добавлено: Sun Jul 05, 2009 8:58 pm
Ответить с цитатой

GrayCat
 


Во-первых, спасибо DVK за крайне полезную программу! drink

Собрал себе коробочку, набор резисторов 1-10-100-1к. Работает, "показывает" емкости от 4700 мкФ до единиц нанофарад. Индуктивности: 1 мкГн еле-еле, выше - лучше. Даже скин-эффект для катушек видно Smile . Пару "подозрительных" электролитов специально припас, с совсем чуть-чуть вздутыми крышками: так и есть, емкость вышла в 10 раз меньше номинала, а ESR около 400 мОм - завышенное раз в 10 от аналогичных "нормальных".

В качестве кабеля попробовал применить шнурок от SATA - там как раз 2 пары, каждая в своем экране. Первый раз разделывал такой кабель, оказался на удивление "приятным" в обращении: хороший в меру мягкий пластик, не слишком легкоплавкий, легко разрезается посередине на 2 отдельных "пары"; экраны фольговые, параллельно с каждым идут 2 проволочки для подпайки; все хорошо лудится.

Так что будем пользовать...

Добавлено: Fri Sep 04, 2009 8:48 pm
SATA_Cut.jpg (27.11 Кб)

Ответить с цитатой

Valkyr2003
Copyrighter


DVK,
Спасибо Вам огромное!
GrayCat,
интересное решение! Также спасибо!
ЗЫ. Ну вот, нормальные посты на Флае появились вместо херни всякой.

Добавлено: Fri Sep 04, 2009 9:08 pm
Список разделов Flyback.org.ru » Измерительные приборы » LCR-метр из звуковой карты: LCmeter, Zmeter
На страницу Пред.  1, 2, 3  След.     Просмотр темы целиком



Лицензионное соглашение

(c)Flyback.org.ru
Российское общество любителей высоких напряжений.
Использование материалов с данного сайта и форума возможно только с разрешения администрации.