HomeMade
Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO - Wersja do druku

+- HomeMade (http://sp-hm.pl)
+-- Dział: Urządzenia nadawczo odbiorcze KF (/forum-62.html)
+--- Dział: Syntezy częstotliwości i moduły DSP (/forum-74.html)
+--- Wątek: Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO (/thread-2164.html)

Strony: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30


RE: Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO - SQ9MDD - 22-11-2014 16:54

Szczerze mówiąc Michał to nie mam pomysłu dlaczego tak się u Ciebie dzieje.
Spróbuj podejrzeć w monitorze portu szeregowego jakie masz wartości z ADC dla każdego przycisku. Jest w kodzie odkomentowane wysyłanie tych danych na port szeregowy więc będzie widać.

[attachment=9220]

Przy okazji, wyczyściłem repozytorium SVN na google code i wysłałem tam pokolei wszystkie kolejne wersje złomka. Dzięki temu w łatwy sposób można porównywać zmiany pomiędzy wersjami.

https://code.google.com/p/zlomek/source/list

Można zmiany wyświetlać w taki sposób:
https://code.google.com/p/zlomek/source/detail?r=2

Albo w taki:
https://code.google.com/p/zlomek/source/diff?spec=svn2&r=2&format=side&path=/trunk/zlomek.ino

W kazdym przypadku po prawej na górze mamy nawigację do kolejnych wersji i zmian z tym związanych.


RE: Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO - SQ3PJV - 27-11-2014 18:27

Rysiu, jak tam projekt, jest ciąg dalszy?
Złożyłem Fork-Heńka i nie za bardzo te programowanie mi idzie, nie mój język. Prędzej zmiana dla własnych potrzeb niż dołożenie kodu dla zmiany pasm i emisji. Może dwa pasma a to spora podpowiedź.


RE: Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO - SQ9MDD - 28-11-2014 10:34

Hej Darek, na razie stanęło w miejscu trochę... to znaczy nie do końca tak. Miałem kiedyś zrobioną syntezę na mniejszym procesorze i w bascomie. Zrobiłem to na wyświetlaczu 2x20 z przeznaczeniem dla Taurusa. No i pomyślałem sobie że mogę zrobić gałąź osobną w projekcie pod taki wyświetlacz. Oczywiście z mniejszą ilością opcji itd. Więc wziąłem Złomka w wersji 1.0.4 i zrobiłem odnogę projektu.
Na http://coode.goole.com można znaleźć tę wersję.

[attachment=9236]

Jeśli chodzi zaś o złomka bez zmian w hardware nie da się go prosto przystosować do wiekszej ilości pasm niż dwa. Napisz jak konkretnie widzisz rozwój softu dalej to coś podziałamy.


RE: Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO - SQ3PJV - 28-11-2014 11:13

Zrobiłem podobnie bascom at8 i 4x20 lcd. Teraz robię urlopowe radio sterowane fork-henikem. Wychodzi że i tak tyllko dwu pasmowe.Na płytce można jeszcze jednym pinem to wysterować, nic dodatkowo nie wyświetlać a na pinie pojawia się sygnał jak na lcd wyświetla f pow. np 5MHz. Tak robiłem ale to jakoś ......


RE: Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO - SQ9MDD - 28-11-2014 11:25

A tak to ok to ja proponuję opcję taką... dodatkowa zmienna w konfiguracji (częstotliwość przełączenia pasm) i przełączenie na tym pinie, stan niski poniżej częstotliwości granicznej a stan wysoki powyżej częstotliwości granicznej.
A jeśli ustawimy tam wartość "0" to zawsze będzie niski stan opcja dla jednego pasma.


RE: Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO - SQ6IYY - 05-12-2014 20:34

No dobra cisa w eterze na temat Zlomka .Ja znowu na chorobowym i namalowałem płytkę *shelda*pod Lcd5110 ,Arduino Mini ,modul DDS impulsator 4x switch (jeden więcej) i powielacz ICS502 na dodatkowej płytce na kanapę(schemat SQ3AWS post nb.21 z tematu:Proste powielanie częstotliwości).Zasilanie zworkom USB lub zewnętrzne stabilizatory 5V i 3V3 Moze się komu przyda


RE: Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO - SQ9MDD - 06-12-2014 1:00

Michał świetna robota!

Bardzo mi się podoba ta płyteczka. Muszę się zorientować ile by kosztowało zrobienie fabryki to sobie zamówimy, co Ty na to?. Ale zanim to zrobimy to może w wolnej chwili wyprowadzisz wolne piny procesora na goldpiny? Do dalszego wykorzystania...


RE: Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO - SQ6IYY - 06-12-2014 15:47

Witam znowu namalowałem następna plyteczka nad arduino(kanapka) wyprowadzone piny i propozycja piny A4 A5 do komunikacji z PCF8574 a do PTT i S metra proponuje A6 A7
dodatkowo kilka (8pin)pinuAngel
Z Arduino do góry wyprowadzić tylko wybrane piny. Boczne piny 9 ,10 ,DTR tylko do podtrzymania płytkę z PCF8574
Mała kosmetyka w okolica impulsatora i na tym bi zakonczil projekt płytki chyba że trafią się konstruktywne sugestyje Angry.
Zalecane powielanie,kopiowanie,wytrawianie itp..Blush


RE: Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO - SP9WUY - 07-12-2014 23:45

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

[attachment=9253]


RE: Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO - SP3NYR - 22-12-2014 22:47

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