Lokal Mars Projesi (LMP) – 9.Bölüm

 Ruha USLU, TA2IRU
 16 Nisan 2014

PLSS/Elektronik/PCB ve PIC Entegrelerinin Programlanması. Daha önce de ifade ettiğim gibi ilk anda Murat Bey (TA7AKA)’in kodladığı oksijen durum seviyesi simülasyon ünitesi ile Barbaros AŞUROĞLU (WB2CBA)’nun dizayn ettiği telemetre bilgilerini toplayan bölümü ayrı ve bağımsız çalışacak şekilde planlanmıştım. Aslında bu sadece çalışmanın daha hızlı yürütülmesi içindi. Çünkü her birimiz farklı bir ilde hatta ülkede iken, bu kadar dağıtık bir mimariyi İnternet üzerinden haberleşerek gerçeklemek ve senkronize etmek çok zaman kaybettirici olabilirdi.

Ancak daha sonra Model Görev Kontrol Merkezi (MGKM)’da bu verilerin anlık olarak takip edilmesinin uygunluğu konusunda hemfikir olunca, oksijen seviyesi durum simülasyon ünitesi ile güç katı, sensör ve GPS uygulamalarının veri girişlerini bir kart (PCB) üzerinde birleştirdik. Sevgili dostlarıma biraz iş çıkardım ama beni kırmadılar sağolsunlar.

Kod yazım ve PCB üretimi

LMP

Resim-1. Mikrodenetleyiciler arası oksijen seviyesi durum LED iletim dirençleri.

Kayseri’de bulunan Murat Bey, planlanan yeni akış diyagramı kapsamında hem LED’lerin yanması, hem de TLM verilerini yorumlayacak olan PIC18F2620’ye LED durum bilgisini gönderecek şekilde PIC16F628’in kodlarını yeniden düzenledi.

LMP

Resim-2. Oksijen seviyesi durum bilgisini aktaran pin çıkışları.

Barbaros Bey’de aynı şekilde kendi kodları PIC18F2620’nin giriş portlarını PIC16F628’den gelen LED durum bilgisini algılayacak şekilde yeniden değiştirdi.

PCB ve PIC18F2620’nin çalışma mantığını özetlemek gerekirse; sistemde toplamda 6 sensör kullanıldı. Bunlardan 2 tanesi sıcaklık sensörleri olan DSB18B20, 1 tanesi GPS ve 3 tane de voltaj sensöründen oluşmakta olup, DSB18B20 ve GPS dijital, geri kalan 3 voltaj bilgisi ise analog sensördür. Burada PIC18F2620’nin yaptığı iş, dijital ve analog sensörlerden gelen bütün verileri yazılım aracılığı ile işleyip daha sonra Hurricane’nin kullanacağı formata getirip yollamaktan ibarettir. Sıcaklık ölçümlerinde dijital DSB18B20 sensörü kullanarak hem hassas bir ölçüm sağlandı hem de herhangi bir ayara gerek kalmadan tek bacak bağlantısı (one wire) ile iletişim sağlanarak veriler kolayca okunabildi.

3 değişik analog voltaj bilgisi ise PCB voltaj ölçüm pin girişlerinden bulunan V1’de (5V’a kadar) doğrudan ve V2 (10V’a kadar) ve V3’te (15V’a kadar) ise bölücü dirençlerle alınarak PIC içerisindeki dahili aynı Analog Digital Converter (ADC) kullanılarak okunmaktadır.

Sistem ilk çalıştırıldığında PIC18F2620’nin programı ilk başta kendini resetlemekte, daha sonra teker teker bütün sensörlerden gelen veriyi sırayla okumakta, Hurricane’nin kullanacağı formata göre hazırlamakta ve daha sonra her birinin verisini ayrı ayrı olarak Hurricane’ye yollamaktadır. Her gönderim sonrası bir süre veri yığılmasının önüne geçmek amacıyla  beklemeye geçmekte, ardından bir sonraki sensör verisi gönderilmekte ve bu şekilde işlem tekrarlanmaktadır.

PIC18F2620 program kodları ana programın yanında sub rutinlerle (her bir sensör için küçük programcıklar şeklinde) çalışacak şekilde kodlanmıştır. Kodlar işletildiğinde ana program bu küçük programları sırayla çağırarak ilgili sensör verisini okuyup düzenlemekte ve daha sonra Hurricane’ye yollamakta, işlem her bir sensör için ardışık sırada tekrarlanmaktadır. Kodlar her iki astronotun sisteminde de aynı olup, PCB üzerindeki jumper (JP1) takılı iken sistem “Astronot-1” takılı değilken “Astronot-2” şeklinde veri göndermektedir.

[snippet id=”1969″]

LMP

Resim-3. Elektronik bileşenlerin tümünün bir arada gösterildiği şema çizimi.

Bilahare başta iki ayrı devre olarak tasarlanan PCB de Barbaros ve Murat Beylerce yeniden tasarlandı ve e-posta yoluyla bana ulaştırdı.

LMP

Resim-4. Test amaçlı çalışmalarda kullanılan ilk PCB’nin arka yüzü.

Daha sonra Giresun’daki radyo amatörlerinin GİTRAD (YM7KK)’da katıldığı ortak toplantıda baskı devresi görevini TRAC’tan Ömer YENİGÜN (TA7BB) üslendi.

PCB'nin ön yüzü.

Resim-5. Test amaçlı çalışmalarda kullanılan ilk PCB’nin ön yüzü.

Ömer Bey, elektronik aksamın yerleştirileceği birleşik sistemi “Pozitif 20” yöntemi ve ardından kimyasal yüzey aşındırma işlemine tabi tutularak bakır plaketi (PCB) hazırladı.

LMP

Resim-6. PIC programlayıcılar (PICKit2 ve MicroPIC)

Bilahare devre elemanları monte edildi, son olarak da Barbaros ve Murat Beylerin gönderdiği PIC18F2620 ve PIC16F628 kodlarını yükledi.

LMP

Resim-7. Mikrodenetleyiciye kodların yüklenmesinde kullandığımız MPLAB IDE ekranı.

PIC16F628A mikrodenetleyicisi CSS PIC C ile, PIC18F2620 mikrodenetleyicisi ise PIC Basic Pro ile programlanmış olup, kaynak kodları de devre şeması aşağıda sunulmuştur.

* PIC18F2620-TR dosyalarını indir
* PIC18F2620-EN dosyalarını indir
* PIC16F628A dosyalarını indir
* Devre şemasını indir

Kod yüklemede PICKit2 ve PICKit2 yazılımı ile MicroPIC ile MPLAP yazılımının her ikisinde de denendi ve sorunsuz çalışıldı.

Yazı dizisinin diğer bölümleri:

Lokal Mars Projesi (LMP) 1.Bölüm / (Google Translate – English Lang.)
Lokal Mars Projesi (LMP) 2.Bölüm / (Google Translate – English Lang.)
Lokal Mars Projesi (LMP) 3.Bölüm / (Google Translate – English Lang.)
Lokal Mars Projesi (LMP) 4.Bölüm / (Google Translate – English Lang.)
Lokal Mars Projesi (LMP) 5.Bölüm / (Google Translate – English Lang.)
Lokal Mars Projesi (LMP) 6.Bölüm / (Google Translate – English Lang.)
Lokal Mars Projesi (LMP) 7.Bölüm / (Google Translate – English Lang.)
Lokal Mars Projesi (LMP) 8.Bölüm / (Google Translate – English Lang.)
Lokal Mars Projesi (LMP) 9.Bölüm / (Google Translate – English Lang.)
Lokal Mars Projesi (LMP) 10.Bölüm / (Google Translate – English Lang.)
Lokal Mars Projesi (LMP) 11.Bölüm / (Google Translate – English Lang.)
Lokal Mars Projesi (LMP) 12.Bölüm / (Google Translate – English Lang.)

 

Yazı hakkında görüşlerinizi belirtmek istermisiniz?