logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Atmega 8 i TSA6057 - Program do sterowania syntezą

amiernik 10 Lis 2014 22:58 1920 6
REKLAMA
  • #1 14120034
    amiernik
    Poziom 12  
    Witam,
    proszę o pomoc w rozwiązaniu problemu z programem na Atmegę8 do sterowania syntezą TSA6057. Zbudowałem tuner radiowy na CXA1238 i teraz prubuję dorobić syntezę. Przejrzałem już tematy związane z TSA 6057 i staram się wykorzystać jeden z zamieszczonych na elektrodzie softów do w/w sterownia. Niestety nie udaje mi się zaprogramować poprawnie TSA6057, na wyjściu napięcia varicapowego dla zakresu 30 - 150 MHz mam cały czas 11,5 V ( 13 noga TSA). Ponizej kod w Bascomie. Z góry bardzo dziękuję za zainteresowanie i wszelką pomoc w rozwiązaniu problemu.

    $regfile = "m8adef.dat"
    $lib "I2C_TWI.LBX"
    $crystal = 4000000
    Config Pind.7 = Input
    Portd.7 = 1
    X_gora Alias Pind.7

    Config Pind.6 = Input
    Portd.6 = 1
    X_dol Alias Pind.6

    Config Sda = Portc.4
    Config Scl = Portc.5
    I2cinit
    Config Twi = 100000

    Dim Temp As Long
    Dim Freq As Long
    Dim Freq_temp As Long
    Dim Temp2 As Word
    Dim Pokazanafstr As String * 10
    Dim Pokazanaff As String * 10
    Dim Pokazanaf As Long
    Dim Ustaw_pomoc1 As Byte
    Dim Ustaw_pomoc2 As Byte
    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Db4 = Portd.5 , Db5 = Portd.4 , Db6 = Portd.3 , Db7 = Portd.2 , E = Portd.1 , Rs = Portd.0
    Declare Sub I2c
    '######################################################################################################
    Const Freq_pcz = 10700 'pcz
    Const Krok = 10 'krok
    Const Scan_up = 108000 'gorna
    Const Scan_dn = 88000 'dolna
    Freq = 96000 'po wlaczeniu
    '######################################################################################################
    Cls
    Lcd " FM "
    Cursor Off
    Wait 1

    Do
    Gosub Licz
    Loop
    End

    Licz:
    If Freq > Scan_up Then Freq = Scan_dn 'Dol Przestrajania
    If Freq < Scan_dn Then Freq = Scan_up 'gora Przestrajania
    If X_dol = 0 Then Gosub W_dol : Gosub I2c
    If X_gora = 0 Then Gosub W_gore : Gosub I2c
    Freq_temp = Freq + Freq_pcz
    Pokazanaf = Freq
    Pokazanaff = Str(pokazanaf)
    Pokazanafstr = Format(pokazanaff , "000.000")
    Pokazanaff = Pokazanafstr


    If Pokazanaf < 10000 Then
    Locate 2 , 2
    Lcd " "
    Locate 2 , 3
    Else
    Locate 2 , 2
    End If
    Lcd Pokazanaff : Lcd " MHz"
    Return

    W_gore:
    Freq = Freq + Krok
    Gosub I2c
    Waitms 100
    Return

    W_dol:
    Freq = Freq - Krok
    Gosub I2c
    Waitms 100
    Return

    I2c:
    Temp = Freq_temp / Krok
    Temp2 = Temp
    Rotate Temp2 , Left , 1
    Ustaw_pomoc1 = Low(temp2)
    Ustaw_pomoc1.0 = 1
    Ustaw_pomoc2 = High(temp2)
    I2cstart : I2cwbyte 196 : I2cwbyte 0
    I2cwbyte Ustaw_pomoc1
    I2cwbyte Ustaw_pomoc2
    I2cwbyte &B01100100 '
    I2cwbyte 0 : I2cstop
    Waitms 100

    Return
  • REKLAMA
  • #2 14120167
    M. S.
    Poziom 34  
    Hmm. Czy to na pewno program jest winien? Takie objawy daje też niedostrojenie generatora. Może o tym coś kolega napisze.
  • REKLAMA
  • #3 14120193
    amiernik
    Poziom 12  
    Nie wiem co kolego M.S masz na myśli? Radio działa normalnie gdy zamiast syntezy podam napięcie strojenia z potecjometru. Dla zakresu strojenia od 1 do 11 V mam pasmo od ok. 90 Mhz do 107 MHz.
  • REKLAMA
  • #4 14121662
    sp3ots
    Poziom 38  
    Witam !
    Pokaż schemat dokładnego podłączenia linii I2C i pinu odpowiedzialnego za adres ( TSA6057 ).
    Czy na wyświetlaczu zmienia się częstotliwość gdy sterujesz przyciskami ?
  • REKLAMA
  • #5 14121800
    amiernik
    Poziom 12  
    Witam,
    wiem już że to faktycznie nie jest wina programu a sygnału VCO na 5 nodze TSA (podpiąłem głowicę T10 i pojawiło sie zmieniające się napięcie Varicapowe. Także skaner działa i programowanie TSA 6057 też jest poprawne. Sygnał VCo biorę z 22 nóżki CXA1238 przez 3 pF (choć prubowałem też przez inne pojemności ale dalej bez efektu ) Aktualnie kombinuję jak pobrać sygnał z częstotliwością heterodyny beż zmiany tej częstotliwości. W załączeniu schemat radio plus synteza. Sterowanie na Atmega8.










    9
  • #6 14122350
    M. S.
    Poziom 34  
    Cytat:
    Nie wiem co kolego M.S masz na myśli? Radio działa normalnie gdy zamiast syntezy podam napięcie strojenia z potencjometru.


    No właśnie o to chodziło.

    Czy aby poziom sygnału na wejściu syntezy nie jest zbyt mały?
  • #7 14566233
    amiernik
    Poziom 12  
    Witam,

    problem rozwiązało zastosowanie zaekranowanej głowicy UKF.
    Dziękuję wszystkim za zainteresowanie i pomoc.
    Temat zamykam.
REKLAMA