Kayıtlar

Blue Forth

  Bana rastlamasa da bazı stm32f103 kartlara Bluebishi plc firmware'i yüklenemiyor. Kartın plc olabilmesi için toplamda 128K flash hafızaya sahip olması gerekiyor. Flash hafıza miktarı ve çip'in sahte olup olmadığı bir program yüklenerek anlaşılabiliyor. Buradan indirebileceğiniz firmware dosyasını, Bluebishi yazısında gösterdiğim şekilde karta yazabilirsiniz. Bu program yüklendikten sonra klavyeden m tuşuna basılıyor ve karşımıza bir menü çıkıyor. Bu işlemi bir seri terminal programı içinde yapmalısınız. Bendeki kart, plc olduğunda sorunsuz çalışıyor. Buna göre benim aldığım çıktılar şu şekildedir : =========================================== Bluepill Diagnostics V1.640 - GPL3 Licensed =========================================== h - test second Half of the 128KB flash declared for this chip: PASSED f - how much Flash is declared in the Flash Size Register ? d - Print DBGMCU_IDCODE a - STM32F103C8T6 Authenticity test, don't use with SWD/JTAG. j - Jdec manufac...

Lazer gravür cihazı ile prototip pcb yapma

Resim
  20x40mm V-slot sigma profiller ve 3D yazıcıda basılan plastik parçalarla lazer gravür veya kazıyıcı cihazı yapmayı başardım. Bu tip cihazlar hazır olarak da satılıyor ama ben kendim yapmayı tercih ediyorum. Neden mi ? İlerde bir arıza durumunda, cihaz, piyasadan rahatlıkla bulunabilecek parçalardan oluştuğundan bu işin ticaretini yapan firmalara bağlı kalmamış oluyorum. Cihaz çalışırken şasenin hareket etmemesi için, ayaklar, sehpaya vidaladığım küçük pabuçların içine oturuyor Sistem x ve y ekseninde tekerleklerle hareket eden üç arabadan ve lazer modülünden oluşuyor.  Lazerin altına konulan malzemeyi kesmesi veya yakması için odak mesafesinin iyi ayarlanması gerekiyor.  Bazı lazer modüllerde odak ayarı varken bazıları sabit odaklı oluyor. Neyse ki z ekseninin yüksekliği, vidalı mil (tij) ile ayarlanabiliyor.  Elektronik aksam, iki tane step motor dışında Arduino Uno, CNC shield (V3) kartlarından ve 12V güç kaynağından oluşuyor. Bilgisayar tarafındaki yazılım ( Lig...

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...