RE: Algorytm strojenia AAT
Troche ozywie temat, bo wlasnie rozmyslam nad automatycznym algorytmem...
Pytanie do Jarka i Adama odnosnie filmu powyzej..
Czy easyAtu w jakikolwiek sposob sprawdza czy styki przekaznika zostaly fizycznie zalaczone?
W programie do mojego ATU na STM32 odsylam informacje potwierdzajaca wykonanie nowego ustawienia kiedy ustawione sa wszystkie nowe wartosci dla GPIO. Jednak poruszamy sie w dosc szybkim swiecie procesorow i ustawienie 'jedynki' na pinie procka nie oznacza ze przekaznik juz sie zalaczyl! Mozna przyjac, ze transmisja 9600 jest na tyle wolna ze zanim odpowiedz z ATU 'dotrze' do komputera wszystkie przekazniki sa juz zalaczone, lub:
1. znajac max czas zalaczenia przekaznika dodac takie opoznienie przed odeslaniem potwierdzenia z ATU
2. dodac do ukladu jeden miniaturowy przekaznik o czasie zalaczania = lub nieco wiekszym niz te uzyte w ukladzie sterowania, po ustawieniu wszystkich ustawien dla przekaznikow zalaczyc ten przekaznik kontrolny i odczytac jego stan, dopiero wtedy odeslac potwierdzenie. To rozwiazanie jednak i tak pewnie wymusi jakis delay dla stabilizacji stykow, wiec obstawiam tu rozwiazanie z p. pierwszego.
Co do samego algorytmu...
Skrzynka oparta o FRIMatch, wiec nie zmieniamy indukcyjnosci, testujac rozne ustawienia manualnie (kondensatory zmienne) zauwazylem pewna zaleznosc - jesli na wykresie (MAX6 LCD) jest w jakims miejscu dolek, to krecac kondensatorami w prawo przesuwam dolek w prawo, krecac w lewo przesuwam w lewo. Zaleznosc prosta, chcemy dolek na wyzszej czestotliwosci zmniejszamy C, na nizszej zwiekszamy C. Przyszedl mi wiec do glowy nastepujacy algorytm:
(pierwsze strojenie, brak jakichkolwiek danych)
(dla uproszczenia opieram sie tylko na SWR)
1. Ustawiam kondensatory na 50% wartosci.
2. Dokonuje pomiaru dla zadanej czestotliwosci - komenda wyslana do MAX6, odczyt ADC. Zapamietanie wyniku.
3. Seria pomiarow MAXem (bez zmiany ustawien skrzynki) w gore i w dol od zadanej czestotliwosci.
4. Odszukanie 'po ktorej stronie' jest 'najblizszy dolek'
5. Zmiana wartosci kondensatora od strony anteny na 25% lub 75% (zaleznie od tego 'gdzie jest dolek')
6. Powtarzam krok 3 i 4
7. Zmiana wartosci kondensatora od strony TRX na 25% lub 75% (zaleznie od tego 'gdzie jest dolek')
8. Powtarzam kroki 3 do 7, z tym ze kolejne zmiany wartosci kondensatorow sa o polowe mniejsze przy kazdym kroku, czyli kolejno o 12.5%, 6.25% itd...
Algorytm ten jest oparty na algorytmie poszukiwania danej wartosci w uporzadkowanej serii wartosci, ogranicza ilosc zmian ustawien skrzynki, za to zwieksza ilosc pomiarow VNA.
Majac jakies dane testowe mozna algorytm uproscic przez dodanie oszacowania zmian C w zaleznosci od tego 'jak daleko jest dolek'.
Zastrzegam, ze jest to algorytm wstepny, kiedy jescze nic nie wiemy o antenie, no i oczywiscie jest on dla FRIMatch o stalej indukcyjnosci.
Prosze o konstruktywna krytyke.
Edit:
Chwile jeszcze potrenowalem z recznym ATU i widze ze najtrudniejsze zadanie to znalezc pierwsze ustawienia dla danej czestotliwosci wybranego pasma, programowanie kolejnych czestotliwosci z zadanym krokiem jest juz latwiejsze, bo zmiany sa relatywnie niewielkie, a wiec szybsze do przetestowania.
(Ten post był ostatnio modyfikowany: 21-08-2013 14:00 przez EI3HMB.)
|