DS18B20 - PAR ?

Başlatan Maxim, 16 Temmuz 2013, 09:53:56

Maxim

hiç deneyen kullanan oldumu ?
parasite power özelliği
çok ta emin değilim, farklı bir ürünmüdür bu?
tek kablo üzerinden data alış verişi yapılıyor + besleme voltajı dahil

Okan AKÇA

5 yıl oncersine kadar kullanmıştım. dediginiz özellikte çalısıyor

RaMu

GND ve +5V kullanarak iletişim kurulmuş oluyor o kadar,
yanlız normal iletişiminden daha yavaş oluyor,
besleme kondansatörünün (dahili) dolması için.

Aslında aynı hatta birçok ds18b20 bağlanabilmesi çok daha güzel bir özellik.
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

camby

Hocam aynı ürün , fakat parasite power modu dışında kullanılamıyor.

Bizi, power pinini GND'ye bağlamaktan kurtarıyor sadece.


Alıntı yapılan: RaMu - 16 Temmuz 2013, 11:13:22
yanlız normal iletişiminden daha yavaş oluyor,

Böyle bir durum yok. Kaynağınız nedir ?

Maxim

#4
durum pek net değil

şimdi datasheet te bir şema var
sensorun besleme ucu ile gnd birleştirilmiş ve şaseye verilmiş
birde data ucu var
bu 2 kablo gereksinimi var demek, 1-gnd 2-data

birde işlemci çıkışından data pinine bir enerji verme durumu görüyorum
bu şumu demek?:
okuma öncesi data hattına kısa süre enerji veriyoruz?

en iyisi resim olarak ekleyeyim


Okan AKÇA

hızda herhangi bir degişiklik yok  camby hocamızın dedigi gibi eger oyle bir durum olsaydı zaten haberleşmezdi. sizin bahsettiginiz bu sensörlerde çözünürlük secilebildiginden  sıcaklık cevrim süresinde degişikler olmaktadır.

RaMu

#6
datasheet sayfa 5
Alıntı Yap
pullup resistor and is more current than can be supplied by C PP . To assure that the DS18B20 has sufficient
supply  current,  it  is  necessary  to  provide  a  strong  pullup  on  the  1-Wire  bus  whenever  temperature
conversions  are  taking  place  or  data  is  being  copied  from  the  scratchpad  to  EEPROM.  This  can  be
accomplished by using a MOSFET to pull the bus directly to the rail as shown in Figure 4. The 1-Wire
bus must be switched to the strong pullup within 10µs (max) after a Convert T [44h] or Copy Scratchpad
[48h] command is issued, and the bus must be held high by the pullup for the duration of the conversion
(t CONV ) or data transfer (t WR  = 10ms). No other activity can take place on the 1-Wire bus while the pullup
is enabled.

Mosfet tconvert ve Copy Scratchpad komutundan sonra 1 wire hattını strong pull up yapmak için kullanılıyor,
parasite power modu için.

Hızın düşmesi olayı şu,
son cümleye dikkat edersek,
10 ms pull up da kalınması gerektiği ve bu süre boyunca başka hiçbir işlem yapılamayacağı belirtilmiş,
(aslında parasite power kullanılmamış olsaydıda convert t komutundan sonra 1 wire hattı yine 10 ms pull up yapılmak zorundaydı fakat
bu sırada hatta başka 1 wire işlemler yapmakta sakınca olmadığı datasheette yazıyor)
zaten eğer mosfet ile hattı +5V a çekip yani strong pull up yaparsak
bu hattan strong pull up ı kaldırmadığımız müddetçe başka hiçbir işlem yapamayacağımız anlamı çıkar,
ve hatta bağlı başka 1 wire cihazlar var ise onlarla ilgili hiçbir işlem yapamayız,
hzımız düşmüş olur.


datasheet syf3 ekstra
Alıntı Yap

Another  feature  of  the  DS18B20  is  the  ability  to operate  without  an  external  power  supply.  Power  is
instead supplied through the 1-Wire pullup resistor via the DQ pin when the bus is high. The high bus
signal also charges an internal capacitor (C PP ), which then supplies power to the device when the bus is
low.  This  method  of  deriving  power  from  the  1-Wire  bus  is  referred  to  as  "parasite  power."




datasheet syf3
Alıntı Yap

If the DS18B20 is powered by an external supply, the master can issue "read time slots" (see the 
1-Wire Bus System section) after the Convert T command and the DS18B20 will respond by transmitting
0 while the temperature conversion is in progress and 1 when the conversion is done. If the DS18B20 is
powered with parasite power, this notification technique cannot be used since the bus must be pulled high
by a strong pullup during the entire temperature conversion. The bus requirements for parasite power are
explained in detail in the Powering the DS18B20 section.

Convert t komutundan sonra normal besleme modunda hemen okuma moduna geçilebilir,
eğer sıcaklık çevirme işlemi ds tarafından bitirildiyse hattan 1 bilgisi okunur,
yani hat ds tarafından 0 da tutulduğu müddetçe ds meşgul demektir,
ama parasite power modunda biz hattı strong pull up da tutmak zorundayız
yani meşgul mü işlem bittimi okuması yapamıyoruz,
buda aynı LCD de meşgul mü okuması yapmadan iletişim kurmak gibi oluyor,
nasıl biz lcd nin meşgul olacağı süreden daha fazla bir süre bekleyip işlem yapıyıorsak ds içinde durum benzer oluyor,

Aslında bahsettiğim bu hız düşme durumları çok büyük farklar değil,
ne bileyim bir defa ağzımdan kaçtı artık.
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

camby

Alıntı yapılan: Maxim - 16 Temmuz 2013, 13:19:52
durum pek net değil

şimdi datasheet te bir şema var
sensorun besleme ucu ile gnd birleştirilmiş ve şaseye verilmiş
birde data ucu var
bu 2 kablo gereksinimi var demek, 1-gnd 2-data

birde işlemci çıkışından data pinine bir enerji verme durumu görüyorum
bu şumu demek?:
okuma öncesi data hattına kısa süre enerji veriyoruz?

en iyisi resim olarak ekleyeyim
(Resim gizlendi görmek için tıklayın.)

Maxim hocam , Parasite power için , evet 2 pin yetiyor. Kısa süre enerji verme durumu denemez tam iletişim öncesinde , zira zaten içerisindeki kapasitelerin değerleri çok düşük hemen boşalırlar. O yüzden sürekli şarj halinde kalmalılar.

Basit bir özet yapayım , hatta boşta iken sürekli 1 durumu var. Yani tüm slave noktalar sürekli şarjlı bekliyorlar. Haberleşme sırasında karşılıklı ( MCU - Sensörler ) kendilerini open-drain portları aracılığı ile 0'a çekiyorlar. Bu sayede belirli bir frekansta ve paketlerde karşıya 1-0 dataları iletiliyor. Hat herhangi bir noktadan 0'a indiği sırada kapasiteler henüz boşalmadan tekrar 1'e dönüyor ve bu sayede iletişim ve çalışma sırasında şarjlar hiç boşalmıyor.

Bazı durumlarda hat ne kadar pull-up üzerinden 1 de olsa , pull-up üzerinden akan akım sensörlerin kapasitelerini şarjlı tutmaya yetmiyor. Bu durum sıcaklık ölçüm sırasında oluyor , yanlış hatırlamıyorsam 1-2 mA akım çekiyor adet başına sıcaklık ölçümü yaptığı sırada ve bu 750ms boyunca sürüyor. 1-2 adet için bu sorun değil ancak adetler 10-20-100 olduğunda bu akımı pull-up direnci üzerinden sağlayamıyorsunuz. Burada strong pullup devreye giriyor ve o sırada gerekli olan akımı hatta basıyor.

@Ramu hocam da strong pull-up sırasında hattın domine edildiğini o sırada da işlem yapılamadığına değinmiş zaten. Aynen o şekildedir.