MV-48XX MODİFİKASYON
HİKAYEMİZ ve TEKNİK ÖZETİMİZ
Yıllar önce İVEDİK Hurdalığından bir ASELSAN 4822 telsiz satın almıştım. Üzerinde Intel 80C31 işlemcisi olan ve programı EPROM üzerinden okuyan bir telsiz. EPROM’una amatör frekansları programlayıp bir müddet kullandıktan sonra kaldırdım. Aklımda hep mevcut yazılımın bir şekilde değiştirmek vardı. EPROM’daki kodu decompile ederek ASM kodlarını okuyup ne yaptığını anlamaya çalıştım ama sonra vazgeçtim.
Bu yazıda bu telsizi yeniden hayata döndürmemin hikayesi ile birlikte ASELSAN 4800 serisi telsizin anlatabileceğim tüm teknik altyapısını anlatmaya çalışacağım. Bu teknik altyapıyı anlatırken, bir yandan da telsize nasıl bir modifikasyon yapabileceğinizi de anlatacağım. Yazının sonuna geldiğinizde;
• Frekans girişi tuş takımından yapılan,
• 99 hazfıza kanalını ön panelinden girebildiğimiz/seçebildiğimiz,
• Tone, Squelch gibi ayarları yapabildiğimiz,
• Anten analizörü olaak kullanabildiğimiz,
Neredeyse güncel telsizlerden fazlası olan, eksiği olmayan bir telsiz sahibi olmuş olacaksınız.
BU yazının ilgilenen arkadaşlarımıza yol gösterici ve ilham verici olmasını diliyor, bu çalışmayı ve benzerlerini benim bıraktığım yerden alıp daha ileriye götürmelerini diliyorum.
Taa ki geçen yıl telsizi masanın altından çıkarıp, ne yapabilirim sorusuna tekrar takılana kadar. Önce sıfırdan EPROM’a telsii çalıştıracak programı yazmaya çalıştım. Ekranına bir harf yazana kadar yaklaşık 1 (bir) ay uğraştım. Çünkü süreç çok uzundu; önce EPROM’u siliciye koyup 15-20 dakikada siliyodum, sonra yazdığım programı EPROM’a yazıp takıyordum ve genelde hep bir hata oluyordu. Başa dönüyordum. 27Cxxx serisi EPROM ile bu işin ilerlemeyeceğini anlayıp FLASH 28xxx serisi FLASH lara geçmeye karar verip ÇİN’den 20 tane flash siparişi verdim, şans bu ya flash lar bir kere programlanabilir olan OTP (one time programmable) çıktı. Ümidim kırılmıştı, vazgeçmek üzereydim.
INTEL 80C31/32 işlemcisini programlama yerine (aslında biraz nostalji ve esk günleri hatırlamak için bunu çok arzu ediyordum ama başladığım iş de yarım kalmamalıydı), işlemciyi içinde FLASH olan ve hızlı programlanabilen bir işlemci ile değiştirmeye karar verdim. Önce PIC işlemci kullanmayı düşündüm, ama piyasada son dönemlerde oldukça taraftarı olan ve uygun fiyata bulunacak ATMEL/ARDUINO işlemcilerinden birini kullanmaya karar verdim.
Bu yazıda telsizin teknik detaylarına işimize yetecek kadar ve üst düzeyli olarak değineceğim. Çok daha detaylı bilgileri özenle hazırlanmış “ASELSAN MV4822/4826 BAKIM ONARIM KİTABI”nda bulabilirsiniz.
Önce ekrana bir şeyler yazdırma hedefi ile başladım. Ekran ve tuş takımının olduğu “KAFA” diyebileceğimiz bölüm aslında ayrık ve tek başına çalışabilen bir bölüm. Besleme voltajlarını verdikten sonra işlemci ile konuştuğu 2 tel I2C hattı üzerinden tuş takımı entegresi ile ve LCD entegresi ile haberleşebiliyorsunuz. Genel olarak “KAFA”nın şeması aşağıdaki gibidir.
İlk denemem arduino’da birkaç satır kod yazıp ekrana yazı göndermeye çalışmak oldu. Yazı direk yazılamıyordu çünkü ASELSAN’ın LCD si kendi özel bağlantısına sahipti ve hangi uç nereye gidiyor kısmını çözmek oldukça vakit aldı. Ama sonunda ekrana istediğimi yazdırabilir ve tuş takımından girilenleri okuyabilir duruma gelmiştim. PCF serisi I2C’den Input/OUTPUT a çeviren entegreler ASELSAN 4800 serisinde bu tür işlerin kalbini oluşturuyor.
Yukarıda görünen display’in toplamda 144 parçası olup bunların hepsi I2C üzerinden kontrol edilen PCF8576 üzerinden kontrol edilmektedir.
Yukarıdaki display’i kontrole edecek basit bir Arduino kodu aşağıdaki gibi olacaktır;
(NOT: I2C yapısı cihazın en kompleks bölümü olup bunun bile birkaç satır Arduino kodu ile yapılabileceğini göstermek amacı ile bu bölüm için kod örneği verilmiştir, tüm yapının kodları ileride paylaşılacaktır.)
#include <Wire.h>
#define NEXTCMD 128
#define MODESET 64
#define MODE_NORMAL 0
#define MODE_POWERSAVING 16
#define DISPLAY_DISABLED 0
#define DISPLAY_ENABLED 8
#define BIAS_THIRD 0
#define BIAS_HALF 4
#define DRIVE_STATIC 1
#define DRIVE_2 2
#define DRIVE_3 3
#define DRIVE_4 0
byte set_modeset = MODESET | MODE_POWERSAVING | DISPLAY_ENABLED | BIAS_THIRD | DRIVE_4; // default init mode
setup() {
Wire.beginTransmission(0x038); //I2C Adresimiz 0x38
Wire.beginTransmission(PCF8576_LCD);
Wire.write(NEXTCMD | set_modeset);
Wire.write(NEXTCMD | set_deviceselect);
Wire.write(NEXTCMD | set_blink);
Wire.write(LASTCMD | set_datapointer);
for (int i=0;i<20;i++) Wire.write(B11111111);
Wire.endTransmission();
}
loop() {
}
LCD’ye birşeyler yazdırdıktan sonra çok benzer bir şekilde 0x20 adresindeki PCF8574 keyboard entegresinden veri okunabilir, ya da 0x21 adresinde yer alan PCF8574 keyboard ledleri yakılabilir.
Bundan sonra yapılabilecek en kolay şey aynı hat üzerine bağlı olan EEPROM ile denemeler yapılabilir.
Sisteme müdahalemizi genel olarak aşağıdaki gibi gösterebiliriz;
Yaptıklarımızı özetleyecek olursak;
• INTEL80C32 işlemcisini söküyoruz, 27C256 EPROM’unu söküyoruz, 8051 port çoğullayıcıyı söküyoruz
• Bu sökülen entegreler ile kontrol edilecek işleri artık ARDUINO NANO ile yöneteceğiz, bu nedenle bağlantıları nanomuza bağlupyoruz,
• PLL kontrolü için SPI haberleşmesi yapacağız (sağ alt bölüm),
• Alıcı aktif olduğunda hoparlörü açmak için IO bağlantısı,
• Watchdog ile çalışma sürekliliğimizi sağlamak,
• Antene giden ve dönen siyanli “directional coupler” üzerinden okumak,
• Alma ve göndermeyi algılayarak PLL/VCO frekanslarını ayarlamak,
• CTCSS için mikrofona ton uygulamak,
• Çıkış gücünü seçmek, vb.
Yukarıdaki işlemleri için ASELSAN’ın iç blok şeması aşağıdaki gibidir;
Cihazın çalıştırılması ve teknik detayları çok çok uzun bir hikaye, ancak son geldiğimiz notada tüm güncel cihaz özelliklerine sahip ve 500-600 dolarlık cihazlarla yarışabilecek bir cihazımız oldu. Üstelik bozmaktan hiç korkmayacağımız, 5-10 liraya tüm yedek malzemelerini sağlayabileceğimiz bir cihazımız olacak. Ben hayal edebildiğim kadar özellik için kod yazmaya çalıştım, devamında pek çok arkadaşımın bu çalışmayı devam ettireceğine eminim.
Çokça teknik detay ile ilgilenmek istemeyen arkadaşlarımızın da kendi cihazlarına bu modifikasyonu kolayca yapabilmelerini sağlamak amacı ile öncelikle ARD/Platform’da yer alan arkadaşlarımız (başta Cem Karagöz TA2GY) olmak üzere bir çalışma grubu oluşturup çalışmaya başladık. Daha sonra bu grubumuzu TAMSAT’daki arkadaşlarla genişlettik. Sonuçta ortaya birkaç kablo ve soket ile uygulanabilir bir kart oluştu, üstelik oldukça uygun bir maliyetle.
MODİFİKASYON NASIL UYGULANACAK?
Bundan sonraki bölümde modifikasyonu uygulamak için yapacağınız işlemleri yazmaya çalışacağım. Resimlerle desteklemeye çalışacağım yazıya paralel olarak bir de video serisi çekip İnternet’ten paylaşmaya çalışacağım. Lütfen sırası ile aşağıdaki adımları uygulayınız;
1) Öncelikle hurdadan aldığınız cihazınıza elektrik vererek temel fonksiyonlarının çalışıp çalışmadığını kontrol ediniz. Modifikasyon sonrasında çalışmama problemlerini takip etmeniz daha kolaylaşacaktır. Cihazın;
◦ LCD
◦ Alma
◦ Gönderme
◦ Tuş takımı
gibi fonksiyonlarının tam ve eksiksiz orijinal hali ile çalıştığından emin olunuz.
2) KAFA bölümünü sağ ve sol yanda bulunan vidaları sökerek çıkarınız,
3) Ana şasenin dış kısmını öne doğru çekerek çıkartınız
4) En sağda yer alan 27C256 EPROM’u soketinden çıkartın,
5) Çıkış katı ile bağlantıyı sağlayan J5 soketini ve TE1 soketini yerinden çıkartınız,
6) Şekilde gösterilen 8 adet vidayı sökerek kartı çıkartılabilir duruma getiriniz,
7) Kartı nazikçe yerinden çıkartınız. Kartı çıkartırken altındaki soketlerle bir alt karta geçişi olduğunu göz önünde bulundurarak dikkatli olunuz
8) Entegreleri havya ile sökmek oldukça ama oldukça zor olduğu için entegre ayaklarını keserek ısı yüzeyini azaltma yöntemi tercih edilmelidir. Bu amaçla TD11 ve TS12 entegreleri (en büyük iki entegre, 8155 ve 80C31) sökme işlemi için;
◦ Keski kullanarak bacakları gövdeye en yakın noktadan kesilebilir
◦ Maket bıçağı ile ayakları kesilebilir
◦ Dremel kullanarak bacaklar kesilebilir
◦ Ya da uygun göreceğiniz bir yöntem ile bacaklar ayrılabilir
(her üç yöntem de denenmiş ve başarı elde edilmiştir. Entegreler tekrar kullanılmayacağı ve çöpe gideceği için rahatça sökme yapılabilir)
9) Açıkta kalan entegre bacaklarını havya ve cımbız yardımı ile söküp çıkartınız
10) Entegre bacakları yerine header lehimleyeceğimiz için lehim pompası yardımı ile entegre bacakları deliklerinin içini temizleyiniz. Bu işlemi tüm bacaklara uygulamak yerine sadece header takacağımız TD11 sol bacak sırasının tamamı, sağ bacak sırasında 4 bacak için ve TD12’ni sadece sol bacaklarına uygulamanız yeterli olacaktır.
11) TD12 entegresinin sağ yanında bulunan mevcut header yüksekliklerinin problem yaratmaması için kart yüzeyinden yüksekliklerinin 2cm’yi geçmeyecek şekilde kesilmesini öneririm
12) Hazırlanan entegre bacağı deliklerine elimizdeki 2 adet 20’li ve 1 adet 4’lü header’ı lehimleyelim. Headerları kolayca takabilmeniz için entegre bacağı boşluklarının düzgün olmasının önem arzettiğini göreceksiniz.
(NOT: 17. adımda, parantez içi notu okuyunuz)
13) TAMSAT 4822 kartını yerine oturtarak her şeyin düzgün olduğunu kabaca kontrol ediniz ve kartı çıkartınız
14) Söktüğümüz ana kartı tekrar telsiz içine geri yerleştiriniz, yerleştirme sırasında alt kartlara geçiş için kullanılan headerların eğilmemesine ve pinin doğru deliğe girmesine dikkat ediniz.
15) J5 ve TE1 soketlerini yerine takınız
16) 8 adet vidayı yerlerine geri vidalayınız, iyi ustaların vida arttırması gerektiğini unutmayınız (bende genelde eksik çıkıyor)
17) TD12 ile TD7 entegreleri arasındaki bölgede yer alan 74HC27 TD14 entegresini tespit ediniz. Bu entegrenin 3 ve 12 numaralı bacaklarını bir parça kablo yardımı ile kısa devre ediniz. (Bu işlemi neden kartı zaten sökmüşken alt yüzeyde yapmadık sorusuna verecek mantıklı bir cevabım yok, çünkü her seferinde unutuyorum, lütfen siz kartın altını açtığınız 12. adım öncesi adımların biri sırasında entegrenin 3. ve 12. bacaklarını kartın altından kısa devre ediniz).
18) Şimdi ise kart üzerinden 5 ayrı noktadan kartımıza kablo bağlamamız gerekiyor, bu bağlantıları detaylı görünümü aşağıdaki gibidir. Bu bağlantılardan PTT ve RST (reset) dışındakileri opsiyoneldir ve bazı fonksiyonları istemiyorsanız bağlamayabilirsiniz;
◦ TON modunu kullanmak istemiyorsanız TON bağlantısını bağlamayınız,
◦ Anten analizörü ve SWRMetre özelliğini kullanmak istemiyor iseniz FWD ve RFL bağlantılarını bağlamayınız
19) Ana kartın sol üst köşesinde yer alan ve antenin giden dönen sinyallerini güçlendiren LM358 TD3 entegresinin 3. bacağına RFL kablomuzu 6. bacağına da FWD kablomuzu lehimleyelim
20) PTT kablomuzu ana kartın orta bölümünde bulunan J2 header sırasının 3 numaralı bacağına lehimleyelim
21) Şekilde de görünen R80 direncinin bacağına da TON kablomuzu lehimleyelim
22) Son olarak RST kablomuzu da kartımızın hemen alt bölümüne denk gelen ve daha önce 3ile 12 nolu bacaklarını kısa devre ettiğimiz LM358 TD3 entegresinin 8 numaralı bacağına lehimleyerek lehimleme işlemlerimizi tamamlayabiliriz.
23) TAMSAT kartları birbirinden fiziksel boyutlar olarak farklılık gösterebilen ASELSAN MV48XX serisi cihazlarının hepsine uygulanabilmesi için kart kenarında 1mm’lik bir fazlalık bırakılmıştır. Kartınızı yerine yerleştirdiğinizde kenarda kalan yarım ya da bir milimetrelik fazlalığı;
◦ Zımparalayarak, ya da
◦ Sac makası ile kesebilirsiniz.
Bu işlem sonunda kartınız cihaz içine uygun şekilde yerleşecektir.
24) Kart üzerindeki TON ayar potunun orta konumda olduğuna emin olunuz
25) Testlerimizi yapabilmek için cihazın KAFA bölümünü takıp vidalayınız
26) Artık cihazımıza elektrik verip açabiliriz. Ekranda açılış mesajlarını gördükten sonra aşağıdakileri deneyerek cihazınızın hazır olduğundan emin olabilirsiniz;
◦ Tuş takımından frekans girmeyi deneyin,
◦ Hoparlör işaretine basarak SQUELCH kapama açma yapın (cihaz arkasında hoparlör takarsanız hışırtı sesi duyuyor olmalısınız)
◦ Başka bir telsizden sinyal gönderip bu cihazla almayı deneyin
◦ Bu cihazdan gönderme yapıp (anten veya dummy load bağlamayı, mikrofon bağlamayı unutmayınız) başka bir telsizden dinleyiniz,
◦ SHIFT ayarı yaparak role frekanslarında röleleri kullanabildiğinizi kontrol ediniz
Cihazınız kullanıma hazırdır. Artık kapaklarını ve vidalarını olması gereken durumuna getirebilirsiniz. Güle güle kullanın.
73’s de TA7W Barış
UYARI: Bu dokümanda anlatılan modifikasyonlar sebebi ile cihazınızda oluşabilecek sorunlar için herhangibir sorumluluk kabul edilmez. Lütfen kendi inisiyatifiniz kapsamında deneyiniz.
HATA AYIKLAMA
• Ekrana hiç görüntü gelmiyor
– Cihaza enerji doğru şekilde verdiğinize emin olunuz
– KAFA’nın yerine oturduğuna emin olunuz
– Kart yerleşiminin ve header lehimlerinin doğru olduğunu kontrol ediniz
– Arduino Nano üzerindeki ışığı kontrol ediniz
• Tuş takımından giriş yapamıyorum
– KAFA’nın yerine oturduğuna emin olunuz
• SQUELCH’i açtığımda gürültü duyamıyorum
– Hoparlör bağlantısını kontrol ediniz
– PLL’in kilitlemiş olduğunu J2’nin 3. bacağından denetleyiniz (<3V)
• Başka telsizin göndermesini duyamıyorum
– Alma konumunda iken PLL’in kilitlemiş olduğunu J2’nin 3. bacağından denetleyiniz (<3V)
• Başka telsiz beni duyamıyor
– Gönderme konumunda iken PLL’in kilitlemiş olduğunu J2’nin 3. bacağından denetleyiniz (<3V)