Arduino ile fotoselli otomatik kayar kapı

coolimage

Yeni Üye
Katılım
16 Aralık 2021
Mesajlar
6
Merhabalar,

iş yerimizde kontrol kartı arızalanan otomatik cam kapı için arduino ile bir proje yapmak istiyorum.
Ancak elektrik ile aram iyi olsa da programlama konusunda zayıfım. Kontrol kartı haricinde diğer bileşenler çalışır durumda olduğu için mevcutu kurtarıp bütçeye katkı yapmak istiyorum.

Elimdeki malzeme listesi;

- 24V DC enkoderli ve 1/25 kendinden redüktörlü motor,
- İç ve dış radar,
- Kapı eşiklerinde kanatlar kapanırken engeli algılayan 2 adet fotosel,

Projede kullanmayı düşündüğüm ek bileşenler:

- Arduino mikro işlemci
- 24V power supply,
- Aç-kapa veya Emergency buton,
- Akım sensörü
- Motor sürücü
- Kontaklarından 24V geçirip motoru çalıştırmak için röle

Bu çerçevede ek birşeylere ihtiyacım varsa onlar da listeye eklenebilir tabiiki.

Herşeyden önce projenin bazı sekansları ve senaryolara göre farklı davranışları olacak.

POWER-ON (sistemin öğrenme modu)

- Güç açıldı,
- Radarlar, fotoseller, encoder pasif ancak akım sensörü devrede,
- Motor kapı açılma yönünde (Misal CW) çok yavaş dönmeye başlar,
- Kapı sınıra dayandığında motordaki akım artacağından akım sensörü sınıra geldiğini belirler ve sinyal verir (ya da değer aşımında yorumlanacak program satırı çalışır), motor durur.
- 1-2 saniye bekleyip encoder aktif olur (pulse değeri sıfır) ve motor aynı yavaşlıkta kapanma yönüne (CCW) dönmeye başlar. Encoder pulsleri sayar,
- Tam kapanma noktasına geldiğinde akım sensörü artışı algılar. Motor durur, encoder pulse değeri bulunmuş olur.

SELF TEST (sistemin çalışma testi)
Power_On sekansından hemen sonra,

- Encoder değerine göre (misal 2000 pulse olsun) %50 (1000 pulse) hızlı modda, kalanını yavaşlayarak pulse 0 (sıfır) a inene kadar motor CW çalışır.
- Pulse sıfır olunca motor durur ve belirlenen bir süre (misal 5sn) açık pozisyonda kalır. KAPI_AÇIK
- Radarlar ve fotoseller de aktif olur,
- Süre sonunda motor CCW yönünde 1000 pulse hızlı modda, kalanını yavaşlayarak pulse 2000 e çıkana kadar çalışır. KAPI_KAPALI
- Radarlardan sinyal alana kadar bekler.

ÇALIŞMA SENARYOSU

- Radar yaklaşım algıladı.
- Eğer kapı pozisyonu AÇIK (encoder pulse = 0) ise bekleme süresini başlat,
- Kapanma anında bir yerde yarım ise (encoder pulse > 0) AÇIK konuma motor çalıştır.
- KAPI_AÇIK bekleme süresi sonunda KAPALI konuma motor çalıştır.

- Eğer Fotosel engel algılıyor ise Kapı AÇIK pozisyona gönder. Fotosel pasif olana kadar sayaç (timer) başlatma.
- Fotosel engeli kalktı. Süre başlat, süre bitmeden tekrar engel algılarsa timer durdur. Engel kalkarsa tekrar timer başlat.
- Süre bitiminde KAPALI konuma motor çalıştır. KAPI_KAPALI prosedürünü yap.

- Eğer kapanma anında fotosel ve radarın algılayamadığı bir engel (yerdeki çanta vs.) olursa,
- Motor zorlanacak, akım artacak,
- Akım sensörü kapanma yönünde belirlenen değeri aşarsa (Power-On anındaki gibi) motor durdur, KAPI_AÇIK prosedürünü yap.

Düşündüğüm proje böyle birşey...

İllaki unuttuğum veya dikkat etmediğim noktalar da vardır diye düşünüyorum. Bazı noktaları ise projeyi bu aşamaya getirebildikten sonra ekleyebilirim belki.
Dikkat ettiyseniz bazı değişkenleri tanımlamak veya değer atamak gibi şeylerde LCD bir ekran ve basit buton paneli pratik olabilir.

-Mesela;
- Bekleme süresi,
- Motor ilk (hızlı mod) hız,
- Motor ikinci (yavaşlama) hız,
- Akım anma değeri değiştirme (belki sürtünme vs nedeni ile artış gösterirse...)
- Yük taşınırken sürekli açık kalsın (self test vs beklememek için)
- Antre terk edilecekse kedi-köpek veya izinsiz giriş olmaması için kilit modu

gibi gibi şeyler hayatı kolaylaştırmak adına projede hoş durabilir.

Bu projede benimle kafa yorabilecek, aslında işin programsal kısmını bana çözümleyebilecek arkadaşlar var mı?
 

taydin

Timur Aydın
Staff member
Katılım
24 Şubat 2018
Mesajlar
14,454
Güzel bir proje olur. Burada her bir bileşen ayrı ayrı yazılım geliştirme çabası gerektirecek. Mesela forumda daha önce konusu oldu, doppler radar modülleri "adam var" veya "adam yok" gibi dijital çıkış vermiyor. Onun yerine işlenip yorumlanması gereken bir analog sinyal üretiyor. Burada bir elektronik devre ve yazılım gerekiyor. Bir de tüm sistem bileşenlerini koordine eden bir kontrol yazılımı olacak. Eğer bütün senaryoları tespit ettiysen, yazılımı geliştirmek çok kolaylaşır. Aksi halde yazılımı geliştirmeye başlaman lazım ve testlerde sorunlar keşfettikçe çözümü üzerinde uğraşman lazım. Her aşamada forumda soru sorarak destek alabilirsin.
 

Gokrtl

Gökhan Kartal
Staff member
Katılım
27 Şubat 2019
Mesajlar
8,106
Bozuk sensörün resimlerini koyabilir misin?

Bu tarz kapılarda benim karşılaştığım sorun şöyle;
Kapıya sensörü takan firma daha sonra tekrar satış yada servis yapabilmek için yazılım kısmında bir açma-kapama ömrü biçiyor.

Mesela kapı 100 bin kez açılıp kapandıktan sonra sistem artık çalışmaz duruma geliyor. Eğer üzerindeki çipi kendin tekrar programlarsan başka hiç bir malzemeye ihtiyaç duymadan çalışır hale getirebilirsin.
 

Ahmet

Kıdemli Üye
Katılım
31 Mayıs 2021
Mesajlar
2,755
sınıra geldiğin anlamak için akım okuması yapmak bana doğru gelmiyor mutlaka bir sınır anahtarı olmalı akım ölçümü yine yapın arada sıkışma varmı onu anlarsınız ama geri ve ileri pozisyonlarını mutlaka bir sınır anahtarı ile belirleyin
 

coolimage

Yeni Üye
Katılım
16 Aralık 2021
Mesajlar
6
Bozuk sensörün resimlerini koyabilir misin?

Bu tarz kapılarda benim karşılaştığım sorun şöyle;
Kapıya sensörü takan firma daha sonra tekrar satış yada servis yapabilmek için yazılım kısmında bir açma-kapama ömrü biçiyor.

Mesela kapı 100 bin kez açılıp kapandıktan sonra sistem artık çalışmaz duruma geliyor. Eğer üzerindeki çipi kendin tekrar programlarsan başka hiç bir malzemeye ihtiyaç duymadan çalışır hale getirebilirsin.
Merhaba,

Aslında ilk başta dediğiniz gibi sensör kaynaklı bir durum vardı. Dış sensör potansiyometreden son raddeye getirsek bile yaklaşım algılamıyor, kapıya yanaşan birini gördüğümüzde biz içerideki sensöre yaklaşıp içeriden açıyorduk. Daha sonra kapı hiç çalışmamaya başladığında dış sensörün ve kontrol ünitesinin fırtınalı bir hava sonrası yağmur suyunu çektiğini, ve pek çok bileşenin de oksit yaptığını gördük. bileşenler record diye bir markanın STM 21 modeline ait. Türkiyedeki mümessiline bileşenleri kontrol için gönderdiğimde kontroller, fotosel modülü ve radarlardan birinin çalışmadığını söylediler. Hal böyle olunca da arızalı bileşen değişimi değil, tüm set değişimi olarak (raylar vs de dahil) fiyatlama yapılıyor. Yerli üreticiler de aynı şekilde teklif sunuyorlar.

Hal böyle olunca da ben kendi başıma bu işin altından nasıl kalkarım oldu. Açıkçası projeyi yapmayı da kendime hobi amaçlı ve benzer durumları yaşayanlar veya ödev gibi konular için birşeyler arayanlara kaynak ta olacağını düşünüyorum.
 

Ekler

  • WhatsApp Image 2021-12-16 at 14.50.16.jpeg
    WhatsApp Image 2021-12-16 at 14.50.16.jpeg
    104.6 KB · Görüntüleme: 33

coolimage

Yeni Üye
Katılım
16 Aralık 2021
Mesajlar
6
sınıra geldiğin anlamak için akım okuması yapmak bana doğru gelmiyor mutlaka bir sınır anahtarı olmalı akım ölçümü yine yapın arada sıkışma varmı onu anlarsınız ama geri ve ileri pozisyonlarını mutlaka bir sınır anahtarı ile belirleyin
Öncelikle öneriniz için teşekkür ederim

Mevcut halinde bir sınır anahtarı yoktu zaten. Cam kapılar bir şekilde açma veya kapama yönüne gelince duruyorlar. Arızasını kontrol etmek için baktığımda zaten motor üzerinde bir enkoder olduğunu, bu sayede mesafeye göre dur-çalış yaptığını anladım. Akım sensörü ile aslında kapı kanatları arasında bir engel olduğundaki senaryoyu düşünmüştüm. Daha sonra bu sensörü sınır anahtarı kullanmak yerine encoder mesafesi ölçme işlemini tamamlaması için kullanabileceğimi fark ettim. Sistemde enerji olduğu sürece puls sayısını bilecek ve puls başı-sonu değerlerinde duracaktır.

Elektrik okurken encoder diye ibrşey bilmediğimizden bize de yürüyen vagon-araba vs lineer hareketlerde limit switch kullanımı kumanda devrelerinde anlatılmıştır hep.

Tekrardan ilginize ve tavsiyenize teşekkür ederim.
 

Ahmet

Kıdemli Üye
Katılım
31 Mayıs 2021
Mesajlar
2,755
Öncelikle öneriniz için teşekkür ederim

Mevcut halinde bir sınır anahtarı yoktu zaten. Cam kapılar bir şekilde açma veya kapama yönüne gelince duruyorlar. Arızasını kontrol etmek için baktığımda zaten motor üzerinde bir enkoder olduğunu, bu sayede mesafeye göre dur-çalış yaptığını anladım. Akım sensörü ile aslında kapı kanatları arasında bir engel olduğundaki senaryoyu düşünmüştüm. Daha sonra bu sensörü sınır anahtarı kullanmak yerine encoder mesafesi ölçme işlemini tamamlaması için kullanabileceğimi fark ettim. Sistemde enerji olduğu sürece puls sayısını bilecek ve puls başı-sonu değerlerinde duracaktır.

Elektrik okurken encoder diye ibrşey bilmediğimizden bize de yürüyen vagon-araba vs lineer hareketlerde limit switch kullanımı kumanda devrelerinde anlatılmıştır hep.

Tekrardan ilginize ve tavsiyenize teşekkür ederim.
eğer enkoder değerini hafıza tutmazssanız elektrik gidip geldiğinde pozisyonu bilemeyeceksiniz.
Eğer eeproma yazarsanız anlık puls değerini buda günde yüzlerce kez açıldığını hesaba katarak eeprom ömrünü epey yiyecektir kapı pozisyonunu bilmenizin en mantıklı yolu sınır anahtarı kullanmak gibi görünüyor
 

Gokrtl

Gökhan Kartal
Staff member
Katılım
27 Şubat 2019
Mesajlar
8,106
eğer enkoder değerini hafıza tutmazssanız elektrik gidip geldiğinde pozisyonu bilemeyeceksiniz.
Eğer eeproma yazarsanız anlık puls değerini buda günde yüzlerce kez açıldığını hesaba katarak eeprom ömrünü epey yiyecektir kapı pozisyonunu bilmenizin en mantıklı yolu sınır anahtarı kullanmak gibi görünüyor
Bizim kapıların aklı karıştığında önce açma komutu gönderiyor. Eğer kapı zaten açıksa bunu anlıyor ve bu sefer kapatma komutu gönderiyor. Kapı sonuna kadar kapandığında bunu da anlıyor ve kapının konumunu tayin etmiş oluyor.

Eğer kapı yarım açıksa önce açma komutu gönderdiği için sonuna kadar açılıyor, sonra kapatma komutu gönderiyor ve sonuna kadar kapatıyor. Ve yine bu şekilde konumu tayin etmiş oluyor.

Sanırım bunuda hep konuştuğumuz gibi motora binen akım yükünü hesaplayarak anlıyor.
 

coolimage

Yeni Üye
Katılım
16 Aralık 2021
Mesajlar
6
Bizim kapıların aklı karıştığında önce açma komutu gönderiyor. Eğer kapı zaten açıksa bunu anlıyor ve bu sefer kapatma komutu gönderiyor. Kapı sonuna kadar kapandığında bunu da anlıyor ve kapının konumunu tayin etmiş oluyor.

Eğer kapı yarım açıksa önce açma komutu gönderdiği için sonuna kadar açılıyor, sonra kapatma komutu gönderiyor ve sonuna kadar kapatıyor. Ve yine bu şekilde konumu tayin etmiş oluyor.

Sanırım bunuda hep konuştuğumuz gibi motora binen akım yükünü hesaplayarak anlıyor.
Evet. Bu kapı da aynı şekilde haraket ediyordu. Zaten bu sebele sekanslar halinde projenin adımlarını işleyişe kadar planlamaya çalıştım. Mesafe ne olursa olsun power-on bölümünde ilk kodlama motorun açılma yönüne dönüş yapması. Bunun nedeni de encoder puls değerine bir referans yani sıfır noktası belirtebilmek. Tamamen açıkken bile enerji gitse de geri geldiğinde konum sıfır olarak kabul edecek. tam kapanmada da encoder puls değeri hesaplanmış olacak. Dolayısı ile enerji açık olduğu sürece pulse değerini bilmesi yeterli.

Insect23'ün değindiği noktada şu var. Çok sık enerji kesintisi olan bir durumda 2-3 dk bu power-on, self test seramonisi beklenecek. Bizim kapı sistemi çalışırken de kumanda paneli arızalıydı :( içeri eşya taşıma vs gibi durumlarda enerjiyi kesiyor, geri verdiğimizde de bir müddet bekliyorduk. O yüzden bir kontrol paneli ile sürekli açık ya da sürekli kapalı gibi bir ekleme ihtiyacını proje sonunda belirttim.
 

coolimage

Yeni Üye
Katılım
16 Aralık 2021
Mesajlar
6
eğer enkoder değerini hafıza tutmazssanız elektrik gidip geldiğinde pozisyonu bilemeyeceksiniz.
Eğer eeproma yazarsanız anlık puls değerini buda günde yüzlerce kez açıldığını hesaba katarak eeprom ömrünü epey yiyecektir kapı pozisyonunu bilmenizin en mantıklı yolu sınır anahtarı kullanmak gibi görünüyor
Power-On aşamasındaki işleyiş doğru planladıysam eprom gibi bir hafızaya gerek duymayacak. Aslında bu sayede proje hangi genişlikteki kapıya uygulanırsa uygulansın stabil çalışacaktır. Misal giriş genişliği 1,5m olsun. İhtiyaçtan dolayı genişliği 2m ye taşımak gereken bir durumda bile pek çok şey değişmeli kayar paneller, ray uzunluğu, kayış uzunluğu vs. Ama yine de ilk power-on aşamasında kontrolör yeni puls değerini öğrenecek ve çalışma buna göre devam edecek. Bir kere tasarlandığında pek çok ölçüye kullanılabilecek bir yapı olduğunu düşünüyorum :) Ancak şunu da belirteyim garaj kapısı gibi ağır bir yük haraketinde belirttiğiniz gibi sınır anahtarı çok daha mantıklı gibi duruyor.
 

coolimage

Yeni Üye
Katılım
16 Aralık 2021
Mesajlar
6
Bizde 10-15 saniyeyi geçmiyor bu işlem.
Valla bizim kapı neredeyse iki yıldır arızalı olduğu için süreyi hatırlamıyorum. Ama bu süreleri kısaltmanın yolu da sanırım proje sonunda belirttiğim motor hızları gibi değişkenleri PWM değerlerini bir panel üzerinden değiştirerek yapabilmek. Motor etiketinde anma akımı 2.7A olarak belirtilmiş ama bu bile bir muamma gibi sanki. Mesela sensörü 2.8A ya göre planladık ve çalıştı diyelim. Daha sonra toz-pas vs nedenler ile insect23 ün dediği gibi bir zorlanmada kapı açılma döngüsüne gidecektir. Bunu bir şekilde panel tarzı bir şey ile kontrol etmemiz gerektiğini düşünüyorum. Yoksa her seferinde kontroller söküp pc başında kodu güncellemek gerekecek gibi.
 

Endorfin35+

Kayıtsız Üye
Staff member
Katılım
1 Mayıs 2020
Mesajlar
2,976
Engel algılayan bir fotosel var ise akım sensörü yerine kapının tam açılma ve kapanma durumunu tespit etmek için iki adet limit sensörü ile daha kolay/sağlıklı olabilir.

lcd panel yerine bluetooth veya wifi modül ile uzaktan kablosuz ayar yapılabilir. Pin sayısı yeterli olu ise nodemcu olabilir.
 
Top