UART İLETİŞİMDE VERİ DOĞRULAMA – CHECK SUM

Mikro denetleyiciler ile diğer cihazlar arasında veri alışverişi için sıklıkla asenkron haberleşme protokoluna -UART- başvuruyoruz. Genelde parazitsiz ve kısa mesafelerde sorun yaşanmasa da, yakın çevrede çalışan motorlar gibi parazit kaynakları var ise arada bir hatalı alınan karakterler olabiliyor. Benim CNC uygulamam da bunlardan birisi. Mikro denetleyicinin burnunun dibinde çalışan 500W lık bir fırçalı DC spindle motorundan, 3 tane güçlü adım motorunun kablolarından yayılan parazitler ortamı dolduruyor.

Bu durumlarda fiziksel seviyedeki önlemler, UART haberleşmeyi RS232, ya da daha iyisi RS485 üzerinden yürütmek. Buna ilaveten protokol seviyesinde de veri doğrulama yöntemlerine başvurmak gerekiyor.

Sadece kullanıcı ile text mesaj alışverişi gibi, arada bir gelen hatalı bir karakterin felakete yol açmadığı bir durumda bütün bunlara gerek görülmeyebilir. Ama, CNC ye giden bir hatalı koordinat bilgisi ortalığı bir anda savaş meydanına çevirebilir. Bu benim başıma geldiğinden dersimi aldım ve CNC-PC haberleşmesi sırasında veri doğrulama işlemlerine erken aşamalardan itibaren yer verdim.

CNC için kullandığım iki farklı yöntemi anlatacağım.

Continue reading “UART İLETİŞİMDE VERİ DOĞRULAMA – CHECK SUM”

STM32 TABANLI MASAÜSTÜ CNC-1

Masaüstü CNC geliştirme projem yeni bir şey değil. Adım motorlarla oynamaya başladığım günlerden beri -10 yıldan daha fazla bir süredir- sürekli olarak gündemimde olan bir konu. İlk masaüstü CNC mi çalıştırdığımdan bu yana kaç defa değişiklik yaptığımı bilemiyorum. Ama yazılımının güncel sürüm numarasının 20 olduğunu, her bir sürümde de a,b,c,d,e … şeklinde ilerleyen ara sürümler olduğunu belirtirsem bir fikir verir sanırım.

Sonuçta son 2-3 yıldır çok işime yarayan bir alet olarak atölyemin baş köşesinde duruyor. Sürekli olarak gelişmeye de devam ediyor.

Bugünlerde kontrol biriminde önemli bir değişiklik yaparak L298 motor sürücülerinden A4988 sürücülere geçiyorum. Bununla birikte yazılımda da hatırı sayılır geliştirmeleri uygulamaya koyuyorum.

Bu aşamada, buraya CNC nin mevcut durumuna ve yukarıda sözünü ettiğim değişikliklerden sonraki haline yönelik bilgiler koymaya karar verdim. Aslında CNC konusundaki ilk yayınım değil, üç yıl önce de kapsamlı bir yayın yapmıştım. Ama Blog Press bir platform değişikliği yaptı, o geçiş esnasında yayının bütün görsel öğeleri silindi. O zaman yazıyı onarmaya üşendiğimden yayından kaldırdım. Şimdi yeni baştan …

Continue reading “STM32 TABANLI MASAÜSTÜ CNC-1”

ESP8266 – UZAKTAN YAZILIM GÜNCELLEME (OTA)

ESP8266 ve ESP32 modüllerinin yazılım güncellemesinin WiFi/Internet üzerinden yapılması, gerek geliştirme aşamasında gerekse servise veriliş sonrasında tartışmasız bir kolaylık sağlıyor.

Bu işi mevcut Arduino ESP kütüphanelerini kullanarak yapmak hiç de zor değil. ES8266 örneği üzerinden nasıl yapıldığını görelim.

Internet üzerinde bunun için yeterince kaynak var, ama benimkinin bir ayrıcalığı var; çünkü Türkçe.

Burada anlatılan yöntem, bilgisayarımızın ve ESP nin aynı network üzerinde bulunmasını gerektirir.

Continue reading “ESP8266 – UZAKTAN YAZILIM GÜNCELLEME (OTA)”

ESP8266 – FLASH BELLEĞE DOSYA KAYDETMEK

ESP8266 ile kullanılabilen LittleFS adlı küçük bir dosya sistemi kütüphanesi var. (Bunun önceki sürümünün adı SPIFFS idi.) “LittleFS.h” başlığı ile projeye eklenebilen bu kütüphane ile program içinden flash belleğe dosya yazmak, silmek, okumak, kapatmak mümkün. LittleFS.open(), LittleFS.remove() ve benzeri komutlarla program kodu içinden yapılabilen bu işlemler bu yayının kapsamında değil. LittleFS dosya sisteminin kullanılışı için buraya bakabilirsiniz.

Ancak Arduino IDE editörü ile program kodu içinde dosya oluşturup yazmak, statik -içeriği program akışı içinde değişmeyen- ve büyük dosyalar için kullanışlı bir yöntem değil. Başka bir editör ile hazırlanmış dosyaları program kodundan ayrı olarak flash belleğe kaydetmek çok daha kullanışlı olurdu. Zaten fotograf, gif gibi program kodu içinde yazamayacağımız dosya türleri için başka bir yol da yok.

Bunu, bu amaçla geliştirilmiş bir eklenti “plug in” kullanarak yapabiliyoruz.

ESP8266LittleFS adlı bu eklentinin Arduino IDE ye eklenmesini göreceğiz. Daha önce SPIFFS kullanıldı ise, bu yayın LittleFS e geçiş rehberi olarak kabul edilebilir.

Read m

STM32F103 İLE WEB SUNUCUSU

ESP8266 ile ev otomasyon sistemleri geliştirmek çok kolaylaştı. Ücretsiz olarak sunulan bol miktarda görsel malzeme ile çok alımlı WEB sayfaları hazırlanabiliyor. STM32 serisinin de WiFi yetenekleri olan tipleri, bunlarla kullanılabilecek zengin kütüphaneleri var.

Ben elimdeki basit malzemeleri kullanarak, STM32F103 ile ESP8266-01 i birlikte çalıştırarak ev otomasyonunda kullanılabilecek bir WEB sunucusu yapmaya karar verdim. Öyle olağanüstü bir şey değil, ESP zaten işin büyük kısmını yapıyor. Bana sadece bunu STM32 ile UART üzerinden konuşturmak ve WEB sayfalarını hazırlamak kalıyor.

Continue reading “STM32F103 İLE WEB SUNUCUSU”