Przy rozlicznych próbach z nowo powstałymi urządzeniami zaczyna mi coraz bardziej doskwierać brak porządnego reflektometru zdolnego obsłużyć przynajmniej pasmo KF + 6 m i moc licencyjną 500 W. Zacząłem szukać mierników krzyżowych, ale widzę, że wszystko, co ma sens kosztuje kilkaset złotych. Powstał pomysł alternatywny, aby rozejrzeć się za czymś cyfrowym - na miarę XXI wieku. Oto co, m.in. wypatrzyłem i muszę powiedzieć, że zaczęło mnie kusić to rozwiązanie. Arduino Nano plus płytka mostka pomiarowego i wyświetlacz. Na pierwszy rzut oka wychodzi 1/4 kwoty porządnego miernika krzyżowego. Co Koledzy o tym sądzą?
http://www.qsl.net/on7eq/en/index.htm Zakładka Projects - Power&SWR Meter.
Pomysl bardzo ciekawy, testuje wlasnie miernik SP2GPC po naprawie i urzadzenie jest bardzo wygodne.
Niemniej jednak gdyby mial byc u mnie na stale chetnie dorobilbym mu wskazniki wychylowe - ocena mocy jest w takim wypadku szybsza niz odczytanie wskazania na wyswietlaczu alfanumerycznym.
pz
Jakieś 2 lata temu zrobiłem cyfrowy SWR oparty na PIC 16F88 wg projektu SP5CIB
http://sp5cib.rf.pl/Strony/Technika/SWR16F88.html
z 2 głowicami - KF i VHF/UHF
Przymierzam się jednak od dłuższego czasu do wykonania SWR ze strony
http://ok1dx.dyndns.org/constructions/sw...rmega.html
Ma on 3 wersje programu pod wyświetlacz 2x20, 2x24 lub 2x40
precyzyjną kalibrację za pomocą programu na PC oraz automatyczne rozpoznanie dołączonej głowicy pomiarowej.
Fajny projekt a kolega OK1DX w razie potrzeby chętnie służy radą.
Jak odpalę to podzielę się wrażeniami.
No i się trochę pogmatwało. 2 dni temu skończyłem mostek pomiarowy i podłączyłem to wszystko do kupy. Wszystko niby działa, ale jakby ,,na sucho". Miernik nie pokazuje żadnej mocy przychodzącej, a żyje swoim życiem. Przy pomocy tych dwóch switchów, które są w układzie (i na schemacie) nie jestem w stanie wejść w jakąkolwiek opcję setupu. Jeden przy wciskaniu zmienia zakresy pracy, a jak wcisnę drugi pojawia się na wyświetlaczu przeskakujący coraz wyższy poziom mocy na danym zakresie pomiarowym. Jest to jakiś ,,myk" programowy, bo tak się dzieje i bez podłączonego mostka pomiarowego i bez włączonego nadajnika. Zacząłem przeglądać program i tam jest coś napisane o jakimś trójpołożeniowym switchu, który robi ,,grounded" na wejsciach Arduino D2 i D3 lub jest w pozycji neutralnej. Wówczas jakieś opcje mają się zmieniać. Krótko pisząc jestem w kropce. Nie wiem jak to dalej ugryźć. Może rzeczywiście tam jakiś przełącznik jeszcze potrzebny, tylko czemu nie ma go na schemacie. Na zdjęciu płyty czołowej tego miernika są trzy ,,pstryczki", ale napisane, że jeden z nich jest do zmiany mocy, drugi do zmiany ,,mode", trzeci do zmiany zakresu pomiarowego w sensie częstotliwości. Gdzie jakiś setup? Objawy identyczne jak na tym filmie, z tą różnicą, że ja mam zielony wyświetlacz w kolorze zielonym.
http://www.youtube.com/watch?v=MWfTweaTXfs
W programie autor napisał, że są dwie alternatywne metody przełączania trybu pracy.
1. za pomocą przełącznika 3-pozycyjnego dołączonego do pinów D2 - tryb w którym wysokość dźwięku z buzzera jest zależna od wartości SWR, D3 - tryb wyświetlania mocy PEP i położenie środkowe - tryb wyświetlania mocy chwilowej i SWR.
W przełączniku 3-pozycyjnym (lewo-środek-prawo) skrajne kontakty dołącz do D2 i D3 i przez rezystory 4,7k do +5V (tak jak przy switchach dołączonych do D5 i D6), a środkowy kontakt dołącz do masy. Przy zastosowaniu tego przełącznika pin D5 musi być dołączony do +5V tak jak na schemacie przez rezystor 4,7k. Program wykryje automatycznie zastosowanie tego przełącznika.
2. za pomocą przycisku impulsowego (zgodnie ze schematem) który przełącza tryby pracy w kółko.
Jeżeli chodzio kalibrację to po pobieżnym przejrzeniu programu jest tam tylko miejsce w którym można wpisać zmienne kalibracyjne dla poszczególnych pasm.
// calibration variables for forward power :
// PowCal=(VoltFWD²/Power) / 1000 (where Power = Power over 50 Ohm in Watt)
// Carry out calibration with sufficient power !
#define PowCalHF (100) // HF band
#define PowCal6m (21) // 6m band
#define PowCal4m (30) // 4m band --> pmax @ 5000mV = 833 W (as example)
#define PowCal2m (117) // 2m band
#define PowCal70 (57) // 70cm band
#define PowCal23 (3165) // 23cm band
#define PowCal13 (64800) // 13cm band
i jest to chyba jedyna możliwość kalibracji wyświetlanej mocy.
Powodzenia w walce.
Leszek w tej chwili (na płytce) mam podłączone wejścia D5, D6 do +5V przez rezystory i są tam switche do masy. Czy dołożyć jeszcze ten trójpozycyjny do wejść D2,D3? Wychodzi na to, że nie działa mi ten switch przy D5 od zmiany mode - pomimo tego, że buzzer sygnalizuje jego jednorazowe wciśnięcie, na wyświetlaczu nie ma zmian.
Usuń switch przy D5 ale zostaw rezystor do +5V i podłącz przełącznik i rezystory do D2 i D3.
Ok, zaraz przerabiam. Tylko czemu nasz kolega z Belgii na schemacie tego nie umieścił od razu? Leszku dzięki - zadziałało. Teraz mam trzy opcje przełączane klawiszem. Miernik strasznie oszukuje, bo przy 20W outputu pokazuje prawie 49W na wyświetlaczu. Pozostało jeszcze odblokowanie opcji HF, bo widzę, że ma to w programie, ale nie pokazuje się na wyświetlaczu. Na razie moce z zakresu KF mierzę na ustawieniu ,,6 m". Wskazania SWR na sztucznym obciążeniu 50 Ohm też zawyżone i to bardzo (>3). Opanowałem sytuację około północy. Dziwne wskazania SWR na sztucznym obciążeniu były spowodowane moim zaniedbaniem mostka pomiarowego (musiałem zmienić trymer na mniejszy i dostroić). Pozostało odblokowanie zakresu HF oraz dołożenie tłumików sygnałów F i R (mocno - kilkukrotnie zawyżona wartość mocy) lub wpisanie nowych danych kalibracyjnych w soft. Gdyby ktoś z kolegów mógł pomóc w tej materii będę mocno wdzięczny. Moja wiedza o Arduino, a tym bardziej programowaniu na razie jest prawie żadna. Czuję, że mnie to wciągnie, lecz na razie brak czasu nie pozwala na więcej.
W programie jest wyłączony HF - widocznie autor używał SWR tylko do UKF
Oto ten fragment programu
BAND = EEPROM.read(2);
if (BAND == 0) {
BAND = 3; // No HF for time being, default = 2m
PowCal = PowCalHF;}
if (BAND == 1) {
PowCal = PowCal6m;}
if (BAND == 2) {
PowCal = PowCal4m;}
if (BAND == 3) {
PowCal = PowCal2m;}
if (BAND == 4) {
PowCal = PowCal70;}
if (BAND == 5) {
PowCal = PowCal23;}
if (BAND == 6) {
PowCal = PowCal13;}
Usuń linię BAND = 3; // No HF for time being, default = 2m
żeby było tak
if (BAND == 0) {
PowCal = PowCalHF;}
powinno pomóc.
Jeżeli chodzi o kalibrację to zmierz napięcie (VoltFWD) na wejściu fali padającej i oblicz wg wzoru PowCal=(VoltFWD²/Power) / 1000 (gdzie Power = moc na 50 Ohm w watach)
to co ci wyjdzie wpisz do programu w nawias zamiast 100
#define PowCalHF (100) // HF band
powodzenia
Leszek dzięki za uwagę i rady. Udało mi się już to uruchomić i odblokować wyświetlanie zakresu HF. W międzyczasie dopomógł na GG ,,przelatujący" Ryszard SQ9MDD. Należy tylko dodać, że do tego wzoru trzeba podstawiać napięcie pomierzone w mV, bo inaczej wychodzą głupoty. Zrobiłem kalibrację dla HF i 6 m. Miernik zaczyna troszkę zawyżać wskazania mocy przy jej większych poziomach. Kalibrowałem dla 30W i tu moc się pokrywała z zewnętrznym reflektometrem krzyżowym. Natomiast przy 80W wyświetlacz miernika pokazuje już dobrze ponad 90W. Im większa jest liczba kalibracyjna do wstawienia w soft, tym mniejszy jest zakres maksymalnej mocy pomiarowej. Program jakoś to sam przelicza, aby nie przekroczyć 5 V napięcia stałego z mostka pomiarowego na wejściach płytki Arduino. Zastanawia mnie, czy jest (zapewne tak) możliwość zmiany algorytmu w sofcie, aby miernik nie zawyżał wskazywanej mocy i jak się do tego dobrać. Ryszard wspominał coś o możliwości ,,chwilowej" zmiany w programie, aby miernik pokazywał na wyświetlaczu napięcie stałe Forward z mostka pomiarowego. Zrobił nawet zmianę w sofcie, ale to po wegraniu nie pomogło. Potem mój konsultant musiał lecieć. Byłaby to super opcja pozwalająca miernikowi na, jakby ,,samodzielny" pomiar realnego napięcia w układzie bez konieczności zastanawiania się, czy zewnętrzny woltomierz oszukuje, czy też nie.