40
Temmuz 2015 Otomasyon Haberleşmesi Nesnelerin İnterneti MATLAB Profibus, Modbus ve CANBus Dünü, Bugünü ve Yarını DC Servo Motor Simulink Modeli İnsansız Kara Araçları PIC ile USB PIC ile USB Haberleşmesi KediCAD KediCAD NEdir? Gömülü Sistemler II

İnsansız Kara Araçları - mekatronikmuhendisligi.com€¦ · Ÿ Polyspace Bug Finder Ÿ Polyspace Code Prover ... Arduino vs. için proje danışmanlığı yapıyor. Temmuz 2015

  • Upload
    doxuyen

  • View
    228

  • Download
    4

Embed Size (px)

Citation preview

Page 1: İnsansız Kara Araçları - mekatronikmuhendisligi.com€¦ · Ÿ Polyspace Bug Finder Ÿ Polyspace Code Prover ... Arduino vs. için proje danışmanlığı yapıyor. Temmuz 2015

Temmuz 2015

Otomasyon Haberleşmesi

Nesnelerin İnterneti

MATLAB

Profibus, Modbus ve CANBus

Dünü, Bugünü ve Yarını

DC Servo Motor Simulink Modeli

İnsansız Kara Araçları

PIC ile USBPIC ile USB Haberleşmesi

KediCADKediCAD NEdir?

Gömülü Sistemler II

Page 2: İnsansız Kara Araçları - mekatronikmuhendisligi.com€¦ · Ÿ Polyspace Bug Finder Ÿ Polyspace Code Prover ... Arduino vs. için proje danışmanlığı yapıyor. Temmuz 2015

Temmuz 2015

Genel Yayın YönetmeniFahri Yasin AYAS

2

Yayın DirektörüÖmer Yasin ADIGÜZEL

Grafik TasarımZekeriya POLAT

YazarlarAbdurahman ULUSOY

Bilal ÜNALMIŞ

Coşkun TAŞDEMİR

Fahri Yasin AYAS

Hakan BAŞARGAN

Samet SAN

Arş.Gör. Mücahit SOYASLAN

Dergimizin bu sayısında bize destek

olan Sakarya Üniversitesi Mekatronik

Mühendisliği Bölümü Araştırma

Görevlisi Mücahit Soyaslan, konuk

yazarlarımız Coşkun Taşdemir ve

Abdurrahman Ulusoy ’a katkılarından

dolayı teşekkür ederiz.

Umarım sizin için okuması zevkli bir

dergi olur.

Fahri Yasin AYAS

Page 3: İnsansız Kara Araçları - mekatronikmuhendisligi.com€¦ · Ÿ Polyspace Bug Finder Ÿ Polyspace Code Prover ... Arduino vs. için proje danışmanlığı yapıyor. Temmuz 2015

İÇİNDEKİLER

[29] İnsansız Kara Araçları

3

[04] DC Servo Motor Simulink Modeli

[17] Otomasyon Haberleşmesi

[12] Nesnelerin İnterneti

[33] PIC ile USB Haberleşme

[14] Gömülü Sistemler II

Temmuz 2015

[20] KediCAD Nedir?

Page 4: İnsansız Kara Araçları - mekatronikmuhendisligi.com€¦ · Ÿ Polyspace Bug Finder Ÿ Polyspace Code Prover ... Arduino vs. için proje danışmanlığı yapıyor. Temmuz 2015

1.GİRİŞ

MATLAB kelimesi matrix laboratory

kelimelerinin kısaltılmasından oluşmuştur.

İçerdiği araç kutularının sayısı bir hayli

fazladır. MathWorks tarafından geliştirilmiştir

ve yüksek seviyeli bir programlama dilidir.

MATLAB yazılımı numerik işlemlere, arayüz

oluşturulmasına ve programlama yapmaya

olanak sağlayan etkileşimli bir arayüze

sahiptir. MATLAB ile analiz yapabilir,

algoritmalar geliştirebilir, model ve

uygulamalar tasarlayabilirsiniz. Çok geniş bir

kullanım alanı bulunmaktadır. Sinyal işleme ve

haberleşme, görüntü ve video işleme, kontrol

sistemleri, test ve ölçme, sayısal finans ve

biyoloji, eğri uydurma ve grafiksel işlemler

yazılımın kullanıldığı bazı alanlardır. [1,2]

Cleve Moler ilk kez 1970’lerin sonunda

MATLAB’ı geliştirmeye başlamıştır ve 1983’te

Jack Little ile tanışmıştır. 1984’te Steve

Bangert’in de katılımıyla MAthWorks firmasını

kurmuşlardır ve MATLAB’ı C ile tekrar

yazmışlardır [3]. Şekil 1’de MATLAB default

arayüzü gözükmektedir.

Simulink yazılımı da MathWorks tarafından

geliştirilmiştir. Akış diyagramları ile

modelleme, simülasyon ve dinamik

sistemlerin analizlerinin yapıldığı grafiksel bir

programlama dilidir. Geniş bir blok

kütüphanesi bulunmaktadır. MATLAB ile

entegre şekilde çalışmaktadır ve genellikle

kontrol teorisinde, dijital sinyal işlemede ve

model tabanlı tasarımlarda kullanılmaktadır

[4]. MATLAB ve Simulink’in Türkiye’deki

dağıtıcılığını 2001 yılından bu yana FİGES A.Ş.

sürdürmektedir [5].Şekil 2’de MathWorks

sitesindeki örneklerde bulunan, MATLAB

fonksiyon blokları kullanarak modellenmiş bir

radarlı izleme sistemi, Şekil 3’te ise gerçek ve

hesaplanan rota bilgilerinin grafikleri

gösterilmiştir [6].

MATLABSIMULINK YAZILIMLARI

DC Servo Motor Simulink Modeli Mücahit

SOYASLAN

Arş. Gör. Mücahit SOYASLAN

Mekatronik Mühendisliği Bölümü

Teknoloji Fakültesi, Sakarya Üniversitesi

Temmuz 2015

4

Page 5: İnsansız Kara Araçları - mekatronikmuhendisligi.com€¦ · Ÿ Polyspace Bug Finder Ÿ Polyspace Code Prover ... Arduino vs. için proje danışmanlığı yapıyor. Temmuz 2015

Şekil 1. MATLAB Arayüzü ve bazı sekmeler

Şekil 2. Radarlı izleme sistemi [6]

Şekil 3. Gerçek ve hesaplanan rota bilgileri [6]

Temmuz 2015

5

Page 6: İnsansız Kara Araçları - mekatronikmuhendisligi.com€¦ · Ÿ Polyspace Bug Finder Ÿ Polyspace Code Prover ... Arduino vs. için proje danışmanlığı yapıyor. Temmuz 2015

2.MATLAB ARAÇ KUTULARI

MATLAB ve Simulink programları içinde bulunan araç kutuları (toolbox) Tablo1 ve Tablo2 ’de

verilmiştir [7].

Parallel Computing

Ÿ Parallel Computing Toolbox

Ÿ MATLAB Distributed Computing ServerŸ

Math, Statistics, and Optimization

Ÿ Symbolic Math Toolbox

Ÿ PartialDifferentialEquationToolbox

Ÿ Statisticsand Machine Learning Toolbox

Ÿ CurveFittingToolbox

Ÿ OptimizationToolbox

Ÿ Global OptimizationToolbox

Ÿ Neural Network Toolbox

Ÿ Model-BasedCalibrationToolbox

Control Systems

Ÿ Control System Toolbox

Ÿ System Identification Toolbox

Ÿ Fuzzy Logic Toolbox

Ÿ Robust Control Toolbox

Ÿ Model Predictive Control Toolbox

Ÿ Aerospace Toolbox

Ÿ Robotics System Toolbox

SignalProcessing and Communications

Ÿ Signal Processing Toolbox

Ÿ DSP System Toolbox

Ÿ Communications System Toolbox

Ÿ Wavelet Toolbox

Ÿ RF Toolbox

Ÿ Antenna Toolbox

Ÿ Phased Array System Toolbox

Ÿ LTE System Toolbox

Application Deployment

Ÿ MATLAB Compiler

Ÿ MATLAB Compiler SDK

Ÿ Spreadsheet Link EX (for Microsoft Excel)

Ÿ MATLAB Production Server

Image ProcessingandComputerVision

Ÿ Image ProcessingToolbox

Ÿ ComputerVisionSystemToolbox

Ÿ Vision HDL Toolbox

Ÿ Image AcquisitionToolbox

Ÿ MappingToolbox

Test andMeasurement

Ÿ Data Acquisition Toolbox

Ÿ Instrument Control Toolbox

Ÿ Image Acquisition Toolbox

Ÿ OPC Toolbox

Ÿ Vehicle Network Toolbox

Computational Finance

Ÿ Financial Toolbox

Ÿ Econometrics Toolbox

Ÿ Datafeed Toolbox

Ÿ Database Toolbox

Ÿ Spreadsheet Link EX (for Microsoft Excel)

Ÿ Financial Instruments Toolbox

Ÿ Trading Toolbox

Computational Biology

Ÿ Bioinformatics Toolbox

Ÿ SimBiology

Code Generation and Verification

Ÿ MATLAB Coder

Ÿ HDL Coder

Ÿ Vision HDL Toolbox

Ÿ HDL Verifier

Ÿ Filter Design HDL Coder

Ÿ Fixed-Point Designer

Database Connectivity and Reporting

Ÿ Database Toolbox

Ÿ MATLAB Report Generator

Tablo 1. MATLAB Araç Kutuları [7]

Temmuz 2015

6

Page 7: İnsansız Kara Araçları - mekatronikmuhendisligi.com€¦ · Ÿ Polyspace Bug Finder Ÿ Polyspace Code Prover ... Arduino vs. için proje danışmanlığı yapıyor. Temmuz 2015

Görüldüğü gibi MATLAB ve Simulink yazılımları birçok araç kutusunu barındırmaktadır ve

çeşitli çalışmalar vasıtasıyla yeni araç kutuları üretilmektedir. Araştırmacılar, mühendisler,

akademisyenler, ekonomistler ve diğer birçok meslek dalına mensup kişiler MATLAB ve

Simulink yazılımları ile yapacakları işlemleri hızlandırmakta ve gerçek uygulamalardan önce

simülasyon yapma fırsatına sahip olmaktadırlar. Simulink kütüphanesi kullanılarak

hazırlanmış ve MathWorks sitesinde bulunan DC Servo Motor kontrolünün örneği incelenecek

olursa yazılımın içeriği kontrol penceresinden bakıldığında biraz daha anlaşılmış olacaktır [8].

3. SIMULINK İLE DC SERVO MOTOR PARAMETRE TAHMİNİ

Bu örnek, DC servo motorun farklı fiziksel ürünler kullanıldığında parametrelerinin nasıl

tahmin edileceğini göstermektedir. Bu uygulama için SimDriveline ve SimPowerSystems araç

kutularının kullanılması gerekmektedir [8]. Şekil 4’te DC servo motor sisteminin genel

simulink modeli gösterilmiştir.

Event-Based Modeling

Ÿ Stateflow

Ÿ SimEvents

Physical Modeling

Ÿ Simscape

Ÿ SimMechanics

Ÿ SimDriveline

Ÿ SimHydraulics

Ÿ SimRF

Ÿ SimElectronics

Ÿ SimPowerSystems

Control Systems

Ÿ Simulink Control Design

Ÿ Simulink Design Optimization

Ÿ Aerospace Blockset

Ÿ Robotics System Toolbox

Signal Processing and Communications

Ÿ DSP System Toolbox

Ÿ Communications System Toolbox

Ÿ SimRF

Ÿ Computer Vision System Toolbox

Code Generation

Ÿ Simulink Coder

Ÿ Embedded Coder

Ÿ HDL Coder

Ÿ Vision HDL Toolbox

Ÿ Simulink PLC Coder

Ÿ Fixed-Point Designer

Ÿ DO Qualification Kit (for DO-178)

Ÿ IEC Certification Kit (for ISO 26262 and IEC

61508)

Real-Time Simulation and Testing

Ÿ Simulink Real-Time

Ÿ Simulink Desktop Real-Time

Verification, Validation, and Test

Ÿ Simulink Verification and Validation

Ÿ Simulink Design Verifier

Ÿ Simulink Test

Ÿ Simulink Code Inspector

Ÿ HDL Verifier

Ÿ Polyspace Bug Finder

Ÿ Polyspace Code Prover

Simulation Graphics and Reporting

Ÿ Simulink 3D Animation

Ÿ Gauges Blockset

Ÿ Simulink Report Generator

Tablo 2. Simulink Araç Kutuları [7]

Temmuz 2015

7

Page 8: İnsansız Kara Araçları - mekatronikmuhendisligi.com€¦ · Ÿ Polyspace Bug Finder Ÿ Polyspace Code Prover ... Arduino vs. için proje danışmanlığı yapıyor. Temmuz 2015

DC servo motoru, elektriksel ve mekanik parçaları ile birlikte düşünüldüğünde çoklu

domainlerde yapılan modellemenin anlaşılması açısından çok güzel bir örnektir. DC servo

motoru, kontrol elektroniğinin (H köprüsü) ve motor miline iliştirilmiş bir diskin bulunduğu

büyük bir sistemdir. Giriş sinyali H köprü devresine uygulanan gerilimdir (V) ve çıkış sinyali de

motor milinin açısal pozisyonudur (derece) [8].

Şekil 4’teki blok diyagram incelendiğinde içlerinde alt sistemler bulunan blokların olduğu

gözükmektedir. Bu blokların içlerinde neler olduğu incelenecek olursa Şekil 5’te DC servo

motor bloğunun iç yapısı gözükmektedir. Elektriksel elemanların modellenmesi için

SimPowerSystems, mekanik elemanların modellenmesi için de SimDriveline araç kutuları

kullanılmıştır [8].

DC motor modeli akım ile tork arasında bir ilişkinin olduğunu göstermektedir (soldaki yeşil

çizgi). Tork, motor milinin dönmesine neden olmaktadır ve bu dönme neticesinde geri EMK

(elektromotor kuvveti) oluşmaktadır. Buradaki parametreler mil eylemsizliği, viskoz

sürtünmeler (damper sönümleme etkisi), endüvi (rotor) direnci ve endüvi endüktansıdır.

Motor üreticileri sayılan bu değişkenler için çeşitli yaklaşık değerler sunmaktadırlar. DC

motor sistemi modeli ile bu parametrelerin kesin sonuçlarının kestirilmesi amaçlanmıştır.

Eğer motor parametreleri fiziksel parametreler ile uyuşmazsa verilen gerilime bağlı olarak

milin dönme miktarı da istenilen şekilde olmayacaktır. Dolayısıyla örnekte yapılmış olan

Simulink modeli bu parametrelerin tahmini konusunda önemli bir rol oynamaktadır [8].

Parametre tahmini işlem süreçleri aşağıdaki adımlardan oluşmaktadır:

1- Test düzeneğinden verilerin toplanması

2- Tahmin edilecek parametrelerin seçilmesi

3- Tahmin için uygun algoritma yapılandırması

4- Sonuçların doğrulanması ve gerekli ise üstteki adımların tekrarı

Şekil 4. DC servo motor sistemi simulink modeli [8]

Temmuz 2015

8

Page 9: İnsansız Kara Araçları - mekatronikmuhendisligi.com€¦ · Ÿ Polyspace Bug Finder Ÿ Polyspace Code Prover ... Arduino vs. için proje danışmanlığı yapıyor. Temmuz 2015

DC servo motorda kullanılan bazı parametreler aşağıdaki gibi tanımlanmaktadır [10].

B : Viskoz sürtünme katsayısı

J : Sistemin atalet momenti

Km : Tork sabiti

La : Rotor sargısı endüktansı

Ra : Rotor sargısı direnci

Şekil 6’da DC servo motor eşdeğer devresi ve blok diyagramı gösterilmiştir [9].

4. SONUÇLAR

Tahmin edilen ve ölçülen değerlerin grafikleri aşağıdaki şekillerde gösterilmiştir. Seçilen 5

parametre 0’dan küçük olamayacağından minimum limit 0 olarak ayarlanmıştır. Aşağıdaki

grafiklerde simule edilen veriler ile ölçülen sonuçlar birlikte çizdirilmiştir. Simülasyon verisi

tahmin edilen parametreler ile birlikte modelden çekilmektedir. Sistemin cevabı tahminden

önce ve sonra kıyaslandığında, tahmin işleminin model parametrelerini başarılı bir şekilde

tanımladığı ve deneysel verilerle uyumlu olduğu gözükmüştür [8].

Şekil 6. a) DC servo motorun yükü döndürmesi b) DC servo motor eşdeğer devre şeması c) DC servo motor blok diyagramı [9]

Temmuz 2015

9

Page 10: İnsansız Kara Araçları - mekatronikmuhendisligi.com€¦ · Ÿ Polyspace Bug Finder Ÿ Polyspace Code Prover ... Arduino vs. için proje danışmanlığı yapıyor. Temmuz 2015

Şekil 7. Optimizasyondan önceki tahmin edilen ve ölçülen veriler [8]

Şekil 8. Deneyler sırasında ayarlanan parametre değerleri [8]

Temmuz 2015

10

Page 11: İnsansız Kara Araçları - mekatronikmuhendisligi.com€¦ · Ÿ Polyspace Bug Finder Ÿ Polyspace Code Prover ... Arduino vs. için proje danışmanlığı yapıyor. Temmuz 2015

Şekil 9. Optimizasyondan sonraki ölçülen ve simule edilen veri grafikleri [8]

Şekil 10. Ayarlanmış parametreler ile yapılan test sonucu grafiği [8]

Temmuz 2015

11

Page 12: İnsansız Kara Araçları - mekatronikmuhendisligi.com€¦ · Ÿ Polyspace Bug Finder Ÿ Polyspace Code Prover ... Arduino vs. için proje danışmanlığı yapıyor. Temmuz 2015

Nesnelerin İnterneti ; Dünü , Bugünü ve Yarını

İnternet ağının bu kadar gelişmesiyle,

yeni teknolojiler ortaya çıkmaya başlamıştır.

Yeni teknoloji diye ifade ettiğimiz, ve yine bu

yeni teknolojiyi doğuran şeylerin başında

internet gelir. İnternetin yayılmasıyla ve

sensör teknolojisinin gelişimiyle birlikte IOT

teknolojisi kavramı ortaya çıkmıştır.

Gündelik hayatta kullandığımız herhangi

bir eşyaların hepsinin 15 sene sonra internete

bağlı olacağını söylesem ne dersiniz? Evet bu

mümkün! Türkçe olarak “Nesnelerin İnterneti“

olarak tabir ettiğimiz IOT teknolojisi, herhangi

bir eşyanın, internet üzerinden diğer internete

bağlı nesnelerle haberleşmesini sağlıyor.

Küçük bir örneği ele alalım. Her birimizin

başına gelen, evden çıktıktan sonra kapıyı

kilitledim mi sorusudur. Yolumuzun

ortasındayken aklımıza gelen bu soru bizi

endişe içerisinde bırakır. Cebimizden

çıkardığımız telefonumuzun mobil

uygulamasına girerek, kapımızın kilitli olup

olmadığını kontrol edebiliriz. Bu, IOT

teknolojisinin milyonlarda örneğinden yalnızca

birisidir.

Sensör teknolojisinin gelişimi, bize

birçok fiziksel büyüklüğü ölçmemize olanak

sağlar. Ağırlıktan sıcaklığa, nemden basınca,

sıvı seviyesinden ışık seviyesinde birçok

fiziksel büyüklüğü ölçerek bilgisayar ortamına

aktarabiliyoruz. Bu ve bunun gibi birçok

sensör uygulaması, IOT teknolojisinin temel

yapı taşlarından birisidir.

Akıllı telefon pazarının genişlemesi ve

cebimize girmesiyle başlayan bu IOT serüveni,

Hakan

Başargan

Sakarya Üniversitesi Mekatronik

Mühendisliğinde okuyor.

Óbudai Egyetem üniversitesinden mezun

olmuş.

Şu anda Engineed’de çalışıyor.

Temmuz 2015

12

Page 13: İnsansız Kara Araçları - mekatronikmuhendisligi.com€¦ · Ÿ Polyspace Bug Finder Ÿ Polyspace Code Prover ... Arduino vs. için proje danışmanlığı yapıyor. Temmuz 2015

akıllı telefonlar/tabletler üzerinden kontrol

edebilen bir ağı oluşturarak devam etmiştir.

Arkasından gelen, bir çok cihazı ve uygulamayı

real time olarak internete bağlayarak,

internet üzerinden kontrol etme veya izleme

uygulamaları IOT teknolojisini daha ileri

düzeylere getirmiştir. Yine yerinde

durmayacak bir teknoloji olan IOT, gün

geçtikçe, teknolojiyle kendisi de ilerlemeye

devam edecektir.

Günümüzde internete bağlı cihaz sayısı

11-11.5 milyar olarak görünürken , ilerleyen

senelerde bu rakamın 40 milyona kadar

çıkması beklenmektedir. Ayrıca birbiriyle

bağlantılı cihaz sayısı da 21.yüzyılın başından

bugüne kadar artmıştır.

Bu teknolojinin gelişme hızı , dünya

üzerindeki internet teknolojisinin gelişmesiyle

hız kazanacak gibi gözüküyor. Fakat internet

altyapısı sorunu yalnızca Türkiye’de değil ,

dünya üzerinde bir sorun halindedir. Güvenilir

IOT teknolojisi için kesintisiz bir internet

kaynağı olması gerektiğini varsayarsak ,

şuandaki internet altyapısının da ne kadar

yetersiz olduğunu görürüz.

Evimizde bulunan yeni nesil

televizyonlarımızı, aslında en büyük IOT

uygulaması olarak görmemiz mümkündür.

Teknolojide Smart Televizyon olarak bilinen

televizyonlarımız , istediğimiz anda internete

bağlanarak, herhangi bir kontrolü sağlamanın

yanısıra, internet kullanmamıza da izin verir.

Hakan BAŞARGAN

Temmuz 2015

13

Page 14: İnsansız Kara Araçları - mekatronikmuhendisligi.com€¦ · Ÿ Polyspace Bug Finder Ÿ Polyspace Code Prover ... Arduino vs. için proje danışmanlığı yapıyor. Temmuz 2015

Onlar Her Yerde :Gömülü Sistemler II

Önceki yazımda gömülü sistemlere kullanıcı

gözüyle bakmıştık . Bu sefer işin teknik

boyutuna biraz daha eğileceğiz. Gömülü

sistemlerin tanımını yapmakla işe

başlayalım.Genel olarak gömülü sistemler:

“belirli bir fonksiyonu yerine getirmek için

tasarlanmış yazılım ve donanım

kombinasyonudur”

şeklinde tanımlanabilir.

Gömülü sistemleri diğer genel amaçlı

bilgisayar sistemlerinden ayıran özelliklerin

başında, bu sistemlerin belirli bir amaç için

tasarlanmış olmaları gelir. Bir video cihazını

kontrol eden gömülü sistem bütün kullanım

ömrü boyunca bu işi gerçekleştirecektir.

Ancak ev ve işyerlerimizde kullandığımız

PC’lerde birçok farklı işlemi

gerçekleştirmekteyiz. PC’lerde bu değişik işleri

değişik yazılımlarla yapmaktayız. Ancak

gömülü sistemlerin içinde çalışan yazılım

genellikle “tektir”.

Gömülü sistemler adlarından da

anlaşılabileceği gibi genellikle daha büyük bir

sistemin içinde “gömülü” olarak çalışırlar.

Örneğin bir çamaşır makinesinde birçok

mekanik kısım bulunmakla birlikte, bütün

bunları kontrol eden bir veya birden fazla

mikrodenetleyici tabanlı sistem bulunur.

Bu sistemler kullandığımız cihazların “akıllı

olmasını” sağlayan, beyin vazifesi gören

birimlerdir

Her gömülü sistemin başlangıçta tanımlanan

tasarım kriterleri farklı olduğundan, tasarımı

da kendine özgüdür. Bir oyun konsolunun

içerdiği birimlerle, bir mikrodalga fırının

içerdiği gömülü sistemler birimleri birbirinden

farklıdır. Ancak genel olarak her gömülü

sistem şekildeki birimlere sahiptir:

Coşkun

Taşdemir

Elektronik mühendisi.

Yıldız Teknik Üniversitesi – Kontrol ve

Otomasyon Mühendisliği bölümünde

yüksek lisans yaptı.

C programlama, mikrodenetleyiciler,

Arduino vs. için proje danışmanlığı yapıyor.

Temmuz 2015

14

Page 15: İnsansız Kara Araçları - mekatronikmuhendisligi.com€¦ · Ÿ Polyspace Bug Finder Ÿ Polyspace Code Prover ... Arduino vs. için proje danışmanlığı yapıyor. Temmuz 2015

Gömülü sistemlerin tasarım gereksinimleri

şunlardır:

Ÿ İşlem Gücü

Ÿ Bellek

Ÿ Geliştirme Maliyeti

Ÿ Birim Üretim hacmi

Ÿ Beklenilen yaşam süresi

Ÿ GüvenilirlikŸ

Bunlar dışında her sistemin kendine has başka

gereksinimleri de olabilir. Örneğin pille

çalışacak bir sistemde güç tüketimi de önemli

bir kriterdir.

Tasarımlardaki kriterlere göre bu

gereksinimlerinden bazıları arasında tercih

yapmak gerekebilir. Örneğin karmaşık

hesaplamaların gerekli olabileceği

sistemlerde yüksek işlem gücü ihtiyacı ön

planda olurken, çok büyük miktarlarda

üretilecek sistemlerde düşük maliyet daha

önemli olabilir.

Gömülü sistemler kullanım alanlarına göre

zaman zaman oldukça kritik görevleri yerine

getirebilirler. Burada oluşabilecek hatalar

büyük mal ve can kayıplarıyla sonuçlanabilir.

Bu açıdan bakıldığında bu sistemlerin

“güvenilir” ve “hataları tolere edebilir”

özellikte olmaları çok önemlidir. Bir

mikrodalga fırının ya da bir oyuncağın içindeki

sistemin zaman zaman hatalı çalışması çok

büyük sorun oluşturmaz; ancak bir uçağın

otomatik pilot sistemindeki hata birçok insanın

hayatını tehlikeye atabilir.

Bugün dünyada üretilen mikroişlemcilerin /

mikrodenetleyicilerin büyük çoğunluğu

gömülü sistemlerde kullanılmaktadır.

Genellikle 8 bit mikrodenetleyiciler yoğun

olmakla beraber, 32 bitlik mikrodenetleyiciler

de düşen maliyetleri sonucu artık geniş

kullanım alanı bulmaktadır.

Gömülü sistemlerde tasarımcıların kullandığı

temel araçlar:

Ÿ Programlayıcılar

Ÿ Hata Ayıklayıcılar (Debuggers)

Ÿ Derleyiciler

Ÿ Emülatörler

Ÿ Tümleşik Geliştirme Ortamları

Gömülü sistemlerin donanım ve yazılım olarak

iki ana bölümden oluştuğunu söylemiştik.

Burada donanım ve yazılım bileşenleri

birbirleriyle sıkı sıkıya bağlı olduğundan

tasarım ekibinde bulunan yazılımcı ve

donanımcıların bir arada çalışmaları

gerekmektedir. Bu anlamda gömülü sistemler

için “multi-disipliner” bir alan diyebiliriz. Bu

alandaki mühendislerin donanım, yazılım,

kontrol sistemleri vs.. gibi birçok alanda bilgi

sahibi olmaları gerekmektedir.

Gömülü yazılımların karmaşıklığı artıkça ve

Temmuz 2015

15

Page 16: İnsansız Kara Araçları - mekatronikmuhendisligi.com€¦ · Ÿ Polyspace Bug Finder Ÿ Polyspace Code Prover ... Arduino vs. için proje danışmanlığı yapıyor. Temmuz 2015

aynı anda yapılacak işlemlerin sayısı arttığında

değişik yapılara ihtiyaç duyulur. Aslında bir

mikrodenetleyici aynı anda sadece bir tek işi

yapabilir. Ancak işlemleri mili, mikro hatta

nanosaniyeler mertebesinde

gerçekleştirdiğinden, birçok işi aynı anda

yapıyormuş gibi görünebilir. Genel olarak

mikrodenetleyicili sistemlerde bu tür işlemler

kesmeler ve zamanlayıcılar sayesinde

periyodik olarak gerçekleştirilir. Bu anlamda

kesmeler yazılımlarda önemli bir rol oynar.

Gömülü sistemler de ayrıca gerçek zamanlı

işletim sistemleri de kullanılır (RTOS – Real

Time Operating Systems). Böylelikle tasarımcı

donanım ayrıntılarıyla çok uğraşmadan ana

işlemleri gerçekleştirmeye odaklanabilir. Arka

plandaki görevlerin senkronizasyonu işletim

sistemi tarafından gerçekleştirilir.

Çok geniş bir alanı kapsayan gömülü

sistemlerin bütün özelliklerini ele almak çok

zor olsa da bu yazıda genel özellikleri tanımış

olduk. Bundan sonra değişik özellikleriyle

gömülü sistemleri tanımaya devam edeceğiz.

Temmuz 2015

Coşkun TAŞDEMİR

16

Page 17: İnsansız Kara Araçları - mekatronikmuhendisligi.com€¦ · Ÿ Polyspace Bug Finder Ÿ Polyspace Code Prover ... Arduino vs. için proje danışmanlığı yapıyor. Temmuz 2015

OtomasyonHaberleşmesi

Ÿ Profibus

Profibus (Process Field Bus) geniş kapsamlı,

üretim ve proses otomasyonu için

tasarlanmış üreticiden bağımsız açık saha hat

protokolüdür. Üretici bağımsız oluşu ve

açıklığı uluslararası standartlar üzerine

kurulmuştur. Birçok araştırma enstitüsü

tarafından desteklenen Profibus, farklı

üreticilerin cihazları arasında haberleşme

sağlayan ve bunu yaparken herhangi özel bir

arabirime ihtiyacı olmayan bir veri yolu

olmakla birlikte, yüksek hızlı kritik

uygulamalar veya kompleks haberleşme

işlemleri gibi kullanım alanlarında yaygın

olarak uygulanan bir veri yolu sistemidir.

PROFIBUS DP (Dezentrale Peripherie –

Merkezi olmayan çevre birimi) otomasyon

cihazı ile merkezi olmayan cihazlar arasında

hızlı bir şekilde veri alış verişimi sağlayan bir

haberleşme sistemidir. Özellikle PLC'nin

merkezde, çevre birimlerinin (slave) çalışma

sahasında (işin yapıldığı yerde) olduğu

durularda iletim hatlarının oluşturulması çok

kolay bir şekilde gerçekleştirilmektedir.

Profibus-DP haberleşme fiziksel yapı olarak

RS485 veya fiber optik alt yapısını kullanır.

PROFIBUS FMS (Fieldbus Message

Specification - Saha veriyolu mesaj

tanımlaması) genel bir haberleşme tipidir.

Akıllı kontrollü aygıtlar arasındaki haberleşme

için gelişmiş uygulama fonksiyonlarını sunar.

FMS’ de DP gibi fiziksel haberleşme yapısı

olarak RS485 veya fiber optik alt yapısını

kullanır.

PROFIBUS PA (Process Automation – Proses

otomasyonu), daha çok proses

otomasyonunda kullanılan ve mevcutta

kullanılan haberleşme kablosu ile ekipmanın

enerji beslemesi de sağlanan haberleşme

tipidir. Profibus DP ile ayni master üzerinde

çalışabilir.

Bilal

Ünalmış

Kocaeli Üniversitesi – Mekatronik

Mühendisliği bölümünden 2015 yılında

mezun oldu.

Mekatronikmühendisliği.com Yöneticisi ve

Editörü

Kocaeli Üniversitesi TürkMekatronik Güneş

Arabası Takımında görev aldı.

EndüstriyelİletişimYöntemleri

Temmuz 2015

17

Page 18: İnsansız Kara Araçları - mekatronikmuhendisligi.com€¦ · Ÿ Polyspace Bug Finder Ÿ Polyspace Code Prover ... Arduino vs. için proje danışmanlığı yapıyor. Temmuz 2015

Ÿ Modbus

Modbus 1979 yılında Modicon firması tarafından geliştirilmiş, sunucu istemci tabanlı olarak

endüstride kullanılan akıllı cihaz olarak tabir edilen aygıtların haberleşmesi için geliştirilmiş bir

protokoldür.(Şimdi Schneider Electric bünyesindedir.) Modbus seri iletişim protokolü,

master/slave ilişkisine sahip bir protokoldür. Sadece bir master düğümü (aynı zamanda

olmak koşulu ile) ve maksimum 247 olmak üzere çeşitli sayılarda slave düğümü aynı bus

(yol) üzerinde bağlanabilir. Modbus haberleşmesi her zaman master tarafından başlatılır.

Slave düğümler Master düğüm tarafından bir istek emri almadığı sürece asla veri iletimi

yapmaz. Slave düğümler kendi aralarında hiçbir şekilde haberleşemezler. Master düğüm aynı

zaman içerisinde sadece tek bir Modbus iletişimi kurabilir.

Modbus çoklu sahip/köle (master/slave) sistemlerini izlemek ve aygıtları programlamak için,

akıllı cihazları (PLC, inverter vb.), algılayıcılar ve diğer aygıtları birbirleri ile haberleştirmek için

veya alan içerisindeki cihazları uzaktan bilgisayar ya da insan makine ara yüzleri ile kontrol

edebilmek için kullanılabilir. Modbus cihazlardan verilerin alındığı ve bu verilerin bir merkezde

toplanabildiği bir endüstriyel ağ sistemidir.

Temmuz 2015

18

Page 19: İnsansız Kara Araçları - mekatronikmuhendisligi.com€¦ · Ÿ Polyspace Bug Finder Ÿ Polyspace Code Prover ... Arduino vs. için proje danışmanlığı yapıyor. Temmuz 2015

Ÿ CANBus

Bosch firması tarafından geliştirilen seri veri yolu sistemi olan "Controller Area Network"

protokolu, özellikle otomotiv sektörüne yönelik akıllı ağ, sensör ve aktüatörler için

tasarlanmış ve kısa bir zamanda bu çalışmalarda standart hale gelmiştir. Kablolama miktarını

önemli derecede azaltır. Multimaster yani bütün CAN noktalarının data iletebildiği ve birkaçının

da eş zamanlı olarak istekte bulunabildiği veri yolu sistemi olan CANBus hiçbir abone ya da

kullanıcı için herhangi bir adreslemeye sahip olmamakla birlikte öncelikli mesajın iletilmesi

şeklinde veri iletir. Bu veri iletişim protokolü en sık Otomotiv ve Medikal endüstrisinde

kullanım alanı bulmaktadır. Mesaj öncelikli bir sistemdir. Ağdaki tüm alıcılar gönderilen mesajı

alır. Alınan mesaj kendini ilgilendiriyorsa kullanır. İlgilendirmiyorsa siler. Mesajlar önem

sırasına göre numaralara sahiptir. Daha küçük numaraya sahip olan bir mesaj her zaman

öncelikli ve önemlidir.

Sırasıyla Profibus, Modbus ve CANBus logoları

Bilal ÜNALMIŞ

Temmuz 2015

19

Page 20: İnsansız Kara Araçları - mekatronikmuhendisligi.com€¦ · Ÿ Polyspace Bug Finder Ÿ Polyspace Code Prover ... Arduino vs. için proje danışmanlığı yapıyor. Temmuz 2015

KediCAD Nedir?

KediCAD sadece linuxta çalışan 2 boyutlu

tasarım yazılımıdır. Linux ortamında

kullanıcıdostu CAD yazılımı olmadığı için bu

projeye başlanıldı. Yaklaşık 9 yılın sonunda

kedicad yazılımı kullanılabilir hale geldi. Bu

alanda en çok kullanılan yazılım autocad dir.

Bu yüzden KediCAD de kullanım olarak

autocad e benzer. KediCAD in 3 boyutlu çizimi

ayrı bir proje olarak geliştirilmekte olup şu

anda oldukça ilkel bir haldedir.

Abdurrahman

Ulusoy

Erciyes Üniveristesi Mezunu

Denizsan Group ‘da Makine Mühendisi

olarak çalışıyor.

Temmuz 2015

20

Page 21: İnsansız Kara Araçları - mekatronikmuhendisligi.com€¦ · Ÿ Polyspace Bug Finder Ÿ Polyspace Code Prover ... Arduino vs. için proje danışmanlığı yapıyor. Temmuz 2015

Temmuz 2015

KediCAD gambas yazılım ortamında geliştirilmektedir. Gambas windowstaki visual basice

benzer bir ortamdır. KediCAD2B şu anda 100 bin satır civarında bir koda ulaştı. KediCAD

Kurulumu: KediCAD Sadece linux sistemlere kurulabilir. Pardus deposunda buluınmaktadır.

Pardus topluluk sürümü 3.0 sürümünde kurulu olarak gelmektedir. Pardusu kurduğunuzda.

Güncelleme yapıp KediCAD in son halini kullanabilirsiniz. Diğer dağıtımlar için depolarından

gambas 3 ü kurup. KediCAD in çalıştırma dosyasını internetten indirip çalıştırılabilir dosya

yaparak kullanabilirsiniz.

KediCAD Dosya formatı olarak dxf yi kullanır. Dxf hemen tüm CAD programları tarafından

desteklenmektedir. Kedicad de çizilen bir çizimi böylelikle diğer cad programları ile

açabilirsiniz. Veya diğer programlarda çizilmiş bir çizimi kedicad ile açabilirsiniz.

KediCAD genel tasarım için gerekli tüm araçları sağlamaktadır. Bunlar:

Çizim Araçları:

- çizgi, daire, yay ,dikdörtgen, çokgen, polyline, Yazı, blok yapma, katman vb.…

Değişiklik Araçları:

- Taşıma, kopyalama, döndürme, aynalama, ölçekleme, germe, ofsetleme, fillet, pah,

kesiştirme, budama, uzatma vb.…

Görüntü Araçları:

- Uç yakalama( osnap), doğrultu, izleme(otrack), ızgara( grid), büyütme, küçültme,

21

Page 22: İnsansız Kara Araçları - mekatronikmuhendisligi.com€¦ · Ÿ Polyspace Bug Finder Ÿ Polyspace Code Prover ... Arduino vs. için proje danışmanlığı yapıyor. Temmuz 2015

Temmuz 2015

Ölçü Araçları:

- Dik ölçü, yatay ölçü, çap, yarıçap ölçüsü, açı ölçü, kaynak gösterimi, balon oluşturma Detay

çizimi vb.…

Bilgi araçları :

- Nokta, Uzunluk Açı bilgilerini vermektedir.

Blok Araçları :

- Birleştirme, Blok yapma, Blok indirme, Blok edit, Hazır çizim kütüphanesi , Blok Patlatma

Ayarlar, kişiselleştirme: KediCAD i istediğiniz arkaplan çizim rengi, otomatik kayıt ölçü

özellikleri vb… atayabilir, özelleştirebilirsiniz.

Çizim Araçları:

Çizgi: Çizgiyi bir başlangıç noktasına tıklayıp çizmek istediğiniz tarafa fareyi götürerek komut

satırından değeri girip entera tıklayarak çizebilirsiniz. İstediğiniz bir noktadan uç yakalama

özelliğini kullanarak çizebilirsiniz Komut satırından uzunluk<açı değerlerini girerek belirli bir

açıda belirli bir uzunluğu çizdirebilirsiniz. Komut satırından x>y değerlerini girerek başlangıca

göre x deki uzunluk ve y eksenindeki uzunluk değerleri ile çizim yapabilirsiniz.

Daire : merkez noktayı işretleyip çap değerini komut satırından girerek çizebilirsiniz. 2

noktadan geçen daireyi 3 noktadan geçen daireyi istediğiniz noktalara tıklayarak çizebilirsiniz.

Yay: yayda 3 noktadan geçen yay veya merkez noktaya göre belirli bir noktadan başlayıp

biten yay olarak çizebilirsiniz.

Dikdörtgen: İstenilen iki noktaya göre çizilebilir veya ilk noktaya göre x,y x eksenindeki

değer virgül y eksenindeki değer olarak dikdörtgeni çizdirebilirsiniz.

Çokgen: merkez noktaya belirleyip , kenar sayısını ve uzaklığı komut satırından girerek

çizdirebilirsiniz.

Poliline: poliline ile çizim tek parça seçili olur. Çizgi yay çizimini içinde yapar.

Değişiklik Araçları:

Taşıma/ Kopyalama: Seçilen çizimleri belirli bir noktadan istenilen yönde komut satırından

girilen değer kadar , veya seçilen bir noktaya kadar taşınabilir, veya kopyalanabilir.

22

Page 23: İnsansız Kara Araçları - mekatronikmuhendisligi.com€¦ · Ÿ Polyspace Bug Finder Ÿ Polyspace Code Prover ... Arduino vs. için proje danışmanlığı yapıyor. Temmuz 2015

Temmuz 2015

Döndürme : Seçilen çizimleri bir bir merkez etrafında döndürür. Veya komut satırına girilen açı

kadar döndürür.

Öteleme : Çizimleri içeri veya dışarı girilen değer kadar öteler.

Fillet, Pah: Fillet ile iki çizgiyi istediğiniz açı ile birleştirip yuvarlıyabilirsiniz. Pah ile iki çizimi

birleştirip pah kırabilirsiniz.

Kesiştirme / Uzatma: İlk çizime kadar seçilen çizimleri uzatır, kısaltır...

Esnetme:

Uç Yakalama : Alttaki uç yakalama butonu seçili olmalıdır. Bu buton üzerinde sağ tıklayıp

açılan menüden Kullanılacak uç yakalama araçlarını seçebilir. İzleme ızgara özelliğini de

ayarlıyabilirsiniz.

İzleme: Alttaki butondan açarak çizimleri uç yakalama ile veya başlangıç noktasına göre

izliyebilirsiniz.

Ölçüler: Dik , yatay , açı, çap, yarıçap ölçüleri , kaynak, balon, düğmeleri ile ölçülendirmeleri

yapabilirsiniz.

Detay: Seçili alandaki çizimdekileri başka bir yere kopyalayıp istenen ölçekte

büyütür/küçültür.

Katman: çizimlerinizde katman aracı ile istediğiniz çizimin gözükmesini , kilitlenmesini vb.

Sağlıyabilirsiniz.

Blok Yönetimi: Sürekli kullandığınız çizimleri blok yapıp istediğinizde tüm çizimlerinize

ekliyebilirsiniz.

Hazır Çizim kütüphanesi: Değişik I ve U kesitli kirişler, köşebentler, kutu, kare profiller,

civatalar, somunlar gibi çok kullanılan malzemeler hazır çizim kütüphanesinde

bulunmaktadır. Seçip çizim alanında bir noktaya tıklamak yeterli…

Resim Ekleme: Çizim alanına resim ekleyebilirsiniz. Görünür veya görünmez yapabilirsiniz.

Pdf kaydet. : Çizimi pdf olarak kaydedebilirsiniz.

Ayarlar Kişiselleştirme: Genel ayarlardan: Çizim alan rengini, Araç kutularının üstte/yanda

yerleşimini, sağ tık menüsünü Resimli veya normal olarak ayarlıyabilirsiniz.

23

Page 24: İnsansız Kara Araçları - mekatronikmuhendisligi.com€¦ · Ÿ Polyspace Bug Finder Ÿ Polyspace Code Prover ... Arduino vs. için proje danışmanlığı yapıyor. Temmuz 2015

Temmuz 2015

Ölçü sekmesinde: Ölçü yüksekliğini, ölçü yazı rengini çizgi renklerini, ölçü hassasiyetini vb.

Ayarları yapabilirsiniz.

Seçim sekmesinde: Uç yakalama büyüklüğünü , Uç yakalama rengini, çizime ne kadar

yaklaşılınca seçilebileceğini, ön seçimin gerli olup olmamasını ayarlıyabilirsiniz.

Diğer sekmesinde: Otomatik kayıt süresini, ekran tazeleme hızı ayarlanabilir… Ayarlar

penceresinden yaptığınız ayarların bazısı hemen geçerli olurken diğerleri için kedicadi yeniden

başlatmak gerekir.

KediCAD-CAM

Anlatılan genel tasarım araçları dışında KediCAD cam programı olarak da kullanılmaktadır.

Cam yazılımları cnc makinelerin kullandığı g-code'u üretmektedir. KediCAD de yapılan

çizimlerden istenilen özelliklerde g-code üretmektedir.

Takım değiştirme, çizime takım atama, yeni takım tanımlama, takım çapına göre kesimin iç-

dış-merkez oluşunu belirleme gibi özellikleri bulunmaktadır. G-Code üretimi çok

kolaylaştırılmıştır.

G-Code uygulamasında ilk önce takım tanımlamaları yapılmalı, yerleri belirtilmeli ,

Çalışma alanı tanımlanmalıdır.

Çizimler seçilip her çizimi işliyecek takım atanır. Bu işlem bitince G-code seçilir ve açılan

pencereye malzeme ölçüleri girilir. G-Code penceresi açılır. Burada takım atanan çizimler

dalma derinliği vb. değerler girerek g-code üretim penceresine aktarılır ve en sonun da g-

code üret düğmesine basılarak çizimin g-code u ortaya çıkar.

24

Page 25: İnsansız Kara Araçları - mekatronikmuhendisligi.com€¦ · Ÿ Polyspace Bug Finder Ÿ Polyspace Code Prover ... Arduino vs. için proje danışmanlığı yapıyor. Temmuz 2015

Temmuz 2015

G-Code un simülasyonunu izlitebilir ve kaydedebilirsiniz.

KediCAD -CAE

KediCAD de mühendisler için yardımcı olacak hesap kodları bulunmaktadır. Bunlar:

1- Birim çevirici

2- Atalet momenti hesaplama

3- Gerilme hesabı(Eğilme, burulma, burkulma, güç hesabı)

4- Dişli redüktör hesabı

5- Hidrolik hesabı, hidrolik analiz

6- Rulman, kama,keçe hesapları

7- Genel yük moment hesabı

8- Vinç hesapları.

9- Sonlu eleman analizi

1- Birim Çevirici : uzunluk alan,hacim, iş , moment, eneji, güç, kuvvet basınç … gibi alanlarda

kullanılan değişik birimler arası değerleri hesaplıyabilirsiniz.

2- Atalet Momenti: Kedicad yaptığınız bir çizimin veya çok kullanılan standart parçaların

atalet, mukavemet momentlerini hesaplayı alan ve çelik için bir metresinin ağırlığını

görebilirsiniz.

25

Page 26: İnsansız Kara Araçları - mekatronikmuhendisligi.com€¦ · Ÿ Polyspace Bug Finder Ÿ Polyspace Code Prover ... Arduino vs. için proje danışmanlığı yapıyor. Temmuz 2015

Temmuz 2015

3- Gerilme Hesabı:

a- Eğilme : Ankastre veya iki kenardan destekli kirişler için uygulanan yükler altında

kirişin gerilmesini ve sehim miktarını hesaplar.

b- Burulma: Milin döndürülmesi ile oluşan burulmanın miktarını ve burulma ile oluşan

gerilme değerini hesaplar.

c- Burkulma: değişik bağlanma şekillerine göre uzun bir milin/kirişin taşıyabileceği

emniyetli yük hesabını yapar.

d- Güç hesabı. Belirli bir dönme hızında bir yükü kaldırmak için gerekli gücün hesabı.

4- Dişli / redüktör hesabı: Tek bir dişlinin güç, malzeme vb, girdilere göre modül taksimat

dairesi çapı , diş dibi/üstü çapı, diş kalınlığı gibi hesapları yaparak sonuçlarını gösterir.

Redüktör hesabı ise 4 kademeye kadar dişlileri ve mil çaplarını seçmeye yardımcı olur.

5- Hidrolik hesabı ve hidrolik analiz. Tek bir silindire gelen yük ve basınca göre silindir

ölçülerini verip burkulma kontrolü yapılmasını sağlamaktadır. Hidrolik devre analizinde ise

hidrolik devre elemanlarına göre bir devrenin analizini yapıp simülasyonunu yapmaktadır.

6- Rulman kama keçe hesapları: Standart ölçülerdeki kamayı moment , çap değerlerine

göre seçmeyi sağlar. Keçe kastaş kataloğuna göre kullanacağınız keçeyi mil çapı veya yatak

çapına göre seçmeye yarar.

7- Genel yük moment hesabı, yapmaktadır.

8- Vinç hesapları: Döner tabla vinçleri veya köprülü vinçler için ayrıntılı hesaplar

yapabilmektedir. Döner tabla dişli seçimi, bu na göre hidrolik motor seçimi vb…

FEA

9- Sonlu eleman analizi

Sonlu eleman analizi: Çizilen bir parçanın üstüne etkiyen kuvvetlere göre şekil değişmesini

bilgisayarda hesaplamaya yaramaktadır.

KediCAD z88 yazılımı temelinde sonlu eleman analizi yapılmaktadır. Z88 programı normalde

bir sonlu eleman analizi programıdır. Ancak tüm girdiler yazı tabanlı olarak belirli bir mantık

dairesinde girilmelidir. Ve bu kullanımını oldukça zorlaştırmaktadr. Kedicad z88 in ihtiyaç

duyduğu girdileri direk çizimden alarak z88 e gönderir ve hesabın yapılmasından sonrada

sonuçları kullanıcıya yine çizim olarak gösterir. KediCAD kuvvetlerin parça üzerine etksini ,

şekil değiştirme miktarını, her bir düğüme gelen kuvvetleri göstermektedir.

26

Page 27: İnsansız Kara Araçları - mekatronikmuhendisligi.com€¦ · Ÿ Polyspace Bug Finder Ÿ Polyspace Code Prover ... Arduino vs. için proje danışmanlığı yapıyor. Temmuz 2015

Temmuz 2015

KediCAD MAKRO

KediCAD gambas üzerinde geliştirilmektedir. Gambas v.basice benzer. Kullanımı kolaydır.

İçine eklenen kedicad kodları ile birlikte kolkayca makrolar hazırlamanıza imkan verir.

Makrolar ile yaptığınız ürünlerin değişen kısımlarını belirleyip kolayca çiziminizi

hazırlıyabilirsiniz. İşlerinizi hızlandırır ve hata payını düşürebilirsiniz.

KediCAD 3D

KediCAD3D geliştirilmesi devameden bir projedir. Şu anda 2 boyutta çizim yapıp,

yükseltilebiliyor. Grafik olarak parça seçim, taşıma, kopyalama, renk atama, standart

olmayan parça ve montaj kaydı yapabilmektedir. Yüzey seçimi, standart (igs,stp,..) kayıt

formatına geçiş, parçayı döndürerek oluşturma, delik cep ekleme veya çıkarma gibi temel

eksiklikleri ile kullanıma uygun değildir.

KediCAD simülasyon da yapabilmektedir. Çizim ya bir eksen etrafında döndürülebilmekte

yada belirtilen bir doğrultuda öteleme hareketi yaptırılabilmektedir. İleride aynı anda bir kaç

çizimin hareket etmesini sağlıyarak mekanizmaların çalışmasını tam olarak gösterecektir.

27

Page 28: İnsansız Kara Araçları - mekatronikmuhendisligi.com€¦ · Ÿ Polyspace Bug Finder Ÿ Polyspace Code Prover ... Arduino vs. için proje danışmanlığı yapıyor. Temmuz 2015

Temmuz 2015

Gelecekte KediCAD

Yukarıda genel özelliklerini anlattığım KediCAD aslında komple tasarım/üretim

yazılımı olarak planlanıyor.

Hemen hemen her bölümü ayrı ayrı programlarca yapılan bu özellikleri tek bir yazılımda

toplanmış olacak . Yakın gelecekte imalat takip kısmını da eklendiğinde KediCAD bir firmadaki

teknik tüm alt yapıyı üstlenmiş olacaktır. Bir atelye/fabrikadaki hesaptan çizime, çizimden

imalata, cnc makine kodlarına , üretim takibine kadar tüm sistemin entegrasyonunu ve

otomasyonunu sağlıyacaktır.

Türkyedeki kullanıcı sayısı her gün artan kedicad bu alanda yerli bir isim olarak yakın

gelecekte büyük dağıtımlarının depolarına girecektir.

Abdurrahman ULUSOY

28

Page 29: İnsansız Kara Araçları - mekatronikmuhendisligi.com€¦ · Ÿ Polyspace Bug Finder Ÿ Polyspace Code Prover ... Arduino vs. için proje danışmanlığı yapıyor. Temmuz 2015

Gelişen teknolojiyle birlikte insansız

araçlar özellikle askeri alanda hayatımıza

girmeye başladı. Bu araçlar ise çeşitli

görevleri yerine getirmek amacıyla üretiliyor.

Amaçlardan bazıları aşağıda ki gibidir:

Ÿ Keşif, gözetleme ve istihbarat

Ÿ Asimetrik tehditler ile mücadele

Ÿ Kritik tesislerin güvenliği

Ÿ Sınır gözetleme

Ÿ El Yapımı Patlayıcılar ile Müdahale

Ÿ Mayın Tespiti ve Etkisiz Hale Getirilmesi

Ÿ Arama ve kurtarma Liman, boğaz ve deniz

ticareti güvenliği

Ÿ Lojistik destek sağlama

Bu teknolojinin lideri dünya da Boston

Dynamics ülkemizde ise ASELSAN’dır.

Öncelikle insansız araçlarda özellikle kara

araçlarının üretilmesinde istenilen belirli başlı

özellikler var.

Bunlardan bazıları:

Ÿ Yüksek ve alçak sıcaklıklarda çalışabilme

Ÿ Engebeli araziler için tasarlanan özel palet

veya tekerlekler

Ÿ Dışardan gelecek darbelere karşı

dayanıklılık

Ÿ Görev süresini maksimum düzeye çıkarma

Ÿ Yüksek çözünürlüklü ve gece görüşlü

kameralar

Ÿ İletişim modeli ve gerekli ise sinyal işleme.

Ÿ İletişim mesafesi

Ÿ Radarlar

İnsansız Kara Araçları

Fahri

Yasin

AYAS

Sakarya Üniversitesi Mekatronik

Mühendisliğinde okuyor.

Mekatronikmühendisliği.com yöneticisi ve

bu derginin genel yayın yönetmeni.

Şu anda FNSS Savunma Sistemleri ‘nde staj

yapmaktadır.

Temmuz 2015

AYAS

Boston Dynamics Rhex

29

Page 30: İnsansız Kara Araçları - mekatronikmuhendisligi.com€¦ · Ÿ Polyspace Bug Finder Ÿ Polyspace Code Prover ... Arduino vs. için proje danışmanlığı yapıyor. Temmuz 2015

Ÿ Askeri sensörler gibi özellikler öne çıkmaktadır. Bu özelliklerin oluşturulmasında ve

testlerinde askeri şartlar baz alınır.

Birçok projede olduğu gibi insansız kara araçlarında da kilit nokta yazılımdır. Çünkü

yazılımlarınız milli olmazsa istediğiniz kadar dayanıklı ve uzun görev yapabilen bir araç

yapın bunun bir önemi yoktur.Bu noktada aslında bizlerin yani mekatronik mühendisi

olacaklarında yazılıma ne kadar önem vermemiz gerektiği öne çıkıyor.

Üretilen kara araçları askeri alanda çalışacağı için iletişim modelleri de çok fazla önem

taşır.Hepimizin bilmiş olduğu iletişim frekanslarından çok daha yüksek frekanslarda iletişim

kurabilmektedirler. Üretilen araçların bazıları uzaktan kontrolün aksine kablolu kontrolde

edilebilir. Bunun en büyük örneği bomba imha robotlarıdır. Çünkü kurmuş olduğunuz

frekans her an uzaktan kumandalı bir bombanın frekansını karıştırarak patlamasına neden

olabilir.

Temmuz 2015

KAPLAN’ın

2015 yılında

IDEF ’teki

yeni tasarımı

30

Page 31: İnsansız Kara Araçları - mekatronikmuhendisligi.com€¦ · Ÿ Polyspace Bug Finder Ÿ Polyspace Code Prover ... Arduino vs. için proje danışmanlığı yapıyor. Temmuz 2015

Aşağıda ki ise benim üzerinde çalıştığım ve AYAS ismini verdiğim Keşif ve Gözetleme Robotu

Temmuz 2015

Özel şirketlere sunumu gerçekleşeceği için

bazı özelliklerini maalesef veremiyorum.

Tasarımında birçok tasarım incelenerek

faydalanılmıştır. Benzer görevi yapacak

araçlardan farkı kontrolünde mesafe

sınırlaması olmaması ve yazılımıdır. İletlişim

kopması durumunda ufak bir yazılım

yazılarak robot güvence altına alınmaktadır.

Eğer sizde benim gibi insansız kara

araçlarına meraklıysanız ve bu konuda

araştırma yapmak ve çalışma yapmak

istiyorsanız.İlk yapmanız gereken şey aracı

hangi amaçla tasarlamak istiyorsunuz?

Örneğin keşif gözetleme mi? Bomba

imhamı? Arama kurtarma mı? Her ne kadar

birbirlerine benzer görevler gibi

görünüyorsa da aralarında çok fazla fark

var.

Ne için tasarladığınıza karar verdiyseniz “Bu tip araçlarda ne tip teknolojiler ve sensörler

kullanılıyor? Ne tür bir yazılımla geliştirilmiş? Otonom veya yarı otonom özelliğine sahip mi?

İletişim tipi nasıl oluşturulmuş? Mesafe sınırlaması nedir?” sorularına cevap aramalısınız. Bu

sorularınıza da cevap aldıysanız bundan sonra yapacağınız ilk iş kalemi alıp bir kağıda

aracınızın tasarımını çizmeniz. Çünkü elle çizilmiş bir tasarım olmadan herhangi bir tasarım

programında tasarım yapmak çok zordur. Yazılım veya elektronik sistemin geliştirmeleri

yapılmadan ilk önce tasarımınızı yapmalısınız. Çünkü elektronik ve yazılım birbiriyle bağlantılı

ancak tasarım biraz daha onlardan bağımsız. Eğer ilk olarak tasarımı yaparsanız aracın

neresine nasıl sensör yerleştirilecek iç dizaynında ki komponentlerin nasıl yerleştirileceğine

karar verebilirsiniz. Kendim bu konuda tecrübeli olarak ilk yazılım ve elektronikten başladım

ve çok zorlandım.Evet her ne kadar mantıksız gibi gözüksed motorların nerelere

yerleştirileceği motorların büyüklüğü geliştirme kartının büyüklüğü ve yerleceği alan en

önemlisi ise akü ve sensörlerin yerleşeceği yerler önem taşıyor. Ayrıca önünüzde bir tasarım

olmadan bunlara başlamak psikolojik olarakta biraz demotive edebilir.

Tasarımlarınızı yaparkende illa özgün olacak diye marjinal çizimlere kaçmayın. Çünkü bu

alanda yapılan ve en verimli çalışan tasarımlar bellidir ve bunlardan çok fazla

uzaklaşamazsınız.Ancak aracın gövdesini kendiniz tasarlamaya bakın ve tasarımlarınız

konsept tasarım olsun detay tasarım olmasın.

31

Page 32: İnsansız Kara Araçları - mekatronikmuhendisligi.com€¦ · Ÿ Polyspace Bug Finder Ÿ Polyspace Code Prover ... Arduino vs. için proje danışmanlığı yapıyor. Temmuz 2015

Araçta en önemli şey yazılımdır. Çünkü bir şeyi milli veya kendine ait yapan şey

yazılımıdır. Bu yüzden yazılımlarınızda oldukça özgün olmaya özen gösterin. Bunun içinde

Python Java ve C++ dilleri ile iletişim modellerine ve geliştirme kartları üzerinde ki kullanım

şekillerine bakın. Özellikle Python ve C++ önemlidir.

Bu sürecin uzun bir süreç olacağını ve sabırlı olmanız gerektiğinide aklınızdan çıkamayın.

Unutulmamalı ki gelecekte birçok işi robotlar yapacak. Bunlardan bir tanesi de her ne

kadar istemesekte savaşlar.İnsansız hava araçlarının kullanılmaya başladığı günümüzün

geleceğin de insansız kara araçları da tamamen ordularda yerini alacağından şüpheniz

Temmuz 2015

Fahri Yasin AYAS

32

Page 33: İnsansız Kara Araçları - mekatronikmuhendisligi.com€¦ · Ÿ Polyspace Bug Finder Ÿ Polyspace Code Prover ... Arduino vs. için proje danışmanlığı yapıyor. Temmuz 2015

PIC ile USBHaberleşmesi

USB protokolü günümüzün en çok kullanılan

haberleşme protokolü haline geldi. Bunun

nedenleri arasında iletişim hızı, veri güvenliği

gibi daha pek çok neden sayılabilir.

Bizde bu yazımızda PIC mikrodenetleyicilerinin

USB üzerinden bilgisayar ile iletişiminden

bahsetmeye çalışacağız.

Öncelikle kullanacağımız mikrodenetleyicimizi

belirleyelim. Bize USB haberleşme desteği

olan bir mikrodenetleyici lazım. Bunun için

denetleyicimizi UART desteği olması şart.

Biz burada PIC18F4550 kullanmayı

deneyeceğiz. Piyasada bulunması gayet kolay

olan bir mikrodenetleyici. UART desteği olan

diğer mikrodenetleyicileri kaynak kısmında (1)

numaralı linkte verdiğim adreste

görebilirsiniz.

Şimdi proteus üzerinde basit bir ADC devresi

kuralım. Hem kısaca bir Analog-Dijital

konusundan da bahsetmiş oluruz. 3 tane

potansiyometre koyalım ve bunlardan

okuduğumuz değerleri USB üzerinden

bilgisayara aktaralım.

Devremizi aşağıdaki gibi kuruyoruz.

Eğer devreyi Proteusta deneyecekseniz

Proteus klasörü içinden VirtualUSB’yi kurmayı

unutmayın.

(Bknz. C:\Program Files (x86)\Labcenter

Electronics\Proteus 8

Professional\DRIVERS\)

Devremizi hazırladıktan sonra şimdi de

mikrodenetleyicimiz için programımızı

yazmaya başlayalım. Bunun için MikroC dilini

kullanacağız. MikroC PRO for PIC isimli

yazılımımızı sitemizden indirebilirsiniz.

(Kaynak : 2)

Samet

San

Sakarya Üniversitesi Teknoloji Fakültesi

Mekatronik Mühendisliği'de okuyor

Mekatronikmuhendisligi.com yöneticisi.

Temmuz 2015

33

Page 34: İnsansız Kara Araçları - mekatronikmuhendisligi.com€¦ · Ÿ Polyspace Bug Finder Ÿ Polyspace Code Prover ... Arduino vs. için proje danışmanlığı yapıyor. Temmuz 2015

#include "USBdsc.c" // microchip sitesinden indirdiğimiz C dosyası

unsigned char oku[10] absolute 0x500;

unsigned char yaz[10] absolute 0x540;

int sensor1,sensor2,sensor3,sensor4,sensor5;

void interrupt(){

USB_Interrupt_Proc();}

void main(){

delay_ms(1000);

ADCON0 = 0x09; // ADC aktif edildi

ADCON1 &= 0xF0; // Analog pinleri analog giriş olarak ayarlandı.

CMCON |= 7; // karşılaştırıcı pasif edildi.

Temmuz 2015

34

Page 35: İnsansız Kara Araçları - mekatronikmuhendisligi.com€¦ · Ÿ Polyspace Bug Finder Ÿ Polyspace Code Prover ... Arduino vs. için proje danışmanlığı yapıyor. Temmuz 2015

TRISD = 0;

PORTD=0x0f;

HID_Enable(&oku,&yaz); // okuduğumuz ve yazacağımız verinin saklandığı belleği

tanımlayıp HID iletişimini aktif hale getiriyoruz.

while(1){

sensor1 = ADC_Read(0); // sensör 1 den 10 bitlik değer oku

sensor2 = ADC_Read(1); // sensör 2 den 10 bitlik değer oku

sensor3 = ADC_Read(2); // sensör 3 den 10 bitlik değer oku

yaz[0] = 0x01; // sensor 1 düşük seviyeli 8 bitini aktarıyoruz

yaz[1] = sensor1; // sensor 1 yüksek seviyeli kalan 2 bitini aktarıyoruz

yaz[2] = 0x02;

yaz[3] = sensor2;

yaz[4] = 0x03;

yaz[5] = sensor3;

while(!HID_Write(&yaz,10)){

PORTD=0xf0;

}

PORTD=0x0f;

}

}

Temmuz 2015

35

Page 36: İnsansız Kara Araçları - mekatronikmuhendisligi.com€¦ · Ÿ Polyspace Bug Finder Ÿ Polyspace Code Prover ... Arduino vs. için proje danışmanlığı yapıyor. Temmuz 2015

Programımızı yukarıdaki gibi yazdıktan sonra #include "USBdsc.c" komutunda belirtildiği gibi

USBdsc.c dosyamızı oluşturmamızz gerek. Bunun için Tools > HID Terminal adımlarını takip

edersek aşağıdaki gibi bir pencere açılacaktır.

Bu pencerede VID ve PID bizim aygıt ve ürün numaramız olacak. Buradan istediğimiz numarayı

verebiliriz.(Tavsiyem 1234 olarak kullanmanız. Çünkü diğer USB aygıtları ile çakışma olabilir.)

Report Length ksımında input ve output olarak verilen değerler göndereceğimiz ve alacağımız

veri için önbellek boyutunu belirler.

Temmuz 2015

36

Page 37: İnsansız Kara Araçları - mekatronikmuhendisligi.com€¦ · Ÿ Polyspace Bug Finder Ÿ Polyspace Code Prover ... Arduino vs. için proje danışmanlığı yapıyor. Temmuz 2015

Biz burada çok uzun veriler göndermeyeceğimiz için 10 byte bizim için yeterli.Vendor Name ve

Product Name kısımlarını istediğimiz gibi doldurabiliriz. Daha sonra Save descriptor deyip

dosyamızı diğer .C dosyalarımızın yanına oluşturuyoruz.

Şimdi mikrodenetleyicimizin osilatör ayarlarına geldik.Bunun için Project > Edit Project

adımlarını takip edersek aşağıdaki gibi bir pencere açılacaktır.

Burada denetleyici tipini ve osilatör frekens hızını değiştireceğiz. PIC18F4550ye 8Mhzlik bir

kristal osilatör bağlamıştık.Bunun için burada frekans ayarımızı 8Mhz olarak ayarlıyoruz.

Diğer ayalarda ekrandaki gibi kalabilir.

Programımızı derledikten sonra mikrodenetleyicimize yükleyebiliriz. Devreyi proteusta

çalıştırdığımızda tıpkı bilgisayara USB aygıt takılmış gibi algılayacak.Bilgisayar üzerinden

herhangi bir seri port haberleşme yazılımı veya kendinizin yazabileceği bir arayüz ile kontrol

edebilirsiniz.

Ben C# ta ufak bir arayüz tasarlamıştım.

Sizler için bunun kodlarını da buraya vereyim.

Temmuz 2015

37

Page 38: İnsansız Kara Araçları - mekatronikmuhendisligi.com€¦ · Ÿ Polyspace Bug Finder Ÿ Polyspace Code Prover ... Arduino vs. için proje danışmanlığı yapıyor. Temmuz 2015

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using UsbLibrary;

namespace hid

{

: public partial class Form1 Form

{

Form1()public

{

InitializeComponent();

}

Form1_Load( sender, e)private void object EventArgs

{

.port.ProductId =4660; this

.port.VendorId = 4660;this

.port.CheckDevicePresent(); this

}

usb_OnDeviceArrived( sender, e)private void object EventArgs

{

durum.Text = ;"USB takıldı"

}

usb_OnDeviceRemoved( sender, e)private void object EventArgs

{

(InvokeRequired)if

{

Invoke( (usb_OnDeviceRemoved), [] { sender, e });new new objectEventHandler

}

else

{

durum.Text = ;"USB çıkarıldı"

}

}

usb_OnSpecifiedDeviceArrived( sender, e)private void object EventArgs

{

durum.Text = ;"PIC takıldı"

}

usb_OnSpecifiedDeviceRemoved( sender, e)private void object EventArgs

{

(InvokeRequired)if

{

Invoke( (usb_OnSpecifiedDeviceRemoved), [] { sender, e });new new objectEventHandler

}

else

{

durum.Text = ;"PIC çıkarıldı"

}

}

usb_OnDataRecieved( sender, args)private void object DataRecievedEventArgs

{

(InvokeRequired)if

{

try

{

Invoke( (usb_OnDataRecieved), [] { sender, args });new new objectDataRecievedEventHandler

Temmuz 2015

38

Page 39: İnsansız Kara Araçları - mekatronikmuhendisligi.com€¦ · Ÿ Polyspace Bug Finder Ÿ Polyspace Code Prover ... Arduino vs. için proje danışmanlığı yapıyor. Temmuz 2015

}

catch

{ }

}

else

{

[] gelen = [10];byte new byte

gelen = args.data;

s1.Text = gelen[2].ToString();

s2.Text = gelen[4].ToString();

s3.Text = gelen[6].ToString();

durum.Text = ;"Veri alınıyor..."

}

}

OnHandleCreated( e)protected override void EventArgs

{

.OnHandleCreated(e);base

port.RegisterHandle(Handle);

}

WndProc( m)protected override void ref Message

{

port.ParseMessages( m);ref

.WndProc( m); base ref

}

d = 0xFF; byte

button1_Click( sender, e)private void object EventArgs

{

[] veri = [11];byte new byte

veri[0] = d;

veri[1] = d;

( i =2 ; i < 10; i++) veri[i] = 0;for int

(port.SpecifiedDevice != )if null

port.SpecifiedDevice.SendData(veri);

(d == 0xff) d = 0;if

d = 0xff;else

}

}

}

Temmuz 2015

Visual Studio ya USBLibrary.dll dosyasını eklemeyi unutmayın.. (Kaynak 3)

Selametle.

Samet SAN

KAYNAK1 - http://www.microchip.com/pagehandler/en-us/technology/usb/microcontrollers/home.html2 - http://forum.mekatronikmuhendisligi.com/Konu-MikroC-Pro-2012-5-61-lisans-sorunu-cozuldu-ektedir.html?highlight=mikroc3 - https://yadi.sk/d/_tCgZQivhdeUm

39

Page 40: İnsansız Kara Araçları - mekatronikmuhendisligi.com€¦ · Ÿ Polyspace Bug Finder Ÿ Polyspace Code Prover ... Arduino vs. için proje danışmanlığı yapıyor. Temmuz 2015

MATLAB ve SIMULINK YAZILIMLARI: DC Servo Motor Simulink Modeli

[1] http://www.mathworks.com/products/index.html?s_tid=hp_fp_viewall

[2] http://tr.wikipedia.org/wiki/MATLAB

[3] CleveMoler, thecreator of MATLAB (December 2004). "TheOrigins of MATLAB".

[4] http://en.wikipedia.org/wiki/Simulink

[5] http://www.figes.com.tr/sirket-profili.php

[6] http://www.mathworks.com/examples/simulink/767-radar-tracking-using-matlab-

function-block

[7] http://www.mathworks.com/products/index.html?s_tid=hp_fp_viewall

[8]http://www.mathworks.com/examples/sl-design-optimization/933-dc-servo-motor-

parameter-estimation

[9] http://pemclab.cn.nctu.edu.tw/peclub/W3cnotes/cn04/

[10] A. C. Aras, E. Kayacan, Y. Oniz, O. Kaynak, R. Abiyev, “An Adaptive Neuro-Fuzzy

Architecture for Intelligent Control of a Servo System and its Experimental Evaluation”,

IEEE 978-1-4244-6392-3/10, 2010.

PIC ile USB Haberleşmesi

[1] http://www.microchip.com/pagehandler/en-

us/technology/usb/microcontrollers/home.html

[2] http://forum.mekatronikmuhendisligi.com/Konu-MikroC-Pro-2012-5-61-lisans-sorunu-

cozuldu-ektedir.html?highlight=mikroc

[3] https://yadi.sk/d/_tCgZQivhdeUm

KAYNAKLAR

Temmuz 2015