top of page

RS232 ile Haberleşme: #1 Proje Girişi ve Genel Bakış

Merhaba, bu yazıda, kendimi ve sizleri, bir sensör ve otomasyon sisteminin emülasyonunu RS232 iletişim protokolü üzerinden gerçekleştiren bir proje ile geliştirmeye çalışacağım. Bu projede, sektörde sıklıkla karşılaşılan bu iletişim protokolünü derinlemesine anlamayı hedefliyorum ve bu süreçte edindiğim bilgileri sizlerle paylaşmayı umuyorum. Bu projede, hem Nuvoton M031TB hem de Arduino Uno mikrodenetleyicileri kullanarak, iki cihaz arasında nasıl veri aktarıldığını keşfedeceğiz. Bu seride, sıcaklık, nem, seviye ve alarm durumları gibi çeşitli sensör verilerinin nasıl toplandığını, iletilmesini ve işlendiğini inceleyeceğiz.

RS232 iletişim protokolünü daha iyi anlamak adına, ilk olarak temel bir bilgiye ihtiyacımız var. RS232, bilgisayarlar ve çevre birimleri arasında seri iletişim sağlamak için kullanılan bir standarttır. Genellikle, modemler, yazıcılar ve farklı türdeki endüstriyel makineler bu tür bir iletişim protokolünü kullanır. Özellikle endüstriyel alanlarda, RS232 hala etkin ve yaygın bir iletişim protokolüdür. Bu standart, genellikle uzun mesafelere sinyal iletimini sağlamak için -15V ila +15V arasında değişen voltaj seviyelerini kullanır. Ancak çoğu modern cihaz ve mikrodenetleyici, TTL (Transistor-Transistor Logic) seviyeleri olarak bilinen 0V ile +5V arasında sinyaller kullanır. Dolayısıyla, bu projede, bir MAX232 entegresi ile bu iki farklı voltaj seviyesini dönüştürmeyi öğreneceğiz. Böylece, mikrodenetleyicimizle RS232 standartına uygun bir şekilde iletişim kurabileceğiz.


Veri iletişimi ve dönüşümünden bahsettikten sonra, şimdi projemizin donanım tarafına biraz daha yakından bakalım. Nuvoton'un M031TB serisi mikrodenetleyicileri, endüstriyel uygulamalar için tasarlanmış ARM Cortex-M0 tabanlı bir çözümdür ve RS232 iletişiminde sıklıkla kullanılırlar. Bu mikrodenetleyiciyi projemizde bir 'sensör' cihazı olarak kullanacağız. 'Sensör' cihazımız, çevresel parametreleri (sıcaklık, nem ve seviye) toplayacak ve alarm durumunu kontrol edecektir. Ardından, topladığı bu verileri, RS232 üzerinden 'otomasyon sistemi'ne iletecek. Otomasyon sistemimiz ise bu projede Arduino ile temsil ediliyor. Arduino, geniş bir kullanıcı kitlesi ve topluluğa sahip, oldukça kullanıcı dostu bir platform olması nedeniyle bu projede ideal bir seçimdir. Arduino'nun işlevi, 'sensör' cihazından gelen verileri almak ve bu verileri işlemek olacak. Ayrıca, belirli bir eşiği aştığında alarm durumunu tetiklemek de Arduino'nun görevleri arasında olacak. İşte projemizin genel bir özeti bu şekildedir. Şimdi daha ayrıntılı bir şekilde her bir parçayı ve bunların birlikte nasıl çalıştığını incelemeye başlayabiliriz.



Donanımın genel bir özetinden sonra, projenin yazılım yönüne geçelim. Her iki mikrodenetleyicinin programlama dili, genel amaçlı bir programlama dili olan ve yaygın olarak gömülü sistemlerde kullanılan C dilidir. Keil uVision, Nuvoton M031TB için kullanılacak olan geliştirme ortamıdır. Bu IDE, ARM tabanlı mikrodenetleyicileri programlama konusunda oldukça güçlüdür ve Nuvoton M031TB'nin özelliklerini tam olarak kullanabilmenizi sağlar. Diğer taraftan, Arduino Uno için Arduino IDE kullanacağız. Bu IDE, Arduino Uno'nun kullanıcı dostu olmasının temel nedenlerinden biridir. Kolay kullanılabilirlik ve geniş bir kütüphane yelpazesi sunar. Yazılım tarafı, verilerin nasıl toplandığını, işlendiğini ve iletilmesini kontrol eder. Her iki mikrodenetleyici de, RS232 üzerinden veri alışverişinde bulunacak bir UART arayüzüne sahiptir. UART, asenkron seri iletişimi destekleyen bir donanım bileşeni olup, RS232 protokolünün temel taşıdır.


Bir sonraki adım olarak, öncelikle Nuvoton M031TB'yi sensörlerle ilgili verileri toplamak ve göndermek için kullanacağız. Bu mikrodenetleyici, bir sıcaklık sensörü, bir nem sensörü, bir seviye sensörü ve bir alarm durumunu taklit eden bir sistem olacak. Sensör verileri, dijital ve analog girişler aracılığıyla toplanacak. Daha sonra, bu veriler RS232 protokolüne uygun bir formatla UART arayüzüne gönderilecek.


Diğer tarafta, Arduino Uno, otomasyon sisteminin bir simülasyonunu oluşturacak. Arduino, Nuvoton'dan gelen verileri UART arayüzü üzerinden alacak ve bu verileri işleyerek çıktıları gösterecek. Ayrıca, alarm durumu gibi belirli durumlarla başa çıkabilecek özel işlevler de programlanacak.


Bu projenin başarısı, her iki mikrodenetleyicinin birlikte düzgün çalışması ve verileri doğru bir şekilde alışveriş etmeye bağlıdır. Bu noktada, projenin başarısını ölçmek için bir test stratejisi belirlemek önemlidir. Testler, UART arayüzü üzerinden gönderilen ve alınan verilerin doğruluğunu ve zamanlamasını kontrol etmeli, ayrıca çeşitli hata durumlarına karşı sistemlerin yanıtını da test etmelidir.


RS232 iletişim protokolünün hem yazılım hem de donanım düzeyinde nasıl uygulandığını anlamak ve bu bilgileri uygulamak, bu projenin önemli bir kısmını oluşturacak. Nuvoton ve Arduino'nun UART arayüzlerini nasıl programladığımızı ve ayarladığımızı detaylarıyla inceleyeceğiz. Ayrıca, TTL seviyesini RS232 standardına uygun hale getirmek için kullanılan MAX232 entegresinin işlevini ve kullanımını da tartışacağız. Bu, verilerin hem mikrodenetleyiciye hem de otomasyon sistemine doğru bir şekilde iletilmesi için kritik bir adımdır.


Öte yandan, projede kullanılan sensörler ve bu sensörlerin verilerini nasıl topladığımız ve işlediğimiz hakkında daha fazla ayrıntıya gireceğiz. Her bir sensörün işlevi ve çalışma prensipleri hakkında ayrıntılı bir anlatım sunacağız. Bu, otomasyon sisteminin genel işleyişi için de önemlidir.



Projenin bu aşamasında, kapsamlı bir kod incelemesi yapacağız. Hem Nuvoton hem de Arduino için yazılan kodu ayrıntılı bir şekilde ele alacağız. Bu aşamada, kodun nasıl organize edildiği, hangi fonksiyonların ne iş yaptığı ve genel olarak sistemin nasıl çalıştığı konularına değineceğiz. Bu, projenin anlaşılmasını ve ileride karşılaşabileceğimiz hataların giderilmesini kolaylaştıracaktır.


Bu noktada, projenin uygulanması, hata ayıklaması ve test aşamalarına geçeceğiz. Her ne kadar teorik bilgiler ve uygulama konsepti önemli olsa da, bir projeyi başarıyla tamamlamanın asıl anahtarı uygulama ve denemelerden geçer. Kapsamlı ve etkili bir hata ayıklama, projemizin güvenilirliğini ve işlevselliğini büyük ölçüde artıracaktır.


Her bir bileşenin nasıl test edildiğini ve sistemin genel performansının nasıl değerlendirildiğini inceleyeceğiz. Bu, hem Nuvoton M031TB hem de Arduino Uno için ayrı ayrı gerçekleştirilecek. Ayrıca, her iki mikrodenetleyicinin birlikte çalışırken nasıl performans gösterdiğini değerlendireceğiz.


Hata ayıklama ve testler, projenin başarısı ve sonucu açısından çok önemli olduğundan, her iki mikrodenetleyici için de uygun ve etkili yöntemler belirlemeye çalışacağız. Son olarak, RS232 protokolünün tüm yönlerini ve uygulamanın genel işleyişini incelemek için sonuçları ve sonuçları tartışacağız. Bu, bize projenin başarılarını ve eksikliklerini belirleme fırsatı sağlayacak.


Bu seri, teorik bilgi, uygulama ve testlerin bir kombinasyonu olacak. Bu proje serisi boyunca amacım, RS232 iletişim protokolünü ve onun uygulamalarını daha derinlemesine anlamak, bu süreçte kendimi geliştirmek ve bu deneyimleri sizlerle paylaşmak. Projeye dair geri bildirimlerinizi ve önerilerinizi bekliyorum! Sonraki yazılarda görüşmek üzere.

 
 
 

Comments


bottom of page