Jest to jedna z modyfikacji "złomka" czyli generatora opisanego na forum SP-HM przez SQ9MDD.

Generator DDS złomek zbudowany jest z:

  • arduino nano
  • modułu HC_SR08 lub podobnego generatora DDS z AD9850
  • modułu arduino wyświetlacza od Nokii 5110
  • i paru innych drobnych elementów

W swojej wersji zmieniłem kilka rzeczy i co nieco dodałem.

Oto niektóre zmiany:

  • zmiana sposobu obsługi enkodera (nie przeskakuje kroków przy wolnym kręceniu i nie gubi impulsów przy szybkim kręceniu)
    • dodanie obsługi enkodera magnetycznego (z silnika krokowego) - zmiany w hardware
  • usunięcie obsługi regulacji jasności wyświetlacza (uruchomiony generator PWM zakłócał wyraźnie część odbiorczą transceivera)
  • dodanie automatycznego klucza telegraficznego (w najprostszej wersji)
  • zmiany przyporządkowania pinów arduino do reszty
  • wyłączenie obsługi linii RST generatora AD9850 (zaoszczędzenie jednej linii)
  • dodanie obsługi reflektometru (SWR-metra)
  • dodanie obsługi magistrali I2C (PCF8574)
  • obsługa splitu
  • VOX CW
  • inne zmiany opisane w poszczególnych wersjach

Zmiany:

  • wersja 1.3.30
    • dołożenie opcji QRP
    • gdy jest włączony split: klawisz mode przełącza QRP/QRO - przekaźnik w PA jest sterowany (QRO) lub nie jest sterowany (QRP)
    • plik źródłowy i biblioteki
    • schemat bez zmian
  • wersja 1.3.29
  • wersja 1.3.28
    • przełączanie pasm w PA (magistrala I2C)
    • regulacja mocy (przełączany tłumik w PA - magistrala I2C)
    • przechowywanie wartości mocy na poszczególnych pasmach w EEPROM
    • plik źródłowy i biblioteki
    • schemat pewnie bez zmian
  • wersja 1.3.27
  • wersja 1.3.26
    • dodanie dodatkowego trybu pracy: VOX CW
      • po włączeniu trybu VOX CW użycie manipulatora (kreska lub kropka) powoduje przejście na nadawanie
      • przejście na odbiór następuje po ostatnim znaku po upływie czasu odpowiadającemu długości trwania dwóch kresek (zmienia się wraz ze zmianą prędkości nadawania)
      • plik źródłowy i biblioteki
      • schemat
  • wersja 1.3.25
    • uruchomienie obsługi split
      • dioda dwukolorowa (zielona/czerwona)
        • split wyłączony - diody nie świecą
        • split włączony
          • dioda zielona - VFO_A - "odbiorcze" - nastawione tam, gdzie nadaje DX
          • dioda czerwona - VFO_B - "nadawcze" - nastawione tam, gdzie inni odpowiadają i gdzie słucha DX - i my też tam chcemy nadawać
      • przyciski
        • split włączony
          • przycisk "krok" przełącza VFO A/VFO B (A<->B)
          • przycisk RIT zrównuje częstotliwości (A=B)
      • plik źródłowy i biblioteki
      • schemat
  • wersja 1.3.24
    • zmiana w obsłudze S-Metra: przsytosowanie do pracy z wewnętrznym napięciem odniesienia 1,1V - wymagany zakres zmian musi się mieścić w przedziale od 0 do 1,1V; 
              zmieniłem też sposób wyświetlania: odczytana wartość jest przeliczana indywidulanie na długość linijki (if else if); drbinka klaiszy zasilana jest teraz z Vref (1,1V)
    • zmiana w działaniu RITa: są teraz tylko dwa stany:
      • RIT włączony
      • RIT wyłączony
  • wersja 1.3.23
    • podłączenie PCF8574 - dodatkowe porty
  • wersja 1.3.22
    • uwolnienie magistrali I2C (porty A4 i A5) - czyli przeniesienie obsługi PTT na D12 (port 12), a wy podsłuchu CW na D13
  • wersja 1.3.21
    • dołożenie przełączania CW/SSB
  • wersja 1.3.20
    • reflektometr: padająca zawsze do końca skali, odbita ze skalą (dodany opis przybliżonej wartości na skali)
  • wersja 1.3.19
    • dodanie obsługi reflektometru (na wyświetlaczu pojawiają się tylko linijki odpowiadające napięciu fali padającej oraz fali odbitej - czyli jest to wskaźnik raczej niż miernik, ale dający pojęcie o aktualnym dopasowaniu anteny; paski pojawiają się w miejscu linijki S-metra)

Oto schemat tej wersji (1.3.19) złomka: schemat złomka DDS na AD9850 i arduino

W przypadku stosowania enkodera mechanicznyego niepotrzebny jest komparator analogowy LM393 i całe jego otoczenie.

Poniżej znajduje się link do pliku źródłowego oraz dodatkowych bibliotek:

Krótki przewodnik załadowania kodu do arduino nano:

  • aktualnie używam wersji 1.6.12 arduino IDE
  • do kodu źródłowego są dołączone dodatkowe biblioteki, które trzeba skopiować do katalogu dokumenty/arduino/libraries:
    • PCF8575
    • PCF8574
    • LCD5110_Graph
    • AH_AD9850_B
      • jest to przerobiona przeze mnie biblioteka - usunąłem obsługę linii reset modułu HC_SR08 z AD9850 przez co zaoszczędziłem jedno wyjście procesora
    • Timer1
  • w menu narzędzia->płytka ustawiamy arduino nano
  • w menu narzędzia->port ustawiamy port szeregowy COM, na którym zainstalowała się płytka arduino
  • wybierając opcję menu szkic->wgraj wgrywamy kod do arduino nano