notlar.im
English

Yıllanmış uSDX Projesi: Boş İşlemciden Çalışan Alıcıya

~5 dk okuma
İçindekiler

Yıllar önce hevesle toplayıp, güç verdiğimde ekranda hiçbir şey göremeyince bir kenara kaldırdığım uSDX V1.02 kartını geçenlerde tekrar çekmeceden çıkardım. uSDX, Guido PE1NNZ’nin tasarımı olan, ATmega328P tabanlı bir HF QRP SDR telsiz. Bendeki PCB ise Barbaros Aşuroğlu’nun (WB2CBA) V1.02 versiyonu. Bu yazı, o zamanlar pes ettiğim bu kartı sadece bir UNI-T UT89X multimetre ve NanoVNA kullanarak nasıl hayata döndürdüğümün hikayesi. Ortada osiloskop falan yok, sadece bolca deneme yanılma ve inat var. Belki benzer bir durumla karşılaşanlara faydası dokunur.

İlk Kriz: Ekran Yok, Çünkü İşlemci Boş

Gücü veriyorum, LCD’nin arka ışığı yanıyor ama ekranda tık yok. Elimde üç tane ATmega328P vardı, o zamanlar “bunları herhalde bozdum” deyip kenara ayırmışım.

Çipleri teker teker soketli bir Arduino Uno’ya takıp normal yoldan USB üzerinden kod yüklemeyi denedim. Üçünde de klasik not in sync hatasını aldım. Ama bu hatayı almak çipin yandığı anlamına gelmiyor aslında. Arduino’nun bootloader’ı olmayan, fabrikadan yeni çıkmış tertemiz bir çip de aynı hatayı veriyor. Yani sorunun kaynağı çipin ölmesi değil, belki de tamamen boş olmasıydı. Zaten kartın yıllardır çekmecede yatmasının asıl sebebi de buymuş: İçinde yazılım olmayan bir işlemciyle telsizi çalıştırmaya çalışmak!

Emin olmak için ikinci bir Arduino Uno’yu “Arduino as ISP” programlayıcısı olarak ayarlayıp çipe bağlandım ve imza okumayı denedim:

Device signature = 1E 95 0F (ATmega328P)

Evet, çip sapasağlamdı ama bomboştu. (Diğer iki çip ise gerçekten ölüymüş, saçma sapan imzalar döndürdüler.)

Bootloader ile uğraşmak yerine telsizin firmware’ini doğrudan ISP ile bastım. uSDX’in 20 MHz’lik kristaline uygun şekilde fuse ayarlarını da hallettim:

avrdude -c stk500v1 -P /dev/cu.usbserial-110 -b 19200 -p m328p \
  -U flash:w:uSDX_25mhz.hex:i \
  -U efuse:w:0xFD:m -U hfuse:w:0xDF:m -U lfuse:w:0xFF:m

Burada ufak bir detay var: Si5351 modülündeki kristal 25 MHz mi, 27 MHz mi ona dikkat etmek gerekiyor. Yanlış yazılımı yüklerseniz frekanslar kayıyor. Benim modül 25 MHz’likti, ona göre yükledim. Çipi yerine taktım, ekran geldi, encoder ile frekans değişmeye başladı. Dijital kısımla işimiz bitti.

Antensiz Alıcı Mı Olur?

uSDX V1.02 tasarımında filtreler ve güç amplifikatörü (PA) tak-çıkar şeklinde ayrı bir modülün üzerinde. Benim elimde hazırda toplanmış bir modül yoktu. KiCad şemalarını incelerken fark ettim ki alıcının sinyal yolu da bu modülden geçiyor! Yani modül takılı değilken anten girişi aslında havada kalıyor. Kulaklığı taktığımda duyduğum o boş dip gürültüsünün sebebi bir arıza değil, bizzat tasarımın kendisiymiş.

Geçici bir çözüm olarak modül soketindeki (U9) anten piniyle RX girişini ufak bir tel ile birbirine köprüledim. Bu sayede sinyal filtre olmadan da olsa devrede dolaşmaya başladı. Tabii bu haliyle cihaz inanılmaz geniş bantlı oldu, ne var ne yok her şeyi duyuyor. Bir de bu köprü takılıyken sakın PTT’ye basmamak lazım, aksi halde PA modülü (zaten yok ama) gücü basacak yer bulamaz.

Multimetre ile Lokal Osilatör Testi

Benim multimetrenin (UT89X) frekans sayacı 10 MHz’e kadar ölçüm yapabiliyor. Si5351’in çıkışları kadrandaki frekansla aynı çalıştığı için şöyle ufak bir hile yaptım: Telsizi 3.500 MHz’e ayarladım ve multimetrenin probunu CLK0 pinine değdirdim. Ekranda 3.500 MHz’i görünce üç şeyden emin oldum: İletişim (I2C) sorunsuz çalışıyor, osilatör sinyal üretiyor ve az önce yüklediğim yazılım doğru.

Eğer elinizde frekans sayacı yoksa bile saat sinyalinin orada olup olmadığını DC voltmetre ile de kabaca anlayabilirsiniz. 3.3V’luk bir kare dalga multimetrede ortalama 1.5 - 1.7V civarı bir değer gösterir. Çıkışta bu voltajı görmek, en azından orada “bir şeylerin” döndüğünün kanıtıdır.

NanoVNA’yı Sinyal Jeneratörü Olarak Kullanmak

Alıcıyı test etmek için zayıf bir RF kaynağına ihtiyacım vardı ve NanoVNA’nın CW (sürekli dalga) modunda harika bir test vericisine dönüştüğünü hatırladım. Yalnız ufak bir tuzağa düştüm: NanoVNA açıldığında varsayılan olarak “sweep” (tarama) modunda başlıyor. Frekans sürekli değiştiği için telsizde hiçbir şey duyulmuyor. Menüden STIMULUS -> CW FREQ yaparak tek bir frekansa (örneğin 5.000 MHz) sabitlemek gerekiyor.

Telsizi de 4.999.00 USB’ye ayarladığımda kulaklıktan o meşhur ~1 kHz’lik CW düdük sesini duydum. Ses geliyordu ama inanılmaz zayıftı, ekrandaki S-metre -116 dBm seviyelerindeydi. NanoVNA gibi güçlü bir kaynağı doğrudan bağladığımda 100 dB’den fazla kaybın olması normal değildi. Belli ki sinyal, yolun bir yerinde kopuyor ve sadece etraftaki kaçak kapasitans üzerinden sızarak alıcıya ulaşıyordu.

Suçlu Bulundu: FST3253’ün 9 Numaralı Pini

Sinyalin nerede koptuğunu bulmak için NanoVNA’nın ucunu şemadaki test noktalarına sırayla değdirdim (TP4, TP3 ve anten). Üçünde de ses aynı zayıflıktaydı. Bu da sorunun anahtarlama entegresi olan QSD tarafında olduğunu gösteriyordu.

Karttaki voltajları ölçtüğümde işin rengi belli oldu. Normalde op-amp çıkışlarının dengeli bir şekilde orta voltajda (yaklaşık 2.5V) sabit durması gerekirken, bende voltajlar 0 ile 3.6V arasında kafasına göre geziyordu. FST3253’ün bacaklarını ölçerken asıl sorunu yakaladım: Entegrenin anten girişine denk gelen 9 numaralı bacağında 3.6V vardı ama PCB üzerindeki yol 5V gösteriyordu. Lehim tutmamış, bacak havada kalmış!

Zamanında aynı entegrenin başka bacaklarını da düzeltmeye çalışmışım, belli ki lehimlemesi en eziyetli kısımlardan biri bu. Havyayla 9 numaralı bacağın lehimini tazeledikten sonra tüm voltajlar uslu uslu 2.5V civarına oturdu. NanoVNA’yı tekrar bağladığımda kulaklıklardan gelen ses resmen gümbür gümbürdü!

Son Ayar: Frekans Kalibrasyonu

Her şey çalışınca kadrandaki frekansın doğruluğunu ayarlamak kaldı. Si5351 kristallerinin frekanslarında ufak sapmalar olabiliyor, bunu yazılım üzerinden Ref freq parametresiyle düzeltmek gerekiyor.

NanoVNA 5 MHz basarken, telsizden gelen sinyalin tonunu sıfıra indirmeye (zero-beat) çalıştım. Ama 5 MHz’de kulağın duyamadığı o ince farklar yanıltıcı olabiliyor. Bu testi 14 MHz’de yapmak çok daha mantıklı; çünkü hata payı da frekansla birlikte büyüyor ve ayar yapmak kolaylaşıyor. Birkaç denemeden sonra referans değerini 24999700 olarak buldum. Kristal beklenenden sadece 12 ppm aşağıdaymış, hiç fena değil.

Sırada Ne Var?

Alıcıyı hayata döndürmek keyifliydi. Tabii iş burada bitmiyor; pille çalışırkenki dip gürültüsüne bakmam lazım, 20m bandı için filtre modülünü sarıp NanoVNA ile test edeceğim ve 50 ohm dirençlerle kendi sahte yükümü (dummy load) yapıp verici (TX) kısmını ayarlayacağım. Onlar da muhtemelen bir sonraki yazının konusu olur.

Benzer yazılar

Ara

Klavyeden ⌘K veya Ctrl+K ile her sayfada açılır.