pe1chy site logo
-

4-band ATV Rx with Arduino control

 Software:

De besturing van de ontvanger wordt verzorgd door een Arduino Nano module. De Arduino's zijn populair vanwege de eenvoudige ontwikkelomgeving (IDE) op cd PC. De nabouwers van dit project kunnen hiervan ook profiteren doordat eenieder zelf aanpassingen kan maken in de software. Maar ook in ongewijzigde vorm is de ontvanger gebruikersvriendelijk en optimaal aangepast aan de behoeften van de ATV amateur. Zelf ben ik nog een beginneling op het gebied van C code schrijven, het staat iedereen vrij om verbeteringen en aanvullingen te maken op de gegeven code.

De code: 

Een gedetailleerde beschrijving zou zinloos zijn, bekijk hiervoor de code zelf. Op veel punten wordt de werking met commentaar verder toegelicht. Daarom volsta ik hier met een globale beschrijving.

Als je de IDE opent, verschijnen 6 tabbladen. De eerste bevat het hoofd programma, de rest zijn deelprogramma's die als .h file (headerfiles) zijn toegevoegd. Het programma kan alleen compileren en geladen worden als alle files aanwezig zijn:

IDE begin code

Centraal in de code staat een struct (structure = verzameling variabelen) waarin alle relevante instellingen van de ontvanger per band worden opgeslagen.

In het hoofdprogramma wordt de struct "actual"gebruikt waarin alle variabelen gevuld zijn met de waarden die horen bij de gekozen band. Wanneer van band wordt gewisseld, wordt de struct "actual" gekopieerd vanuit de eeprom. Hier staan structs voor alle vier banden. Ze worden bij het eerste opstarten van het programma gevuld met "default" waarden. Tijdens het gebruik van de ontvanger worden de waarden overschreven door de gebruikersinstellingen. Op deze manier wordt voor elke band een set van instellingen bijgehouden. Voorbeeld: Bij 13cm ontvangst wordt vaak van een downconverter gebruik gemaakt met bovenmenging. Hiervoor moet de video polariteit op "inverse"staan. Telkens als de 13cm band wordt gekozen, wordt nu de video polariteit weer op Inverse gezet.

Keuze Philips of Sharp tuner & add-on modules.

In de setup van het programma zit een deel waar gekeken wordt of de verschillende I2C chips aanwezig zijn (of ze een ACK afgeven na aanroep) Op basis van de resultaten wordt een variabele "hw_conf_reg gevuld.In het verdere programma worden keuzes gemaakt hoe de tuner bestuurd moet worden en of er iets met de add-on code gedaan moet worden. (zie regel 173 t/m 214) Bij regel 925 t/m 954 is te zien hoe hiervan gebruik gemaakt wordt om de tuner code te kiezen.

Gebruik:

Bij inschakelen wordt de laatst gebruikte band en frequentie ingesteld. Door aan de rotary encoder te draaien kan een andere freqentie worden ingesteld. Door op de druktoets van de rotary encoder te drukken kom je in de favorieten mode. Door aan de knop te draaien kun je een van de tien favorieten kiezen. Nogmaals drukken en je komt weer in de normale frequentie instel mode.

Door op de "Menu" toets te drukken kom je in het instelmenu. Hier kun je de audio carrier frequentie, de gebruikte LO frequentie, video zwaai en vele andere zaken instellen. Je kunt je keuze vastleggen door op de drukknop van de rotary encoder te drukken. Dan kom je weer in de frequentie-mode. Wil je nog meer instellen moet je weer opnieuw de Menu toets gebruiken.

Een speciale menu-optie is de favorieten instelling. Om die te gebruiken moet je eerst op de hierboven beschreven manier alle instellingen maken om een bepaald kanaal te ontvangen (bijvoorbeeld een lokale repeater) Asl beeld en geluid naar wens zijn ga dan naar het favorieten instel menu. Je kunt dan eerst een nummer tussen 1 en 10 kiezen onder welke je de favoriet wilt vastleggen. Na deze keuze kun je er een zelfgekozen naam aan geven, dit staat default op Memory 1~10 maar met de rotary encoder en de Menu toets kun je de naam wijzigen. Zodra je op de drukknop drukt van de rotary encoder dan wordt de keuze vastgelegd.

Lo frequenties: Voor 23cm kan geen LO worden ingesteld, dit valt immers binnen het normale afstembereik van de tuner. Voor 13 en 6 cm moet eerst een keuze worden gemaakt voor boven of onder menging. Daarna kan de LO frequentie worden ingesteld. Voor 3cm kan alleen met ondermenging worden gewerkt.

Code: ATVRx_4.ino (in Download)