Translate

9 Mart 2017 Perşembe

Arduino ve Bluetooth Modül ile Led Parlaklığı Ayarlama

                           Merhabalar, bu yazımızda önceliklere nazaran alan değiştirip elektronik ile ilgili bir şeyler yazmak istedim. Arduino, geliştiricileri tarafından açık kaynak olarak tasarlanmış bir platformdur. Farklı performanslarda denetleyiciler ile çok çeşitli işler için tasarlanmış birbirinden farklı birçok kartı bulunmaktadır.
                           Bu kart çeşitliliği de yapacağınız işin türüne göre en uygun fiyatlı seçeneği edinmenizi sağlamaktadır. Eğer motor kontrolü ve bunun yanında bir kaç donanım daha kontrol edecekseniz Arduino Uno ve ya eş değeri bir kart yeterli iken 3 boyutlu yazıcı gibi yüksek işlem gücü gerektiren bir projeniz varsa bu durumda Arduino Mega kullanabilirsiniz.
                           Piyasa da rahatlıkla bulabileceğiniz bu geliştirme kartlarının fiyatları bazı mikrodenetleyicilerden daha ucuz, bu uygun fiyatlar da bu platformun tercih edilmesinde büyük rol oynamaktadır.

                           Bu kısa tanıtımdan sonra dilerseniz uygulamamıza geçelim. Uygulamamız gayet basit olacak. Arduino nano kartımızla ( elimde nano olduğu için kullandım ) HC - 05 bluetooth modül üzerinden Telefon, tablet ya da bilgisayar ile haberleşerek bir ledin parlaklığını kontrol edeceğiz. Bu uygulama için ihtiyacımız olacak malzemeler;

1 adet Arduino Kart ( nano, uno, mega vs. )
1 adet HC-05 Bluetooth modül
1 adet 2k direnç
1 adet 1k direnç
1 adet 330R direnç
1 adet led
ve bağlantı kablosu

Devre:

Devreyi kurduktan sonra unutulmaması gereken bir bağlantı var. Bluetooth modülünün RX pinine mutlaka gerilim bölücü üzerinden bağlantı yapılması gerekmektedir. Bunun nedeni Arduino seri haberleşme pinleri TTL seviyesinde haberleşirken bluetooth modülü 3.3V seviyesinde çalışmaktadır. Modüle zarar vermemek için gerilim bölücü kullanılması gerekmektedir.

Arduino Kartımıza ait Program:

// Değişkenler
  char Data;       // Seri iletişim için tanımlanan karakter tipi değişken
  int parlak=0;    // Ledin parlaklığını ayarlamak için PWM'e ait integer değişken

void setup() {
  Serial.begin(9600); // BT Modül ile seri haberleşmenin başlatılması
  pinMode(9,OUTPUT);  // Led parlaklığını ayarlamak için PWM çıkış
}

void loop() {
  if(Serial.available()) // Seri iletişim uygun mu?
  {
    Data=Serial.read(); // Modülden gelen veriyi Data değişkenine al
    if(Data=='P')parlak=Serial.parseInt(); // Eğer P ise Android programını hazırlarken Slider'dan okuduğumuz veri gönderirken P karakterini önceden göndermiştik.
    if(Data=='a')parlak=255; // Led Yak butonuna basılmışsa a karakteri gelecek ve led tam parlaklıkta yanacak
    if(Data=='b')parlak=0;    // Led Söndür butonuna basılmışsa b karakteri gelecek ve led söndürülecek
  }
  Serial.print(parlak); // Slider'dan gelen veriyi seri port ekranına yaz. Android üzerinde Label1 den gördüğümüz değerin aynısı
  analogWrite(9,parlak); // Slider'dan gelen veriyi PWM modülüne aktar
  delay(10); // 10 ms'lik bekleme
}

Bu aşamadan sonra android üzerinden devam edeceğiz. Android cihazlar için uygulama geliştirebileceğiniz site;
http://ai2.appinventor.mit.edu

Siteye gmail hesabınız ile giriş yapabilirsiniz. Siteye girdikten sonra;

Create apps' a tıklayın. Daha sonra yönlendirildiğiniz sayfadan yeni bir proje oluşturun. Sonrasında 
şöyle bir ekran gelecek:






Bu adımları izledikten sonra Build kısmından uygulamaya ait apk dosyasını ister bilgisayarınıza indirebilir isterseniz Qr kod olarak oluşturup telefonunuzdan indirebilirsiniz. 

Uygulamaya Ait Video 1:



Uygulamaya Ait Video 2:


Uygulamaya Arduino ve Android Programları: https://drive.google.com/drive/folders/0B8FdGm8eWN9keEF2ZHpBd19YOTA?usp=sharing

Arkadaşlar bu uygulamayı isteğinize göre çeşitlendirebilirsiniz. Bluetooth modülü ile arduino üzerinden pwm kontrolünü ve dijital çıkış kontrolünü görmüş olduk. Programları istediğiniz şekilde düzenleyerek motor hız kontrolü, ya da odanızdaki lambanın parlaklığını, kapı kilidi, rgb led kontrolü gibi birbirinden farklı birçok uygulamaya bu yazıda ki altyapı ile gerçekleştirebilirsiniz. Konu ile ilgili sorularınız olursa yorum bölümünden sorabilirsiniz.

Herkese iyi çalışmalar.

6 Mart 2017 Pazartesi

Solidworks Tasarım Tablosu ile Konfigürasyon Oluşturma

                      Merhabalar, bu yazımda size solidworks tasarım tablosunu kullanarak çizdiğimiz bir parçaya nasıl farklı konfigürasyonlar ekleyebileceğimizden bahsetmek istiyorum. Çizdiğimiz bir parçanın farklı ölçülere sahip çeşitleri olabilir. Örneğin; civata tasarımı yaparken her bir ölçüyü tek tek çizmek uğraştırıcı olacaktır. Bunun yerine bir excel tablosu kullanarak civatanın her bir ölçüsünü ayrı ayrı ayarlayabiliriz. Böylece daha kolay ve rahat bir şekilde farklı ölçülerde ki aynı parçayı tek bir çizim içerisinde barındırabiliriz.

                       Öncelikle istediğiniz bir parçanın katı modelini oluşturarak örneğimize başlayalım. Ben estetik görünmesi açısından ufak bir vazo çizdim. Konunun sonunda çalışmaya ait dosyaları paylaşacağım. İster paylaştığım dosyadan isterseniz farklı bir çizimle aynı adımları takip ederek çalışmanızı oluşturabilirsiniz.



                        Modeli oluşturduktan sonra sırasıyla: Ekle->Tablolar->Tasarım Tablosu. 




                          Tamam dedikten sonra Solidworks size hangi çizim verilerini tabloya eklemek istediğinizi soracak. Burada çiziminize göre istediğiniz kısımları seçebilirsiniz. Ben örnek olması açısından hepsini seçtim. 


                         
                           Bu adımdan sonra excelde ki tabloya eklemek istediğiniz konfigürasyon ölçülerini yeni satıra yazarak o ölçülerde ki parçayı otomatik olarak eklemiş olacaksınız. 








                           Böylece istediğiniz parçanın farklı versiyonları tek bir çizimde oluşturabilir ve konfigürasyon seçeneğinden seçebilirsiniz. 

                           Uygulamaya ait video;


                           Tablo ile parça oluşturmayı gördükten sonra dilerseniz makrolar ile de bu işlemi gerçekleştirebilirsiniz. Örneğin; çizdiğiniz parçanın ölçüleri ve formu birbirine bağlı ise ve bunu matematiksel olarak ifade edebiliyorsanız parçanın farklı versiyonlarını yazdığınız makro ile oluşturabilirsiniz. Mesela 200 adet ekstrüzyon kalıbı çizmeniz gerekiyor. Her bir kalıbın ölçüsü bir diğerinin 0,2 katı şeklinde artış gösteriyorsa bunu diler makro ile dilerseniz excel formülleri ile yapabilirsiniz. 

Çizim: https://drive.google.com/drive/folders/0B8FdGm8eWN9kanNKeEVtTU42NlU?usp=sharing


26 Şubat 2017 Pazar

Solidworks Montajlarının Matlab Simmechanics ile Analizi


                 Herkese merhaba, bu ilk yazımda size solidworks'te oluşturduğumuz montajların hareketlerini matlab simmechanics ile nasıl analiz edebileceğimizden bahsetmek istiyorum. Öncelikle Mathworks'un sitesinden de yayınladığı "smlink" eklentisinin indirilmesi gerekmektedir. İlgili linkleri yazımın sonunda paylaşacağım. 

                  Bahsettiğim eklentiyi indirdiğinizi varsayarak bunun matlab'a nasıl ekleneceğini anlattıktan sonra asıl konumuz olan solidworks ile oluşturduğumuz bir montajın matlab ile analiz kısmına geçeceğim. Eklentiyi indirirken install_addon.m ve smlink.xxxx.winxx.zip dosyaların ikisini de indirmeniz gerekmektedir. Ayrıca bilgisayarınızda ki matlab versiyonu hangisi ise ona ait olan eklentiyi indirmeniz gerekmektedir. Solidworks versiyonu ile ilgili bir kısıtlama yoktur. 2008 sonrası tüm versiyonlarda eklentiler çalışacaktır.

                 İndirdiğiniz eklentiyi, Bilgisayarın C dizini altına uygun isimli bir klasör oluşturup bu klasörün içine kopyalayın. ( zip dosyasını çıkartmadan olduğu gibi kopyalayın. )
Örneğin; C:\Simmechanic\install_addon.m ve C:\Simmechanic\smlink.20xxx.winxx.zip şeklinde.
Dosyaların kopyaladıktan sonra Matlab'ı yönetici olarak çalıştırın ve Command Window' a şu komutları yazın;
                  cd('C:\Simmechanic') ( enter )
                  install_addon('smlink.20xxx.winxx.zip') ( enter ) 

Not: install_addon('smlink.20xxx.winxx.zip') komutunda ki x'lerin ilki üçlüsü 2013a, 2015b gibi matlab versiyonunu temsil etmektedir. winxx ise 64 yada 32 bit olan matlab'ı temsil etmektedir. Sizin yazılımınız hangisi ise bu satırı o versiyonu göz önünde bulundurarak yazarsınız.

İşlem tamamlandıktan sonra smlink_linksw komutunu yazıp enter tuşuna basın. Bu işlemden sonra Solidworks'e matlab eklentisi eklenmiş olacaktır. 

Solidworksu açıp eklentilerden Simulinki aktif edip matlab ile solidworks bağlantısını tamamlamanız gerekmektedir.



Solidworks ile Montaj Oluşturma:

                    Solidworks ile ben temsili bir robot kol çizdim, eğer isterseniz hareket analizi için farklı bir çizim de yapabilirsiniz. Çizim ait dosyalar konu sonunda paylaşılacaktır.
                 
                      Çiziminizi tamamladıktan sonra matlab ile açabilmek için .xml formatında kaydetmeniz gerekmektedir. Bunun için farklı kaydete tıkladıktan sonra dosya formatı seçeneklerinden .xml formatını seçip kaydettikten sonra montajı matlab ile açabileceğiz.




Matlab ile Analiz:

                        Solidworks ile oluşturduğumuz montajı matlab ile açtıktan sonra hareketli parçalara hareket verebilir, hareketleri sensörler yardımıyla okuyabiliriz. Hız, ivme ya da açı gibi fiziksel büyüklükleri ister scop ekranında isterseniz de sayısal veri olarak alabilirsiniz. Çizdiğimiz temsili robot kola verdiğimiz hareketi bir PID kontrolcü yardımıyla stabil çalışmasını da sağlayabiliriz. Eğer kapalı döngü ya da harekete ait bir kontrol unsuru kullanmazsanız hareket kesinlikle random olacaktır. Bu anlattıklarıma dair video;



Ayrıca eklemek istediğim bir şey var çizimi matlab'da açtıktan sonra otomatik olarak oluşan bloklarda çizdiğimiz uzuvlar görünmektedir. Uzuvlara çift tıklayarak kütlelerini istediğiniz gibi ayarlayabilirsiniz. Sonrasında PID tune ile değişkenleri güncellemeyi unutmayın. 


Böylece solidworks ile oluşturduğumuz bir montajın matlab ile hareketini ve hareketin PID ile kontrolünü görmüş olduk. Başka yazılarda görüşmek üzere. İyi çalışmalar dilerim.

Konu ile ilgili sorularınızı yorum bölümüne yazabilirsiniz.

Çizimler: https://drive.google.com/open?id=0B8FdGm8eWN9ka2xkdTJadk1UcDg

Simmechanic Linki: https://www.mathworks.com/products/simmechanics/download_smlink.html