PDA

Просмотр полной версии : Панорамный SWR на базе Ардуино



Страницы : [1] 2

RA4FHE
06.09.2015, 18:47
Простой для повторения АА ;-)
Инфу брал тут http://www.kh-gps.de/ant_analyzer.htm
Под "мелкий" дисплей поправил скетч http://infotex58.ru/forum/index.php?topic=971. 0
Собирается за вечер ))

http://infotex58.ru/infot/aa27_1.jpg

gudzon-m
07.09.2015, 16:39
Здравствуйте! Подскажите пожалуйста, такой (http://ru.aliexpress.com/item/1-44-128x128-Serial-Port-SPI-TFT-Screen-LCD-Screen-Panel-PCB-Board-Driver-IC-ST7735/32458812469.html?spm =2114.03020208.3.11. yiK4gr&ws_ab_test=201407_2, 201444_5,201409_3) дисплей подойдет?

RA4FHE
07.09.2015, 17:52
Скорее всего нет...
Библиотечка UCGLIB поддерживает следующие дисплеи:


//Ucglib8BitPortD ucg(ucg_dev_ili9325_ 18x240x320_itdb02, ucg_ext_ili9325_18, /* wr= */ 18 , /* cd= */ 19 , /* cs= */ 17, /* reset= */ 16 );
//Ucglib8Bit ucg(ucg_dev_ili9325_ 18x240x320_itdb02, ucg_ext_ili9325_18, 0, 1, 2, 3, 4, 5, 6, 7, /* wr= */ 18 , /* cd= */ 19 , /* cs= */ 17, /* reset= */ 16 );


//Ucglib_ST7735_18x128 x160_SWSPI ucg(/*sclk=*/ 13, /*data=*/ 11, /*cd=*/ 9 , /*cs=*/ 10, /*reset=*/ 8);
//Ucglib_ST7735_18x128 x160_HWSPI ucg(/*cd=*/ 9 , /*cs=*/ 10, /*reset=*/ 8);


//Ucglib_ILI9341_18x24 0x320_SWSPI ucg(/*sclk=*/ 7, /*data=*/ 6, /*cd=*/ 5 , /*cs=*/ 3, /*reset=*/ 4);
//Ucglib_ILI9341_18x24 0x320_SWSPI ucg(/*sclk=*/ 13, /*data=*/ 11, /*cd=*/ 9 , /*cs=*/ 10, /*reset=*/ 8);
//Ucglib_ILI9341_18x24 0x320_HWSPI ucg(/*cd=*/ 9 , /*cs=*/ 10, /*reset=*/ 8);
//Ucglib_ILI9341_18x24 0x320_SWSPI ucg(/*sclk=*/ 4, /*data=*/ 3, /*cd=*/ 6 , /*cs=*/ 7, /*reset=*/ 5); /* Elec Freaks Shield */


//Ucglib_SSD1351_18x12 8x128_SWSPI ucg(/*sclk=*/ 13, /*data=*/ 11, /*cd=*/ 9 , /*cs=*/ 10, /*reset=*/ 8);
//Ucglib_SSD1351_18x12 8x128_HWSPI ucg(/*cd=*/ 9 , /*cs=*/ 10, /*reset=*/ 8);
//Ucglib_SSD1351_18x12 8x128_FT_SWSPI ucg(/*sclk=*/ 13, /*data=*/ 11, /*cd=*/ 9 , /*cs=*/ 10, /*reset=*/ 8);
//Ucglib_SSD1351_18x12 8x128_FT_HWSPI ucg(/*cd=*/ 9 , /*cs=*/ 10, /*reset=*/ 8);


//Ucglib_PCF8833_16x13 2x132_SWSPI ucg(/*sclk=*/ 13, /*data=*/ 11, /*cs=*/ 9, /*reset=*/ 8); /* linksprite board */
//Ucglib_PCF8833_16x13 2x132_HWSPI ucg(/*cs=*/ 9, /*reset=*/ 8); /* linksprite board */

Скетч я редактировал под такой дисплей http://www.ebay.com/itm/1-8-inch-1-8-TFT-LCD-Display-module-ST7735S-128x160-51-AVR-STM32-ARM-8-16-bit-/400520986066

DL8RCB
07.09.2015, 18:05
Простой для повторения АА
1.сделай хороший снимок, не вижу метки на дисплее
2. как называется антенна? она дуал?

gudzon-m
07.09.2015, 18:08
Отлично, пошел заказывать, спасибо.

RA4FHE
07.09.2015, 18:17
1.сделай хороший снимок, не вижу метки на дисплее

http://infotex58.ru/infot/aa27.jpg


. как называется антенна? она дуал?
Антенна штатная от MAYCOM SH-27 DTMF

DL8RCB
07.09.2015, 18:20
ну вот видно, а поначалу, я думал что ты 2-ку показываешь,
он позволяет посмотреть 145?

RA4FHE
07.09.2015, 18:30
он позволяет посмотреть 145?
Нее это только КВ 1-30 МГц
Есть идея прикрутить умножитель после DDS http://html.alldatasheet.co m/html-pdf/65417/ICST/ICS512M/81/1/ICS512M.html
По сути до 200 МГц должно завестись :smile:

R2DHG
07.09.2015, 18:38
Или конвертер забацать :-P Но лучше наверное синтезатор сделать более другой, схем и печаток хватает, правда и цена несколько другая получится.

Comandante
07.09.2015, 18:52
Подобный проект с выводом информации на ПК https://lima05web.wordpress. com/2014/03/22/arduino-antennen-analysator-dg7eao/ может кому сгодится.

RA4FHE
07.09.2015, 18:55
Это оно и есть!

DL8RCB
07.09.2015, 18:57
По сути до 200 МГц должно завестись
есть у меня "игрушка" потому и хотелось сравнить, но она от 138 MHz и выше

Comandante
07.09.2015, 18:59
Это оно и есть! согласен, только к нему дисплей прикрутили.

Serg
07.09.2015, 19:03
Нее это только КВ 1-30 МГц

Надо наверно си570 прикручивать или более новую СИзабыл_какая, которая вроде дешевле и продается как альдруино шилд...

RA4FHE
07.09.2015, 19:16
Надо наверно си570 прикручивать или более новую СИзабыл_какая, которая вроде дешевле и продается как альдруино шилд...
да синтез прикрутить не проблема))) высокочастотную часть придётся делать уже не на макетке)) да и резюки безиндукционные нужны, диоды также менять...

UA4WSA
07.09.2015, 19:28
Во сколько все обошлось по денежке?

RA4FHE
07.09.2015, 19:36
С учётом нынешнего курса бакса в районе 1000р.

ur5yfv
07.09.2015, 21:19
Тоже немного экспериментировал с этим антенным анализатором на Arduino + модуль AD9850,
как с программой для вывода информации на дисплей монитора компьютера, так и с вариантом
на TFT 2.2" 240x320 (ILI9341). Индикаторы здесь брал http://ru.aliexpress.com/item/Wholesale-1PC-2-2-Inch-240-320-Dots-SPI-TFT-LCD-Serial-Port-Module-Display-ILI9341/1762539997.html
Правда обновление информатизации происходит не очень быстро. С применением программы и
просмотров на компе более понравилось.

Есть еще такой вариант http://blog.riyas.org/2015/04/a-simple-standalone-antenna-analyzer-with-ili9341tft.html
Только этот проект отображается на экране перевернутым на 90гр. и отображается половина информации.
Так больше и не очень разбирался. Может если посидеть, то можно поправить. Последний вариант быстрее
работает. Наверное потому, что там немного другая библиотека применяется. Но нужно разбираться с кодом
и допиливать.

Explorer
07.09.2015, 22:51
RA4FHE,
А вот интересно, не пробовали разные старые диоды как например Д18, ГД507, Д311 ?

RA4FHE
08.09.2015, 07:00
Explorer, Под руки попались Д9Д их и поставил, другие не пробовал.

RV3MP
08.09.2015, 09:07
С применением программы и просмотров на компе более понравилось.
Отличный "прибор"... В некоторых местах, КСВ меньше 1.0 на графике...
210636
Наверное, антенна с КСВ 0.7... Вообще бомба... Даже РТТ не надо нажимать... так отвечают.:ржать:

DL8RCB
08.09.2015, 10:28
.. Вообще бомба...
ну зачем-же флудить?
у Вас лично есть,что показать ?
спасибо

gudzon-m
08.09.2015, 15:26
В некоторых местах, КСВ меньше 1.0 на графике...

А действительно, с чем это связано? Не откалиброван?

vadim_d
08.09.2015, 16:41
А действительно, с чем это связано?
Скорее всего с разрядностью представления данных и округлением под нее

R2DHG
08.09.2015, 17:09
Почему меньше 1.0 ? Может это и есть 1.0 ?

Comandante
09.09.2015, 13:56
Это и есть единица, гляньте фото на второй странице, там не урезанный график и все станет на свои места.

UT8UU
09.09.2015, 14:11
На самом деле это не антенный анализатор, а широкополосный измеритель КСВ. Для того, чтобы он стал анализатором, ему нужно добавить еще одну микросхемку - фазовый детектор (например, AD8302). Только в этом случае прибор будет уметь показывать не только КСВ, но и импеданс с реактансом. А так это просто игрушка, которая будет показывать КСВ=1 на 5-омной нагрузке с огромным реактансом... В общем, во время использования этого прибора нужно понимать, что низкое значение КСВ не всегда обозначает, что антенна будет эффективна (импедансы всех частей АФУ примерно одинаковы) и настроена в резонанс (почти нулевой реактанс).

vfc
09.09.2015, 18:22
А так это просто игрушка, которая будет показывать КСВ=1 на 5-омной нагрузке с огромным реактансом...

Как-то не совсем так...
КСВ характеризует режим работы линии передачи с учетом отражения электромагнитных волн от ее концов.
При КСВ = 1 вся энергия волн поступающая на вход линии поглощается на противоположном конце линии нагрузкой.
Это происходит только в том случае, если:
- сопротивление нагрузки в конце линии чисто активное,
- это сопротивление нагрузки равно волновому сопротивлению линии.
В любой другой ситуации возникнет отраженная волна от нагрузки, часть энергии будет распространяться к
началу линии и КСВ будет больше единицы. Т.е. КСВ не будет равен единице ни при каком сочетании активного
и реактивного сопротивлений нагрузки кроме описанного.
Поэтому КСВ-метр это прибор, показывающий настроена ли антенна подключенная к противоположному
концу линии передачи в резонанс на данной частоте и равно ли ее входное сопротивление волновому сопротивлению линии.

Добавлено через 5 минут(ы):


Отличный "прибор"... В некоторых местах, КСВ меньше 1.0 на графике...

Наверное, антенна с КСВ 0.7... Вообще бомба... Даже РТТ не надо нажимать... так отвечают.:ржать:

На графике не обозначено на каком уровне КСВ нарисована ось абсцисс... А на графике в сообщении №18 видно, что эта ось проходит на уровне КСВ = 1. Если это верно и для обсуждаемого графика, то все нормально и никаких вопросов не возникает. ;-)

Explorer
09.09.2015, 18:28
Есть тема для Arduino на AD8302 т.е. тот же miniVna http://ra4nal.qrz.ru/vna.shtml , Реализовал на UNO и модуль китайский на AD9850, плату изменил под имеющийся корпус.

Serg
09.09.2015, 18:38
А так это просто игрушка, которая будет показывать КСВ=1 на 5-омной нагрузке с огромным реактансом

КСВ 1 не может быть при наличии реактивностей. Правильней сказать - это панорманый КСВ метр. Всяко удобней, чем обычным снимать десяток значений и по точкам линию рисовать.

km6z
09.09.2015, 18:52
2 vfc.

VSergio
10.09.2015, 09:24
Explorer, Вы давали ссылку на французский проект, но она исчезла!:shock: Если не затруднит, повторите пожалуйста.

yl2gl
10.09.2015, 09:41
Т.е. КСВ не будет равен единице ни при каком сочетании активного
и реактивного сопротивлений нагрузки кроме описанного.
Вот здесь Вы глубоко заблуждаетесь.


КСВ 1 не может быть при наличии реактивностей.
Ещё как может!
Вспомните формулу Z=R+/jX/. Все обычные КСВ метры реагируют на комплексное сопротивление Z. Допустим, активное волновое сопротивление R=25 Ом, реактивное jX так же равно +25 Ом или -25 Ом. Тогда КСВ метр покажет ту же единицу, что и при полном согласовании, когда Z=R и равняется 50 Ом. Сколько уже можно писАть об этом ? :roll:

UA1ANP
10.09.2015, 09:42
Поэтому КСВ-метр это прибор, показывающий настроена ли антенна, подключенная к противоположному
концу линии передачи в резонанс на данной частоте и равно ли ее входное сопротивление волновому сопротивлению линии.
Ну, наверное, не совсем удачное выражение.
А как быть если длинна линии равна лямбда/2 ?
Ведь в этом случае, линия начинает работать как повторитель и какое сопротивление самой линии абсолютно без разницы.

R4AAD
10.09.2015, 10:41
Ещё как может
Совершенно верно. При настройке антенны КСВметром можно и не понять какой из нескольких провалов КСВ "правильный", а какие "ложные" ;-)
Совсем другое дело - векторный анализатор, там четко видно где резонанс... Хм, хотя у некоторых векторных анализаторов другая проблема - путается знак реактивности:roll:
По проекту:
1. Зря используется "классическая" схема детектора КСВ-метра. Ее обязательно требуется калибровать - на схеме немца конденсатор C2 (100пф) должен быть подстроечным и для его настройки надо менять вход с выходом, что проблематично в этой схеме, где синтезатор подключен напостоянку т.е. явно никто из повторяющих этого не делал, а без этой операции КСВ может быть и меньше единицы :ржач:
Есть простые схемы КСВ-детекторов, где какой-либо настройки делать не надо. Собрал аккуратно и все сразу работает. К примеру, очень рекомендую простой Tandem-match, особенно если его сделать не на двух кольцах, как обычно делают, а на одном бинокле. Он даже проще, и не только не требует настройки, но и в нем можно просто изменив число витков добавить получаемое выходное напряжение. Что очень актуально для слабенького выхода синтезатора и малой разрядности АЦП.
2. Очень мне как-то сомнительно, что мощности выхода AD9850, да еще после ФНЧ (на модуле) и КСВ-метра достаточно, что-бы верить результатам таких "измерений". Уровень сигнала сравним с принимаемым антенной мусором, погрешности получаются слишком велики. Думаю, надо минимум добавить хоть один буферный каскад с низким выходным сопротивлением. К примеру, классическую схему, что обычно ставят на выходах многих синтезаторов и ГПД: один транзистор, ферритовое колечко и несколько резисторов\конденсат оров обвязки.
3. Мост по "методу трех вольтметров" не намного сложнее измерения КСВ. Хоть и придется задействовать еще один АЦП в ардуинке и добавить несколько деталек, но зато получится полноценный векторный анализатор. Смотрите схему SARK-100. С измерением отдельно активного и реактивного сопротивлений (и любимый КСВ по ним-же получается)

UB0CAH
10.09.2015, 11:23
активное волновое сопротивление R=25 Ом, реактивное jX так же равно +25 Ом или -25 Ом. Тогда КСВ метр покажет ту же единицу
Не совсем верно. Модуль полного сопротивления равен SQRT(R2+jX2) и в вашем примере будет равен 35,4 Ом, КСВ в этом случае не будет равен единице.

Buckfast
10.09.2015, 11:24
Допустим, активное волновое сопротивление R=25 Ом, реактивное jX так же равно +25 Ом или -25 Ом. Тогда КСВ метр покажет ту же единицу

Совсем не верно. Отрываем Манну, ставим R=25, J=25 (или -25), получаем КСВ=2, 618

Евгений240
10.09.2015, 11:36
А если R=25, J=43,3 ?

Buckfast
10.09.2015, 11:39
Евгений240, не поленитесь откройте Манну:

КСВ=3.732

R4AAD
10.09.2015, 11:46
Отрываем Манну, ставим R=25, J=25
попробуйте к примеру R=95 и J=-80.777
не в конкретных цифрах проблема, а в том, что КСВ=1 (показываемый прибором), в принципе, не обязательно означает, что J=0 (резонанс) и R=50

Buckfast
10.09.2015, 11:52
R4AAD,

Блин, и вам тоже рекомендую запустить Манну.
КСВ=3.б516
И давайте уже хватит гнать пургу что при раективности ксв может быть 1.:bad:

R4AAD
10.09.2015, 12:00
не поленитесь
Есть MMANA-GAL basic, как в ней задать R+jX нагрузку - знаю, как расчитать СУ - знаю

Отрываем Манну, ставим R=25, J=25
куда "ставим" не понял

R0SBD
10.09.2015, 12:02
попробуйте к примеру R=95 и J=-80.777
не в конкретных цифрах проблема, а в том, что КСВ=1, в принципе, не обязательно означает, что J=0 (резонанс) и R=50
И что, в этом случае будет только прямая волна в нагрузку - 50 ом (активного сопротивления)? Не будет отраженной?...
Что-то тоже в манне не нашел , где ксв вычисляется. Может вы путаете с программой -APAK-EL: http://cqham.ru/komp.html

Buckfast
10.09.2015, 12:14
куда "ставим" не понял
А вот не скажу:-P. Сами подумайте , за одно еще чего полезного узнаете...

Добавлено через 10 минут(ы):

R0SBD,

Открываете Line match 1
Zo ставите 50
ZL ставите чего надо
SWR смотрите ниже

R4AAD
10.09.2015, 12:49
Никто не спорит, что если есть реактивное (т.е. нет резонанса), то и отраженка будет. Понятно, что ничего хорошего. Но нельзя КСВ измерить напрямую, его меряют основываясь на чем-то другом, косвенно. О чем я и писал, называя провалы КСВ "ложными". Речь изначально была о том, что такой КСВ метр, в отличии от векторных анализаторов, не определяют отдельно реактивное и активное. Вот в датчиках разных военных СУ кроме датчика меряющего сопротивление, отдельно датчик фазы используется, что позволяет знать и реактивность и ее знак.

Добавлено через 6 минут(ы):

а ну да, сначала в квадрат, потом складываем. Т.е. знак теряем. Логично. Подзабыл, спасибо, что подправили.

UB0CAH
10.09.2015, 13:31
Более наглядно, наверное, оценить влияние реактивности на КСВ можно в программе RFSimm. Во вложении модель нагрузки из активного сопротивления 45 Ом и катушки 991nH, реактивное сопротивление ее на частоте 3,5 МГц равно 21,8 Ом, значит полное сопротивление нагрузки на этой частоте составит 50 Ом. Запустив симуляцию, увидим параметр S11=0,23, а КСВ=(1+S11)/(1-S11)=1.6. Выполнив свиппирование по разбросу индуктивности от +100% до -100% заметим, что минимум КСВ будет наблюдаться при реактивности равной нулю210777. Извиняюсь за увод от темы, хочется разобраться в вопросе:roll:

Serg
10.09.2015, 13:41
UB0CAH, ну слава богу, разобрались, вот еще готовая таблица для перевода S11 в ксв: http://ra6foo.narod.ru/RFSimm99/S11SWR.gif

Explorer
10.09.2015, 19:28
VSergio,

Вы давали ссылку на французский проект, но она исчезла! Если не затруднит, повторите пожалуйста.
Зайдите вот сюда https://hamprojects.wordpres s.com/20...f-arduino-vna/ (https://hamprojects.wordpres s.com/2015/06/21/hf-arduino-vna/)

vfc
10.09.2015, 19:38
Как я думаю, спорить по поводу КСВ здесь бесполезно т.к. многие радиолюбители не любят читать книги по электродинамике. И это можно понять, потому что это не самое увлекательное чтиво...
Чтобы попытаться обойти эту трудность, я приведу несколько результатов моделирования длинной линии, нагрузочного сопротивления и простейшего мостового измерителя КСВ. Кто захочет, может посмотрит. Может кому-то эти результаты помогут что-то понять.
В расчетах применена линия длиной около 20 метров (задержка 100нс при скорости распространения волны 2*10+8 м/с), сообщаю для полноты сведений, хотя длина линии, в данном случае, и не важна.
На графиках зеленым цветом показано напряжение пропорциональное амплитуде падающей волны, желтым цветом - амплитуде отраженной волны, голубым - расчетное значение КСВ.
Графики напряжений становятся горизонтальными после 350-400 мкс. До этого времени графики отображают переходные процессы от включения напряжения генератора в цепях фильтров С1R5C2R7 и C3R6C4R8.
На Рисунке 1. линия нагружена на сопротивление 50 Ом, равное ее волновому сопротивлению. КСВ равен единице. Это видно на графике на рисунке 2.

210794
210795

На рисунке 3. линия нагружена на сопротивление 150 Ом. КСВ около трех, как видно из рисунка 4. Этот расчет сделан для подтверждения, что моделирование работает, КСВ изменяется ожидаемым образом.

210796
210797



На рисунке 5 нагрузка линии комплексная с активным и емкостным сопротивлением. Причем, номиналы сопротивлений выбраны так, чтобы модуль комплексного сопротивления был равен 50 омам. Несмотря на это, КСВ на рисунке 6 равен примерно 1,9, а не единице, как утверждают некоторые собеседники...

210798
210799

Аналогичная картина видна и на рисунках 7 и 8. Здесь линия нагружена на комплексное сопротивление, состоящее из активной и индуктивной компонент, причем модуль сопротивления также равен 50 омам. КСВ также примерно 1,9.

210800
210801

Чтобы не смущали два одинаковых предыдущих значения КСВ=1,9, проведен еще один дополнительный расчет (схема - на рисунке 9), где индуктивное сопротивление удвоено. Результаты - на рисунке 10. КСВ равен примерно 3,8.

210802
210803

Таким образом, приведенные расчеты подтверждают, что КСВ на входе длинной линии равен единице тогда и только тогда, когда она нагружена на чисто активное сопротивление, равное волновому.
Хотя иначе и быть не могло...

DL8RCB
10.09.2015, 20:27
я приведу несколько результатов
хотелось бы в тексте сообщить,выложенные тут графики на чем получены? "ключевое слово" моделирование?
спасибо

yl2gl
10.09.2015, 20:35
Интересно, как Вы при помощи КСВ метра выясните, чем вызван повышенный коэффициент КСВ - чисто активным сопротивлением, но отличным от 50 Ом, или наличием реактивного сопротивления со стороны антенны? КСВ в обоих случаях может быть одинаков, например, тот же пресловутый 1.9.

vfc
10.09.2015, 20:52
хотелось бы в тексте сообщить,выложенные тут графики на чем получены?

Такой вопрос "на засыпку"...
Легче всего ответить: "У товарища есть какая-то программа для моделирования электрических схем..." или " Программа на основе Spice..." :smile:

Добавлено через 5 минут(ы):


Интересно, как Вы при помощи КСВ метра выясните, чем вызван повышенный коэффициент КСВ

Если вопрос ко мне, то, строго говоря, НИКАК. Но здесь мы обсуждаем КСВ-метр.
То, что измерители полного сопротивления имеют неоспоримые преимущества перед КСВ-метрами, очевидно.

Serg
10.09.2015, 20:53
yl2gl, а какая в этом разница, надо просто манипулировать антенной до получения 1-1.3, что собственно всю жизнь и делали до появление всяких MFJ, AA или навороченных мостов, которые реактивность умеют показывать.

Безусловно, при наличии нескольких измеренных параметров интересней и лучше, но все-таки и такой панорамный КСВ метр уже ого-го может облегчить настройку, чем крутить туда-сюда трансивер и измерять ксв в 3-5 местах вручную еще бегая при этом в квартиру, если проблемно на крышу вынести аппарат.

DL8RCB
10.09.2015, 22:56
to RZ3TJ

Легче всего ответить

извините, но вопрос я задал Вам, а не товарищу........
вот он:выложенные тут графики на чем получены?
спасибо

km6z
11.09.2015, 01:49
2 vfc
В схеме все правильно? Каким образом считаете SWR? Токи, напряжения,фазы и т.д.
Что скажите о уравнение (6), #31.
73, удачи!

vfc
11.09.2015, 08:33
Я для моделирования никакой новой семотехники не "изобретал", а взял известный мостовой измеритель КСВ.
На подобные измерители полно ссылок в сети. Например:
http://www.rigexpert.com/index?f=panoramicswr meter&l=ru&s=articles
http://radionavigator.ucoz. ru/publ/1-1-0-8
http://us3iat.qrz.ru/shems/anten/izmer_kw/izmer_kw.htm
http://forum.cxem.net/index.php?showtopic= 79676
и т.д.
При желании Вы найдете намного больше.
Формула для расчета:


КСВ = (Uпад. + Uотр.)/(Uпад. - Uотр.)

также общеизвестна и есть в указанных источниках.
Да и суть вопроса не в измерителе. Он взят мной для иллюстрации. Можно было использовать при моделировании другой.
Суть в том, что КСВ равный единице свидетельствует об отсутствии в сопротивлении нагрузки реактивной компоненты и,
одновременно, о равенстве сопротивления нагрузки волновому сопротивлению линии.
О формуле (6) в #13 могу сказать, что это коэффициент отражения волны в линии с волновым сопротивлением Z0,
нагруженной на сопротивление Z1. Еще могу сказать, посмотрев в литературу, что формула правильная.

DL8RCB
11.09.2015, 09:15
взял известный мостовой измеритель КСВ.
за ссылки спасибо,только Вы так и не захотели "услышать" мой вопрос

vfc
11.09.2015, 09:28
Вы так и не захотели "услышать" мой вопрос

Я не знаю как in Deutsсhland, а у нас закон о защите авторских прав распространяется и на использование программных продуктов...
Могу сказать, что программа моделирования есть на этом сайте.

R0SBD
11.09.2015, 09:35
Delet.

DL8RCB
11.09.2015, 11:55
а у нас закон о защите авторских прав
вот только не надо ерничать

что программа моделирования есть на этом сайте.
мне она не нужна,достаточно было в вашем посте #49 об этом сказать.(или назвать)

EU1ABR
11.09.2015, 14:35
Что то не могу понять, от сименса S65 и тому подобных жки пойдёт? Если пойдёт, то буду паять, как раз всё для этого есть, приборчик простой и нужный, а вы тут оффтоп подняли

RA4FHE
12.09.2015, 18:01
Что то не могу понять, от сименса S65 и тому подобных жки пойдёт?
От "Семёнов" не пойдёт.

Видос прицепил на всякий пожарный :smile:


http://www.youtube.com/watch?v=DvU33ipfZ_w

Serg
12.09.2015, 18:32
Жаль, что такая инерционность вывода инфо, на ходу не подстроишь что-нибудь, например КПЕ в гамма-согласовании...

RA4FHE
12.09.2015, 18:42
Жаль, что такая инерционность вывода инфо, на ходу не подстроишь что-нибудь, например КПЕ в гамма-согласовании...
Дисплей работает по SPI тут уж не прыгнешь :smile:

Serg
12.09.2015, 18:55
Значит надо делать софтовый вывод в комп, но это уже получится почти NWT7...
Хотя, может медлительность связана с не совсем оптимальным написанием кода или излишним числом точек отсчетов? На других SPI экранах, к примеру, с-метры в SW2013 бегают довольно резво.

gudzon-m
12.09.2015, 22:34
Значит надо делать софтовый вывод в комп

Дык есть же.

R2DHG
12.09.2015, 23:19
В ардуинах свет клином на авр не сошелся, есть по большей части совместимые среды программирования под платы на stm32 или более экзотические модули esp8266 (с ним девайс можно сразу беспроводным сделать) - они в разы шустрее авр, который и на монохромный то 128x64 не сказать что быстро выводит и есть в таких же компактных вариантах, как -micro / -nano (стоит приблизительно столько же, esp так и поменьше, но для него usb-com шнурок отдельный нужен будет). Доработка кода будет незначительная.

stm32 https://github.com/rogerclarkmelbourne/Arduino_STM32
esp8266 http://esp8266.ru/category/esp8266/esp8266-%D0%B8-arduino-ide/

плясок с бубном нужно несколько побольше, чем с avr


(https://github.com/rogerclarkmelbourne/Arduino_STM32)

DL8RCB
13.09.2015, 06:47
прицепил на всякий пожарный
для такой "игрушки" вполне соответствующая видео-монитор-картинка,
ps
если бы, еще и камеру при сьемке фиксировать?.
а видео сделать с показом тестируемой антенны,"панаромируя" самой камерой

R4AAD
28.09.2015, 10:00
Дисплей работает по SPI тут уж не прыгнешь
Судя по схеме подключения, SPI используется не аппаратный, а софтовый.
Для аппаратного SPI в Nano надо использовать другие цифровые входо\выходы: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK)
А софтовый ведь заметно больше тормозит. Очень заметно. Настолько заметно, что сами авторы графических библиотек (которые у них, в принципе, могут работать и так и этак) честно пишут: "Using software SPI is really not suggested, its incredibly slow"
Кроме того, использование вместо удобных универсальных функций - узкоспециализированн ой ("заточенной" только для быстрого заполнение такого графика) тоже позволяет ускорить работу. К примеру, я сейчас АЧХ-метр на базе подобных модулей доделываю, так заполнение видеопамяти экрана "вручную" позволило прилично ускорить вывод графика. А всякие менюшки и прочее, не требующее высокой скорости, отображаю как обычно.

RA9CHT
28.09.2015, 15:47
Заинтересовал проект. Побегал по ссылкам - не увидел полную схему подключения с дисплеем.
не понятно как происходит управление ( кнопки)
С Ардуино не работал, хочется попробовать (заказал Уно и Нано), может кто даст полную схему?

UA4WSA
28.09.2015, 16:17
Поддержу, интересуют подробности проекта, особенности программирования

RA4FHE
28.09.2015, 21:35
К примеру, я сейчас АЧХ-метр на базе подобных модулей доделываю, так заполнение видеопамяти экрана "вручную" позволило прилично ускорить вывод графика.
Любопытно будет ознакомится с Вашими наработками :пиво:



С Ардуино не работал, хочется попробовать (заказал Уно и Нано), может кто даст полную схему?

Ну тут всё просто:

Дисплей:
SCLK 10
DATA 11
CD 6
CS 5
RESET 4

DDS Модуль:
FQ_UD 9
SDAT 11
SCLK 10
RESET 12

Кнопки подключаем на D2 и D3 относительно массы.

R2PM
28.09.2015, 21:55
Ну тут всё просто:

Дисплей:
SCLK 10
DATA 11
CD 6
CS 5
RESET 4

DDS Модуль:
FQ_UD 9
SDAT 11
SCLK 10
RESET 12

Кнопки подключаем на D2 и D3 относительно массы.

Доброе время суток!!!
Вы знаете это не всем просто. Мне кажется надо по подробней объяснить, что за ноги и для чего и куда видно по схеме. Без обид, просто у всех разный уровень подготовки и знаний, а хотят это попробовать очень многие.
С уважением Виктор R2PM

RA4FHE
28.09.2015, 22:20
rd3pq, Обычно все выводы промаркированны на плате. Например сигнал RESET дисплея подключаем на 4й вывод ардуины а сигнал CS на 5й вывод и так далее...

212188

212189

R4AAD
30.09.2015, 10:42
Uno не знаю, может SPI отличаться, смотреть инфу надо, нередки различия.
А на Nano, SPI должны быть на тех-же ножках как на ProMini, что я обычно везде использую.
Возможности ножек:
212287

R4AAD
30.09.2015, 12:41
тут всё просто
думаю, ради аппаратного SPI очень стоит выводы "перетасовать" (ножки 10,11,12,13 использовать для экрана) и разобраться где поправить соответственно в исходниках. Запускал как-то раз один и тот-же тестовый пример из графической библиотеки с аппаратным SPI и с софтовым - разница не просто есть, а очень даже внушает.

Любопытно будет ознакомится
доведу немного до ума, могу выслать исходники.
Вкрадце о текущем состоянии: модуль Arduino, модуль DDS, валкодер (недавно еще были кнопки, но убрал т.к. одной ручкой показалось удобнее... хм, теперь думаю чем дырки от кнопок заткнуть :) ), логарифмический детектор на AD8307 (пора китайцам и такой модуль выпускать :) ) детектор обязательно экранировать. Модуль дисплейчика сейчас чернобелый Nokia5110 совместимый. Есть в наличии цветной, как в этом проекте, попробовал его... хм, наверное зря т.к. очень понравился. Настолько, что приходится теперь чесать затылок - "менять или не менять?" на стадии когда почти все готово...
Вкрадце о недоделаном: даже грубо не калибровал шкалу по уровню сигнала - показывает "попугаи" т.к. не решил окончательно "применить отдельный опорник для АЦП или оставить как есть?"; не могу найти гайку закрепить валкодер :) ; не закрепил нормально в корпусе ардуинку и синтезатор; сейчас "играюсь" с усилителем мощности на одном транзисторе на выходе синтезатора - получил на 50 омах больше полватта, но греется эта сволочь и жрет батарейки пачками... теперь чешу затылок "а надо-ли оно тут?" но все-равно собираюсь поиграться еще и с АРУ для стабильности уровня выходного сигнала, заодно аппетит убавлю... Хм, или доделать в простейшем виде, а все остальные "прибабахи" потом, в другой конструкции? :crazy: Вот в панорамном SWR или другом антенном анализаторе, думаю, имеет смысл повысить выходной сигнал.

Добавлено через 17 минут(ы):


проект отображается на экране перевернутым на 90гр. и отображается половина информации.
у ili9341 можно задать режим поворота
в библиотеке Ucglib, используемой в обсуждаемом проекте, это функции undoRotate(); setRotate90(); setRotate180(); setRotate270();
в исходнике проекта есть строка с заданным setRotate90(); нужно исправить на какой надо.

Добавлено через 22 минут(ы):


Есть идея прикрутить умножитель
ничего хорошего не выйдет. Разве только если применить на выходе контур на какую-то определенную частоту и около нее мерять...
Можно применить смеситель и взять сигнал с имеющегося на модуле DDS кварцевого генератора на 125МГц. 125+19=144 получится. Но, все-равно, наличие 125-19=106МГц с таким-же уровнем - будет мешать мерить достоверно. Только как-то фильтровать...
Как вариант, т.к. трудно сделать очень широкий и равномерный полосовой на 144, то можно ФВЧ на частоту примерно 130МГц, он и остатки от пролезания 125 уберет. Пару звеньев минимум imho надо.

gudzon-m
13.10.2015, 18:49
Здравствуйте коллеги. Вот выдала среда ошибку:



Arduino: 1.6.1 (Windows 7), Плата"Arduino Nano, ATmega328"

DDS_sweeper1_TFT_ST7 735_128x160.ino:50:1 : error: 'Ucglib_ST7735_18x12 8x160_SWSPI' does not name a type

DDS_sweeper1_TFT_ST7 735_128x160.ino: In function 'void setup()':

DDS_sweeper1_TFT_ST7 735_128x160.ino:57:3 : error: 'ucg' was not declared in this scope

DDS_sweeper1_TFT_ST7 735_128x160.ino:57:1 3: error: 'UCG_FONT_MODE_SOLID ' was not declared in this scope

DDS_sweeper1_TFT_ST7 735_128x160.ino: In function 'void Perform_sweep()':

DDS_sweeper1_TFT_ST7 735_128x160.ino:197: 3: error: 'ucg' was not declared in this scope

DDS_sweeper1_TFT_ST7 735_128x160.ino: In function 'void CreateGrid()':

DDS_sweeper1_TFT_ST7 735_128x160.ino:318: 3: error: 'ucg' was not declared in this scope

Ошибка компиляции.

Это сообщение будет содержать больше информации чем
"Отображать вывод во время компиляции"
включено в Файл > Настройки

подскажите пожалуйста, в чем дело?

RA4FHE
13.10.2015, 19:56
gudzon-m, http://infotex58.ru/forum/index.php?topic=971. msg7308#msg7308

gudzon-m
13.10.2015, 20:38
gudzon-m, http://infotex58.ru/forum/index.php?...sg7308# msg7308

Спасибо, у меня была старая библиотека, скачал новую. Сейчас ругается на шрифты:


Arduino: 1.6.1 (Windows 7), Плата"Arduino Nano, ATmega328"

DDS_sweeper1_TFT_ST7 735_128x160.ino: In function 'void setup()':

DDS_sweeper1_TFT_ST7 735_128x160.ino:61:1 5: error: 'ucg_font_9x15' was not declared in this scope

DDS_sweeper1_TFT_ST7 735_128x160.ino: In function 'void CreateGrid()':

DDS_sweeper1_TFT_ST7 735_128x160.ino:318: 15: error: 'ucg_font_5x8' was not declared in this scope

Ошибка компиляции.

Это сообщение будет содержать больше информации чем
"Отображать вывод во время компиляции"
включено в Файл > Настройки


Подскажите пожалуйста, где брать шрифты и куда их класть.
И что это за ошибка In function 'void CreateGrid()':

Спасибо.

RA4FHE
13.10.2015, 20:52
Я компилировал с этой либой. Проблем не было.

213743

gudzon-m
13.10.2015, 21:52
с этой либой

С вашей библиотекой все заработало, спасибо.

213749

Заметил мерцание дисплея, так и должно быть?
И еще одна хотелка, при сканировании добавить бы простенький прогресс бар, можно ли такое осуществить?

Добавлено через 11 минут(ы):

Или просто надпись "SCAN"

RA4FHE
13.10.2015, 22:59
gudzon-m, Пробуйте ;-) Цвет и положение надписи найдёте тут



ucg.setFont(ucg_font _courB14);
ucg.setColor(255, 0, 100);
ucg.setPrintPos(50,6 0);
ucg.print("Scan...");

213753

gudzon-m
13.10.2015, 23:48
RA4FHE, Большое спасибо. Уже играюсь :crazy:

RA4FHE
13.10.2015, 23:59
Заметил мерцание дисплея, так и должно быть?
У меня такого глюка не было :smile:

gudzon-m
14.10.2015, 00:06
У меня такого глюка не было

Ну тут может я слишком глазастый. В общем мерцание как от старого ЭЛТ монитора. Если двигать головой или прибором, очень отчетливо видно.

R2DHG
14.10.2015, 00:38
У меня платка вроде более менее промышленная от терраэлектроники - так там тоже дисплей как то помаргивает и немного как бы "снежок" иногда виден, может придираемся ? Хотя oled и ч/б lcd у меня никак не мерцают.

gudzon-m
14.10.2015, 00:43
может придираемся ?

Может и придираемся :crazy:

Коллеги, подскажите вот что: У моего модуля синтезатора четыре выхода: ZOUT1, ZOUT2, QOUT1, QOUT2. Какой подключать то?
Спасибо.

RA4FHE
14.10.2015, 01:17
gudzon-m, На 9й вывод модуля ZOUT1
http://static1.squarespace. com/static/54db885de4b0da00562b 30c7/t/5529f736e4b026cc27b7 7047/1428813622244/DDS_AD9850.pdf

gudzon-m
14.10.2015, 14:42
Добрый день!
Коллеги, у меня ступор, когда хочу переназначить кнопки с 2 и 3 ноги ардуины.
Нашел первый кусок кода который отвечает за кнопки, и переделал его вот так:
//Tasten Interrupt an PIN 11
pinMode(11,OUTPUT);
digitalWrite(11, HIGH);
attachInterrupt(0, key11, FALLING);
unsigned long milliold = millis();

//Tasten Interrupt an PIN 12
pinMode(12,OUTPUT);
digitalWrite(12, HIGH);
attachInterrupt(1, key12, FALLING);
//milliold = millis();

И второй кусок кода:


// Interrupt Service Routine
// Abfrage Low an Pin 11
void key11()
{
//ignoriere Startup Interrupts > counter
counter = counter + 1;

//Entprellen mit millis()
millinew = millis();

if (millinew - milliold < 1000)
{
milliold = millinew;
return;
}

milliold = millinew;

Fstart_MHz = 1; // Start Frequency for sweep
Fstop_MHz = 30; // Stop Frequency for sweep
num_steps = 102; // Steps
Freq1 = 1; // Unterste Zeile Display Freq. Links
Freq2 = 15; // Unterste Zeile Display Freq. Mitte
Freq3 = 30; // Unterste Zeile Display Freq. Recht

//Perform_sweep();
flag = 1;

}

// Interrupt Service Routine
// Abfrage Low an Pin 12
void key12()
{
//ignoriere Startup Interrupts > counter
counter = counter + 1;

//Entprellen mit millis()
millinew = millis();

if (millinew - milliold < 1000)
{
milliold = millinew;
return;
}

milliold = millinew;

int x = SwrFreq + 0.5; //Runde auf Mhz

Fstart_MHz = x-1; // Start Frequency for sweep
Fstop_MHz = x+1; // Stop Frequency for sweep
num_steps = 102; // Steps

Freq1 = x-1; // Unterste Zeile Display Freq. Links
Freq2 = x; // Unterste Zeile Display Freq. Mitte
Freq3 = x+1; // Unterste Zeile Display Freq. Rechts

//Perform_sweep();
flag = 1;

}



Предварительно эти выводы были освобождены как от дисплея так и от DDS. Но не работает....
Подскажите пожалуйста, что я упустил?

UT0UM
14.10.2015, 14:51
Добрый день!
Коллеги, у меня ступор, когда хочу переназначить кнопки с 2 и 3 ноги ардуины...
... что я упустил?

читаем букварь (http://arduino.ru/Reference/AttachInterrupt)

gudzon-m
21.10.2015, 20:07
Дорогие друзья! Собрал и я такой приборчик:

214625

Так как питание автономное, напрашивается индикатор батареи питания. После гугления нашел вот эту статью: http://tim4dev.com/arduino-secret-true-voltmeter/

Если кратко, то здесь используется сравнение с внутренним опорным напряжением 1.1 вольта. Программировать я не умею вообще, поэтому за три часа я вот таким образом скорректировал скетч под наше железо:

#include <SPI.h>
#include "Ucglib.h"
Ucglib_ST7735_18x128 x160_SWSPI ucg(/*sclk=*/ 12, /*data=*/ 11, /*cd=*/ 10 , /*cs=*/ 8, /*reset=*/ 9);
// резисторы делителя напряжения
const float r1 = 99700; // 100K
const float r2 = 9870; // 10K

// эту константу (typVbg) необходимо откалибровать индивидуально
const float typVbg = 1.179; // 1.0 -- 1.2

float Vcc = 0.0;
float MaxVoltage = 0.0;

#define A_PIN 2
#define COUNT 5

int i;
float curVoltage;
char *stime;

void setup(){
analogReference(DEFA ULT); // DEFAULT INTERNAL использовать Vcc как AREF
delay(100);
Vcc = readVcc();
MaxVoltage = Vcc / (r2 / (r1 + r2));
analogWrite(A_PIN, 0);;

ucg.begin(UCG_FONT_M ODE_SOLID);
ucg.clearScreen();

ucg.setRotate90();
ucg.setFont(ucg_font _9x15);
ucg.setColor(255, 255, 255);
ucg.setPrintPos(10,2 0);
ucg.print("DC VOLTMETER");
}
void loop(){
Vcc = readVcc();
// считываем точное напряжение с A0, где будет находиться наш вольтметр с делителем напряжения
curVoltage = 0.0;
for (i = 0; i < COUNT; i++) {
curVoltage = curVoltage + analogRead(A_PIN);
delay(10);
}
curVoltage = curVoltage / COUNT;
float v = (curVoltage * Vcc) / 1024.0 / 10;
float v2 = v / (r2 / (r1 + r2));
{
ucg.setPrintPos(28,1 00);
ucg.print("Bat V = ");
ucg.print(v2);
ucg.print(" ");
}

}

/******************** ******************** ******************** ****************
* Функции
******************** ******************** ******************** ****************/

float readVcc() {
byte i;
float result = 0.0;
float tmp = 0.0;

for (i = 0; i < 5; i++) {
// Read 1.1V reference against AVcc
// set the reference to Vcc and the measurement to the internal 1.1V reference
#if defined(__AVR_ATmega 32U4__) || defined(__AVR_ATmega 1280__) || defined(__AVR_ATmega 2560__)
ADMUX = _BV(REFS0) | _BV(MUX4) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1);
#elif defined (__AVR_ATtiny24__) || defined(__AVR_ATtiny 44__) || defined(__AVR_ATtiny 84__)
ADMUX = _BV(MUX5) | _BV(MUX0);
#elif defined (__AVR_ATtiny25__) || defined(__AVR_ATtiny 45__) || defined(__AVR_ATtiny 85__)
ADMUX = _BV(MUX3) | _BV(MUX2);
#else
// works on an Arduino 168 or 328
ADMUX = _BV(REFS0) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1);
#endif

delay(3); // Wait for Vref to settle
ADCSRA |= _BV(ADSC); // Start conversion
while (bit_is_set(ADCSRA,A DSC)); // measuring

uint8_t low = ADCL; // must read ADCL first - it then locks ADCH
uint8_t high = ADCH; // unlocks both

tmp = (high<<8) | low;
tmp = (typVbg * 1023.0) / tmp;
result = result + tmp;
delay(5);
}

result = result / 5;
return result;
}

На мое удивление все хорошо заработало. Тогда было принято решение внедрить этот код в код нашего анализатора. Вот что у меня вышло:

214626

Краткое описание того что вышло:
При включении, на заставке, в самой нижней строчке появляется надпись со значением напряжения питания, тоже самое при экране "Scan..." И еще добавил надписью с версией прошивки, но это так, баловство.

214627 214628

Конечно понимаю, что вышло у меня не очень хорошо, поэтому попрошу местных гуру помочь в оптимизации. А, может, есть другой, более изящный, вариант?
Спасибо.

Добавлено через 36 минут(ы):

И появилась проблема. Теперь все время кажет, что SWR=1.05 но график рисует примерно правильно. Подскажите пожалуйста, где я накосячил?

RA4FHE
21.10.2015, 20:24
gudzon-m, Тут посмотрите http://arrduinolab.blogspot .ru/2014/07/arduino.html Всё доходчиво и понятно ;-)

gudzon-m
21.10.2015, 22:11
RA4FHE, Попробовал ваше предложение, не работает. Пишет "V inf" и все тут...

RA4FHE
21.10.2015, 23:34
gudzon-m, Код в примере рабочий ;-)
Так как вывод инфы нужно сделать только при включении прибора, добавляем:

В void setup()

analogReference(INTE RNAL);
float Vbat = (analogRead(A5) * 1.1) / 1023.0;
float Vin = Vbat / (89.8 / (783.0 + 89.8)); // R2/(R1+R2)

и печать на дисплей

ucg.setPrintPos(5,12 8);
ucg.print("VBat=");
ucg.setPrintPos(50,1 28);
ucg.print(Vin);

Контроль "напруги" по A5

RA4FHE
22.10.2015, 00:06
gudzon-m, :shock: Ловите код...

214641

Losь
08.11.2015, 07:56
Подскажите, что за диоды АА112 используются в схеме. Чем их можно заменить?

НикНик
03.12.2015, 14:01
RA4FHE, собрал прибор. С компьютером, через VNA работает отлично. С дисплеем полный затык.
Дисплей ILI9341, подключил как на www.kh-gps.de. Была ругань на шрифт-ncenR14... Исправил. Загрузка
проходит, а экран белый. С VNA при этом работает, но медленнее.
Программирование пытаюсь вспоминать, но кажется дисплей не так подключил...

RA9CHT
03.12.2015, 14:34
Я тоже собрал - работает, но медленно обновляется экран (ILI9341). В общем показания совпадают с фабричным АА.


Дисплей ILI9341 Может у дисплея 3,5 в управляющие напр. Попробовать поставить делитель. У меня так.

НикНик
03.12.2015, 14:46
RA9CHT, Добрый день. Так у меня стоят делители (10К\4.7К) на SCK, MOSI, D/C.

RA9CHT
03.12.2015, 15:04
Так у меня стоят делители (10К\4.7К) на SCK, MOSI, D/C.

Что то ни так.

SCK, MOSI, D/C. , а остальные?