Proje için yardım/öneri

mkara

Yeni Üye
Katılım
23 Ağustos 2022
Mesajlar
8
Elektrik elektroniğe hobi olarak ilgi duyuyorum fakat neredeyse sıfır bilgi, google araştırması ve yapay zeka katkısıyla birşeyler yapmaya çalışıyorum.

Daha önce bir kuluçka makinesi yapmıştım strafor kutu içine, fareler kemirince daha iyi birşey yapma hevesi geldi. Hazır kitler satılıyor bu iş için ama ben nasıl yaparım derken arduino ya bi merak saldım. Nasıl çalışır derken Proteus programını buldum ve kendimce bir şeyler ortaya çıkardım.

Kuluçkaya koyulan yumurta cinsini seçme
Seçilen cinse göre süre, sıcaklık, nem ayarlaması ve bunlara müdahale edilmesi gibi seçenekler mevcut.

Arduino mega
5110 lcd
4x4 tuş
SHT31 sensör (kabinin orta ve üstünde konumlanacak şekilde 2 adet)
DS3231 RTC
4 lü röle (ısıtıcı, nem, fan ve viyol motorunun kontrolü)

Sorularım;
Sensörleri bağlarken direnç kullanmam gerekli mi? Çünki 50-80cm kablo ucuna bağlamam gerekli.
Cat6 kablo bağlantılarda kullanılabilir mi? Elimde atıl durumda farklı uzunluklarda cat6 kablo var kullanayım diyorum.
Proteus ta ic2 adresi değiştirilebiliyor mu? Eklediğim görselde çalıştırdığımda sensör hatası alıyorum. Zaten sht31 bulamadım 21 ekledim, acaba bundan kaynaklı mı.

Malzemelerin neredeyse hepsini sipariş verdim.

Öneri ve görüşlere ihtiyacım var.
 

Ekler

  • prot.JPG
    prot.JPG
    121.9 KB · Görüntüleme: 46
Mikroişlemciye bağlamadan önce düşük direnç (20ohm ile 1k arasında) kullanmak genellikle tavsiye edilir akımı sınırlaması açısından. İki cihaz da (SHT21) aynı i2c adresini (0b1000000) kullanıyor. Datasheetine ufak bir baktım adres değişmek için bir yöntem yok. Adres çakışması olduğu için iki hattan aynı anda sinyal geliyordur bu yüzden kullanamıyorsundur.

Ya arduinodan yeni bir i2c hattı aç (var mı bilmiyorum) ya da sensörleri değiştirmeyi düşün. BME280'de iyi bir alternatif adres değişim pini de var.
 
Mikroişlemciye bağlamadan önce düşük direnç (20ohm ile 1k arasında) kullanmak genellikle tavsiye edilir akımı sınırlaması açısından. İki cihaz da (SHT21) aynı i2c adresini (0b1000000) kullanıyor. Datasheetine ufak bir baktım adres değişmek için bir yöntem yok. Adres çakışması olduğu için iki hattan aynı anda sinyal geliyordur bu yüzden kullanamıyorsundur.

Ya arduinodan yeni bir i2c hattı aç (var mı bilmiyorum) ya da sensörleri değiştirmeyi düşün. BME280'de iyi bir alternatif adres değişim pini de var.
Basınçla işim olmadığından ve daha stabil olduğunu düşündüğümden SHT31 seçtim. AD ve AL yi kısadevre yapınca adres değiştiğini öğrendim. Uygulamada bunu yapabilirim ama proteus ta simülasyon yaparken böyle bir seçenek mevcut mu? bilginiz var mı?

Direnci hangi hatta bağlamam gerekli?
 

Ekler

  • sht31.jpg
    sht31.jpg
    35.8 KB · Görüntüleme: 31
  • sht31-arka.jpg
    sht31-arka.jpg
    34.7 KB · Görüntüleme: 31
Belki, 74 serisınde analog swtichleri kullanarak birden fazla eşit adresli sensörün i2c bus erişimleri kontröl edilebilir.
 
Basınçla işim olmadığından ve daha stabil olduğunu düşündüğümden SHT31 seçtim. AD ve AL yi kısadevre yapınca adres değiştiğini öğrendim. Uygulamada bunu yapabilirim ama proteus ta simülasyon yaparken böyle bir seçenek mevcut mu? bilginiz var mı?

Direnci hangi hatta bağlamam gerekli?
Şöyle açıklayayım proteusta ne kullandığını tam göremedim eğer proteusta şema üzerinde sht21 ise yapamazsın çünkü onda addres değiştirme pini yok. Ama sht31 ise o sensörde adres değiştirme pini mevcut. O pini high ya da low yaparak addreste değişiklik yapabilirsin ama açıkta bırakmaman lazım.

Eğer simülasyonda sht31 kullanıyorsan kullanıyorsan belki çift tıklayınca bir değer değiştirilebilir. Proteusa çok hakim değilim maalesef.

Direnç konusuna gelirsek; numpadden mikroişlemciye bağladığın her tüm hatlar için gerekli. I2C hattına gerekli değil çünkü sensör zaten çok düşük akımla çalışıyor yine de içim rahat etsin dersen 20-100 ohm arası bir direnci seri şekilde SDA, SCL hattına bağlayabilirsin.
 
Seri direncin başka bir kullanım alanı da yüksek hızlı dijital devrelerde. Buradaki görevi de yüksek hızlı anahtarlamada ortaya çıkan "ringing" etkisini baskılamak. Ama senin devre için geçerli bir kullanım şekli değil, I2C nin yaygın çalışma frekansı en fazla 400 kHz.

1738340392421.png
 
Seri direncin başka bir kullanım alanı da yüksek hızlı dijital devrelerde. Buradaki görevi de yüksek hızlı anahtarlamada ortaya çıkan "ringing" etkisini baskılamak. Ama senin devre için geçerli bir kullanım şekli değil, I2C nin yaygın çalışma frekansı en fazla 400 kHz.

40009 eklentisine bak
O halde direnç bağlamam gerekli değil.
Yanlış çeviri yaptırmadıysam kılavuzda 4.7kohm direnç olduğu bilgisini buldum.
Parçalar geldi, yarın vakit bulabilirsem taslak olarak bağlayıp denemeye çalışıcam.
Cat6 kablosunu bu bağlantılarda kullansam sorun yaşarmıyım sizce?
 
Yukarıda belirtildiği gibi, şu anda konuya tam hakim olmadığın için bağlamakta yarar var. Böylece yanlışlıkla sensör çıkışı ile Arduino çıkışı birbirine bağlanırsa ve farklı dijital seviye varsa arıza çıkmasını engellemiş olursun, devrenin çalışmasına da olumsuz bir etkisi olmaz.
 
Çünki 50-80cm kablo ucuna bağlamam gerekli.
Evet, bir kaç tane sensör bağlanacaksa bu uzunlukta i2c ye, direnclerin bağlanamsı gerekiyor . Osiloskop varsa kontröl edebilirsin ne oluyor direncsiz.
Ben en son bir hafta önce gpio pull up aktif yaparak baktım.
 
O halde direnç bağlamam gerekli değil.
Yanlış çeviri yaptırmadıysam kılavuzda 4.7kohm direnç olduğu bilgisini buldum.
Parçalar geldi, yarın vakit bulabilirsem taslak olarak bağlayıp denemeye çalışıcam.
Cat6 kablosunu bu bağlantılarda kullansam sorun yaşarmıyım sizce?
Klavuzda yazan büyük ihtimal pull-up direnci. Genel olarak i2c hatları için 1k ile 10k arasında pull-up direnci önerirler en yaygını da (en azından benim sürekli karşılaştığım) 4.7k. Sen direkt olarak modül alacağın için hali hazırda pull-up dirençleri bağlı olarak gelebilir. Bir kontrol etmekte fayda var.

@taydin hocamızın dediği ringing etkisinden kurtulmak için yukarıda da bahsettiğim gibi en fazla 100 ohmluk direnç kullanmak gerekli. 100 ohmdan yukarısı bu sefer de sinyallerin düşen ya da yükselen kenarlarını çok yavaşlatabilir. 20, 30 ohm direnç yeterli.
 
Önce dışarıda bağlantıları yapıp denemeler yaptım. Bugün elektrik kutusu alıp içerisine yerleştirmeye başladım, keşke biraz daha büyük kutu alsaydım diyorum şimdi. İçerisine bukadar kablo çekeceğimi hesaba katmamışım.
Kesme biçme işleri derken epey zaman harcadım ama olacak sanki.
Sensörleri uzatmak için cat6 kablo kullandım. Arduino pinlerinden dişi cat6 soketine kablo çektim, böylece sensör değişimi gerekirse işim kolaylaşır diye düşündüm.
Aslında kutuyu büyük tutup tüm kabloları soketli yapmak mantıklıymış sonradan farkettim.

Kod kısmından hiç anlamayan biri için hatanın neden kaynaklandığını bulup çözmek gerçekten çok zormuş.

Haftasonu tüm sistemi kurup test etmeye başlarım diyorum. Sorun olmadığını görürsem kodla beraber konuyu güncelleyeceğim.
 

Ekler

  • 20250227_215535.jpg
    20250227_215535.jpg
    767.7 KB · Görüntüleme: 43

Çevrimiçi üyeler

Forum istatistikleri

Konular
7,443
Mesajlar
125,442
Üyeler
3,025
Son üye
can.ince

Son kaynaklar

Son profil mesajları

Bir insanın zeka seviyesinin en kolay tesbiti, sorduğu sorulardır.
yapay zeka interneti yedi bitirdi, arama motoru kullanan, forumlara yazan kaldı mı ?
Freemont2.0 herbokolog Freemont2.0 wrote on herbokolog's profile.
nick iniz yakıyor
:D
Freemont2.0 posta Freemont2.0 wrote on posta's profile.
Merhabalar :)
az bilgili çok meraklı
Back
Top