Raspberry pi 4 ile makineden veri toplama

emreeyy

Yeni Üye
Katılım
3 Haziran 2026
Mesajlar
8
Merhabalar,
Plastik enjeksiyon makineleri için bir proje yapıyorum.

Kalıp açıldığında / kapandığında durumlarını raspberry pi pinlerine iletip high/low çevrimini +1 parça üretildi olarak okumaya çalışıyorum.

Makinelerin gücü 24 volt olduğu için Slim Röle kullanıyorum

1a98cadf-4adf-46f3-888f-078f09283cbf.jpeg



Com a raspberry nin 3.3 voltunu bağladığım için sağlıklı bir şekilde veriyi alabiliyorum fakat raspberry pi 4 bunun için doğru cihaz mı emin olamadım.Alternatif öneriniz var ise (Ethernet girişini ve hafıza kartı destekmeli(internetin olmadığı durumlarda cihazın hafızasına kaydedecek veriyi.İnternet geldiğinde hafızadaki veri servera aktarılacak))

Makineler 7/24 çalışıyor.Stabil olur mu emin olamadım.

Bir de yaptığım bağlantı sizce mantıklı mı yoksa başka şekilde mi tasarlanmalı?
 

Ekler

  • 1a98cadf-4adf-46f3-888f-078f09283cbf.jpeg
    1a98cadf-4adf-46f3-888f-078f09283cbf.jpeg
    1.5 MB · Görüntüleme: 27
Raspberry Pi de, elde edilebilecek entegrasyon özellikleri nedeniyle tercih edilebilir. Komple linux işletim sistemi var üzerinde. Uzaktan ssh ile bağlanabilirsin, NTP ile sistem saatini güncel tutabilirsin, bir web arayüzü hazırlayıp işlem yapabilirsin, standart veritabanlarına erişim mümkün olur.

Burada şu konulara dikkat etmek lazım:

* Cihazı contalı metal bir kutuya koy ve kabloları da özel kauçuk contalarla kutunun içerisine al.

* Röle kontağını doğrudan RPi girişine bağlama. Onun yerine bir optokuplör kullan.

* Röle çıkışına uygun bir RC filtre koyarak (1k direnç, 100nF kapasitör) röle kontağındaki debounce sorununu çöz

* RPi temiz ve stabil bir besleme voltajı ister. Kaliteli bir SMPS ile 24V u RPi için uygun olan voltaja düşür. Makinadaki PLC doğrudan uygun voltaj veriyor diye onu kullanma.
 
Raspberry Pi için Şunu düşünün. Giriş çıkış pinleri olan içinde linux işletim sistemi çalışan bir bilgisayar. Bu projede eğer işletim seviyesinde web server, database gibi bir OS gerektiren yazılımlar kullanılmyacaksa amaç sadece veri okuma ise ESP32 türevi kartlarda bunu yapabilir. Ama veriyi işlemek görselleştirmek depolamak gibi işlemler için gene OS gerekir. Belli bir yere kadar ESP32 ile çalışabilirsin. Basit web server yapıp anlık dashboardlar oluşturabilirsin.

Bir diğer önerimde ilgili enjeksiyon makinesinde PLC varsa Modbus ile veri alıp okuyup direkt işlem yapılabilir. Oda alternatif ama yaptığınız gibi sensörlerden verileri kuru kontak gibi yöntemler ile okuyup işleyebilirsiniz.

Ben bir projede arkadaşıma destek olmuştum. Kendisi linuxcu olduğu için direkt Raspberry Pi ile başlamıştı. 10 adet makineden aldığı veriler ile dashboardlar oluşturmak istiyordu. Makineler birbirine yakın olmadığı için hepsine Raspberry Pi takma planı vardı. Bir konuda benden destek istediğinde konuştuk ve konu modbusa geldi. Oysa üzerlerinde PLC varmış ve ethernetler takılı değilmiş. Firma ile görüşüp cihazları izole bir network ile iletişim kurmayı sağladı. Sanal sunucuya ubuntu kurup hayalindeki dashboard ve arkaplan servislerini yazdı. PLC lerden modbus ile veri aldı ve projeyi çok uygun maliyetlere hazırlamıştı. PLC firması istediği parametreleri verecek şekilde PLC yi ayarlamışlardı. Belki sizin içinde benzer durum geçerlidir diyerek yazmak istedim.
 
Raspberry Pi için Şunu düşünün. Giriş çıkış pinleri olan içinde linux işletim sistemi çalışan bir bilgisayar. Bu projede eğer işletim seviyesinde web server, database gibi bir OS gerektiren yazılımlar kullanılmyacaksa amaç sadece veri okuma ise ESP32 türevi kartlarda bunu yapabilir. Ama veriyi işlemek görselleştirmek depolamak gibi işlemler için gene OS gerekir. Belli bir yere kadar ESP32 ile çalışabilirsin. Basit web server yapıp anlık dashboardlar oluşturabilirsin.

Bir diğer önerimde ilgili enjeksiyon makinesinde PLC varsa Modbus ile veri alıp okuyup direkt işlem yapılabilir. Oda alternatif ama yaptığınız gibi sensörlerden verileri kuru kontak gibi yöntemler ile okuyup işleyebilirsiniz.

Ben bir projede arkadaşıma destek olmuştum. Kendisi linuxcu olduğu için direkt Raspberry Pi ile başlamıştı. 10 adet makineden aldığı veriler ile dashboardlar oluşturmak istiyordu. Makineler birbirine yakın olmadığı için hepsine Raspberry Pi takma planı vardı. Bir konuda benden destek istediğinde konuştuk ve konu modbusa geldi. Oysa üzerlerinde PLC varmış ve ethernetler takılı değilmiş. Firma ile görüşüp cihazları izole bir network ile iletişim kurmayı sağladı. Sanal sunucuya ubuntu kurup hayalindeki dashboard ve arkaplan servislerini yazdı. PLC lerden modbus ile veri aldı ve projeyi çok uygun maliyetlere hazırlamıştı. PLC firması istediği parametreleri verecek şekilde PLC yi ayarlamışlardı. Belki sizin içinde benzer durum geçerlidir diyerek yazmak istedim.
Hocam bunlarda da plc mevcut fakat firmalar o bağlantıları ücret karşılığı açıyorlar.Kısıtlı yetkilendirme yapıyorlar.

Şimdilik işimizi hallettik.
Ama esp32 ye geçeceğim dediğiniz gibi çünkü raspberry sadece sunucuya veri post ediyor.Biraz fazla kaçıyor bu iş için.


Değerli bilgilerini paylaşan tüm arkadaşlara teşekkürler.
 
Bu tip geliştirme kartları pek endüstriyel ortamlara uygun değil. Bugün çalışır istediğiniz gibi. Ama ortamdaki elektriksel gürültüler epeyce etkileyecektir.
ESP32 için en az 1A verebilecek adaptör kullanın. Network haberleşmesinde 400mA civarı anlık akım çekiyor. Adaptörün gücü yetmez ise ESP32 resetleniyor.
 
Hocam şuan bir problem yaşıyorum. raspberry high/low dengesiz çalışıyor röle sönükken güç yokken bile high/low okuyabiliyor.Bunu önlemenin bir yolu var mı ?
gpio pinlere giden kabloların arasına 10k direnç takıp raspberry gnd sine verirsek bunu önleyebilir miyiz ?

Multimetre ile ölçüğümde bu değerleri göremiyorum ama raspbery pi sürekli 10101010 okuyor.
 
Pull-up/down dirençlerini epeyce düşürebilirsiniz. 3.3V, 10mA için 330Ω kullanılabilir.
Mutlaka ilgili modülün pin akımlarına bakınız. Yüksek direnç ve uzun kablolar kararsızlık oluşturabilir.
İlgili pinlere uygun bağlantıyla 10-100nF kondansatör ilave etmeyi de unutmayınız.
 
IMG_4544.jpeg



Rölenin com u 3.3v a no çıkışlardanda direkt terminal blok üzerinden kabloyla raspberry e giriyorum.

Röleye gelen a1-a2 kabloları 35 metreden geliyor.
Ben slim Röle açıldığında direkt temiz 3.3v veya 0 volt alırız diye düşünmüştüm ama 0 da kararsızlık çok fazla dediğiniz gibi direnç kullanacağım gibi gözüküyor.Elektronik bilgim yok bu arada.
 
35m ileride modülü çalıştırmak daha uygun değil mi?
 
Bir kaç makineye Arduino bağlayın (yaklaşık 5 tane). Bunların verilerini, RPi'ye RS-484(örneğin; modbus) ile yollayın. Daha kararlı çalışacaktır.
Ya da sistemi tamamen değiştirin; 4-20mA olarak düzenleyin.
Mesafe epeyce fazla.
 
Son düzenleme:
Bağlantı şemasını çizip paylaşır mısınız. Anladığım kadarıyla pull down kullanmıyorsunuz. Bu sebeple röle açılınca Raspberry girişi havada (floating) kalıyor.
Mutlaka Pull-down ya da Pull-up yöntemi kullanmak zorundasınız. Okuduğunuz rastgele değerler kablodaki kalan (ve havadaki manyetik dalgalardan toplanan) statik elektrikten kaynaklanıyor.

ESP32 / ESP8266 konusuna kesinlikle katılıyorum. O mikrokontrolörler için bu iş çocuk oyuncağı.

3.3V için 30 mt uzun bir mesafe.
1- 4-20 mA sürücü kulanabilirsiniz.
2- İdeal çözüm değil ama 35 mt mesafeyi 24V olarak taşıyıp röleyi Raspberry/ESP32 tarafına koyabilirsiniz. Böylece voltaj düşümünden çok daha az etkilenirsiniz. Daha mantıklısı bir optocoupler ile sinyali izole etmek. Burada yine 24V sinyal kartınıza kadar getirin, orada herhangi bir bir optocoupler (kalıp için PC817 fazlasıyla yeterli olur) a seri bir direnç ile bağlayın. Optocoupler'ın çıkış tarafını pull-down ya da pull-up yöntemi ile bağlayın. Çıkışı kartınıza verin. Hem çok çok daha ucuz olacaktır, hem de çok daha stabil. İzolasyon panonun dışında kalır ama kablo güvenli bir hatta ise kabul edilebilir. Kısdevre olaılığına karşı seri direnci kablonun makine tarafına koyabilirsiniz. 2K gibi bir uygun olacaktır. Kablo çok fazla parazite maruz kalıyorsa optocouler tarafına da yüksek bir pull down direnci ekleyebilirsiniz (100K gibi).

3- 2 numaralı çözümde izolasyon tamamen pano içinde kalsın derseniz röle kalsın. Ancak rölenin COM bacağına 3.3V yerine 24V verin. MCU tarafındaki optocoupler devresi aynı şekilde kalsın. Böylece çift izolasyon katmanı olmuş olacak. Makina için daha güvenli. Optocoupler ise bir seviye dönüştürücü (level-shifter) gibi davranacak.
 
Bağlantı şemasını çizip paylaşır mısınız. Anladığım kadarıyla pull down kullanmıyorsunuz. Bu sebeple röle açılınca Raspberry girişi havada (floating) kalıyor.
Mutlaka Pull-down ya da Pull-up yöntemi kullanmak zorundasınız. Okuduğunuz rastgele değerler kablodaki kalan (ve havadaki manyetik dalgalardan toplanan) statik elektrikten kaynaklanıyor.

ESP32 / ESP8266 konusuna kesinlikle katılıyorum. O mikrokontrolörler için bu iş çocuk oyuncağı.

3.3V için 30 mt uzun bir mesafe.
1- 4-20 mA sürücü kulanabilirsiniz.
2- İdeal çözüm değil ama 35 mt mesafeyi 24V olarak taşıyıp röleyi Raspberry/ESP32 tarafına koyabilirsiniz. Böylece voltaj düşümünden çok daha az etkilenirsiniz. Daha mantıklısı bir optocoupler ile sinyali izole etmek. Burada yine 24V sinyal kartınıza kadar getirin, orada herhangi bir bir optocoupler (kalıp için PC817 fazlasıyla yeterli olur) a seri bir direnç ile bağlayın. Optocoupler'ın çıkış tarafını pull-down ya da pull-up yöntemi ile bağlayın. Çıkışı kartınıza verin. Hem çok çok daha ucuz olacaktır, hem de çok daha stabil. İzolasyon panonun dışında kalır ama kablo güvenli bir hatta ise kabul edilebilir. Kısdevre olaılığına karşı seri direnci kablonun makine tarafına koyabilirsiniz. 2K gibi bir uygun olacaktır. Kablo çok fazla parazite maruz kalıyorsa optocouler tarafına da yüksek bir pull down direnci ekleyebilirsiniz (100K gibi).

3- 2 numaralı çözümde izolasyon tamamen pano içinde kalsın derseniz röle kalsın. Ancak rölenin COM bacağına 3.3V yerine 24V verin. MCU tarafındaki optocoupler devresi aynı şekilde kalsın. Böylece çift izolasyon katmanı olmuş olacak. Makina için daha güvenli. Optocoupler ise bir seviye dönüştürücü (level-shifter) gibi davranacak.


Hocam excelde çizmeye çalıştım.
Pull down kullanmıyorum şuan.
Gpio pinine giden kabloya ek olarak direnç ekleyip onu Raspberry gnd sine götürmeyi deneyeceğim ilk etapta eğer olmazsa,
Sizin dediğiniz şekilde Elimde 8 kanallı PC817 optokoplör kartı mevcut onu deneyeceğim.

4-20 mA sürücü kullanımını da araştırıyorum bir yandan.
 

Ekler

  • Ekran Resmi 2026-06-15 12.50.04.png
    Ekran Resmi 2026-06-15 12.50.04.png
    77.3 KB · Görüntüleme: 16
10k civarında bir Pull down direnci problemi çözecektir.
Raspberry Pi'de dahili pull down dirençleri de var. Bunu da kolayca aktive edebilirsiniz.

boot.txt dosyasına şunu ekleyin

gpio=27=pd
 
Endüstriyel ortamlardaki elektriksel gürültü sebebiyle 4mA veya üzerine çıkılmalı. Pull-up/down direnci buna göre hesaplanmalı.

Bunun testini; eskimiş kontaktörü, geliştirme kartınına yakın veya haberleşme kablolarına yakın çalıştırarak yapıyorum.
 

Forum istatistikleri

Konular
9,236
Mesajlar
148,238
Üyeler
3,775
Son üye
aizolo

Son kaynaklar

Back
Top