Внимание! Перед тем как создавать тему на форуме, воспользуйтесь поиском! Пользователь создавший тему, которая уже была, будет немедленно забанен! Читайте правила названия тем. Пользователи создавшие тему с непонятными заголовками, к примеру: "Помогите, Схема, Резистор, Хелп и т.п." также будут заблокированны навсегда. Пользователь создавший тему не по разделу форума будет немедленно забанен! Уважайте форум, и вас также будут уважать!
Группа: Автор
Сообщений: 5520
Пользователь №: 13298
Регистрация: 12-November 06
Место жительства: Калужская губерния
Время от времени требуется измерять ВЧ напряжения, усиление/ослабление каскада, сравнить мощность передатчиков в диапазоне 433мгц. Поиски в интернете дали: http://vrtp.ru/index.php?showtopic=8480 http://vrtp.ru/index.php?showtopic=12953 http://vrtp.ru/index.php?showtopic=13800 ну и еще пару статей образца 2001года. Измеритель от датчан сложный, исходников нет. Стрелочным не очень удобно пользоваться. В статье из QCT применена неплохая частотная коррекция для AD8307. Решил сделать простой вариант с использованием недорогого МК PIC16F684, дисплея 2х8 и само собой детекторной головки на AD8307. Получилась в целом такая схема:
Присоединённое изображение (Нажмите для увеличения)
--------------------
s0ll2, мы будем помнить тебя. Спасибо что был с нами эти годы. Спасибо за твою помощь и отзывчивость. ------------------------- Администрация и посетители vrtp.ru
Группа: Автор
Сообщений: 5520
Пользователь №: 13298
Регистрация: 12-November 06
Место жительства: Калужская губерния
Диапазон измерений от -40db(2mV) до +20db(2,236V). Точность отсчета уровня 0.1db, напряжения 1mV. Теперь думаю, как его собрать в корпус в виде щупа. Фото детекторной головки:
Присоединённое изображение (Нажмите для увеличения)
--------------------
s0ll2, мы будем помнить тебя. Спасибо что был с нами эти годы. Спасибо за твою помощь и отзывчивость. ------------------------- Администрация и посетители vrtp.ru
Группа: Автор
Сообщений: 5520
Пользователь №: 13298
Регистрация: 12-November 06
Место жительства: Калужская губерния
Фото рабочего прибора/ макета :
Присоединённое изображение (Нажмите для увеличения)
--------------------
s0ll2, мы будем помнить тебя. Спасибо что был с нами эти годы. Спасибо за твою помощь и отзывчивость. ------------------------- Администрация и посетители vrtp.ru
Группа: Автор
Сообщений: 5520
Пользователь №: 13298
Регистрация: 12-November 06
Место жительства: Калужская губерния
На фото показывает уровень сигнала помех от ТВ и прочего, принимаемого проволочкой длиной 5см. Показания без антеннки порядка -45...-59db, напряжение менее 1 мв и не индицируется. Программу сделал свою, не супер конечно- памяти в МК еле хватило на всю 32-х разрядную математику, логарифмы и экспоненты. Архив со схемой, платами и исходником с прошивкой на MicroBasic V7.00 В программе была ошибка, перезалил.
Это сообщение отредактировал s0ll2 - Mar 13 2013, 08:55 PM
s0ll2, мы будем помнить тебя. Спасибо что был с нами эти годы. Спасибо за твою помощь и отзывчивость. ------------------------- Администрация и посетители vrtp.ru
Группа: Автор
Сообщений: 5520
Пользователь №: 13298
Регистрация: 12-November 06
Место жительства: Калужская губерния
Входное сопротивление ВЧ головки около 1ком, на плату можно допаять резистор 51ом но скорее всего сделаю делитель 10-20db для повышения входного сопротивления и защиты от перегрузок. Пока как макет. Замечания и пожелания приветствуются. Добавлю 2 статьи источников:
s0ll2, мы будем помнить тебя. Спасибо что был с нами эти годы. Спасибо за твою помощь и отзывчивость. ------------------------- Администрация и посетители vrtp.ru
Группа: Автор
Сообщений: 5520
Пользователь №: 13298
Регистрация: 12-November 06
Место жительства: Калужская губерния
А в этом МК нет АЦП, так что нету.
--------------------
s0ll2, мы будем помнить тебя. Спасибо что был с нами эти годы. Спасибо за твою помощь и отзывчивость. ------------------------- Администрация и посетители vrtp.ru
Входное сопротивление ВЧ головки около 1ком, на плату можно допаять резистор 51ом
Приведение входа к 50-Ом обязательно, иначе прибор будет врать.
Еще я бы применил в качестве опорного не Vss-Vdd, а Vss-Vref = 2,5в, т.к. с выхода АД напряжение не превышает этого значения. Так же я бы брал не одну выборку АЦП, а среднее из нескольких. Это приблизило бы результирующие показания к истиному значению и позволило бы честно использовать разрядность в 0,1дБм.
И, если не затруднит, не могли бы вы описать математику прибора - как из результата с АЦП расчитываются напряжение и мощность? А то вот такие формулы цифры мозг взрывают
Это сообщение отредактировал rakov - Mar 13 2013, 07:18 PM
Ну, если как вольтметр - приведение к 50 Омам вовсе не требуется, но показания в dBm тогда лучше отключать, чтобы не путали (и выводить что-то типа псевдоаналоговой шкалы). ADC - да, лучше бы опорник на 2.5 и от него плясать. И про оверсемплинг верно отмечено, легко выжать еще три-четыре бита разрешения. По-хорошему, стоило бы и вывод PWM а внешний стрелочный прибор. Но камешек тесноват (по ногам, по коду-то странно, что возникли сложности с математикой - стандартная плавучка это меньше полтысячи слов, экспонента и логарифм - еще сотни две, все бы влезло в килослово, если на asm).
Ну, если как вольтметр - приведение к 50 Омам вовсе не требуется
Почему? В ДШ все характеристики в dBm. Объясните тогда, как по величине измеренного напряжения с выхода АД, рассчитать напряжение? Я вижу один вариант - через мощность и сопротивление. Как получил результат s0ll2, совсем не понял.
Графики в даташите получены для схемы, где вход приведен к 50 Омам, да. Но сам-то детектор достаточно высокоимпедансный и измеряет именно напряжение на входе, а не мощность. Так что показывать напряжение он будет более-менее правильно всегда. Но показывать в dBm уже будет некорректно.
Нет-нет, я не пойму, вот что. Результирующее значение напряжения получается расчетом, расчет делается по характеристике, которая приведена в относительных единицах мощности, а т.к. мощность зависит от сопротивления, характеристика при разном Rвх будет отличаться и расчет напряжения будет не точным. В приведенной схеме нагрузкой я вляется внутреннее сопротивление АД, равное 1к1.
Группа: Автор
Сообщений: 5520
Пользователь №: 13298
Регистрация: 12-November 06
Место жительства: Калужская губерния
Что программа не супер, я сразу написал. Кстати, программа работала неправильно и я ее заменил. На ассемблере написать такую программу не смогу, писал на простом Бейсике. Вычисления проводились следующим образом: Калибровочная точка 0dbm, что на нагрузке 50 ом дает 223,6 мв напряжения ВЧ (обозначим его как Vrf0). Этой точке по грфикам (из ДШ на микросхему, из примеров приборов с ней) соответствует напряжение на выходе около 2000мв (обозначим Uout0). Тут засада, эта цифра не точная, а применение ВЧ коррекции еще и сдвигает ее вниз примерно на 150мв. Это можно скомпенсировать подстройкой по выводу INT но пока не делал. Крутизна преобразования более точная, 25мв/дб (то же можно регулировать только в сторону снижения, не стал пока применять), обозначим как S. Микросхема фактически измеряет напряжение на входе, ее входное сопротивление около 1,1ком. Обозначим выходное напряжение как Uout, а уровень в децибелах как DB. Тогда DB=(Uout-U0)/S. С другой стороны DB=10*LG(P/P0) или DB=20*LG(Vrf/Vrf0)=20*LN(Vrf/Vrf0)/2.303. Дальше берем эти децибелы и из них вычисляем вч напряжение Vrf=Vrf0*EXP(DB*2.303/20) [у меня в программе почему-то получилось что нужно делить на 10, тогда правильно показывает, может где еще ошибся, проверю] . Как то так должно получиться. Раздельно считать по переменным не хватило места в МК, собрал все вместе с численными коэффициентами в одну строку. Ожидаемая погрешность порядка 1дб или 12%, сравнима с погрешностью самодельных детекторных головок, только показывать начнет не с долей вольта а с 2-3мв. Придется все же ввести в схему 2 подстроечных резистора и сделать калибратор.
--------------------
s0ll2, мы будем помнить тебя. Спасибо что был с нами эти годы. Спасибо за твою помощь и отзывчивость. ------------------------- Администрация и посетители vrtp.ru
dB - изменятся, U - нет. Детектор же превращает напряжение в напряжение, с вполне определенной передаточной характеристикой. Которая никак не зависит от сопротивления.
Передаточная характеристика не зависит, это ясно. А как быть с этим -
QUOTE
Калибровочная точка 0dbm, что на нагрузке 50 ом дает 223,6 мв напряжения ВЧ (обозначим его как Vrf0). Этой точке по грфикам (из ДШ на микросхему, из примеров приборов с ней) соответствует напряжение на выходе около 2000мв (обозначим Uout0).
, здесь ведь зависимость от сопротивления и это влияет на конечный результат?
Эта зависимость для конкретной схемы включения. Микросхема детектора и знать не знает, к чему она подключена. Получила на вход 224 mV - выдала 2 с копейками вольт. А был там резистор или нет - ей без разницы.
Нет. Мы именно что знаем, что на входе 224 mV. А о том, что на входе 1 mW, мы догадываемся, с учетом того, что вход нагружен на резистор 50 Ом. Картинки в даташите - они именно для случая с резистором, для типового применения, и не более того.
Диапазон измерений от -40db(2mV) до +20db(2,236V). Точность отсчета уровня 0.1db, напряжения 1mV.
QUOTE (s0ll2 @ Mar 13 2013, 03:52 PM)
памяти в МК еле хватило на всю 32-х разрядную математику, логарифмы и экспоненты.
В таком приборе нет никакго смысла гоняться за 0.1 дБ и использовать реальную математику в 32 разряда. 1) у Вас погрешность датчика минимум 0.5 дБ. 2) АЦП 10 разрядов , из которых только по праздниками 8.5 действующих. 3) в диапазоне 200- 1000 МГц щуп без земли , просто ткнутый в плату через ёмкость руки , даст погрешность от -5 до -15 дБ. От того - как зведы лягут. Сделайте просто таблицу пересчета АЦП в дБ и мВт , на 32 позиции, с просто линейной аппроксимацией в промежутках - получите точно такой же результат. Можно даже в 8 бит вписаться. На свободное место лучше забить частотную и температурную коррекцию.
QUOTE
Так же я бы брал не одну выборку АЦП, а среднее из нескольких. Это приблизило бы результирующие показания к истиному значению и позволило бы честно использовать разрядность в 0,1дБм. И, если не затруднит, не могли бы вы описать математику прибора - как из результата с АЦП расчитываются напряжение и мощность? А то вот такие формулы цифры мозг взрывают
у меня в рабочем устройстве было минимум 16 выборок , чтобы получить какой-то осмысленый результат, лучше 32 выборки. Табличная аппроксимация с выводом мощности в мВт и дБм - лучший вариант. Таблицы делаются под набор частот и температур.
Это сообщение отредактировал pixar - Mar 14 2013, 04:20 AM
Так что показывать напряжение он будет более-менее правильно всегда. Но показывать в dBm уже будет некорректно.
не забывайте про СВЧ . напряжение на входе датчика 8307 будет отличаться от напряжения в точке на плате , куда иголку ткнули и будет зависеть от импеданса линии от иголки до входа МС. Иголка длиной в 3-4 см и входная емкость 8307 - это контур на неизвестную частоту и на 200-500 МГц погрешность не определена.
QUOTE (s0ll2 @ Mar 13 2013, 10:39 PM)
Раздельно считать по переменным не хватило места в МК
есть современные пики с турбонаддувом, типа 16ф1829,16ф1502/8 стоят те- же долл - полтора . Буквально на днях вопрос изучал.
QUOTE (s0ll2 @ Mar 13 2013, 03:59 PM)
Замечания и пожелания приветствуются.
на входе АЦП должна быть RC цепочка, иначе будет ловить наводки с длинного провода от датчика.
Это сообщение отредактировал pixar - Mar 14 2013, 04:51 AM
Подумал и вот что надумал. Берем правильную расчетную формулу Vrf=Vrf0*EXP(DB*2.303/20) и подставляем в нее данные от soll Vrf=0,224*EXP(-33.3*2.303/20)= 4мв! (-33.3 и 4мв взяты с фото). Но при этом он писал
QUOTE
[у меня в программе почему-то получилось что нужно делить на 10, тогда правильно показывает, может где еще ошибся, проверю]
т.е. расчетная формула у него имеет вид Vrf=Vrf0*EXP(DB*2.303/10)... . Но если подставить данные в нее, то ничего не сойдется! Vrf=0,224*EXP(-33.3*2.303/10)= 0,1мв!
Делаем финт ушами глазами и смотрим мои сообщения выше, например #479218, и читаем что я там написал. Пересчитываем Vrf0 для калибровочной точки 0 dBm и сопротивления 1100 Ом и получаем 1,04в. Подставим в измененную и примененную soll формулу Vrf=1,04*EXP(-33.3*2.303/10)= 4мв!
Вывод - сопротивление входа влияет на результат показаний. Но, нужно кой-чего пояснить. rx3apf смотрел на вопрос со стороны теории и тут он прав, ведь для случая, когда сопротивление нагрузки равно или значительно больше сопротивления источника сигнала напряжение на нагрузке практически не зависит от величины ее сопротивления. А я смотрел на вопрос со стороны практики, а конкретней - расчета и получения на дисплее заветной цифры напряжения. В подсознании поставленая задача уже была представлена в виде расчета, под конкретную задачу. А так как теоретический багаж у меня маловат, то подсознание в основном и рулило мышлением, сбивая с толку и наводя кашу в голове. Вобщем, как-то так.
QUOTE
В таком приборе нет никакго смысла гоняться за 0.1 дБ и использовать реальную математику в 32 разряда
За математику тоже удивился. А вот за 0.1 дБ - ведь здесь речь не об абсолютной точности, а о разрядности результатов измерений, о минимально различимом изменении сигнала. Хотя, да, разрядность в 1дБ даже для случаев настройки относительно прецизионных девайсов вполне достаточна. Да и с имеющимися расчетами-методами, думаю последний разряд некисло гуляет.
Лог детектор берет ВЧ напряжение (грубо) на входе и преобразует его в постоянное напряжение на выходе. Грубо говоря , ему все равно - что стоит у него на входе параллельно его ноге . какая амплитуда на ноге будет - то и преобразует.
Среденеквадратичный детектор типа AD8362 меряет среднеквадратичную мощность на калиброваном импедансе независимо от пикфактора (AM, ФМ, QUAM, OFDM) и выдает на выходе пропорциональную постоянку.
QUOTE
А вот за 0.1 дБ - ведь здесь речь не об абсолютной точности, а о разрядности результатов измерений, о минимально различимом изменении сигнала. Хотя, да, разрядность в 1дБ даже для случаев настройки относительно прецизионных девайсов вполне достаточна. Да и с имеющимися расчетами-методами, думаю последний разряд некисло гуляет.
если сделать девайсу согласованую нагрузку на входе , подключить его кабелем к стандартному генератору , взять АЦП реально линейный и 10 разрядов , сделать АЦП опору лучше 0.5% и прогреть все это полчаса - то да , можно считать, что ловишь 0.1 дБ разницы сигнала. На практике эта постоянная дрыкота последней цифры только разражает, а смысла в ней нет никакого. 10 разрядный АЦП у PICа имеет общую погрещность 4 разряда , то есть реально это 8 бит и это без погрешности опоры.
Это сообщение отредактировал pixar - Mar 14 2013, 07:33 AM
Группа: Автор
Сообщений: 5520
Пользователь №: 13298
Регистрация: 12-November 06
Место жительства: Калужская губерния
С программой еще поколдую, самому не нравится. По вопросу арифметики- компилятор плавающую запятую обрабатывает в виде 32-х разрядного числа. В асм не полезу, хорошо его не знаю. Все же такой показометр до ума доведу, децибелы как раз считаются точнее чем напряжение, датчик то логарифмический. Продолжу копаться, программа и схема еще не окончательные. Микросхема- именно логарифмический преобразователь дифференциального входного напряжения (по ДШ Fmin=0 те от DC, за счет чего надеюся сделать хоть какую калибровку).
--------------------
s0ll2, мы будем помнить тебя. Спасибо что был с нами эти годы. Спасибо за твою помощь и отзывчивость. ------------------------- Администрация и посетители vrtp.ru
Группа: Автор
Сообщений: 5520
Пользователь №: 13298
Регистрация: 12-November 06
Место жительства: Калужская губерния
Блогодарю, посмотрел. Принцип коррекции в общем похож на схему из QST. А с AVR беда, не делал на них. Буду добивать ПИК, как раз как и сама AD8307 копеечный. Датский прибор http://vrtp.ru/index.php?showtopic=8480 хорош, но я специально делаю простенький в виде щупа.
--------------------
s0ll2, мы будем помнить тебя. Спасибо что был с нами эти годы. Спасибо за твою помощь и отзывчивость. ------------------------- Администрация и посетители vrtp.ru
датский ПИК без исходиников , тк его продали в журнал , а в каком то проекте на AVR с исходником расписано , как по таблице показания выводить. Не нужно никаких плаваюших точек и логарифмов. У Вас весь динамический диапазон датчика 60-65 дб, погрешность в самом лучшем случае 0.5 дБ. это 120-130 точек кривой максимум, с интерполяцией всего 30-32 точек. У Вас, кстати , бинарник может распухнуть , если Вы вывод на дисплей через форматированый принт используете, типа printf в С . Стандартный printf из библиотеки stdio компилируется обычно больше , чем в килобайт. На МСР430 вообще в 2к не влезает.
Это сообщение отредактировал pixar - Mar 14 2013, 08:59 AM