Download as pdf or txt
Download as pdf or txt
You are on page 1of 13

Projekt SYNTEZA LM7001

Synteza czstotliwoci na ukadzie PLL LM7001

1 mgr in. Bogdan PIETRZAK SQ1FTB (http://sq1ftb.com)

Projekt SYNTEZA LM7001

o zaprojektowania i skonstruowania syntezy czstotliwoci, jak to zazwyczaj bywa, zachcia mnie dostpno na rynku radiotelefonw starszych typw. Do zastosowa amatorskich doskonale nadaj si radiotelefony, ktrych generatory zbudowane s w oparciu o rezonatory kwarcowe. Podstawow wad takich radiotelefonw, jest konieczno posiadania tylu kwarcw, ile kanaw zamierzamy uywa. Biorc pod uwag nisk cen starszych radiotelefonw oraz zastosowanych elementw uytych do wykonania syntezy, produkt finalny w postaci dziaajcego w pamie amatorskim urzdzenia, powinien sprosta wymogom potencjalnego uytkownika.

Przy projektowaniu syntezy przyjem nastpujce zaoenia: 1. Prosta konstrukcja wykonanie syntezy nie powinno wymaga szczeglnych kwalifikacji w dziedzinie montau urzdze elektronicznych. 2. Dostpno uytych elementw wikszo elementw znajduje si w szufladzie kadego elektronika. 3. Nieskomplikowany proces uruchomienia urzdzenia do prawidowego uruchomienia urzdzenia nie potrzeba wyrafinowanej aparatury pomiarowej. 4. Uniwersalno urzdzenie moe wsppracowa z wieloma typami radiotelefonw a take moe stanowi gwny element urzdzenia budowanego od podstaw. 5. Moliwo ewentualnej rozbudowy poprzez modyfikacj oprogramowania sterujcego prac syntezy, mona uzyska wiele dodatkowych funkcji.

W celu atwiejszego wykonania urzdzenie zaprojektowano w technice montau przewlekanego, rezygnujc z najbardziej obecnie modnej i w sumie najbardziej zaawansowanej technologii montau powierzchniowego. Gwn przyczyn takiej konstrukcji jest moliwo wykonania urzdzenia przez starszych elektronikw, ktrzy raczej nie posiadaj zarwno praktyki jak i urzdze niezbdnych do realizacji ukadw w tej technologii. Urzdzenie wykonano na pytce z laminatu szklano-epoksydowego zachowujc wymiary typowego moduu stosowanego w radiotelefonach produkowanych prze RADMOR.

2 mgr in. Bogdan PIETRZAK SQ1FTB (http://sq1ftb.com)

Projekt SYNTEZA LM7001

Budowa i zasada dziaania syntezy.


I. Schemat blokowy syntezy.

F wyj GENERATOR SEILERA

PTLA PLL LM7001

STEROWNIK MIKROPROCESOROWY ATMEGA 8

ENKODER ZMIANA CZSTOTLIWOCI

WYWIETLACZ 2x16

Oglna zasada dziaania syntezy: Synteza jest zbudowana w oparciu o generator Seilera, ktrego gwnym elementem zmieniajcym i stabilizujcym czstotliwo pracy, jest zesp dwch diod pojemnociowych. Stabilizacj czstotliwoci generatora realizuje ptla PLL (ukad scalony LM7001), sterowana mikroprocesorem ATMega8. Do podstawowych funkcji sterownika nale: Stabilizacja wybranej czstotliwoci generatora Wybieranie dowolnej czstotliwoci pracy syntezy z zakresu 144 MHz 146 MHz Automatyczne uwzgldnianie czstotliwoci poredniej 10.7MHz przy odbiorze Wsppraca z przemiennikami Nadawanie litery K przy puszczeniu przycisku PTT (wybr opcjonalny) Nadawanie wasnego znaku stacji co 30 minut (opcjonalnie)

Do prawidowej pracy, synteza wymaga zasilania napiciem stabilizowanym +12V wzgldem masy.

3 mgr in. Bogdan PIETRZAK SQ1FTB (http://sq1ftb.com)

Projekt SYNTEZA LM7001

2. Program rdowy mikrokontrolera ATMega8


$regfile = "m8def.dat" 'informuje kompilator o pliku dyrektyw $crystal = 7200000 'kwarc dla lm7001 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5 Config Timer1 = Timer , Prescale = 256 On Timer1 Licz_1s Config Pinb.0 = Input Cha Alias Pind.2 Chb Alias Pind.3 Config Cha = Input Config Chb = Input Config Portd.5 = Input Config Portb.2 = Output Config Portd.0 = Output Config Portd.1 = Output Config Portd.4 = Output Reset Portd.0 Reset Portd.1 Reset Portd.4 Reset Portb.2 Set Portb.0 Set Portd.5 Declare Sub Synteza Declare Sub Zegarek Declare Sub Wyswietlaj Declare Sub Roger Declare Sub Znak Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim A As Byte Freq As Word Sterowanie As Byte Wynik As Long Pcz As Word Fpom As Word Rpt As Byte Zmiana As Bit S_roger As Bit Kropka As Byte ' przygotowanie timera do zliczania odcinkw 1s ' program obsugi timera 'wejcie PTT z mikrofonu ' piny dla encodera ' piny dla encodera ' ustawione jako wejcia ' ' port dla przycisku TON 1750 Hz ' port sterowania przekanikiem nadawania ' Data pin5 lm7001 ' Clock pin4 lm7001 ' CE pin3 lm7001 ' wstpne ustawienie stanw na portach ' porty transmisyjne ustawione na zero ' ' port od PTT na 1 ' port dla TON na 1 ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' program program syntezy program program program przesyania danych do syntezy zegara taktujcego zapis do wywietlajcy rogera - litera K morse generowania znaku sq1ftb

zmienna dla petli FOR zmienna ustawiajca czstotliwo LM7001 zmienna ustawiajca parametry LM7001 zmienna wywietlajca czstotliwo czstotliwo poredniej zmienna do przesania danych do syntezy praca z przemiennikiem wskanik zmiany nastawy wskanik roger-beepa czas trwania kropki

4 mgr in. Bogdan PIETRZAK SQ1FTB (http://sq1ftb.com)

Projekt SYNTEZA LM7001

Dim Dim Dim Dim

Kreska As Byte Sekundy As Word Nadaj_znak As Bit Czas_znaku As Word

' ' ' ' ' ' ' ' '

czas trwania kreski licznik sekund zezwolenie nadawania znaku czas do nadania znaku w sekundach fodb=(145550-10700)/25=5394 dodanie pcz do freq nadawczej nie byo zmiany od encodera roger nie bdzie wykonywany trwanie kropki 30ms

Freq = 5394 Pcz = 428 Zmiana = 0 S_roger = 0 Kropka = 70 Kreska = Kropka * 3 Sekundy = 0 Czas_znaku = 1800

' licznik sekund ustawiony na zero ' znak nadawany co 30 minut od ostatniego ' PTT

Config Int0 = Falling Const Debouncetime = 1 Set Chb On Int0 Getencoder Enable Interrupts Enable Int0 Enable Timer1 Counter1 = 28125 Cursor Off Call Synteza Cls Lcd "SQ1FTB synteza" Wait 1 Call Znak

' kana B dla encodra na 1 ' program dla przerwania encodera

' zaadowanie timera ' wyczenie kursora ' ustawienie LM7001

'------------ gwna ptla programowa ---------------------------------Do If Nadaj_znak = 1 Then Call Znak End If If Pind.5 = 0 Then Waitms 300 If Pind.5 = 0 Then If S_roger = 0 Then S_roger = 1 Else S_roger = 0 Call Wyswietlaj End If End If

5 mgr in. Bogdan PIETRZAK SQ1FTB (http://sq1ftb.com)

Projekt SYNTEZA LM7001

If Pinb.0 = 0 Then Sekundy = 0 Set Portb.2 Call Synteza While Pinb.0 = 0 If Pind.5 = 0 Then Sound Portb.1 , 800 , 343 End If Set Pind.5 Wend If S_roger = 1 Then Call Roger End If Reset Portb.2 Call Synteza End If If Zmiana = 1 Then Call Synteza Zmiana = 0 End If Loop End '---------------------------------------------------------------Licz_1s: Counter1 = Counter1 + 28125 Incr Sekundy If Sekundy = Czas_znaku Then Nadaj_znak = 1 Sekundy = 0 End If Return '---------------------------------------------------------------Getencoder: Waitms Debouncetime If Cha = 0 Then If Chb = 0 Then Incr Freq Else Decr Freq End If Zmiana = 1 Gifr = 64 Return '----------------------------------------------------------------

6 mgr in. Bogdan PIETRZAK SQ1FTB (http://sq1ftb.com)

Projekt SYNTEZA LM7001

Sub Zegarek Waitus 10 Set Portd.1 Waitus 10 Reset Portd.1 Waitus 10 End Sub '---------------------------------------------------------------Sub Synteza 'sterowanie = &B10010000 '1kHz 'Sterowanie = &B10010000 '10 kHz Sterowanie = &B10100000 '25 kHz 'Sterowanie = &B11000000 '50 kHz 'Sterowanie = &B10000000 '100 kHz If Freq >= 5396 And Freq <= 5403 Then Rpt = 1 Else Rpt = 0 End If If Portb.2 = 1 Then Fpom = Freq + Pcz If Rpt = 1 Then Fpom = Fpom 24 End If Else Fpom = Freq End If Reset Portd.1 ' Set Portd.4 ' For A = 0 To 13 ' If Fpom.a = 1 Then ' Set Portd.0 Else Reset Portd.0 End If Call Zegarek ' Next A ' Reset Portd.0 ' Call Zegarek ' Reset Portd.0 ' Call Zegarek ' For A = 0 To 7 ' If Sterowanie.a = 1 Then Set Portd.0 Else ustawienie lini CL=0 ustawienie lini CE=1 wysyanie bitw czstotliwoci bit po bicie

D0 - D13

po kadym bicie takt zegara wysanie T0=0 takt zegara wysanie T1=0 takt zegara wysyanie bitw sterujcych LM7001 ' B0,B1,B2,TB,R0,R1,R2,S

7 mgr in. Bogdan PIETRZAK SQ1FTB (http://sq1ftb.com)

Projekt SYNTEZA LM7001

Reset Portd.0 End If Call Zegarek ' po kadym bicie takt zegara Next A ' Reset Portd.4 ' koniec transmisji CE=0 Call Wyswietlaj ' wywietlenie nowej czstotliwoci End Sub '------------------------------------------------------------------Sub Wyswietlaj Cls Wynik = Freq + Pcz Wynik = Wynik * 25 ' 25kHz - krok syntezy If S_roger = 1 Then Lcd "SQ1FTB beep" Else Lcd "SQ1FTB synth" End If If Portb.2 = 1 Then Lcd " NAD" Else Lcd " ODB" End If Lowerline Lcd Wynik If Rpt = 1 Then Lcd " MHz [RPT]" Else Lcd " MHz" End If End Sub '-----------------------------------------------------------------Sub Roger Sound Portb.1 , Kreska , 343 Waitms Kropka Sound Portb.1 , Kropka , 343 Waitms Kropka Sound Portb.1 , Kreska , 343 Waitms Kreska End Sub '-----------------------------------------------------------------Sub Znak Set Portb.2 Call Synteza Waitms Kreska
8 mgr in. Bogdan PIETRZAK SQ1FTB (http://sq1ftb.com)

Projekt SYNTEZA LM7001

' litera s Sound Portb.1 , Kropka , 343 Waitms Kropka Sound Portb.1 , Kropka , 343 Waitms Kropka Sound Portb.1 , Kropka , 343 Waitms Kreska ' litera q Sound Portb.1 Waitms Kropka Sound Portb.1 Waitms Kropka Sound Portb.1 Waitms Kropka Sound Portb.1 Waitms Kreska ' cyfra 1 Sound Portb.1 Waitms Kropka Sound Portb.1 Waitms Kropka Sound Portb.1 Waitms Kropka Sound Portb.1 Waitms Kropka Sound Portb.1 Waitms Kreska

, Kreska , 343 , Kreska , 343 , Kropka , 343 , Kreska , 343

, Kropka , 343 , Kreska , 343 , Kreska , 343 , Kreska , 343 , Kreska , 343

' litera f Sound Portb.1 Waitms Kropka Sound Portb.1 Waitms Kropka Sound Portb.1 Waitms Kropka Sound Portb.1 Waitms Kreska

, Kropka , 343 , Kropka , 343 , Kreska , 343 , Kropka , 343

' litera t Sound Portb.1 , Kreska , 343 Waitms Kreska ' litera b Sound Portb.1 , Kreska , 343 Waitms Kropka
9 mgr in. Bogdan PIETRZAK SQ1FTB (http://sq1ftb.com)

Projekt SYNTEZA LM7001

Sound Portb.1 , Kropka , 343 Waitms Kropka Sound Portb.1 , Kropka , 343 Waitms Kropka Sound Portb.1 , Kropka , 343 Waitms Kreska Nadaj_znak = 0 Reset Portb.2 Call Synteza End Sub

Przedstawiony powyej program rdowy nie wyczerpuje wszystkich potencjalnych moliwoci mikroprocesora ATMega8. Waciwie mona powysze rozwizanie przyj jako wyjcie do dalszych eksperymentw z syntez. Potencjalni konstruktorzy powinni mie przynajmniej podstawowe umiejtnoci zwizane z programowaniem mikrokontrolerw oraz takie samo przygotowanie zwizane z konstrukcj i uruchamianiem urzdze elektronicznych.

3. Pytka drukowana syntezy

Rys.1 Przykadowa pytka drukowana syntezy (widok lustrzany)

10 mgr in. Bogdan PIETRZAK SQ1FTB (http://sq1ftb.com)

Projekt SYNTEZA LM7001

4. Schemat ideowy syntezy

11 mgr in. Bogdan PIETRZAK SQ1FTB (http://sq1ftb.com)

Projekt SYNTEZA LM7001

Uwagi oglne:

12 mgr in. Bogdan PIETRZAK SQ1FTB (http://sq1ftb.com)

Projekt SYNTEZA LM7001

Wszystkie rozwizania przedstawione w projekcie podlegaj ochronie praw autorskich i stanowi wyczn wasno intelektualn autora. Jakiekolwiek publikowanie i rozpowszechnianie lub zastosowanie komercyjne wymaga zgody autora. Poniewa urzdzenie naley do grupy urzdze zwizanych z dziaalnoci radioamatorsk, a zatem dziaaniem hobbystycznym, autor nie roci sobie adnych praw w przypadku wszelkich amatorskich zastosowa syntezy. Przez amatorskie zastosowanie naley rozumie wykonanie na wasne potrzeby, potrzeby kolegw lub klubw. Autor nie gwarantuje wsparcia technicznego. Wszelkie zapytania naley kierowa na e-mail: sq1ftb@hot.pl

Errata: -poprawiono linie zasilania wzmacniacza napicia Varicap. -opisano kondensator filtra napicia sterowania Varicap

13 mgr in. Bogdan PIETRZAK SQ1FTB (http://sq1ftb.com)

You might also like