|
Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO
|
|
22-12-2014, 21:37
Witam
Do przeanalizowania kodu namówił mnie SQ3PJV na spotkaniu klubowym zadając pytanie jak zrobić aby złomek był dwupasmowy i aby wystawiał na wolnym nieużywanym pinie informację o tym do sterowania przełączaniem filtrów we/wy TRX. Najprościej wykorzystać do tego przełącznik VFO A/B. W oryginale mamy VFO A - pasmo 3,5 Mhz a VFO B - 7 MHZ dodajmy zmienna f_switch_filter i jej wartość ustawmy na częstotliwość pomiędzy pasmami czyli w tym przypadku na 5 MHz Dodając prosty warunek możemy automatycznie włączać filtr 1 ( pin 13 - dioda w arduino jest w stanie LOW) gdy f< 5MHz lub filtr 2 ( pin 13=HIGH) gdy f>5MHz Wszelkie niezbędne zmiany: Modyfikacje kodu do automatycznego przełączania filtrów w sekcji ------------------------------------------------------ //zmienne do modyfikacji każdy ustawia to co potrzebuje po linii const long start_frequency = 3715000; //częstotliwość startowa syntezy wstawiamy const int filterPin = 13; // numer pinu do sterowania przełączaniem filtrów const long f_switch_filter = 5000000; // f przy której przełączamy filtry if f_vfo< f_switch_filter then pin 13 = LOW, else HIGH w funkcji: -------------------------------------- //setup funkcja odpalana przy starcie void setup(){ po pinMode(dim_out,OUTPUT); //ustawiam tryb pracy wyjścia dla ściemniania LCD (DIM) wstawiamy linie pinMode(filterPin, OUTPUT); // tryb pracy dla PIN=13 w funkcji: ----------------------------------------- //funkcja ustawiająca częstotliwość DDS-a, lub RIT-a void set_frequency(int plus_or_minus){ po linii AD9850.set_frequency(frequency_to_dds); //ustawiam syntezę na odpowiedniej częstotliwości wstawiamy if (frequency > f_switch_filter){digitalWrite(filterPin, HIGH); } else {digitalWrite(filterPin, LOW);} Działanie powyższej modyfikacji można wypróbować obserwując diodę na PIN 13 - każde arduino ma fabrycznie wbudowaną diodę zmieniając VFO A na VFO B powinna zapalać się lub gasnąć dioda Jeżeli będziemy enkoderem zmieniać częstotliwość i przejdziemy przez ustawiona dla f_switch_filter czestotliwośc to automatycznie nastąpi zmiana włączonego filtru. W załaczeniu pełny
Witam
Do przeanalizowania kodu namówił mnie SQ3PJV na spotkaniu klubowym zadając pytanie jak zrobić aby złomek był dwupasmowy i aby wystawiał na wolnym nieużywanym pinie informację o tym do sterowania przełączaniem filtrów we/wy TRX. Najprościej wykorzystać do tego przełącznik VFO A/B. W oryginale mamy VFO A - pasmo 3,5 Mhz a VFO B - 7 MHZ dodajmy zmienna f_switch_filter i jej wartość ustawmy na częstotliwość pomiędzy pasmami czyli w tym przypadku na 5 MHz Dodając prosty warunek możemy automatycznie włączać filtr 1 ( pin 13 - dioda w arduino jest w stanie LOW) gdy f< 5MHz lub filtr 2 ( pin 13=HIGH) gdy f>5MHz Wszelkie niezbędne zmiany: Modyfikacje kodu do automatycznego przełączania filtrów w sekcji ------------------------------------------------------ //zmienne do modyfikacji każdy ustawia to co potrzebuje po linii const long start_frequency = 3715000; //częstotliwość startowa syntezy wstawiamy const int filterPin = 13; // numer pinu do sterowania przełączaniem filtrów const long f_switch_filter = 5000000; // f przy której przełączamy filtry if f_vfo< f_switch_filter then pin 13 = LOW, else HIGH w funkcji: -------------------------------------- //setup funkcja odpalana przy starcie void setup(){ po pinMode(dim_out,OUTPUT); //ustawiam tryb pracy wyjścia dla ściemniania LCD (DIM) wstawiamy linie pinMode(filterPin, OUTPUT); // tryb pracy dla PIN=13 w funkcji: ----------------------------------------- //funkcja ustawiająca częstotliwość DDS-a, lub RIT-a void set_frequency(int plus_or_minus){ po linii AD9850.set_frequency(frequency_to_dds); //ustawiam syntezę na odpowiedniej częstotliwości wstawiamy if (frequency > f_switch_filter){digitalWrite(filterPin, HIGH); } else {digitalWrite(filterPin, LOW);} Działanie powyższej modyfikacji można wypróbować obserwując diodę na PIN 13 - każde arduino ma fabrycznie wbudowaną diodę zmieniając VFO A na VFO B powinna zapalać się lub gasnąć dioda Jeżeli będziemy enkoderem zmieniać częstotliwość i przejdziemy przez ustawiona dla f_switch_filter częstotliwość to automatycznie nastąpi zmiana włączonego filtru. W załączeniu pełny plik z naniesionymi zmianami. ---------------------------------------------------------------------------------------------------------------- Pozdrawiam Waldemar
23-12-2014, 0:02
Waldermar, super!
Fajnie że miałeś trochę czasu w takim przedświątecznym okresie Pewnie jakoś po świętach będzie wiecej czasu by się zająć projektem. Muszę przysiąść i poprzeglądać płytkę Michała pod kątem zgodności z softem poczynić ewentualne zmiany. I myślę że zamówię płytki w merkarze tam gdzie dvsp zamawialiśmy. Wtedy każdy będzie mógł sobie złomka sam od nich kupić bez ponoszenia kosztów projektu. A tymczasem Panowie Życzę Zdrowych i Wesołych Świąt. Do usłyszenia ![]()
...przede wszystkim nie zakłócać...
25-12-2014, 10:35
No na Swięta obrazky :
cynowanie we wrzątku z użyciem stopu Lichtenberga http://www.elektroda.pl/rtvforum/topic2483449.html zlomek wersja podstawowa i pozdrawiam Spokojnych i Pogodnych Świąt Bożego Narodzenia oraz Szczęśliwego Nowego Roku
Nie otrzymasz koni wyścigowych krzyżując dwa osły
Witaj amatorzy panowie, chcę zadać pytania na temat projektu tego generatora. Proszę mi powiedzieć, w jaki sposób należy rozwiązać można w języku polskim lub języku rosyjskim? Używam tłumacza i martwi, że niesie nie jest prawidłowe. Z poważaniem, Rusłan.
Здравствуйте Господа радиолюбители, хочу задать Вам вопросы про конструкцию этого генератора. Скажите пожалуйста, как мне лучше обращаться к Вам на Польском или Русском языке? я пользуюсь переводчиком и переживаю, что он переводит не корректно. С Уважением Руслан.
10-01-2015, 16:35
Witaj Rusłan.
Do mnie możesz pisać po polsku, angielsku lub rosyjsku. Вы можете написать мне на польском, английском или русском языке. Waldemar
10-01-2015, 16:49
(10-01-2015, 16:35)SP3NYR napisał(a): Witaj Rusłan. Здравствуйте! не ожидал, что так быстро мне ответят, спасибо Вам. Мой вопрос, в этом синтезаторе можно ввести значения промежуточной частоты (ПЧ) ? Я просто еще не собирал конструкции на микроконтроллерах и не могу понять всех тонкостей. Сейчас я заканчиваю сборку трансивера Bitix 20 и хочу собрать этот синтезатор для него.
10-01-2015, 17:29
да, можно
source, line 87: const long if_frequency = -8000000; //częstotliwość pośredniej, każdy dobiera swoją w zależności od konstrukcji radia ( значения промежуточной частоты ) 73 MAc mrn
10-01-2015, 17:41
(10-01-2015, 17:29)SP9MRN napisał(a): да, можно Большое спасибо за ответ! Теперь осталось дождаться купленных деталей и произвести сборку. Результаты и фотографии обязательно выложу на этом сайте. Всем ответившим большое спасибо! 73! |
|
« Starszy wątek | Nowszy wątek »
|
Użytkownicy przeglądający ten wątek: 1 gości


Pewnie jakoś po świętach będzie wiecej czasu by się zająć projektem.
не ожидал, что так быстро мне ответят, спасибо Вам. Мой вопрос, в этом синтезаторе можно ввести значения промежуточной частоты (ПЧ) ? Я просто еще не собирал конструкции на микроконтроллерах и не могу понять всех тонкостей. Сейчас я заканчиваю сборку трансивера Bitix 20 и хочу собрать этот синтезатор для него.