Projeler

3D MODELLEME CİHAZI

ARDUİNO İLE 3 BOYUTLU CİSİM MODELLEME CİHAZI 

3D modelleme cihazı sensörler kullanarak sanal ortama geçirmek istediğimiz fiziksel objeleri bilgisayara aktarabiliriz.

Burada nesnelerin üç boyutlu olarak dış hatlarını tarayabilmemiz İiçin sensör olarak ultrasonik sensör kullandık ve kolayca kullanabilmemiz içinse Arduino teknolojisinden  faydalandık.

Şekil-1: ultrasonik sensör

çalışma mantığından kısaca bahsedecek olursak; sensör üzerinde alıcı ve verici bulunur. Vericiden çıkan ses dalgaları sensör önündeki herhangi bir nesneye çarpıp yansıması sonucu alıcıdan alınan bilgiyle ölçüm yapan bir cihazdır. Bu ölçüm ses dalgasının hızına bağlı olarak x=v.t formülünden dalganın gidiş dönüş mesafesini ölçmesi mantığına dayanır.

Biz de burada 3 boyutlu nesnenin etrafını tararken bu mantığı kullanmış olduk. Yani sensör nesne ile arasındaki mesafeyi ölçerek bize şeklini vermiş oluyor.

Eğer portatif bir tasarım düşünüyorsanız cisim en az 2cm uzakta olacak şekilde ölçüm yapmayı sağlayan bir cihaz tasarlamalısınız. Çünkü sensör en az 2cm, en fazla 4mt yakınındaki cismi görebiliyor.

Peki sensör 3 boyutlu cismin etrafını nasıl ölçecek?

İsterseniz sensörü cismin etrafında turlatarak ölçüm yapın isterseniz nesneyi döndürerek. Burada hayal gücünüz ile tasarımınız size kalmış. Biz nesneyi döndürerek etrafını ölçtük. Bunun için step motor kullandık.

Şekil-2: 28byj-48 step motoru ve sürücü devresi

Step motorlar sayısal sinyalleri mekanik hareketlere çeviren motorlardır. Diğer bir adı ile adım motorlar tam dönüşlerini eşit mesafelerdeki belli adımlarla gerçekleştiren fırçasız DC motorlarıdır.  Yani açısal konumu adımlar halinde değiştirerek çalışır, çok hassas sinyallerle sürülürler.

Motorun hızı motora uygulanacak sinyallerin frekansı
değiştirilerek kontrol edilebilir, dönüş yönü ise uygulanan sinyallerin sırası değiştirilerek değiştirilebilir.

Bu proje de iki step motor kullandık. Birisi nesnenin dönmesi için diğeri ise sensörün nesne boyu kadar yukarı çıkması veya aşağı inmesi için. (Aşağıda paylaştığım resimlerle daha iyi anlayacaksınızdır.) iki motor da aynı fakat siz projenizin yüküne göre farklı motorlar tercih edebilirsiniz.

Motorları sürmek içinse ULN2003 motor sürücü devresi kullandık. Siz de eğer böyle ardino veya pic gibi konularda devre geliştiriyorsanız ve devrenizde fazla akım çeken eleman veya yük var ise kullandığınız kontrol elemanını yakmak istemiyorsanız sürücü devresi kullanmanız gerekir. Sürücü devrelerini de ayrıyeten bir kaynaktan besledik. Bunun için iki motor sürücü devresinin besleneceği uçları bir pertinasda birleştirdik ve  arduinodan bağımsız olarak beslemek için oradan bağlantı çıkarttık. ( Şekil-4)

Şekil-3: Arduino uno

 

Şekil-4

 

 

 

 

 

 

 

 

 

Sistemi programlamak, motorları kontrol etmek için Arduino uno kullandık. Arduino üzerindeki dijital pinler ile sensörlerden alınan verileri kolaylıkla işlememize yarayan bir karttır. Aynı şekilde motor kontrolleri için de dijital pinlerini kullandık.

Arduino programlama kodları;

Program kodlarını buraya tıklayarak indirebilirsiniz.

Motor sürücü devreleri, arduino ve bağlantılarının daha düzenli olması ve cihazımıza yerleşimi kolay olması açısından Şekil-4 gibi bir tabakada birleştirdik.

Şekil-5            
Şekil-6

Sensör ile motorun bağlantısını Şekil-5 de ki yaptık. Motor ucuna bağladığımız bir mile sensörü şekildeki gibi yerleştirerek motor döndüğünde sensörün aşağı- yukarı hareketini sağlayacak bir mekanizma oluşturduk. Diğer motorun miline ise nesneyi döndürmek üzere  Şekil-6 daki diski bağladık.

Şekil-7

Cihazın çalışmasını başlatmak için üzerine bir de buton koyduk. Ek olarak cihaz taramasını tamamladığında bir bildirim olsun diye yine üzerine led ve buzzer yerleştirdik. Şekil-7 de göründüğü gibi. Bunların da beslemesini arduino ile yaptık.

Bu mekanizmaları, cihazın dağınık görüntüsünü kapsayacak şekilde kapalı kutu bir tasarım oluşturduk -siz daha özgün tasarımlar yapabilirsiniz-. Ve bu tasarımı 3d printer ile çıkarttık.

 

 

Son olarak nesneyi sanal ortamda 3 boyutlu görüntülemek için matlab programı kullandık. Verileri ise seri haberleşme ile aldık. Örnek Matlab modelleri;

Şekil-8

 

 

Matlab kodları;

Nesneleri matlab da modellemek için kullanacağınız kodları da buraya tıklayarak indirebilirsiniz.

Keyifli Çalışmalar!

 

Paylaş

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir