Odpowiedz 
 
Ocena wątku:
  • 0 Głosów - 0 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
Robię sobie ATU
SP6FRE Offline
Leszek
****

Liczba postów: 725
Dołączył: 20-09-2009
Post: #11
RE: Robię sobie ATU
Witam!

Oprogramowanie dojrzało do prezentacji i pierwszej publikacji.
Na razie program ma ok. 14k pamięci i w zasadzie zmieścił by się w Mega168 ale cena układów niewiele się różni więc przedstawiam kompilację dla procesora Mega328P.

İmage


.hex  ant_tun011.hex (Rozmiar: 38.8 KB / Pobrań: 291)

Przed zaprogramowaniem należy ustawić bity fuse jak na pokazanym zestawieniu z Bascom-a. Inne kompilatory będą pewnie mieć nieco inne oznaczenia poszczególnych bitów ale najważniejsze aby zegar był wewnętrzny 8MHz bez podziału a także aby zachowywać pamięć EEprom podczas kasowania chip-a

İmage

Tuż po włączeniu, przez ok. 2 sek. pojawia się ekran pozwalający na wybór jednego z trybów konfiguracyjnych:
"Def" - wpisanie ustawień domyślnych -> opóźnienie przekaźnika 25ms, wszystkie pamięci ustawione na zerowe wartości L i C, współczynniki dla P=aU^2+bU+c jako a=0.0003, b=0.0273, c=0.0744
"Set" - wejście do ustawień parametrów dobieranych
"Mnt" - włączenie pomiaru napięcia z detektorów fali padającej (F) i odbitej (B) w celu uzyskania charakterystyki detekcji mocy.

İmage

Oczywiście, podczas zdejmowania charakterystyki detekcji układ powinien mieć założone obciążenie dopasowane 50 (51) omów a sygnał z generatora testowego powinien być możliwie czysty (bez harmonicznych). Należy wykonać możliwie gęste pomiary w interesującym zakresie mocy a następnie użyć np. pokazanej wcześniej procedury regresji dla doboru współczynników formuły do obliczania mocy.

İmage

İmage İmage İmage

Współczynniki te wprowadza się za pomocą procedury "Set" , w której na razie można zmieniać 4 parametry: czas opóźnienia przekaźnika (stabilizacja styków) oraz trzy parametry wzoru na regresję mocy.

İmage

Podstawowy ekran miernika pozwala, licząc od lewej do prawej na:
Aut - automatyczne strojenie i dobór ustawień
Sv - zachowanie bieżącego ustawienia w jednej z 10 pamięci
Mn - strojenie manualne
Re - przywrócenie jednego z 10 zapamiętanych ustawień
Msm - tryb pomiaru bieżącego

İmage İmage

Zapamiętanie i przywrócenie ustawień z pamięci jest podobne jeśli chodzi o interface. Niestety, należy pamiętać które z 10 ustawień jest właściwe dla danego pasma i/lub anteny. Ustawienie pod numerem 1 jest automatycznie ładowane podczas włączenia zasilania więc można tu zapamiętać najczęściej używaną konfigurację lub zachować konfigurację z zerowymi wartościami L i C (obejście).

İmage İmage İmage

Strojenie ręczne pozwala na zmianę zarówno L jak i C ale również zmianę topologii dopasowania układu z LC (w górę) na CL (w dół) z jednoczesną kontrolą dopasowania (pomiar SWR),

İmage

Tryb pomiaru bieżącego pozwala na śledzenie zarówno ustalonego dopasowania jak i mocy w obciążeniu. Ten tryb jest również ostatnim elementem procedury dopasowania automatycznego, które po znalezieniu najlepszego ustawienia przez ok. 3 sek wyświetla wartości L i C a także topologię LC/CL tego dopasowania po czym przechodzi do trybu pomiaru.
Niezależnie od tego, możliwe jest przejście do trybu ręcznego gdzie ustawienia L, C oraz topologii LC/CL są w każdej chwili do odczytania.

L.J.
20-08-2021 13:36
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SQ2EER Offline
Jacek sk
***

Liczba postów: 182
Dołączył: 17-06-2009
Post: #12
RE: Robię sobie ATU
Leszek - gratulacje.
pozdrawiam Jacek.
20-08-2021 17:05
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SP6FRE Offline
Leszek
****

Liczba postów: 725
Dołączył: 20-09-2009
Post: #13
RE: Robię sobie ATU
Witam!

Dziękuję za miłe słowa choć chyba jeszcze nie zasłużone :-(
Właśnie odkryłem błąd w zaprezentowanym oprogramowaniu, podczas korekty ręcznej L i C nie odświeżał się pomiar SWR przez co nie wiadomo było czy zmiana poprawia czy pogarsza stan dopasowania.


.hex  ant_tun011.hex (Rozmiar: 39.07 KB / Pobrań: 275)

Problem testowania zrobionego już oprogramowania jest niemal tak ważny jak samo oprogramowanie (jego funkcjonalność).
Wczoraj poprawiałem właśnie sterowanie ręczne, formatowałem wyniki dla wartości L i C i zmieniłem sposób odczytu SWR przez jego pominięcie przy zmianie L lub C.
Dziś robiąc testy dopasowania do różnych oporności obciążenia wykryłem błąd.

L.J.


Witam!

Pora na najciekawszą cześć tego zadania a mianowicie algorytm wyszukiwania najlepszego dopasowania.

Na początek kilka założeń:
- do dyspozycji jest 8 wartości pojemności: 0, 10, 22, 47, 100, 250, 500 i 1000pF z których można można ułożyć łącznie 2^7 czyli 128 różnych wartości pojemności od 0 do 1929pF a najmniejszy krok to 10pF.
- do dyspozycji jest 8 wartości indukcyjności: 0.16, 0.32, 0.64, 1.25, 2.5, 5.0 i 10uH z których można ułożyć łącznie 2^7 czyli 128 różnych wartości indukcyjności od 0 do 19,87uH a najmniejszy krok to 0.16uH.
- do dyspozycji są dwie konfiguracje Lmatch: LC do dopasowania w górę i CL do dopasowania w dół względem impedancji domyślnej -> 50 (51) omów.
- istnieje minimum SWR dla co najmniej jednej z kombinacji LC lub CL co nie oznacza jednocześnie, że to minimum będzie równe 1 (dla zbyt niskiej lub wysokiej częstotliwości lub zbyt małej lub dużej impedancji obciążenia)

Przewiduję sprawdzenie dwóch metod szukania najlepszego ustawienia, które opiszę poniżej z czego jedną z nich zastosowałem już w oprogramowaniu, jak się wydaje z, wstępnie, dobrym wynikiem.

A teraz kilka słów na temat ograniczeń. W tym wypadku podstawowym ograniczeniem są parametry przekaźników i czas. Zakłada się, że stabilizacja styków wymaga czasu ok. 20ms od momentu zadziałania przekaźnika. Użyte tu przekaźniki mają te czasy nieco lepsze ale do obliczeń założę właśnie 20ms.
Ilość możliwych ustawień LC lub CL dla 128 wartości C i L to 128*128=16384 kombinacji.
Najprostszą metodą sprawdzenia najlepszego ustawienia skrzynki byłoby przejrzenie wszystkich pomiarów i wybór tego, który jest najlepszy co wymaga ustawienia wszystkich możliwych kombinacji dla topologii LC i CL (nie znamy charakteru obciążenia) a czas jaki to zajmie wyniósłby co najmniej : 2*16384*20ms=655320ms czyli 655.36 sek (prawie 11 minut!).
Sprawdzenie wszystkich kombinacji i wybór najlepszej należy do grupy metod "brutal force". Przy zdefiniowanej i skończonej liczbie pomiarów wynik jest pewny (najlepszy ze wszystkich możliwych) ale czas potrzebny do jego realizacji dyskryminuje go w zastosowaniach praktycznych.

Dlatego jako pierwszą metodę jaką wprowadziłem do algorytmu jest metoda uproszczonego brutal force (Simplified Brutal Force - SBF -> moja inwencja nazewnicza). Algorytm SBF zakłada na początek sprawdzenie SWR dla wybranych wartości L i C oraz C i L a te wybrane wartości to właśnie wymienione na początku pojemności i indukcyjności użyte do montażu skrzynki.

İmage

Schematycznie można pokazać siatkę wartości L i C na płaszczyźnie jako 8*8 = 64 punkty. Dla takiej siatki zaznaczyłem wartości pojemności i indukcyjności podstawowych oraz przypisane im w programie wartości portów sterujących binarnie i w nawiasach dziesiętnie. Czerwony punkt to hipotetycznie miejsce najlepszego dopasowania.
Zakładając, że należy wykonać pomiary dla topologi LC jak i CL wymagane jest wykonanie 2*64=128 pomiarów w czasie 128*20ms=2560ms a więc nieco ponad 2.5 sek.
Po takim teście uzyskuje się dwie informacje: która z topologii LC czy CL ma zastosowanie oraz pierwsze przybliżenie najlepszego SWR (dla podstawowych wartości z szeregu L i C). Kolejne wyszukiwana będą odbywać się dla tak ustalonej topologii LC lub CL.

İmage

I właśnie dla ustalonej topologii oraz wstępnie określonych wartości L i C wykonuję drugi krok polegający na dokładniejszym przeszukaniu okolicy tych wartości (zarówno dla mniejszych jak i większych od nich) tak aby zakres przeszukiwań mniej więcej pokrywał się na brzegach z obszarami sąsiednich wartości podstawowych. I tu, w zależności od wybranych wstępnie L i C stosuję dodatkowe uproszczenie, nie przeszukuję wszystkich możliwych wartości ale w zależności od wartości wyjściowych L i C każdą, co drugą, co czwartą lub nawet co 16 wartość w ich otoczeniu. Zakładam przy tym ,że im większa wartość L lub C tym większe powinny być zmiany aby były zauważone przy obliczaniu SWR a poza tym rezonans (na jakim oparte jest dopasowanie LC/CL) zmienia się z pierwiastkiem iloczynu LC a więc zmiana 2 krotna częstotliwości rezonansu wymaga 4 krotnej zmiany L lub C.
Na pokazanym rysunku czerwony punkt to umownie optimum dopasowania a zielone pole to obszar poszukiwań po ustaleniu w kroku pierwszym, że topologia to LC a ustalone wartości wstępne to 47pF i 2.5uH.
W kroku drugim przeszukuję wybrany obszar dla C z krokiem 1 ale dla L już z krokiem 4. Gdyby w rzeczywistości minimum SWR było w miejscu oznaczonym czerwonym punktem wtedy zapewne algorytm znalazłby minimum dla 69pF i 3.62uH.
Drugi krok wymaga wykonania 7*5=35 pomiarów w czasie ok. 700ms a więc łączny czas przeznaczony na przekaźniki to dla tego przypadku ok. 3.25s, Biorąc pod uwagę także czas obliczeń procesora, to łączny czas działania skrzynki można określić na ok. 4 sek a samo dopasowanie wydaje się być zadowalające. W najgorszym przypadku algorytm potrzebuje niewiele więcej czasu na najdłuższe wyszukiwanie najlepszego ustawienia. Teoretycznie można zastosować kolejny krok zawężając obszar poszukiwań i używając najmniejszych możliwych zmian ale na razie nie wydaje mi się to konieczne.

Zastosowana topologia sprzętowa ułatwia programowanie. Zarówno pojemności jak i indukcyjności sterowane są z własnego, oddzielnego portu procesora w taki sposób, że najmniejszej wartości L i C przypisany jest bit 0 portu a największej bit 6. W ten sposób operacja shift rejestru portu w najtańszy (w sensie czasu) sposób umożliwia przegląd podstawowych wartości L i C a przeszukiwanie w drugim kroku prawdopodobnego obszaru minimum SWR można wykonać zakładając zmianę wartości dla odpowiedniego portu w zakresie od pewnej wartości minimalnej do pewnej wartości maksymalnej w sposób ciągły co bardzo łatwo realizuje operacja "for" z zadanym krokiem.

Tak więc algorytm nie jest specjalnie inteligentny (dlatego brutal force) ale jest na tyle uproszczony, że skutecznie redukuje ilość pomiarów do akceptowalnej wartości (dlatego uproszczony).

L.J.



Witam!

Drugi z proponowanych algorytmów wyszukiwania najlepszego ustawienia skrzynki nazwałem na potrzeby tego opisu jako uproszczona metoda gradientu (SGM).
Ale i w tym przypadku procedura szukania ustawienia zaczyna jak w poprzedniej metodzie od identyfikacji topologi (LC lub CL) oraz wyszukania najlepszego ustawienia dla podstawowych wartości L i C przez przeszukanie 2*64 ustawień jak w metodzie SBF.

İmage

W przeciwieństwie jednak do algorytmu SBF, tu procedura wykonuje naprzemiennie kroki w naprzemiennych kierunkach (mniejsze lub większe L lub C) tak jak pokazałem na rysunku. Zakładając, że startujemy z pojemnością w punkcie A badam SWR dla wartości w otoczeniu punktu A w górę (punkt B) oraz w dół (punkt C) i w zależności od wyniku pomiaru SWR wybieram punkt B jako lepszą kombinację w następnym kroku procedury. Kolejno robię to samo dla indukcyjności i wybieram lepszą z możliwości. Otwartą kwestią jest jaki powinien być krok przeszukiwania aby wyniki różniły się na tyle aby można było wybrać lepszą z nich.

İmage

Droga do rozwiązania optymalnego mogłaby wyglądać jak na kolejnym rysunku gdzie na czerwono oznaczyłem wybory gorsze a na żółto te prowadzące do lepszego wyniku. Wydaje się, że w tej metodzie można by uzyskać szybsze osiągnięcie rozwiązania optymalnego (mniejsza ilość sprawdzeń) ale do rozstrzygnięcia są następujące problemy:
- skok jednostkowy zmiany L i C - wydaje się, że im większa wartość L lub C tym skok powinien być większy
- zdefiniowanie kryterium zatrzymania procedury. Na razie przychodzi mi do głowy np. osiągnięcie SWR lepszego niż założony akceptowalny próg lub/i maksymalna ilość kroków (pomiarów) bo może się okazać, że w pobliżu minimum SWR wszystkie sąsiednie punkty będą miały identyczne wartości i algorytm będzie się kręcił w kółko.
Zakładam, że funkcja SWR, jako dwuargumentowa (L i C) ma jedno extremum globalne w obszarze zmienności L/C. Szukam rozwiązania analitycznego żeby pokazać tą zależność na jakimś ładnym wykresie ale byc może zrobię co najmniej wykres pomiarów dla obu kroków dla metody SBF.

W zastosowanej już procedurze SBF wynik jest jednoznaczny - najlepszy ze skończonego zbioru wykonanych pomiarów, w procedurze SGM zależy od doboru kroku pomiaru oraz założonego kryterium zakończenia poszukiwań.

A może macie inne propozycje?

L.J.
(Ten post był ostatnio modyfikowany: 24-08-2021 8:39 przez SP6FRE.)
22-08-2021 17:22
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SP6FRE Offline
Leszek
****

Liczba postów: 725
Dołączył: 20-09-2009
Post: #14
RE: Robię sobie ATU
Witam!

Zrobiłem szczegółowe pomiary SWR w trakcie dostrajania do oporności 200 omów na częstotliwości ok. 7.1MHz. Dane zebrałem w tabeli dla obu kroków procedury z tym, że w pierwszej części zmierzyłem dane jedynie dla topologii LC (transformacja w górę) zakładając z góry, że i tak algorytm do dalszego przeszukiwania wybierze topologię LC.

İmage

Tabela zawiera wyniki dla wszystkich kombinacji LC dla wartości podstawowych L i C a kolor tła wyniku związany jest z relacją do wartości SWR =1. Najlepszy wynik ma kolor ciemno zielony, najgorszy ciemno czerwony. W pierwszym kroku algorytm wykrył najlepszy SWR=1.15 dla L=0.64 i C=100pF.

İmage

W kolejnym kroku sprawdzenie zostało zawężone do obszaru 32-79pF (zmiany co 1 w szeregu C) oraz do 1.12-2.37uH (zmiany co 2 w szeregu L). Ostatecznie, jako najlepszy został wybrany wynik dla C=47PF oraz L=1.73uH choć widać, że obszar najlepszego dopasowania jest nieco szerszy. Ale algorytm przyjmuje jako wynik najlepszy - pierwszy o mniejszej wartości, kolejne, równe nie są już brane pod uwagę.
Być może tak szeroki obszar dopasowania wynika po części z faktu, że badanie robiłem dla mocy ok. 2W ze względu na bezpieczeństwo mojego stopnia mocy na 2xIRF510. Musiałem dać spore czasy pomiędzy odczytami danych aby je zapisać (po ok. 4 sek.) podczas których tranzystory nagrzewały się znacznie ze względu na niedopasowanie a dla tych poziomów mocy detekcja, szczególnie dla fali odbitej jest jeszcze dość tępa. Prawdopodobnie, dla większej mocy, zakres najlepszego dopasowania (SWR=1) może być bardziej widoczny i istotnie mniejszy.
W pokazanym przebiegu strojenia wykonanych zostało łącznie 2x64 + 25 pomiarów co daje łącznie 153 pomiary w czasie ok. 3.5 sek.

L.J.

P.s.

Nakręciłem krótki film z próby dopasowania żarówki 100W do stopnia mocy na 2xIRF510. Częstotliwość pracy ok. 7.1MHz, moc na wyjściu stopnia mocy kilkanaście W.

Link do filmu

Początkowo miałem dołączone obciążenie 50 omów i skrzynka ustawiona była na zerowe wartości L i C. Po dołączeniu żarówki 100W widać, że SWR osiągnął wartość prawie 5. Po uruchomieniu automatycznej konfiguracji można ocenić czas szukania i efekt dopasowania wzmacniacza do takiego obciążenia. Podczas poszukiwania optymalnego obciążenia widać jak zmienia się stan włókna żarówki a w końcowej fazie zaczyna ona świecić jaśniej - to efekt działania drugiego kroku algorytmu SBF - czyli zawężenia poszukiwań do obszaru wokół wartości L i C znalezionych w pierwszym kroku.

Pisałem już o tym wcześniej - mam jeszcze kilka płytek tego ATU za 25PLN z przesyłką dla chętnych zmierzyć się 'własnoręcznie' z tematem lub chcących po prostu zrobić moją wersję urządzenia. Oczywiście, programistom podpowiem wszystkie szczegóły techniczne potrzebne do samodzielnego startu z programowaniem własnego algorytmu. Ja używam bascom-a ale nic nie stoi na przeszkodzie aby użyć C (szacun) lub nawet asemblera (karkołomne ale szcun wielki!).

L.J.
(Ten post był ostatnio modyfikowany: 26-08-2021 10:29 przez SP6FRE.)
26-08-2021 10:29
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SQ5KVS Offline
Karol
*****

Liczba postów: 1,005
Dołączył: 26-09-2012
Post: #15
RE: Robię sobie ATU
Ciekawe (nie interesowałem się tematem ale trzeba by było kilka pochodnych cząstkowych policzyć ze wzoru na SWR) jak "głębokie" jest globalne minimum względem jakichś ewentualnych lokalnych. Wtedy takie dopasowanie można by może policzyć szybciej.

Nie rozumiem - nie robię. Chyba że robię żeby zrozumieć.
26-08-2021 11:43
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SP6LUN Offline
Andrzej
****

Liczba postów: 252
Dołączył: 01-09-2014
Post: #16
RE: Robię sobie ATU
Funkcja nie ma lokalnych minimów. Pamiętajmy, że jest dwuargumentowa. Jedyny punkt, dla którego jednocześnie d|SWR|/dL i d|SWR|/dC są zerowe, to środek diagramu Smitha (SWR=1). |SWR| oznacza, że mierzymy moduł SWR.
Prawidłowy algorytm jest więc zawsze zbieżny. Problemem są ograniczone wartości L i C - zakres i liczba.
Każda para wartości L i C dopasowuje jedną wartość impedancji (zespolonej) anteny. Mamy więc 128x128=ok 16000 impedancji, które możemy dopasować. Wszystkie te punkty wraz z pewnym otoczeniem (określonym maksymalnym dopuszczalnym SWR) możemy zaznaczyć na diagramie Smitha.
Punktów niby dużo, ale dla skrajnych częstotliwości (np 80m i 10m) 'uciekają' w jedną stronę diagramu Smitha, a z drugiej robią się rzadkie (raster: 0.16uH to 30 omów dla 28MHz, 1000p to 47 omów dla 3.5MHz).

(Edit) Powinno być:
Punktów niby dużo, ale dla skrajnych częstotliwości 'uciekają' w jedną stronę diagramu Smitha. Z przeciwnej strony robi się pusto (ograniczone wartości L, C) lub rzadko (z powodu rastra - 0.16uH to 30 omów dla 28MHz)

Andrzej
(Ten post był ostatnio modyfikowany: 27-08-2021 10:36 przez SP6LUN.)
27-08-2021 10:35
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SP6FRE Offline
Leszek
****

Liczba postów: 725
Dołączył: 20-09-2009
Post: #17
RE: Robię sobie ATU
Witam!

"Punktów niby dużo, ale dla skrajnych częstotliwości 'uciekają' w jedną stronę diagramu Smitha. Z przeciwnej strony robi się pusto"

i prawdopodobnie również z tego powodu algorytm ślepego przeszukiwania w otoczeniu najlepszych rezultatów wstępnych jest tak skuteczny.

==================================================​
Znalazłem chwilę na krótką analitykę problemu.

İmage

Zgodnie z pokazanym rysunkiem system dopasowania do źródła o częstotliwości F i impedancji R0 wymaga aby obciążenie Zl było równe impedancji R0.
Dla uproszczenia założyłem, że:
- mierzymy na częstotliwości F=7MHz
- impedancja źródła jest czysto rezystancyjna i wynosi 50 omów
- impedancja obciążenie jest czysto rezystancyjna i wynosi 200 omów
- dopasowanie odbywa się "w górę" a więc topologia dopasowania jest typu LC
Tak poczynione założenia upraszczają nieco wzory, które i dla tych założeń są dość skomplikowane ale łatwiej w nich wyłowić jakieś regularności.

Tak więc układ LC ma dopasować do R0=50 omów obciążenie 200 omów na częstotliwości 7MHz. Oczywiście elementy LC muszą być w rezonansie na częstotliwości F=7MHz ale tą zależność spełnia nieskończona ilość par LC a jedynie jedna z nich zapewni dopasowanie (dla przypomnienia Frez=1/2/pi()/sqrt(L*C))

Szukamy więc takiej wartości Zl=R+jX, która będzie równa 50 omów co jest warunkiem najlepszego dopasowania czyli Zl=R+jX=50
Wynika z tego również, że R=50 a X=0

Zl to szeregowe połączenie cewki L i pary równolegle połączonych C||Rl a zatem przy założeniu, że omega=2*pi()*F:
Zl=j*omega*L + (Rl*1/(1/j*omega*C))/(Rl+1/(j*omega*C)) = j*omega*L + Rl/(j*omega*C) * (j*omega*C)/(1+j*Rl*omega*C)
Zl=j*omega*L +Rl/(1+j*omega*Rl*C)
mnożąc licznik i mianownik drugiego członu przez (1-j*omega*Rl*C) otrzymuje się ostatecznie:
Zl=Rl/(1+Rl^2*omega^2*c^2) +j(omega*L -(Rl^2*omega*C)/(1+Rl^2*omega^2*C^2))
a zatem część rzeczywista Zl wynosi R=Rl/(1+Rl^2*omega^2*C^2) i powinna być równa 50 omów (dla dopasowania)
a część urojona to omega*L -(Rl^2*omega*C)/(1+Rl^2*omega^2*C^2) i powinna być równa 0 (dla dopasowania)

Spróbowałem zrobić kilka wykresów 3d zarówno dla Zl jak i dla jego składników R i X w zależności od L i C. Ponieważ idealne dopasowanie obu oporności na częstotliwości 7MHz zapewniają L=1.969uH i C=196.903pF to wykresy koncentrują się wokół wartości nieco większych i mniejszych od podanych

İmage İmage

Na początek wykres modułu impedancji |Zl|-50 na dwóch rysunkach widziany pod różnymi kątami. Jak widać jest to dość złożona funkcja ale przybierająca wartości zarówno większe jak i mniejsze od 50 omów a rozwiązanie dopasowania leży gdzieś na płaszczyźnie leżącej ponad płaszczyzną LC na wysokości 0 (bo |Z|-50)

İmage İmage

İmage İmage

Kolejne rysunki pokazują jak wygląda wykres abs(|Zl|-50) a więc zmieniony tak, że rozwiązanie na pewno leży na płaszczyżnie o wartości impedancji = 0
W kilku rzutach pod różnymi kątami widać złożoność tej funkcji a ostatni najlepiej pokazuje przebieg rozwiązania dla |Zl|=0 - to umowna linia środkowa najbardziej intensywnego zakresu w kolorze fioletowym. Wszędzie tam moduł impedancji ma wartość 50 ale jedynie jedna z kombinacji ma część urojoną równą 0 (właśnie dla
L=1.969uH i C=196.903pF) - nie widać tego w sposób oczywisty na tym wykresie.
Ostatni rysunek pokazuje widok zmienności tak jakby był widziany wprost z góry.

İmage

Ten rysunek pokazuje przebieg zmienności części rzeczywistej Zl a więc R, a dokładniej abs(R-50) i widać, że dla danej częstotliwości
R jest stałe dla jednej, konkretnej wartości C - właśnie 196.903pF

İmage İmage

Ostatnia para rysunków pokazuje zależność części urojonej Zl czyli zależność X a dokładniej abs(X) od L i C. Ta zależność jest nieco bardziej złożona niż wykres dla części rzeczywistej bo zależy zarówno od L jak i od C.
Ponieważ ten rysunek jest nieco obrócony w stosunku do wykresu części rzeczywistej to być może nie widać od razu, że optymalne dopasowanie
będzie znajdować się na przecięciu obu wykresów dla symbolicznych linii zera (najbardziej fioletowa część wykresu) przebiegu dla R i X.

Dla mnie największym zaskoczeniem jest fakt, że dla ustalonej wartości Rl i częstotliwości, jedna wartość pojemności zapewnia stałą wartość
części rzeczywistej Zl na żądanym poziomie (w tym przypadku 50 omów) czego nie zdołałem dostrzec ze wzoru na Zl gdzie widać teraz wyraźnie tą zależność.

Na podstawie wykonanej analizy przyszło mi do głowy w jaki sposób można zbudować kolejny algorytm szybkiego dopasowania. Niestety, wymaga on znajomości częstotliwości na jakiej trzeba zrobić dopasowanie ale jest to możliwe z wykorzystaniem tego samego chip-a co do tej pory - ATmega328 powinien z sobie z tym poradzić, być może trzeba by dołożyć szybki dzielnik przez 4.

Taki algorytm mógłby wyglądać następująco:
1. Mierzymy częstotliwość dopasowania F i wyliczamy omega=2*pi()*F
2. Z zależności R=Rl/(1+Rl^2*omega^2*C^2)=R0 wyliczamy C jako sqrt((Rl/R0-1)/(omega^2*Rl^2))
3. Ze wzoru na rezonans wyliczamy L jako 1/(omega^2*C).
W ten sposób znamy dokładne wartości L i C potrzebne do dopasowania bez żadnych pomiarów poza częstotliwością sygnału.
4. Ustalamy najbliższe, możliwe do ustawienia wartości L i C i w jednym lub co najwyżej w 4 pomiarach ustalamy najlepsze dopasowanie.

Gdyby skrzynka umożliwiała ciągłe wartości zmian dla L i C (wariometr + kondensator zmienny) to wystarczyłby jeden ruch mechanizmów.
Niestety, kondensator zmienny i wariometr znacząco zwiększą rozmiary urządzenia ale największy mankament tej metody to konieczność znajomość obciążenia Rl co jest możliwe w warunkach laboratoryjnych ale nie z konkretną anteną, która na pewno nie jest czysto rezystancyjna co skomplikuje konieczne wzory obliczeń.

Ostatecznie więc chyba metoda SBF (SimplifiedBrutalForce), niewymagająca żadnych założeń i dodatkowych pomiarów poza ślepym przeglądaniem dostępnej przestrzeni ustawień zwycięży ;-)

L.J.
(Ten post był ostatnio modyfikowany: 27-08-2021 13:55 przez SP6FRE.)
27-08-2021 13:37
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SQ5KVS Offline
Karol
*****

Liczba postów: 1,005
Dołączył: 26-09-2012
Post: #18
RE: Robię sobie ATU
(27-08-2021 13:37)SP6FRE napisał(a):  Witam!
. Niestety, wymaga on znajomości częstotliwości na jakiej trzeba zrobić dopasowanie ale jest to możliwe z wykorzystaniem tego samego chip-a co do tej pory - ATmega328 powinien z sobie z tym poradzić, być może trzeba by dołożyć szybki dzielnik przez 4.

Taki algorytm mógłby wyglądać następująco:
1. Mierzymy częstotliwość dopasowania F i wyliczamy omega=2*pi()*F
L.J.

Tego nie rozumiem. Co znaczy "mierzymy częstotliwość dopasowania? Tzn mierzymy częstotliwość jaka w danej chwili wychodzi z radia, ok.
W sumie dla każdego kawałka drutu na jednej częśtotliwości jest tylko jedno R i X więc i rozwiązanie powinno być jedno. Tak mi się wydaje ale pewności nie mam (jakieś fikuśne anteny, pętle, itp, może).
W takim razie mamy globalne minimum i fajnie. Są rózne metody poszukiwania/optymalizacji.
------------
Gdy ustalisz że jakaś zmiana LC daje spadek SWR, najpierw bym szedł w tą stronę (czyli dalej poruszał się z danym krokiem dL dC) i sprawdził SWR a dopiero potem ruszał się "na boki". Jeśli nowy SWR jest lepszy to idźmy dalej, jeśli gorszy to wróćmy do poprzedniego punktu i macnijmy prostopadle. Przy Twojej rozdzielczości siatki nie jestem pewien czy warto dostosowywać krok w zależności od różnycy SWR (tak jak w metodzie gradientowej), może w zależności od tego jak bardzo zmienił się SWR dać kilka (dwa, trzy) rozdzielczości kroku. Co prawda twierdzenie Taylora mówi że zawsze wszystko da się przybliżyć parabolą Smile no ale chyba w tym przypadku tylko bardzo bliskie okolice dołka. Znając (zakładając) jakiś kształt okolic dolin i dołka można by coś podumać w temacie dobierania długości kroku.. Z drugiej strony może metoda SBF jest dobra dlatego że od razu szuka globalnego minimum, w metodzie gradientu wpadamy w długą i krętą dolinę którą potem wolno dochodzimy do właściwego minimum.

Nie rozumiem - nie robię. Chyba że robię żeby zrozumieć.
(Ten post był ostatnio modyfikowany: 27-08-2021 16:00 przez SQ5KVS.)
27-08-2021 16:00
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SP6FRE Offline
Leszek
****

Liczba postów: 725
Dołączył: 20-09-2009
Post: #19
RE: Robię sobie ATU
Witam!

Zrobiłem kolejne wykresy, tym razem dla |gamma|. Na podstawie tej wielkości wylicza się właśnie SWR=(1+|gamma|)/(1-|gamma|)
Gamma przyjmuje wartości od -1 (zwarcie) przez 0 (dopasowanie) do +1 (rozwarcie) tak więc jest to w pewnym sensie odwrotność SWR właśnie w podanej relacji.

Gamma oblicza się jako (Zl-Ro)/(Zl+Ro) i dla wcześniejszych obliczeń można powiedzieć, że jest to wielkość zespolona o parametrach:

re(gamma)=((R-R0)*(R+R0)+X^2)/((R+R0)^2+X^2)
im(gamma)=2RX/((R+R0)^2+X^2)
|gamma|=sqrt(re(gamma)^2+im(gamma)^2)

İmage İmage İmage

İmage İmage İmage

Wykres |gamma| pokazuje wyraźne minimum (dopasowanie) w rejonie wcześniej podanych wartości dopasowania L i C (ok.1.969uH i 196.9pF).
Ale, szczególnie na ostatnim rysunku (widok z góry) widać, że |gamma| osiąga dość małe wartości również dla wartości L i C dalekich od dopasowania. I tu kryje się pułapka dla rozwiązania analitycznego bo dla obu przypadków wkład do wartości gamma mają inne składniki. Dla prawdziwego dopasowania głównym składnikiem Zl jest część rzeczywista z niewielkim lub zerowym wkładzie części urojonej o tyle w części, w okolicach 1000pF i 1.5uH część rzeczywista jest bliska zeru a część urojona bliska 50 omów. Metoda gradientu również mogłaby tu mieć problemy bo taki algorytm słabo radzi sobie w długich "dolinach" zmienności funkcji jak w takim przypadku. Źle dobrany punkt startowy lub niewłaściwy krok mógłby całkowicie pominąć właściwe rozwiązanie. Prawdopodobnie, uczulenie algorytmu gradientu na proporcje części rzeczywistej i urojonej obliczeń mogłoby znacząco poprawić jego skuteczność.

Na szczęście w ATU pomiar oparty jest na fali padającej i odbitej a więc ściśle związanych z mocami obu fal więc nie ma ryzyka pomyłki.

L.J

P.s.
Załączam ostatnią, nieco skorygowaną wersję oprogramowania


.hex  ant_tun012.hex (Rozmiar: 39.34 KB / Pobrań: 246)
27-08-2021 19:15
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SP6FRE Offline
Leszek
****

Liczba postów: 725
Dołączył: 20-09-2009
Post: #20
RE: Robię sobie ATU
Witam!
Ostatecznie w obudowie wylądował typowy zasilacz impulsowy 12V po obcięciu końcówek sieciowych. Przymierzałem się do różnych, posiadanych transformatorków ale albo były za małe (moc) albo za duże (wymiary).

İmage

Miałem też założyć, pokazaną wcześniej wersję gotowca bez obudowy ale poszedłem na łatwiznę. Wstawiłem typowy zasilacz dogniazdkowy zakupiony również za grosze. Poza obcięciem końcówek sieciowych i dolutowaniem przewodów, zachowałem filtr przeciwzakłóceniowy (prawy, górny róg na zdjęciu) po oskalpowaniu go z ochronnej masy plastycznej bo się nie mieścił. Ponieważ w tej formie zasilacz wypełnia prawie całą wolną przestrzeń to zrezygnowałem również z mocowania go w obudowie.

L.J.
01-09-2021 9:50
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
Odpowiedz 


Skocz do:


Użytkownicy przeglądający ten wątek: 2 gości