![]() |
|
Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO - Wersja do druku +- Forum HomeMade (https://sp-hm.pl) +-- Dział: Urządzenia nadawczo odbiorcze KF (https://sp-hm.pl/forumdisplay.php?fid=10) +--- Dział: Syntezy częstotliwości i moduły DSP (https://sp-hm.pl/forumdisplay.php?fid=51) +--- Wątek: Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO (/showthread.php?tid=1406) |
RE: Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO - SP9WUY - 07-12-2014 Witam Gratuluje bardzo fajnego projektu, w załączniku mój złomek Dziękuje Ryśkowi za pomoc Pozdrawiam Andrzej Witam A to mój złomek RE: Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO - SP3NYR - 22-12-2014 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 RE: Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO - SP3NYR - 22-12-2014 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 RE: Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO - SQ9MDD - 23-12-2014 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 ![]() RE: Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO - SQ6IYY - 25-12-2014 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 RE: Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO - R0SAX - 10-01-2015 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. Здравствуйте Господа радиолюбители, хочу задать Вам вопросы про конструкцию этого генератора. Скажите пожалуйста, как мне лучше обращаться к Вам на Польском или Русском языке? я пользуюсь переводчиком и переживаю, что он переводит не корректно. С Уважением Руслан. RE: Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO - SP3NYR - 10-01-2015 Witaj Rusłan. Do mnie możesz pisać po polsku, angielsku lub rosyjsku. Вы можете написать мне на польском, английском или русском языке. Waldemar RE: Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO - R0SAX - 10-01-2015 (10-01-2015, 16:35)SP3NYR napisał(a): Witaj Rusłan. Здравствуйте! не ожидал, что так быстро мне ответят, спасибо Вам. Мой вопрос, в этом синтезаторе можно ввести значения промежуточной частоты (ПЧ) ? Я просто еще не собирал конструкции на микроконтроллерах и не могу понять всех тонкостей. Сейчас я заканчиваю сборку трансивера Bitix 20 и хочу собрать этот синтезатор для него.
RE: Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO - SP9MRN - 10-01-2015 да, можно 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 RE: Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO - R0SAX - 10-01-2015 (10-01-2015, 17:29)SP9MRN napisał(a): да, можно Большое спасибо за ответ! Теперь осталось дождаться купленных деталей и произвести сборку. Результаты и фотографии обязательно выложу на этом сайте. Всем ответившим большое спасибо! 73! |