Raspberry Pico İle LM35 Sıcaklık Sensörü Kullanımı

Arduino ile program yazan birisi C++ ile program yazıyor demektir. Yani gayet iyi birşey bu. C/C++ bütün platformlarda aşağı yukarı aynı sistemle kullanılır, derleyici, linker, assembler, builder aşağı yukarı aynıdır.

Ama raspberry python spesifik bir kullanım için optimize edilmiş ve genel olmayan bir yapı. Orada öğrendiklerini aynen başka bir kartta kullanamazsın, bir sürü farklılıklar olur.
tamamen ustayım diyemem. Mesela geçen gün senin yazdığın "sprinft" ben bunu bilmiyordum çok derin detayları bilmiyorum doğrusu .Ama aklıma gelen bir projeyi kopyala yapıştır yapmadan yazabilir haldeyim şuan. Hep öğrenmek istediğim stmCubeİde,PICBasic var ama onları anlamıyorum sanırım.
 
Bir kere ADC ile bu şekilde ölçüm yapıyorsan, ADC'ye çok temiz bir referans voltajı vermen lazım. Öncelikle bunu araştır. Pico içindeki ADC kendi referans voltajını üretiyor mu, yoksa varsayılan olarak PICO nun besleme voltajını mı referans olarak alıyor. Bu referans işini tam anladıktan sonra o referans voltajına göre hesap yapman lazım. Diyelim referans voltaj 3.3 V. O zaman ADC 3.3V giriş için 4096 çıkış verecek. Diğer çıkış değerleri için de orantı ile giriş voltaj değerini bulacaksın.
 
tamamen ustayım diyemem. Mesela geçen gün senin yazdığın "sprinft" ben bunu bilmiyordum çok derin detayları bilmiyorum doğrusu .Ama aklıma gelen bir projeyi kopyala yapıştır yapmadan yazabilir haldeyim şuan. Hep öğrenmek istediğim stmCubeİde,PICBasic var ama onları anlamıyorum sanırım.

Valla bana kalırsa C++ biliyor olman PICBasic bilmekten veya bir firmanın IDE sini bilmekten çok daha kıymetli. Her firma bir tarafından bir dil uyduruyor. Her firma diğeri ile hiç alakası olmayan bir IDE çıkarıyor. Bunların her birisini öğrenmeye çalışmak olası iş değil. Ama genel C/C++ BÜTÜN MCU larda ortak paydadır, onu bildin mi, kendi editörünü de kullandın mı her MCU için proje hazırlarsın.
 
Bir kere ADC ile bu şekilde ölçüm yapıyorsan, ADC'ye çok temiz bir referans voltajı vermen lazım. Öncelikle bunu araştır. Pico içindeki ADC kendi referans voltajını üretiyor mu, yoksa varsayılan olarak PICO nun besleme voltajını mı referans olarak alıyor. Bu referans işini tam anladıktan sonra o referans voltajına göre hesap yapman lazım. Diyelim referans voltaj 3.3 V. O zaman ADC 3.3V giriş için 4096 çıkış verecek. Diğer çıkış değerleri için de orantı ile giriş voltaj değerini bulacaksın.
adc.png

pico üstündeki adc ref böyle geliyor abi
 

Bu pdf'nin içinde sayfa 23'de şeması var kartın
 
Burada 3.3 V beslemeyi referans voltajı olarak kullanmış. Gürültüyü biraz azaltmak için de referansı bir RC low pass filtre üzerinden geçirip öyle ADC ye veriyor. Bunun iş görüp görmeyeceği istediğin doğruluğa bağlı. Bir standart voltaj regülatörünün çıkış voltajı ne kadar kararlı olur, bir voltaj referans entegresinin çıkışı (LM4040) ne kadar kararlı olur? Üst seviyede doğruluk istiyorsan bunların arasında büyük fark olacaktır. Ama öncelikle mevcut voltaj referans yapısı ile ilerleyin.

Bir de kavramlar genel olarak anlaşılsın diye 3.3 V verirsen 4096 alırsın dedim. Ama pratikte bunu varsaymaman lazım. Pratikte kalibrasyon yapman lazım. Yani bilinen bir DC voltajı vereceksin girişe, o voltajda hangi rakamı okuyorsun göreceksin ve bu rakamı kaydedeceksin. Sonra da yaptığım tüm ölçümlerde bu kalibrasyon verisine göre orantılama yapacaksın.

Mesela kalibrasyon yaptın, 2 V giriş için 3000 okudun. Bunları kaydediyorsun. Sonra da eğer sistem çalışırken 1500 okursan, orantıdan bunun 1 V giriş olduğunu hesaplayacaksın.
 
Valla bana kalırsa C++ biliyor olman PICBasic bilmekten veya bir firmanın IDE sini bilmekten çok daha kıymetli. Her firma bir tarafından bir dil uyduruyor. Her firma diğeri ile hiç alakası olmayan bir IDE çıkarıyor. Bunların her birisini öğrenmeye çalışmak olası iş değil. Ama genel C/C++ BÜTÜN MCU larda ortak paydadır, onu bildin mi, kendi editörünü de kullandın mı her MCU için proje hazırlarsın.
Teşekkür ederim abi bu arduino ide'den kurtulamıyorum malesef eğer bir işlemci arduino ide ile yazılıyorsa arduino ide ile yazıyorum hep.Dışına çıkamıyorum.
Microchip Studiyo'ya arduino eklentisi kurmuştum onuda paralı yapmışlar.
 
Teşekkür ederim abi bu arduino ide'den kurtulamıyorum malesef eğer bir işlemci arduino ide ile yazılıyorsa arduino ide ile yazıyorum hep.Dışına çıkamıyorum.
Microchip Studiyo'ya arduino eklentisi kurmuştum onuda paralı yapmışlar.

Hiç sıkıntı yok. Arduino IDE kaputun altında GNU GCC derleyicisini kullanıyor. Bu derleyici neredeyse piyasadaki BÜTÜN MCU'lar için program oluşturabiliyor. Yani olabilecek en iyi derleyicilerden birisi ile çalışıyorsun. Aduino IDE'nin benim açımdan en kötü tarafı editör iyi değil. Onu da ben harici editör (emacs) kullanarak çözüyorum.
 
Burada 3.3 V beslemeyi referans voltajı olarak kullanmış. Gürültüyü biraz azaltmak için de referansı bir RC low pass filtre üzerinden geçirip öyle ADC ye veriyor. Bunun iş görüp görmeyeceği istediğin doğruluğa bağlı. Bir standart voltaj regülatörünün çıkış voltajı ne kadar kararlı olur, bir voltaj referans entegresinin çıkışı (LM4040) ne kadar kararlı olur? Üst seviyede doğruluk istiyorsan bunların arasında büyük fark olacaktır. Ama öncelikle mevcut voltaj referans yapısı ile ilerleyin.

Bir de kavramlar genel olarak anlaşılsın diye 3.3 V verirsen 4096 alırsın dedim. Ama pratikte bunu varsaymaman lazım. Pratikte kalibrasyon yapman lazım. Yani bilinen bir DC voltajı vereceksin girişe, o voltajda hangi rakamı okuyorsun göreceksin ve bu rakamı kaydedeceksin. Sonra da yaptığım tüm ölçümlerde bu kalibrasyon verisine göre orantılama yapacaksın.

Mesela kalibrasyon yaptın, 2 V giriş için 3000 okudun. Bunları kaydediyorsun. Sonra da eğer sistem çalışırken 1500 okursan, orantıdan bunun 1 V giriş olduğunu hesaplayacaksın.
Abi eğer şemaya baktıysan. Kullanılan regülatör bence normal regülatörlerden daha kararlı bir regülatör.
Ama sana sormak istediğim bir konu var.
Bu regülatörün çalışma modu var ve bu mod seçimini bir dijital pini 1-0 yaparak değiştiriyoruz.
0 yaparsak PFM mod
1 yaparsak PWM mod
hangisini kullanırsak daha kararlı temiz bir çıkış alırız
 
Şimdi bizim sağlıklı çıktı alabilmek için harici regülatör mü koymamız lazım referans bacağına?
 
Evet mevcut yapı ile bir denemek lazım. Belki yeterince iyi ölçüm sonucu alabileceksın. Aynı anda multimetre ile bir 1.5 V kalem pili ölçersin mesela, oradan % olarak hatayı belirlersin. %1 gibiyse yeterli bence.
 
Yok @taydin abi bu haliyle deneyin dedi referansa bişey koymadan
O zaman bizim adc de varsayılan olarak 3.3v olduğuna göre sadece çıkışını okuyup kaç bit olduğunu bulmamız gerek. Bunu nasıl yapabiliriz ki? İşin içine matematik girdimi ilkokul 1 seviyesine düşüyorum ben ya :(
 
Kaç bit olduğu datasheet'te yazmıyor mu yav? Niye ölçmek istiyorsun? İlla ölçeceksen bir gerilim kaynağının voltajını yavaş yavaş arttır. Okuduğun değer artık artmayıp belli bir değer civarında sürünmeye başlarsa limit odur ve o limit de belli bir bit sayısına karşılık gelir.
 
Kaç bit olduğu datasheet'te yazmıyor mu yav? Niye ölçmek istiyorsun? İlla ölçeceksen bir gerilim kaynağının voltajını yavaş yavaş arttır. Okuduğun değer artık artmayıp belli bir değer civarında sürünmeye başlarsa limit odur ve o limit de belli bir bit sayısına karşılık gelir.
abi 12 bit.
Bu dediğin biraz riskli abi 3.3'ün üstünde bozulmaz mı bu işlemci
 
Kaç bit olduğu datasheet'te yazmıyor mu yav? Niye ölçmek istiyorsun? İlla ölçeceksen bir gerilim kaynağının voltajını yavaş yavaş arttır. Okuduğun değer artık artmayıp belli bir değer civarında sürünmeye başlarsa limit odur ve o limit de belli bir bit sayısına karşılık gelir.
Abi datasheet de 12bit. Buda 4096 byte oluyor.
Şöyle anlatayım; LM35 arduinoda 66 bit veri gönderiyor. Aynı veriyi picoda da gönderiyor. Bunu gözle gördüm.

Arduino 10 bit 1024 byte
Pin voltajı 5v
Buna göre;
66/1024*5000 = 322.265625 mV
10mV = 1 derece olduğuna göre
322.265625/10 = 32.2 derece.

Aynı işlemi picoda yapınca
66/4096*3300 = 53.173828125mV
53.173828125/10 = 5.31 derece

Buradaki eşitsizliği anlayamadım ben.
 

Çevrimiçi üyeler

Forum istatistikleri

Konular
6,975
Mesajlar
119,172
Üyeler
2,834
Son üye
Tulpar

Son kaynaklar

Son profil mesajları

hakan8470 wrote on Dede's profile.
1717172721760.png
Dedecim bu gul mu karanfil mi? Gerci ne farkeder onu da anlamam. Gerci bunun anlamini da bilmem :gulus2:
Lyewor_ wrote on hakan8470's profile.
Takip edilmeye başlanmışım :D ❤️
Merhaba elektronik tutsakları...
Lyewor_ wrote on taydin's profile.
Merhabalar. Elektrik laboratuvarınız varsa bunun hakkında bir konunuz var mı acaba? Sizin laboratuvarınızı merak ettim de :)
Lyewor_ wrote on taydin's profile.
Merhabalar forumda yeniyim! Bir sorum olacaktı lcr meterler hakkında. Hem bobini ölçen hemde bobin direnci ölçen bir lcr meter var mı acaba?
Back
Top