Kayıtlar

Eylül, 2025 tarihine ait yayınlar gösteriliyor

Modbus ile Giriş/Çıkış çoğaltma

Resim
  Bazen yapacağımız projede PLC'de (STM32F103C8T6) bulunan 8 adet giriş, 12 adet çıkış bacağı yetmeyebilir. Böyle bir durumda, ana programı yazacağımız master PLC'nin yanına ilave slave PLC'ler koyabiliriz. Böylece Modbus RTU sayesinde G/Ç sayısını dilediğimiz kadar artırabiliriz. Yukarıdaki şemada, 2 tane PLC ile 16 girişli ve 24 çıkışlı bir sistem elde edilmiştir. 1 Tanesi master, 2 tanesi slave olarak 3 tane PLC, kullanırsak, 24 giriş ve 36 çıkışlı bir sistem olacaktır.  Her bir PLC'de sadece programlama (GX Developer) için kullanılan USB portunun dışında modbus için bağımsız olarak kullanılabilen 2 adet seri port bulunmaktadır.. Yukarıdaki şemada, master PLC’nin rx, tx bacakları, slave PLC’nin rx, tx bacaklarına bağlanmıştır. Bacaklar arasında, tx1-rx2 ve rx1-tx2 şeklinde bağlantı yapılmalıdır. UART1 : Slave PLC için modbus bağlantısının yapıldığı port (A9, A10) UART2 :  Master PLC için modbus bağlantısının yapıldığı port (A2, A3) Modbus iletişimi ile PLC’nin merker...

Bluebishi Configurator programı

Resim
  Bluebishi PLC (STM32F103C8T6) ile 1-wire iletişimi yapılacaksa veya onu modbus master olarak ayarlamak istiyorsak configurator programını kullanmamız gerekiyor. Bu program sayesinde gerekli ayarlar PLC içine kaydediliyor. Exe dosyayı tıklayınca aşağıdaki resimde görüldüğü gibi hatalar alabiliriz. Dikkat ederseniz hatada, hatanın hangi dosya ile ilgili olduğu yazıyor. configurator dizininde bulunan bu dosyayı, c:\windows\SysWOW64 dizinine kopyalıyoruz. Ardından komut istemini yönetici olarak açıyoruz. Regsvr32 komutu ile register işlemini yapıyoruz. Bu işlemi diğer ocx dosyaları için de yapmamız gerekebilir.  Sonunda bu pencere bizi karşılar Yukarıda PLC > Comm. Setting menüsünden, cihazın bağlı olduğu portu seçiyoruz. Ardından Test butonuna tıklıyoruz. Bağlantının başarılı olduğunu gösteren mesaj penceresini görmeliyiz. UART1 sekmesine tıkladıktan sonra "Upload from PLC" butonuna tıkladığımızda, cihazın varsayılan olarak modbus slave olduğunu ve haberleşme hızının 5760...

Bluebishi Clock V2

Resim
Önceki yazıda, saat yapmak için gereken ladder programını paylaşmıştım. Orada, şemada decoder entegresi olan 74LS48 kullanmıştık. Bu yazıda, bu entegre olmadan bir saat yapıyoruz. Çünkü decoder'in yaptığı işi PLC'ye yaptırıyoruz. Yan etki olarak neredeyse PLC'nin tüm çıkışlarını kullanıyor olacağız. Saate göre aç/kapa yapılacak bir röle vs. yoksa bu yazıda yapacağımız saat, işimizi görecektir. Üstteki resimde, alt tarafta bulunan display’e bağlı katod uçlarını (strobe), ULN2004A entegresi'nin çıkışlarına bağlıyoruz. ULN’nin girişlerine Y10 ve Y13 arası çıkışları bağlayalım. ULN'nin 8 numaralı bacağını direk GND'a bağlıyoruz. Resimde, üst tarafta bulunan 7-segment data uçlarını STM32 kartına direk bağlamıyoruz. Örneğin Y0 ve a arasına 220 ohm direnç bağlıyoruz. Yani, toplamda 7 direnç kullanmamız gerekiyor.  Son satırlarda bulunan komutlar şarta göre çalışmaktadır. [= D10 K1] bir şarttır. Eğer D10, 1'e eşitse demektir. [MOV K6 K2Y0] komutu ise Y0  Y7  arasınd...

Bluebishi RTC ve kalıcı register'lar

Resim
  RTC, Real Time Clock yani gerçek zaman saati anlamına geliyor. " Modbus'lı 7-segment display " isimli yazımda kullanılan şema ile dijital bir saat yapmak da mümkün oluyor. Projede 4 haneden oluşan bir display vardı. Bu da saati göstermek için yeterli olacaktır. Bu saate, belli zamanlarda yapılacak görevler verilebilir. PLC programında, saat, dakika bilgisinin yanı sıra haftanın günlerini, örneğin her hafta pazar günü gibi veya her ayın 15'i gibi bir zamanı belirtebilirsiniz. STM32 kartının, elektrik kesildiğinde saati unutmaması için VB - GND bacaklarına resimde görülen CR2032 pili bağlamanız yeterli oluyor. Yine bu pil sayesinde D0-D9 arasındaki register'ları kalıcı hafıza olarak kullanmak da mümkün oluyor. Yani bu hafıza birimlerine yazılan bilgiler, elektrik kesilse bile hafızada kalıyor. 7-segment programında küçük bir değişiklik yaparak saati çalışır duruma getirdik. Saat için ladder diyagramı Saati ilk kez çalıştırdığımızda ayarlamak gerekiyor. Bunu, GX...

Blue Pill'i güvenilir yapmak

Resim
  3 Dolar'a temin edilebilen STM32F103C8T6 geliştirme kartını, Mitsubishi FX2N PLC'ye dönüştürüp ismini de Bluebishi yapmıştık. PLC olduğuna göre daha güvenilir olması ve düzgün çalışması gerekiyor haliyle :)  Birkaç kez, cihaz masada dururken, PLC'nin çalıştığını gösteren yeşil LED'in söndüğünü görmüştüm. Bu probleme neden olan şeyin, laçkalaşmış veya iyi temas etmeyen jumper'lar olduğuna karar verdim. (resimde görülen sarı renkli zımbırtılar) BOOT1 jumper'ı hep yerinde yani 0 konumunda kalıyor. BOOT0 jumper'ı ise sadece karta firmware yükleneceği zaman 1 konumuna alınıyor. Normalde o da 0 konumunda kalıyor. Karta yukarıdan bakınca, normalde durdukları pozisyonu ve konum numaralarını daha rahat görebilirsiniz. Fotoğrafta üstte duran jumper BOOT0 oluyor.  Normalde jumper bağlantıları resimdeki gibidir. Yani jumper çıktığında veya iyi temas etmediğinde, 2 numaralı pin'ler boşta kalmaktadır. Bu da probleme neden oluyor.  Bu şekilde 2 ve 3 numaralı pin...

Modbus'lı 7-segment display

Resim
  Youtube'da izle... Breadboard üzerinde, PLC ile daha doğrusu STM32  geliştirme kartı ile 7-segment display devresi oluşturdum. Devre, Bluebishi, 4'lü 7-segment display ve iki entegreden oluşuyor. Normalde 4 haneli display için 4 tane 74LS48 kullanmak gerekiyor. Ama multiplexing yaptığımız için bir tane entegre yeterli oluyor. Multiplexing işleminde kısa aralıklarla her digit teker teker sırayla enerjileniyor. İşlem hızlı olduğundan gözümüz bu değişimi algılayamıyor.  ULN2004A entegresine dikkat ederseniz herhangi bir gerilim kaynağı bağlı değil. Örneğin 1 no'lu girişine 3.3V gelirse, 16 no'lu çıkışı GND'a çeker. Yani 7-segment display'in katod uçları bu entegre tarafından sırayla GND'a veya 0V'a çekilirler. PLC'nin D100 register'i modbus rtu ile değiştirilirse, içindeki değer 7-segment display'de gösteriliyor. Bunun için PLC'nin 8 çıkışı kullanılıyor.. Binler basamağı Y4, yüzler basamağı Y5, onlar basamağı Y6, birler basamağı Y7 çıkışı...

Ders-05 Kara Şimşek

Resim
  Şemayı bu şekilde oluşturabiliriz. Girişlerde dahili pull-down dirençleri aktif olduğundan, ayrı bir dirence gerek kalmıyor.  Soru   :   https://www.youtube.com/shorts/JZq9RkHnEZM Cevap :   https://www.youtube.com/watch?v=DBF2yU52X4M Not : Aynı ladder programı Pico’ya da yüklenebilir. Sadece butonları 4.7K direnç ile pull-down yapmak gerekecektir. Picobishi için GX Developer  programında plc tipi fx2n yerine fx1n seçilmelidir.