PCB Tasarımları İçin Hata Analizör Sistemi

Herkese merhaba ben Furkan! Bu yazımda sizler için staj süresince üzerinde çalıştığım  proje hakkında bilgi paylaşımında bulunacağım. Günümüzde makinelerin üretimi hızlandırmış olmasının yanında üretim mekanizmalarında  olumsuzlukların çeşitlilikleri de artmış durumda. Bu olumsuzluklardan bir tanesi ise PCB tasarımları yapan mekanik sistemler hakkındadır diyebiliriz. Her ne kadar milimetrik işlemler yapılsa da hızın sağlamış olduğu avantaj ile birlikte yine hızın daha hassas gözlem ihtiyacını ortaya çıkarması, PCB üretimlerinde devre yollarının kısa devre, açık devre durumlarında olması bazında veya bileşenlerin (Devre Elemanları) hatalı dizilimi ile alakalı olarak bir hata tespit sistemi kurmak gereklidir. Hata tespit sistemi sayesinde alınan geri beslemeler ile üretim bandında performans arttırılabilir.

İşte bu amaca yönelik olarak gerçekleştirilen yazılımsal tasarımda görüntü işleme esas alınmıştır. Şimdi isterseniz başlıklar halinde görüntü temellerinden bahsedelim.

İnsan gözü nasıl çalışır ?

Bizlere bahşedilen özelliklerden bir tanesi de çevrede olup biteni uygun şartlarda görebilme yetisidir. Görme işlemi ışığın ortama etkisi ile doğru orantılıdır ve ışık miktarının yeterli seviyede olması insanın nesneleri, hareketleri ve fiziksel etkilerin görsel çıktılarını analiz ederek belirli bir kavrama dönüştürmesi açısından gerekliliktir. Peki teknik açıdan kısaca açıklamak gerekirse insan gözü nasıl çalışır ?

  • Nesne üzerinden yansıyan ışık göze ulaşır.
  • Işık saydam tabaka ve göz merceğinden geçer.
  • Işık geçiş sürecinde kırılmaya uğrar ve retinada odaklanır.
  • Gelen ışık fotoreseptörler sayesinde elektrik akımına dönüşür.
  • Görme siniri ile bu akım beyne ulaşır ve sinyaller işlenerek görüntüye dönüştürülür.

Kameralar nasıl çalışır ?

Teknoloji doğadaki mekanizmaları taklit ederek yapay tasarımlarla hayatı kolaylaştırmayı amaçlamıştır. Bu amaç doğrultusunda doğal görme işlemini yapabilen bir cihaz geliştirmek için üzerinde uğraşılan çalışmalar neticesinde kamera teknolojisi ortaya çıkmıştır. Peki kameralar ile insan gözünün çalışma mantığı arasındaki benzerlikler nedir ?

Görüntüleme İşlemi

Kamera tarafından görüntü bilgisi aktarıldıktan sonra ekranda görüntülenmesi gerekir. Bunun için kameranın sağladığı veriler ekran teknolojisine uyarlanır. İmge olarak da isimlendirebileceğimiz görüntü analog – dijital dönüştürücü ile sanal ortama aktarıldığında aslında üzerine yansıyan ışığın miktarı sayısal olarak matris şeklinde oluşturulmuş olur.  Bu ışık yoğunluğu matrisini oluşturan her elemana da piksel adı verilir. Örneğin 1920×1080 çözünürlüğündeki bir görsel veri 2073600 pikselden oluşmaktadır.

Dijital Görüntü Üzerinde İşlemler

Sanal ortama görüntü aktarıldıktan sonra bu görüntü üzerinde çeşitli uygulamalar için bazı işlemler yapılır. Bu işlemlerin tamamı görüntü işleme alanı içerisinde tanımlanır. Görüntü işlemenin kullanıldığı uygulama alanlarından bazıları şöyledir:

  • Biyomedikal
  • Görüntü Restorasyonu
  • Güvenlik Sistemleri
  • Savunma Sanayi

Verilen örneklerden de anlaşılacağı üzere görüntü işleme alanının genel amacı imgenin makine tarafından algılanması ve tanımlanan her bir parçasının kullanılmasıdır.

PROJE DETAYLARI

Kullanılan Dil ve Görüntü İşleme Kütüphanesi

 

Neden Python ve OpenCV

Python: Açık kaynaklı, Sade, Dinamik (Çoklu görevleri tek işlemle halledebilir.), Doküman sayısı ve ulaşılabilirlik iyi seviyede vb.

OpenCV: Kaynak çeşitliliği ve örneklemelerin sayısı ile ilgili olarak verimli olması OpenCV kütüphanesini popüler hale getirmiştir. Açık kaynak kodlu olmasının yanı sıra uygulanabilirlik açısından örnekler vermek gerekirse Google tarafından cadde ve sokakları haritalamak amacıyla yürütülen street view projesinde, NASA tarafından Marsa gönderilen keşif aracı (Curiosity) ile Mars yüzeyini görüntülemek, yorumlamak ve aracın bazı hareketlerini otonom olarak yapabilmek için OpenCV kullanılmıştır.

Kod Blok Diyagramı

Kullanılan Kütüphane Fonksiyonları ve Görevleri

cv2.imread( ) : Belirtilen adresteki görsel veriyi programa dahil eder.

cv2.resize( ) : İmgenin boyutunu değiştirmeye yarar.

cv2.subtract( ) : Karşılaştırma yapan fonksiyon.

cv2.Canny( ) : Kenarları tespit etmeye yarar.

cv2.cvtColor( ) : Gri uzaydan RGB uzaya dönüşümü sağlar.

cv2.findContours( ) : Eğer hata varsa bu hatanın çevresini sarar.

cv2.moments( ) : Kontürlenen parçanın ağırlık merkezini bulur.

cv2.putText( ) : İmge üstünde belirli koordinatlara yazı yazılmasını sağlar.

cv2.drawContours( ) : Kontürlerin çizilmesini sağlar.

cv2.imshow( ) : Sonucun ve başlangıçtaki alınan görsellerin ekrana çıktısını verir.

Sistemin Çalışma Şemaları

1 – Görsel Veri Aktarımı:

Yukarıdaki şemaya bakıldığında diyagram şu şekilde açıklanabilir:

1 – Android bir telefona, Android Studio aracılığı ile oluşturulan ve “CameraApp” adı verilen uygulama yüklenir. 

2 – Yüklenen uygulama açıldığında ve “TAKE” butonuna tıklandığında bu uygulama telefonun içerisinde önceden var olan kamera arayüzünü açar. 

3 – Telefonun arka kamerası vasıtasıyla analiz edilecek görseller alınır. Burada arka planın ışığı fazla veya eksik yansıtmayacak şekilde belirlenmesi önemlidir.

4 – Gerekli fotoğraflar çekildikten sonra telefon ve bilgisayar arasındaki iletişimi sağlamak için 2 tarafında bluetooth uygulaması aktif hale getirilir. 

5 – Telefondan bilgisayara veri aktarılırken, verinin kayıt edileceği klasör önemlidir. Görseller üzerinde işlem yapacak olan programın olduğu dizine kayıt edilmelidir.

2 – Gelen Veriler Üzerinde İşlemler:

Birinci diyagramda anlatılan işlemlerin neticesinde elde edilen PCB görsellerinin analizleri  yukarıdaki ikinci şemada gerçekleştirilen adımlarla sağlanmaktadır. 

Bu adımları şu şekilde açıklayabiliriz:

1 – Programın olduğu klasöre yüklenen görsellerin isimleri program içerisindeki imge okuma fonksiyonlarına adresleri ile birlikte tanımlanır.

2 – Programın işlem yapmasından sonra ortaya çıkan sonuç görseller “Hatalar” adı verilen klasöre kayıt edilir. Kayıt işlemi programın içerisindeki yazma fonksiyonları sayesinde gerçekleştirilir. 

3 – Referans görsel, hatalı görsel ve hatanın olduğu parçanın görseli gözlemlenmesi için klasöre aktarılır.

Sonuçlar

 

 

 

FURKAN YEŞİL 

KONYA TEKNİK ÜNİVERSİTESİ

ELEKTRİK ELEKTRONİK MÜHENDİSLİĞİ 

İLETİŞİM: FurkanY.0005@hotmail.com