STM32F103 ve SPI DOKUNMATİK PANEL KULLANIMI

STM32F103 ile rezistif dokunmatik panelli TFT kullanılışını daha önce anlatmıştım. O yayında koordinat belirlemek için dokunmatik panelin sensör dirençlerinin uçlarından analog gerilim değerlerini ölçüyorduk. Bunun için de STM32F103 ADC lerini kullanıyorduk.

O yayına ulaşmak için burayı tıklayabilirsiniz : STM32F103 İLE DOKUNMATİK PANEL KULLANIMI.

Bazı ekranlarda ise koordinat bilgileri bir dokunmatik panel kontrol işlemcisi -Touch controller- ile SPI arayüz üzerinden alınabiliyor. Bu durumda mikro denetleyicinin ADC lerini kullanmadan kalem koordinatlarını okuyabiliyoruz. Bu öncekine göre daha esnek, farklı seçenekler sunan bir yöntem oluyor.

Continue reading “STM32F103 ve SPI DOKUNMATİK PANEL KULLANIMI”

STM32F103 ve DS18B20 SICAKLIK SENSÖRÜ

DS18B20 gömülü sistemler ile kullanılan en popüler sıcaklık sensörlerinden birisi. BU sadece sıcaklık ölçüyor, aynı zamanda nem de ölçebilen DHT11 ve DHT22 ile bunların üzerine bir de basınç ölçen BM280 diğer seçenekleri oluşturuyor.

Bu yayında DS18B20 bin STM32F103 ile kullanılışını anlatacağım. İnternette bu konuda istemediğiniz kadar örnek uygulama var, başvurulacak kaynak seçenekleri bol. Benim vereceğim bilgiler ve kodlar da eşi benzeri görülmemiş şeyler değil.

Continue reading “STM32F103 ve DS18B20 SICAKLIK SENSÖRÜ”

STM32 İLE PID KONTROL ALTINDA DC MOTOR SÜRMEK

Bu yayın ile oldukça kapsamlı bir konuya el atıyoruz. Küçük bir DC motoru, sabit bir hızda çalıştırmak için bir kapalı çevrim süreç kontrol sistemi oluşturacağız.

Bunu yapabilmek için, mikro denetleyici sistemleri geliştirirken edindiğimiz neredeyse tüm birikimimize ihtiyacımız olacak. Öyle ki :

  • Motoru istediğimiz hızda sürebilmek için bir TIMER ile PWM kontrol sinyali üreteceğiz
  • Motoru sürmek için bir L298 Motor sürücüyü kontrol edeceğiz.
  • Motorun devir hızını bir Hall Effect sensör ile algılayıp bir TIMER’in “Input Capture” fonksiyonundan yararlanarak ölçeceğiz.
  • İstediğimiz çalışma hızını bir potansiyometre ile ayarlamak üzere bir ADC kullanacağız.
  • Geliştirdiğimiz kodun kontrolu ve hata ayıklaması için ARM Cortex M çekirdeğinin SWV/ITM araçlarını kullanacağız.

Bu tekniğin bir çubuğu dengede tutmak için geliştirilmiş başka bir uygulamasını görmek için daha yeni bir yayınım var. Ona ulaşmak için burayı tıklayabilirsiniz.

Bu yayındaki projede motora akım sınırlaması uygulamıyoruz. Akım sınırlaması ile daha gelişmiş bir motor sürücü için “Akım sınırlaması altında DC motor sürmek” yayınıma başvurabilirsiniz.

İşimiz çok yani, hadi başlayalım.

Continue reading “STM32 İLE PID KONTROL ALTINDA DC MOTOR SÜRMEK”

STM32-A4988 İLE STEP MOTOR SÜRÜLMESİ

Adım motoru sürmek için ST nin L298N tümleşik devresini kullanıyordum. Ancak, bipolar teknoloji kullanan bu tüm devre, daha modern MOSFET yapıdaki rakiplerine göre verimsiz kalıyor.

Ayrıca, kullanmakta olduğum yarım adım (half-step) sürüm yöntemini de L298 ile hakkını vererek uygulayamıyordum. Bu, başlangıçta işin kodlama tarafına ağırlık verdiğimden öncelik vermediğim bir konuydu.

Bir süre sonra, malzeme kutularımda beklemekte olan A4988 sürücü kitini cepheye sürerek daha gelişmiş motor sürüm tekniklerini kullanmaya karar verdim.

Bu yayının konusu bu; A4988 ile adım motoru sürülmesi – L298 ile karşılaştırmalı olarak.

Continue reading “STM32-A4988 İLE STEP MOTOR SÜRÜLMESİ”

STM32F103 İLE DOKUNMATİK PANEL KULLANIMI

Gömülü de olsalar, sistemlerimizin kullanıcılarından giriş beklediği durumlar çok yaygın. Bunun için tuş takımları, tek tek butonlar, klavyeler, döner düğmeler türlü çeşitli araçlar kullanıyoruz. Dokunmatik paneller de en kullanışlı ve yaygın olanlarından. Cep telefonları ile iş çığırından çıkmış durumda. Dokunmatik ekranı olmayan alet kalmadı adeta.

Bu yayında STM32F103 ile rezistif tipte dokunmatik panel kullanımı anlatacağım. Bu panellerin kapasitif olan tipleri cep telefonlarında, tabletlerde kullanılıyor, daha da yetenekliler, onları belki ileride ele alırım, şu anda ihtiyacım yok.

Continue reading “STM32F103 İLE DOKUNMATİK PANEL KULLANIMI”

STM32-FATFS İLE SD KART UYGULAMALARI – 1

STM32 projelerimde yıllardır SD kart kullanırım. Özellikle CNC uygulamalarımda Gerber kodları makinaya vermek için iyi bir seçenek oluyordu. Ancak kullanmakta olduğum sürücü kodları, zamanında internetten bulduğum örnekler üzerinden geliştirmiştim. Bu kodlar yaptığım eklemeler ve değişiklikler ile yamalı bohçaya dönmüş bir durumda idi.

Son zamanlarda, STM32 cube IDE platformuna geçtiğimden beri bunları güncelleyip temize çekmeyi aklıma koymuştum. STM32 CubeIDE FATFS alt yapısını da entegre etmiş olduğundan bu işe el atmanın zamanı gelmişti ve geçiyordu.

Geçenlerde kolları sıvayıp işe giriştim ve derli toplu bir sonuca ulaştım. Bu yayında bunu nasıl yaptığımı anlatacağım.

Continue reading “STM32-FATFS İLE SD KART UYGULAMALARI – 1”

STM32 – TFT SPI HIZLARI

TFT ekranları kullanmaya ilk başladığımda internetten bulduğum örnek kodları kullanmıştım. Karşıma çıkan tüm örnekler ekrana text yazmak için aynı algoritmayı kullanıyorlardı.

Bu algoritmada bir satırdaki her bir karakter sıra ile alınarak ekrana çiziliyor, sonra yanındaki karaktere geçilerek devam ediliyordu. Bu yöntem ile bir süre çalıştıktan sonra, görüntüleme hızının pek çok uygulamam için yetersiz kaldığını gördüm. Örneğin, bir encoderi okurken ekranı güncellemeye yetişemiyordum. CNC programımda da koordinat değerlerini motor adım süreleri içinde ekrana yazmak mümkün olmuyordu. Ekran güncellemek için diğer işlemleri bekletmek söz konusu değil elbette.

Bu sıkıntılar karşısında ekrana daha hızlı veri göndermenin yollarını araştırarak algoritmamı geliştirdim. Esas olarak iki konuda yaklaşımımı değiştirdim.

Continue reading “STM32 – TFT SPI HIZLARI”

STM32F10x GELİŞTİRME MODÜLLERİM – Bölüm 1 : Minikit_P R4 – paralel girişli TFT

Şimdiye kadar çalışmalarımda Çin’den satın aldığım geliştirme modüllerini kullanıyordum. Bunlar hakkında bir başka yayınımda bilgi vermiştim. (görmek için burayı tıklayınız.)

Bunlar ucuz malzemeler olsa da artık ihtiyaçlarıma daha uygun modüller tasarlayıp kullanmanın vakti geldi. (Yerli ve milli !!! :)) )

Özellikle üzerinde TFT ekranlarımı doğrudan takabileceğim soketleri olan, SPI, I2C ve UART portlara kolayca erişebileceğim konnektörleri olan modüllere çok ihtiyaç duyuyorum.

Yeni geliştireceğim modüllerin eskilerinin yerine doğrudan takılabilmesi de gerekiyor ki, daha önce geliştirmiş olduğum cihazlara bunları takıp kullanabileyim.

Continue reading “STM32F10x GELİŞTİRME MODÜLLERİM – Bölüm 1 : Minikit_P R4 – paralel girişli TFT”