arduino ladder

@erguncaliskan arkadaşın açtığı bu konu ilgimi çekti ve denemeye karar verdim. Ladder bilip arduino programı yazmasını bilmeyenler için güzel bir uygulama. Konu ile ilgili olarak internette bir kaç tane örneğin dışında kaynak yok. Timer fonksiyonunda bir sıkıntı var gibi ya da kullanmasını ben beceremedim. İçerisinde timer fonksiyonunu da barındıran bir çalışmayı paylaşacaktım bu nedenle farklı bir örnek bir çalışma yaptım aşağıda paylaşıyorum. Yalnız yöneticilerin konu düzenleme yetkisini süresiz vermeleri gerek. Bir zaman sonra konuyu editleyemiyoruz. Bu nedenle de hala kızgınım.


arduino85.png


PLC'de olduğu gibi ladder diyagramı hazırlayıp bunu arduinoya yüklemek mümkün olur mu diye soranlar için örnek bir çalışma hazırladım. Bu çalışmayı baz alarak arduino programlama bilmeyenlerin de plc ile yapılan bir çok kumanda devresini, en ucuz plc fiyatının onda biri hatta arduinoyu yurt dışı alış veriş sitelerinden temin edilmesi durumunda otuzda biri fiyatta olan olan arduino ile yapabilmeleri mümkün.

Bundan sonraki açıklamaları arduino programlamayı bilmeyip ladder programlamayı bilenleri dikkate alarak aşama aşama yapacağım:

Örnek kumanda devremizde bir motor bir start butonu ile mühürlemeli olarak çalıştırılacak ve motorumuz stop butonuna basılana dek dönmeye devam edecek. Şimdi bu kumanda devresini ladder program olarak hazırlayıp arduinoumuza yükleyip devrenin çalışmasını gözlemleyeceğiz.

Ladder diyagramını hazırlamak için waltech_ladder_maker programı gerekli olacak. Bu programı orjinal konunun sitenin download bölümünden ya da internette arama yaparak farklı kaynaklardan işletim sisteminize uygun versiyonunu indirebilirsiniz.

İstenilen özellikte çalışması istenen otomatik kumanda devresi aşağıdaki şekilde olacaktır.
arduino82.png


Klasik kumanda devresine göre hazırlanmış olan PLC programı aşağıdaki şekilde olacaktır.
arduino83.png


Şimdi arduino için ladder programını waltech_ladder_maker programı ile aşağıdaki gibi hazırlayalım:


arduino84.png


Bu çizimi yaparken kullanacağımız arduino modelini hardware menüsünden seçmemiz gerekir. Bu işlemi yapmayı unutmayınız. Ben arduino uno modelini kullandığım için Arduino Unoyu seçtim.

Daha sonra Help menüsünden arduinomuzun giriş ve çıkış pinlerine bakarak programı hazırlarken uygun giriş ve çıkışları kullanmaya dikkat ediyoruz. Örneğimizde durdurma butonu için A0, başlatma butonu için A1 ve çıkış için D5 pinini kullandık.

arduino86.png


Bu pinler waltech_ladder_maker programında şu giriş ve çıkışlara karşılık gelmektedir:
in_1: A1
in_2: A0
out_1: D5
Diğer giriş ve çıkış pinlerini kullanmadığımız için yazmaya gerek görmedim.

Hazırlanan ladder programın arduinoya aktarılması:
Burası tahmininizden çokdaha kolay olacaktır. Arduinoide programına ihtiyaç yoktur. Bilgisayarınıza arduinousb bağlantısını yaptıktan sonra waltech_ladder programında compile butonuna tıklamanız yeterli. 15 - 20 saniye içerisinde programınız arduinoya yüklenmiş ve arduinonuz yüklenmiş olaan programa uygun olarak çalışmaya hazır olacaktır.

Sıra geldi arduinoya diğer devre elemanlarının bağlantısını yapmaya:
Devre şemasını hazırlarken dikkat edilmesi gereken bir nokta var: Örneğimizde giriş elemanlarını (başlatma ve durdurma butonları) arduino ile irtibatlandırırken arduinoya atılan programın özelliği nedeniyle girişlerin low-aktive özellikte olduğunu bilmeliyiz. Yani girişlere lojik sıfır seviyesi uygulandığında girişler aktif olmakta ve çıkış buna göre belirlenmektedir. Arduino girişleri aktif yapılmak istendiğinde hangi buton aktif olacaksa o buton üzerinden arduinonun ilgili girişine lojik 0 seviyesi uygulanmalıdır. Bu bilgiler ışığında devre şemamız aşağıdaki şekli alacaktır.

arduino87.png


Kaynak: temrinlerim.org
 
Son düzenleme:
Giriş-Çıkış sayısı az olduğundan basit devreler dışında pek bir alternatif sunmadığı anlaşılıyor.
@bolubeyi giriş(I)-çıkış(Q) sayısını arttırabilmek mümkün müdür?
 
arduino86.png


Resimi incelerseniz arduinonun uno modeli için 5 dijital giriş ve 7 dijial çıkışa ilaveten 2 de pwm çıkışı mevcut. Biz örneğimizde 2 giriş ve tek çıkış kullandık. mega modelinde ise daha fazla giriş ve çıkış pini olduğundan giriş ve çıkış sayıları daha fazladır. Programın help menüsünden hangi modelde kaçar tane giriş ve çıkış olduğuna bakabilirsiniz.
 
Aynı giriş ve çıkış pinlerini birden fazla shildde kullanmamak şartıyla kullanabilirsiniz. Birden fazla shildin aynı giriş ya da çıkış pinlerini kullanması durumunda yazılımsal ve/veya donanımsal değişiklikler yapmak gerekir.
 
Bende Ladder logic'i Pic için denemiştim.Ondada timerlarda sapma mevcuttu.Ama diğer fonksiyonları gayet başarılıydı.
 
Giriş-Çıkış sayısı az olduğundan basit devreler dışında pek bir alternatif sunmadığı anlaşılıyor.
@bolubeyi giriş(I)-çıkış(Q) sayısını arttırabilmek mümkün müdür?

MCP23S17
Bir de bunun sülalesinden yaklaşık 2500 adet entegre var(tahmini bir sayı çoğu vardır azı yoktur).

Açık kaynak elektorniğe bulaşırsan etrafındaki insanlar seni asla anlayamaz çünkü herşeye mantıksal bir yaklaşım ile bakarsın.
*** Örnek , portları çoklayabildiğin gibi 2048 i/o portunu 2 pine indirgeyebilirsin(bknz: DEMUX).
 

Forum istatistikleri

Konular
129,877
Mesajlar
930,967
Kullanıcılar
452,747
Son üye
azad911

Yeni konular

Geri
Üst