Tek SPI hattından 64 adet sensör okuma

Başlatan Mucit23, 18 Ocak 2017, 10:34:47

Mucit23

Teorik olarak soruyorum aslında

64 adet MAX6675 Termocuple dönüştürücü entegre ile 64 farklı noktadan ısı ölçümü yapacak bir proje. Bu entegreleri Tek bir SPI hattı (SCLK ve MISO) ,le okumakta ne tür problemler yaşanabilir.

Sensörlerin SCLK ve Data çıkışları tek hata bağlı fakat CS pinlerini teker teker aktif edeceğim. 64 adet CS pini için 8 Adet 74hc595 gibi shift register kullanmayı düşünüyorum.

kantirici

"Chip select" mantığında sıkıntı çıkmaması lazım. SPI hattı ne kadar uzun olacak ? Hat uzunluğu ile 64 farklı noktaya dallanması ile hat kapasitesi hızı v.s etkileyebilir.

Murat Mert

S.A.
Ferhat 8li yada 4 lü okuyacak şekilde bir kart dizaynı yap ve bunları kontrol et bence. 485 veya başka bir haberleşme yöntemiyle böylece mesafe probleminde olmaz.
mert07

Mucit23

Hocam Bütün Sensörler yani 64 adet max6675 tek bir kartta olacak. Kartın boyutu en fazla A4 boyutlarında olur. Sıkıntı yaşanmayacağını umut ediyorum.

boreas

Şöyle bir sıkıntı olabilir CS. bacaklarını ayrı ayrı versenizde biri data bacağını aşağı çekerken diğerleri yukarda tutmak isteyecektir. Ben 14 farklı cihazı spi ile konuştururken arada gelen data için kapı 74hct4075 kullanmıştım.

yldzelektronik

Kişinin başına gelen hayır Allah'tandır. Kişinin başına gelen şer nefsindendir. Nefislerimizle kendimize zulüm ediyoruz.

Murat Mert

Ferhat o zaman 87k22 gibi çok bacaklı bir ürün kullan derim çoğullayıcılar ile filan hiç uğraşma.
mert07

Mucit23

Tasarımımı felan yapmışım aslında fakat sensörler lehimli değil.

Şimdi boardda 5 adet entegre ile denedim hiçbir  problem olmadan okuma yaptım. 

Mantık olarak entegrelerin data çıkışları push pull yapıda olması lazım. Fakat cs pasif olunca data çıkışlarıda float oluyor sanırım. Yoksa spi mantığında aynı hatta 1 den fazla slave cihaz olmazdı.

Kabil ATICI

Miso konusunda bir sıkıntı olmaz, ama clk hattı konusunda emin değilim. işlemcinin üzerinden sürüleceği için dikkatli olmak gerekebilir. Çünkü  girişlerden de bir akım akmakta idi. TTL devrelerde bir çıkışa en fazla 10 tane giriş bağlanabiliyordu.. Tabii şu anki entegrenin girişleri konusunda emin değilim.(çözüm olarak tampon tarzı ürün kullanımı yerinde olabilir.)
Bir de kart boyutun fazla büyük olursa, spi hattının çalışma hızını düşürmeniz gerekebilir. Hattalar uzadıkça sinyallerin bozulma oranları artıyor.
74HC154 gibi bir ürün ile 16 tane cs adresslenebilir.
ambar7

Mucit23

Selamlar

Bu max6675'ler ile ilgili bir sorun var.

Bu entegre ile sensör bağlımı değilmi bunun ayrımını nasıl yaparım? Normalde verdiği 16 bitlik değerin 2. biti 1 olursa sensör bağlı değil veya arızalı şekilinde yorumlanıyor. Ama bende bu bit 1 olmuyor. Onun yerine normal olarak ölçülen sıcaklık sensör yok iken 80-90 derecelere fırlıyor. Bazen ise 20-25 derecelerde kalıyor.

Bu durum neden oluşur?

Birde Örnek devre şemasında Termocupl'ın negatif ucu GND'ye bağlanmış. Ben bunu yapmadım. Yaptığım zaman pek fazla bir değişim göremedim. Bu işlem hangi durumlarda yapılıyor?

ete

Data sheet de OPEN THERMOCOUPLE yani açık devre Termokupl başlığı altında , D2 bitinin açık termokupl'un göstergesi olduğu belirtilmiş. Normalde bu bit LOW olması gerekirken açık devrede HIGH oluyormuş. Ancak bu sistemin çalışabilmesi için Termokupl'un T- bacağını GND ye bağlamak gerekir diye açıklama var. Üstelik bu bağlantı GND pinine mümkün olduğunca yakın olmalı imiş.

Bu entegre ile sadece K tipi termokupl kullanıldığını söylemeye gerek yok herhalde. Hani çalışmıyorsa farklı bir şey mi kullandın acaba diyeceğim.

Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

Mucit23

Hocam GND'ye bağlama işinin mantığını anlamadım. İnternette biraz soğuk nokta kompanzasyonu konularını araştırdım ama okuduklarımdan anladığım kadarıyla bunu yapmama gerek yok. Yanılıyormuyum acaba?

Bu işlemi yapmaktaki amaç nedir?

Bu arada bugün 64 sensörü birden çalıştırdım. Bahsettiğim problem dışında bi problem yok. SPI VS problemsiz çalışıyor.

ete

O bacağın GND ye bağlanmasındaki amaç bana kalıra referans noktası oluşturmak. Sonuçta entegre bir digital değer oluşturuyor. İçinde ADC si vs var. Bunların ölçüm referansı için o bacağın GND de olması gerekir. Zaten bağlanmayınca D2 pininin HIGH olmamasının sebebide bu olsa gerek. Bağlanmayıncada çalıştığını söylüyorsun ama okunan sıcaklıklardan bence şüphe etmek gerekir. Doğru olduklarını pek sanmıyorum. Buda benim düşüncem.

Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com