Başka platformlardan Cube IDE ye program aktarımı

ST firması ürettiği mikroişlemciler ile kullanılmak üzere neredeyse sayısız örnek uygulama hazırlayıp yayınlıyor. Bunlar belirttikleri lisans kurallarına uyulması şartı ile ücretsiz, firmanın WEB sitelerinden kolaylıkla indirilebiliyor. st.com sitesinden bunlara erişilebiliyor.

Akla gelebilecek her konuda uygulama örnekleri var. Ancak bu örneklerin çoğunluğu STM32 CubeIDE değil, başka platformlar için hazırlanmış durumda.

Bunlardan AC6 System Workbench For STM32, kısaltılmış haliyle SW4STM32 platformundan STM32 CubeIDE ye aktarılmasını adım adım anlatmaya karar verdim.

Continue reading “Başka platformlardan Cube IDE ye program aktarımı”

STM32 Cube IDE İÇİNDE GENEL TANIMLAMALAR

DEFINES / UNDEFINES WITHIN STM32 Cube IDE CONFIGURATION SETTINGS

Kod geliştirirken aynı kodun farklı seçeneklere göre derlenmesini isteyebiliyoruz. Örneğin bu kodun SPI arayüzlü bir ekranla ya da Paralel girişli bir ekranla çalışan tipleri olsun isteyebiliriz.
Ya da geliştirme süresince ekranda bir sürü debug mesajı versin ama kullanıma sürüleceği zaman bunları kapatsın (örneğin Debug ve Release tipleri) isteyebiliyoruz.

Bu durumda belirli bir sürümde istenen komut bloklarını etkinleştirirken, bu sürümde gereksiz ve istenmeyen başka blokları kapatabilmek için #define derleyici tanımlarını kullanıyoruz.

Continue reading “STM32 Cube IDE İÇİNDE GENEL TANIMLAMALAR”

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

Şimdiye kadar çalışmalarımda Çinden 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”

BLDC SERVO MOTOR KULLANIMI – 1

Yeni bir adım: BLDC DC servo motorlar

Şimdiye kadar robotik çalışmalarımda “Adım Motor”larını (Stepper Motor) kullanageldim, sanırım geliştirdiğim yazılım kütüphanem de epeyi olgunlaştı.

Yaptığım her yenilik ve iyileştirmeyi de masa üstü CNC projemde uygulamaya koydum. Bu proje benim test alanım haline geldi.

Ancak robotik çalışmaların Servo Motorları kullanmadan tam olgunlaşması mümkün değil. Burada diğer tip motorların sadece adlarını anmakla geçerken, BLDC servo motorların detayına ineceğim.

Continue reading “BLDC SERVO MOTOR KULLANIMI – 1”

STM32F103 İLE ILI9341 TFT KULLANIMI – 8 bit paralel giriş

STM32F103 ile ILI9341 GRAFİK TFT

STM32 ile başlangıçta kullandığım popüler 2 ve 4 satırlı mavi ya da yeşil LCD lerden sonra renkli grafik ekranları kullanmaya sıra gelmişti.

Ele aldığım ILI9341 arayüzlü ilk grafik TFT ekranı çalıştırmak beni epeyi uğraştırmıştı. İnternet üzerinen bulabildiğim birkaç örnek kod ve ekranın kullanım klavuzundan da yararlanarak epeyi bir çabalamadan sonra becerdim. Bulduğum örnek yazılımlar üzerinde epeyi bir değişiklik yapmam gerekmişti. Ama şimdi elimde farklı tiplerdeki Grafik TFT ler için kullanabildiğim bir yazılım kütüphanem var.

Continue reading “STM32F103 İLE ILI9341 TFT KULLANIMI – 8 bit paralel giriş”

KULLANDIĞIM GELİŞTİRME KİTLERİ

Kullandığım geliştirme modüllerine bazı örnekleri aşağıda veriyorum. Bu yayındakiler e-Bay, Ali Express gibi satıcılardan aldığım hazır, 10-15 doların altında, çoğunluğu da 1-15 dolara satılan şeyler.

En çok kullandıklarım ilk dört modül. (Yayın tarihi itibari ile – 2017). Diğerlerini de zaman zaman kullanıyorum ama ilk 4 tip her işimi görmeye yetiyor.

STM32F103 48 pin Pico modül

Pico Modül STM32F103C8T6 tipi 48 pinli yonga taşıyor. ST Firmasının “Medium Density” olarak sınıflandırdığı bir işlemci.

Bu yonganın 34 adet I/O portu, 64KByte flash belleği ve 20 Kbyte RAM’ı var. Adaptör kartı 40 adet pin ile I/O pinlerine, 4 pinli konnektör ile de SW flash programlama pinlerine erişim sağlıyor.

Maple Leaf Modülü STM32F103RCBT6 tabanlı

STM32F103CBT6 yongası kullanan Maple Leaf’in yukarıdaki Pico dan iki farkı var:

Birincisi Flash Bellek 64 yerine 128Kbyte. İkincisi ise modülün iki yanındaki 20 şer pin Arduino uyumlu olmak üzere düzenlemiş. Benim Arduino ile bir işim olmadığından bu ikinci özelliğin benim açımdan önemi yok. Pinleri Arduino uyumlu olarak numaralandırmışlar. Bazı pinlerin işlevlerine göre etiketlenmiş olması  bir bakıma kolaylık sağlıyor, ama o kadar işte.

Öte yandan pinlerde I/O port bilgilerinin olmaması bu faydanın da büyük kısmını silip götürüyor. Örneğin sadece 15-16-17 vb yazılı pinler hiçbir şey ifade etmiyor. Bunların hangi portlara ait olduğunu doküman karıştırarak çıkarmak gerekiyor. Bu durum pin-port atama işlemleri ile uğraşmayan Arduino kullanıcıları için sorun değil.

Harici kristal yok, bu nedenle maksimum saat frekansı dahili osilatörün 64 MHz i ile sınırlı, 72 MHz e çıkılamıyor.

Programlama pinleri de Pico da olduğu gibi diğer pinlerden ayrılarak dışarı alınmamış, bunlara erişim kenardaki pinler üzerinden sağlanıyor. Bu da kitin bir başka kötü yanı. O pinleri etiketlememişler bile. Uzun lafın kısası, bir daha yanına yanaşmayacağım bir kart bu.

STM32F103R8T6 Mini 64 Modülü

STM32F103R8T6 tabanlı bu Minikit 64 daha fazla I/O portuna ihtiyaç olduğunda kullandığım modül. Yukarıdaki Pico ve Maple ödüllerin verdiği 34 I/O yetersiz olduğunda bu Modülün fazladan sağladığı 16 I/O lu C portu ile D portundan gelen 2 pin işimi görüyor. 64 pinin hepsine ulaşılabiliyor. Ben SW (Single Wire Programming) kullanıyorum ama istendiğinde kullanılabilecek JTAG programlama/debugging konnektörü de var.

Mikrodenetleyici 64 pinli, Flash Bellek 64 Kbyte, SRAM ise gene 20 Kbyte.

STM32F103C8T6 Mini V2.5 DCcE1e modülü

Mini STM32 V3.5 adlı bu modül de STM32F103C8T6 48 pinli, 64Kbyte Flash’lı yonga içeriyor. Yukarıdakilerden fazla olarak CH340G USB/UART çevirici devresi var. Biraz da kullanımı kolaylaştıran fazladan pinler var, bunlar besleme gerilimlerine ve toprağa erişim sağlıyorlar. Bir de açma kapama butonu var.

DİĞER STM32 MODÜLLERİ

Bunlar, ehven fiyatlar ile bulduğumda kaçırmamak üzere elimin altında bulunsun diye satın aldığım geliştirme modülleri. Yukarıda verdiğim minyatür modüllerle yapabileceklerimi yaptıktan sonra sıra bunlara gelecek.

LC STUDIO STM32F103RBT6 modülü

STM32F103RBT6 Tabanlı LC STUDIO Modülü 64 pin ve 51 I/O, 128Kbyte Flash, 20KByte SRAM a sahip. Biraz daha rahat ve büyük bir kart üzerine bir Max232 üzerinden çalışan RSR232 portu da koymuşlar. Yer problemi olmadığında ya da sadece geliştirme amacı ile kullanılabilecek kullanışlı bir kit.

 

 

STM32F407VGT6 Discovery modülü

STM32 Discovery geliştirme kiti, ST nin geliştirip pazarlamasını yaptığı bir modül. Dolayısı ile ST nin müşterilerine sağladığı geniş bir kütüphaneden yararlanıyor.  Ben bu aşamada ST nin hazır kütüphanelerini kullanmadığım için pek işim düşmedi, ama günü geldiğinde kullanacağım. Elimdeki bu modül STM32F407 tabanlı, yani ailenin büyük fertlerinden biri. 5 adet 16 I/O lu portu, 1Mbyte Flash Bellek, 194KByte SRAM ile büyük bir kapasitesi var.

STM32F401RET6 NUCLEO

STM32F401RET6 Tabanlı NUCLEO da yukarıdaki Discovery modülü gibi ST firmasının geliştirme kiti.  Buna Arduino uyumlu aksesuarların kullanılabilmesi için iki sıra dişi konvektör de koymuşlar. Örneğin, Arduino uyumlu diye satılan bir TFT ekranı direkt olarak takıp kullanabiliyorsunuz. Yine STM32F4 serisinin ekstra özelliklerine sahip. 512Kbyte Flash, 96KByte SRAM ve 50 adet I/O pini var. Bu kapasiteye de henüz ihtiyacım olmadı ama ilerleyen günlerde olacak.

STM32F205RBT tabanlı XP KITS geliştirme modülü.  STM ailesi ile tanışmam bunun STM32F103 versiyonu ile olmuştu. Ethernet portu, RS232 Portu ve bir sürü kullanıcı butonu, SD kart soketi, LCD ekranı olan yararlı bir eğitim aracı. Özellikle internet uygulamalarında çok yararlı olmuştu. Kit ile birlikte verdikleri örnek yazılım paketlerinden de çok yararlandım. Hala aklıma gelen yeni birşeyi denemek istediğimde elime aldığım güzel bir kit.

STM8 Geliştirme modülü

8 Bitlik Mikroişlemcilerle yapılabilecek işler için kullandığım mikro modüllerim de var. Bunlar STM8 serisinden çok ucuz, ancak I/O sayısı ve yetenekleri çok kısıtlı mikroişlemciler. Yazılım geliştirmek için KEIL değil de IAR platformunu kullanmak gerekiyor. Çok nadir elime aldığım modüller bunlar.

 

Bu yayının sonu – Selçuk Özbayraktar 2018