Gelişen mikrokontrol teknolojileri ve artan bilgi birikimi sayesinde geliştirici düzeyinde daha yaygın kullanımına olanak tanımıştır. Burada elimden geldiği kadar bazı örnekler sunmaya çalışacağım... Görüleceği gibi ilk örneklerimizde çoğunlukla ASM üzerinde iken daha sonraları C üzerinde örnekler yer almaktadır. Hatta ilerleyen zamanlarda Arduino örneklerinin yer alması kaçınılmaz olacaktır.

HH10D etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
HH10D etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

18 Mayıs 2011 Çarşamba

Atmega8 ve HH10D ile USB bağlantılı higrometre


"Atmega8 ve HH10D ile LED Ekranlı Higrometre" projesi ile LED ekranlıda olsa bir higrometre yapıldı. Ama bu aleti okumak için sürekli başında biri bulunmak zorunda. Yani (örneğin sera) ortamın neminin sürekli olarak izlenmesi gerekli olan bir durumda haliyle LED ekranlı bir higrometre yetersiz kalacağı ortada. Bu durumda ölçü aletinin bilgisayar gibi veri kaydetme yeteneği olan bir makineye bağlanması gerekir.

Bu projede Atmega8 ve HH10D (nem algılama modülü) kullanarak bilgisayara USB bağlantısı üzerinden ölçüm sonuçları gönderilmeye çalışılacak.
Nem Ölçümü

Dünyamızın atmosfer dediğimiz bölümü bilindiği üzere bir gaz karışımıdır. Bu gaz karışımının için normal şartlar altında azot, oksijen, karbondioksit ve diğer gazların yanısıra su buharı da bulunur. Atmosferdeki su buharı miktarına göre çeşitli etkilere sahiptir. Sıcaklık ile ilişkili olan su buharı etkisi kimi yaz günlerinde özellikle sahillerde yaşayan kişiler için hayatı çekilmez kılar. Kışın soğuk günlerinde ise su buharı azlığı çatlamış ve kurumuz ciltler ve dudakları göz önüne serer.

Bazı ortamlar açısından su buharı (nem) daha önemlidir. Örneğin bir sera veya bir ürünün kurutulması ile ilgili bir bölüm ise iş biraz daha önem kazanır. Atmosferik tahminler açısından ise önemi daha da artar.

Bu projedeki nem ölçümü Hope Microelektronics firması (HOPERF) firması tarafından üretilmiş olan HH10D isimli bir nem algılayıcı modül kullanılarak gerçekleştirilir. "Atmega8 ve HH10D ile LED Ekranlı Higrometre" projesinde bu sensörün kullanımı hakkında bilgi bulabilirsiniz.

Algılayıcı çıkışı basitçe nem ve frekans bağlantılı bir çıkış vermektedir. Böylece çıkışta ölçülen frekans nem ile orantılıdır. Daha doğrusu ters orantılıdır. Nem arttıkça frekans azalır. Böylece HH10D parametrelerindeki "Offset" denkleştirme parametresi sadece ölçülebilecek en yüksek frekansı verir.(Nem=0).

Gerisi sadece HH10D için yayınlanmış veri kağıdındaki formülü uygulamaktır. Sonuç yüzde ifadesi ile bağıl nem değerini verir.
USB


Şekil-1 :USB bağlantı fişi.

Şu anda bilgisayarlar açısından neredeyse vazgeçilmez bir arabirim bağlantısıdırlar. Kullanım esnekliği ve kolaylığı nedeniyle (en azından kullanıcı açısından) oldukça y aygınlaşmış durumdadırlar. Yazıcı, tarayıcı, taşınabilir bellek, taşınabilir sabit disk, oyun kolları, klavye ve fare gibi bir çok araç için USB bağlantısı kullanılır hale gelmiştir.

Bu projede "FT232BL USB-Seri Dönüştürücü" projesinde kullanılan devre kullanılmaktadır. "FT232BL USB-Seri Dönüştürücü" projesi adından da anlaşılacağı gibi bir USB-seri (UART) dönüştürücüdür. Bu projenin alında işte bu bölümü dikkate değer. Nem ölçüm sonucu bilgisayara bu şekilde iletilir.

Şekil-2 :FT232BL USB-Seri Dönüştürücü kartı üzerindeki FTDI232.

Bilindiği gibi Atmega8 işlemcisinin USB portu yok, ama bir UART portu var. Atmega8'in UART portu USB-seri dönüştürücünün Seri portuna bağlanır ve USB-seri dönüştürücünün USB bölümüde bilgisayara.

Sonuçta bu USB-seri dönüştürücü bilgisayar ile Atmega8 devresi arasında bir köprü olarak kullanılıyor. USB-seri dönüştürücünün bilgisayardaki sürücüleri Sanal seri port oluşturan bölümü kullanılacağından, bir yerde bilgisayar üzerindeki ölçüm programı sanki Atmega8 devresi bilgisayarın seri portuna bağlanmış gibi işlem yapacaktır.
Devre

Proje bileşenleri göz önüne alındığında basitçe HH10D modülü, Atmega8 işlemci devresi (işlemci devresi) , USB-seri dönüştürücü ve projeye dahil edilmesi gereken bir bilgisayar. (Bilgisayar ölçüm aralığını belirler, ölçüm sonucuna göre gelen bilgileri hesaplar ve sonucu gösterir, hatta gerekirse hesaplanan bilgiler bilgisayara kaydedilir.

HH10D modülü ortamdaki nem miktarına göre belirli bir frekansta kare dalga yayınlar. İşlemci devresi yayınlanan bu karedalgayı bilgisayardan gelen emirler doğrultusunda ölçümler ve ölçüm sonucunu USB-seri dönüştürücüye iletir. USB -seri dönüştürücü bilgisayarın USB portuna yöneltir. Bilgisayar üzerindeki program gelen bu bilgiyi hesaplar ve sonucunu kullanıcıya iletilir.

Şekil-3 :İşlemci kartı (Atmega8 işlemcisi ve HH10D nem algılama sensörü ile.


Şekil-4 :USB-seri dönüştürücü kartı


Şekil-5 :İşlemci kartı ile USB-seri dönüştürücü kartını bağlayan iki ucunda 2x5'li dişi konnektör bulunan 10 yollu şerit kablo


Şekil-6 :USB-seri dönüştürücü kart ile bilgisayar arasındaki bağlantıyı sağlayan USB kablo


Şekil-7 :işlemci kartı ile USB-seri dönüştürücü kartı birbirine bağlı halde

Şema

USB seri dönüştürcü Devresinin kalbi zaten görüldüğü üzere FT232BL IC1. Tüm iletişim sistemini bu eleman kontrol ediyor. Bu tüm devreye bağlı olan R9 ve R10 (27R) seri USB akım sınırlama dirençleri. Burada R9 (27R) ucuna bağlı olan R8 (1K5) direnci USB’nin tipini (USB2.0) belirleyen dirençtir. Buradaki R6 (4k7) ve R7 (10K)devre harici besleme durumunda bilgisayarın kapatılması durumunda USB cihazın sıfırlanması ile ilgili bir görevi var. R1 ve R2 (1K)dirençleri LED1 ve LED2 LED’lerinin akım sınırlama dirençleridir. LED1 ve LED2 LED’leri seri port iletişim monitörü olarak çalışır. R3(10K) ve R4 (2K2) IC2 (93C46) EEPROM’un veri aktarma uçlarının FT232BL entegresine bağlantısında kullanılır. Bu bağlantı şekli konusunda ayrıntılı bilgi için FT232BL veri kağıtlarını incelenmesi yerinde olabilir. C1,C2 (27pF) ve XT1 (6MHz)ise IC1 için saat frekans üretim sistemini oluşturuyor. USB-A USB bağlantı konektörü. (isteyen doğrudan USB kablosunu doğrudan lehimleyebilir.) P1 seri bağlantı için bağlantı portudur. P2 ve P3 ise besleme bağlantısı için seçim konektörleridir. Her ikisine takılacak köprü yardımıyla kullanılabilir.

İşlemci kartı IC3 (ATmega8) işlemcisi tarafından yönlediriliryor. Bu işlemcinin saat frekansı ihtiyacı C11 ve C12 (27pF) kondansatörler ile birlikte XT2 (3.6864MHZ) kristal tarafından karşılanıyor. M1 ile gösterilen HH10D modülü nem ölçümü sonucunu frekans ölçümü için işlemciye gönderirken aynı zamanda nem/frekans dönüşümü için gereken parametreleri saklar. SDA iletişimi için R19 (10K) ,Q1 (BS170) ve R17 (10K) elemanları gerilim seviye dönüşümünü sağlarlar. SCL için ise R18 (10K), D2 (1N4148) R16 (10K) elemanları gerilim seviye dönüşümünü sağlarlar. FOUT (frekans çıkış sinyali için) R11 (1k), Q2 (BC847) ve R14 (10K) gerilim seviye dönüşümünü sağlar.

M1 modülü için gereken 3.3V'luk besleme gerilimini IC4(LP2950-3.3) gerekli regülasyonu sağlayacaktır.

Devrenin beslemesi P4 konnnektörü üzerinden D1 (2W10M) köprü diyodu üzerinden IC5 (7805)regüle edilerek devrelinin ihtiyacı olan beslemeyi oluşturur.

Belirtilmeyen geri kalan kondansatörler filtre amaçlıdır.

Şekil-8:Blok şeması


Şekil-9:Devre şeması (P1 ve P5 konnektörleri gösterilmemiştir)

Devre Yapımı

Devre montajı açısından kritik bir durum yoktur. Görüldüğü gibi devre son derece sadedir. Yüzey montaj elemanların montajında biraz daha dikkatli olmak yerinde olacaktır.

Yüzey montaj elemanları herne kadar eleman yüzü üzerinde gösterilsede bu elemanlan kartın bakır yolları üzerine monte edildiğinde eleman yüzü üzerinden görülüdüğü gibi gösterilmiştir. Herhangi bir şüpheye düştüğünüzde ilgili elemanların veri kağıtlarını kontrol etmeniz de yarar var.

Şekil-10:USB-seri dönüştürücü ve işlemci kartının yolları


Şekil-11:USB-seri dönüştürücü ve işlemci kartının eleman yerleşimi


Şekil-12:USB-seri dönüştürücü ve işlemci kartının yolları birlikte eleman yerleşimi

Devre Elemanları

0R(köprüleme) SMD-1206R12,R13,R15
27RR9,R10
470RR5
1KR1,R2
1K SMD-1206R11
1k5R8
2k2R4
4k7R6
10KR3,R7
10K SMD-1206R14,R16,R17,R18,R19
27pFC1,C2
27pF SMD-1206C11,C12
100nFC3,C4,C5
100nF SMD-1206C6,C7,C9,C13,C14
10µF/25VC8,C10
3mm Kırmızı LEDD2
3mm Yeşil LEDD1
FT232BLIC1
Atmega8 (DIL)IC3
93C46 (DIL)IC2
7805IC5
LP2950-3.3IC4
BS170Q1
BC847 SMDQ2
1N4148 SMDD2
2W10M veya benzeriD2
6Mhz kristalXT1
3.6864Mhz kristalXT2
HH10DM1
10 Header(2x5)P1,P5
6 Header(2x3)isp
USB-A konnektörUSB-A
3 bacak sıra pinP2,P3
köprüköprü(jumper) 2 Adet
2 bacaklı klemansP4

Besleme için 9V'luk adaptör, USB-seri dönüştürücü kartı ile işlemci kartı arasına (P1 ve P5) 2x5 bağlantı uçu ile birlikte 10 yollu yassı kablo kablo ve konnektörü ve bilgisayar için USB bağlantı kablosu unutulmamalıdır.
Ayar ve kullanım

Ayar için öncelikle USB -seri dönüştürücü kartındaki P2 ve P3 konnektörleri üzerindeki köprüler ayarlanması gerekir. Bu köprüler FTDI232 işlemcisinin besleme ve çalışma şeklini belirler.

İşlemci kartı üzerindeki köprüleme için kullanılan kabloyu unutmayın. (IC4 ile IC5 arasındaki besleme için).

Şekil-13:USB-seri dönüştürücü kartı üzerindeki köprülerin konumları.)


Şekil-14:İşlemci kartı üzerindeki besleme için gereken köprü kırmızı çizgi ile gösterilmiştir.

Devre çalıştırıldığında ve bilgisayar bağlantısı yapıldığında öncelikle USB kartının USB sürücülerinin bilgisayara yüklenmesi gerekiyor. Bu sürücüleri FTDI232 ürününün üretici sitesinde son sürümlerini bulabilirsiniz.

Projede USB bağlantısı olduğu belirtildi isede aslında sanal seri port kullanılacağından bilgisayar üzerindeki ölçüm ve kontrol programını çalıştırın. "Ayarlar" butonuna tıklayın. Açılan "Ayarlar" Penceresinde öncelikle USB kartınız için oluşturulan seri portu seçin. "Tamam" butonuna basın. Tekrar "Ayarlar" butonuna basın ve Ayarlar penceresini açın

Bu aşamada öncelikle HH10D modülünden ölçüm ile ilgili paremetrelerin okunup program tarafından kaydilmesinin sağlanması gerekiyor. "Sens Oku" butonuna basıldığında işlemci kartından 2 baytlık değer okunur ve butonun hemen yanındaki ilgili alana yerleştirilir. (devre çalışıyorsa) "Offset Oku" butonuna basıldığında aynı şekilde işlemci kartından 2 baytlık değeri okunur ve bunotunun yanındaki ilgili metin alanına yerleştirilir. Şu aşamada ölçüm için yeterlidir. Sadece "Tamam" butonuna bas ve ayarları kapat.

Ana penceredeki "Tek Ölçüm" butonuna basıldığında işlemciye ölçümü başlatması için gerekli komutu gönderir. (ölçüm için en az 1 saniye geçmesi gerekir) İşlemci kartında yapılan ölçüm 2 baytlık veri halinde gelir. HH10D veri kağıtlarında belirtilen matematik ifade ışığında işlem yapılır ve sol taraftaki listede görüldüğü gibi butonun hemen üzerindeki metin alanında da o anki değer görüntülenir.

Sürekli ölçüm için "Ölç" butonuna bas. Bu "Ayarlar" penceresinde seçilebilen zamanlayıcı değerleri ile belirli aralıklarla ölçümün gerçekleştirilmesini sağlar. Bu butona basıldığı zaman etketi "Durdur" olarak değişir. Ölçmeyi sonlandırmak için "Durdur" butonuna bas.

Nem ölçme sonuçlarından yapılan hesaplamada sonuçlar virgülden sonra iki hane ile sınırlandırılmıştır. Bağıl nem zaten yüzde ile ifade edildiğinden tam sayı bölümü 0 ile 99 aralığında olacaktır.
Bilgisayar programı

"NemMetre.exe" programı Delphi 7 ile yazıldı ve derlendi. Program sadece XP üzerinde denendi. Programı çalıştırmak için "NemMetre.exe" dosyasının yanında "NemMetre.ini" dosyasıda gerekmektedir. İni dosyası yok ise program ile ilgili ayarlar yapıldıkça Ayarlar penceresinde "Tamam" butonuna her tıklanışta yapılan ayarlar ile ilgili değişiklikler için önce ini dosyası oluşturulur ve sonraki değişiklikler bu ini dosyasına kaydedilir.

FTDI için USB sürücü yazılımı yüklenmesi gerekir. Bu konulu ile ilgili olarak FTDI sitesinde sürücü ve nasıl yükleneceği konusunda bilgi verilmektedir.
ANA PENCERE
"NemMetre.exe" programı çalıştırıldığında ile ekrana gelecek olan penceredir.

Şekil-15:Ana pencere.

Ana pencere üzerinde rakamlarla ilişkilendirilen alanları incelersek;
  1. Program açık olduğu süre içinde hesaplanan nem değerleri listesi (Son ölçüm en üsttekidir.)
  2. Program açık olduğu sürede hesaplanan son nem değeri
  3. Butona tıklandığında tek ölçüm yapar.
  4. Butona tıklandığında ölçüm işlemlerini başlatır. Ayarlar penceresindeki "Okuma Zamanı" alanındaki seçilen zaman birimi sıklığında ölçüm gerçekleştirilir.
  5. Ayarlar penceresine girmek için tıkla.

AYARLAR PENCERESİ

Şekil-16:Ayarlar penceresi.

Ayarlar penceresi üzerindeki rakamlarla ilişkilendirilen alanları incelersek;
  1. USB-seri dönüştürücü tarafından oluşturulan sanal seri porta seçmek için açılır menü. Program açıldığında bilgisayar üzerindeki seri portlar taranır ve bu menüye eklenir. (Donanıma bağlı olarak değişken olabilir)
  2. İşlemci kartından "Sens" değerini almak için butona tıkla (Hassasiyet değeri).
  3. İşlemciden alınan "Sens" değeri bu alana yazılır.
  4. İşlemciden alınan "Offset" değeri almak için bu butona tıkla (Denkleştirme)
  5. İşlemciden alınan "Offset" değeri bu alana yazılır.
  6. Yapılan ölçüm sonuçlarının bilgisayara kaydedilmesi için bir metin dosyası açmak gerekir. Bu buton işte o metin dosyasını açmak (daha doğrusu boş metin dosyası) için kullanılır.
  7. Ölçüm sonuçlarının kaydedileceği metin dosyası adı ve bilgisayar üzerindeki yeri
  8. "Ölç" butonu ile kullanılan otomatik ölçme zaman aralığını belirler.
  9. Ölçüm sonuçlarının metin dosyasına (7 nolu alandaki dosya adına) kaydetme izni için işaretle. İşaretli değilse kayıt yapılmaz.
  10. Ayarlar işlemlerini tamamlanması, ayarların kaydedilmesi ve "Ayarlar" enceresinin kapatılması ve ana pencere geri dönülmesi için "Tamam" butonuna tıkla.


Ekler:

ATMEGA8 hakkında bilgi için

"Atmega8 ve HH10D ile USB bağlantılı higrometre" için dosyalar-birleşik

Bu devrenin yapım sorumluluğu size aittir. Devre yapıldı ve çalışıyor. K.A....


17 Ocak 2011 Pazartesi

Atmega8 ve HH10D ile LED Ekranlı Higrometre


Giriş

Hava durumu haberlerinde özellikle yazın sıkça duyulan termometre şu kadar gösterecek ama biz şu kadar hissedeceğiz gibi haberler yer alır. Bunun sebebi olarakda havadaki nem miktarı gösterilir. Havadaki nemi ölçmek için değişik yöntemler olsada (insan saçının nem ile boyunun değişmesi gibi) bunlar çoğunlukla mekanik yöntemlerdir.

Bu projede Atmega8 işlemcisi ve HH10D nem algılayıcısı kullanarak ölçüm sonucun LED ekran üzerinde gösterecek bir proje gerçekleştireceğiz.
Nem


Şekil-1 :Suyun madde halleri.

Nem bilindiği gibi suyun hava içindeki haline (suyun gaz hali) denebilir.

Gazların birbirine karışabildikleri bilinir. Örneğin atmosfer birçok gazın karışımıdır.(temelde oksijen ve azot) Su gaz haline geçtikten sonra hava içinde bir gaz olarak taşınır. Ama havanın taşıyabildiği su buharı miktarı normal şartlar altında sıcaklığa bağlıdır. (diğer şartların değişmediği varsayılarak) Örneğin hava soğumaya başladığında su yoğunlaşmaya başlar (bulut ve sis gibi hava olayları), dolayısı ile havanın taşıyabildiği su buharı miktarı düşer. Hava ısındıkça havanın taşıyabildiği su buharı miktarı artar. Bu özellikle sahil kesimlerinde yazın aşırı artan nem miktarı ile bilinir.

Normalde belirli nem aralığındaki hava insanlar için uygundur. Az nemli olursa insanlar ağızları kurur ve citleri kuruyarak çatlar. Çok nemli olursa bu durumda insanlar nefes almakta zorlanırlar. Bu nedenle nem kontrolu iklimlendirme sistemleri, seralar, depolama alanları için önemli bir konudur.

Normalde havadaki nem doğrudan ölçülmüyor. Havadaki gazların nem miktarına göre yüzde cinsinden ifade eden RH(%) ifadesi yani bağıl nem kullanılır.
Nem Ölçümü

Elektronikte nem miktarını ölçmek için değişik yöntemler vardır. Burada sadece HH10D nem sensöründe kullanılan yöntem ele alınacaktır.

HH10D üzerindeki nem algıllayıcı aslında basit anlamda bir kondansatördür. Kondansatör iki iletken levha arasındaki bir yalıtkan plakadır. İki plaka arasındaki yalıtkan malzeme olursa, hava aralıklı kondansatör olarak adlandırılır. Hava içindeki nemin havanın dielektrik sabitini değiştirdiği bilindiğine göre, havanın içindeki nem miktarı ile hava aralıklı kondansatörün kapasitesi değiştiği sonucu kolaylıkla çıkarılacaktır. (kondansatör plakaları arasındaki havanın dış ortam ile hava giriş çıkışı olacağı varsayımı ile.)

Burada basit bir kapasite-frekans dönüştürücü kullanarak nem miktarına göre frekansı değiştiren bir devre kullanılarak nem değeri frekans değerine dönüştürülür. Artık yapılması gereken bu frekansın ölçülmesi ve biraz matematik işlemlerin uygulanması.

Şekil-2 :Bir frekansmetrenin blok şeması.

Frekansmetre için fazla uzağa aramaya gerek yok. Hatta Atmega8 işlemcisi bu iş için yeterlidir. İşlemcinin içinde 2 adet 8 bitlik timer/sayıcı ve 1 adet 16 bitlik timer/sayıcı olduğu göz önüne alınarak en azından bu proje için basit bir frekansmetre oluşturulabilir.

Not:Bir frekansmetre projesinin gerçekleştirme planlarımız arasında olsada, bazı zorunluluklar nedeniyle higrometre projesinin öne alınması gerekti.
HH10D Nem Algılayıcı


Şekil-3 :Temel elemanlar ile HH10D şeması.

Hope Microelektronics firması (HOPERF) tarafından üretilmiş olan HH10D nem ölçümü için birçok elektronikçinin ilk tanıştığı elektronik elemanlardan 555 entegresi kullanılarak kapasite-frekans dönüştürücüsünü oluşturulmuş. Devrdeki kondansatör yerine Nem sensörü konulduğu zaman, elbetteki 555 çıkış frekansı ile orantılı olacaktır.

Ama nem sensörü tek başına yeterli değildir. Yani nem ile frekans arasındaki oranı bilmek gerekir. Üretici tarafından HH10D algılayıcısı içine yerleştirilmiş iki adet 2 baytık veri var. Bu veriler, ölçüm değeri ve üretici tarafından verilen matematik ifadesi kullanılarak bağıl nem hesaplanabilir. 2 adet 2 baytlık veri 24C02 tipinde bir EEPROM üzerindeki kayıtlı durumda. Yani i2c veri arayüzü erişimi gerekecektir. Atmega8 üzerindede i2c arayüzü donanım olarak bulunduğundan devre kolayca gereçeklenecektir.

Şekil-4 :HH10D bacak bağlantıları.

Modülün veri kağıtlarında devrenin 3.3V'un altında çalıştırılması gerektiği belirtilmiş, ama üzerindeki elemanlar (NEM sensörü bilgisi yeterisiz olduğu için hariç tutularak) 5V ile çalışabileceği görülüyor. Sonuçta 7555 entegresi 2-18V aralığında çalışabilirken, 24C02 türüne bağlı olarak 2V ile 5V aralığında çalışabilmektedir. (Belki devre kalibrasyonu düşük gerilimlerde gerçekleştirildiği ve devre ölçüm sonucunun tutması için 2.7 ile 3.3V aralığı önerilmiştir)

Şekil-5 :EEPROM okuyucu ile okunmuş HH10D eepromunun içeriği. (Parametrelerin bulunduğu bellek gözeleri kırmızı ile işaretlenmiştir)

Not: EEPROM okuyucu devre 5V ile çalıştığı için eeprom içeriğini okuyabilmek için 5V uygulamak zorunda kalındı ve eeprom okuma işlemi gerçekleştirildi.
Elektriksel Sinyal Seviyesini Çevirme


Şekil-6 :Diyot ile tek yönlü seviye çevirici.(SCL)


Şekil-7 :Mosfet ile iki yönlü seviye çevirici.(Mosfet bacakları arasına bağlı olan diyot aslında mosfetin içindedir).(SDA)

Buradaki önemli konulardan birinin Atmega8 bölümünün 5V ile ve HH10D modülünün 3.3V ile çalışmasıdır. Aslında bu işlemci için bir sorun olmamakla birlikte HH10D modülü için bir sorundur. Hele ki SDA bacağı için daha önemli bir sorundur.(Çünkü iletişim iki yönlüdür)

Bu konuda en güzel çözüm Philips firması tarafından sunulmuş.Gate ucu doğrudan 3.3V bağlantısında olmak kaydı ile Drain uçu 5V tarafındaki alet bacağına ve Source ucu 3.3V tarafındaki alet bacağına bağlamak yeterli. Bu bağlantı şekli ile iki yönlü iletişim bağlantısına imkan tanıyacaktır. (Her iki taraf (3.3V ve 5V için pull up dirençleri mutlaka vardır)

Tek yönlü bağlantı için zaten konu doğrudan bir diyot kullanılarak, ve diyodun her iki ucuna pull up dirençleri kullanarak basit bir seviye çevirici oluşturulur.

Şekil-8 :FOUT ve işlemci arasındaki seviye çevirici .

Tek yönlü devrelerde mesale HH10D FOUT bacağı durumlarda bir transistör seviye çeviricisi yeterlidir. Çünkü yapılan sadece HH10D modülü tarafından oluşturulan sinyalin frekansının ölçümesidir. Bu durumda zaten sürekli değişen sinyal seviyeleri işlemci açısından sorun almayacağından bu transistör devresinin kullanımı yeterlidir.
Devre

Devre basitçe Led ekran, Led ekran sürücüleri, Besleme, işlemci HH10D modülü ve seviye çeviriciler olarak ayrılabilir. Devrenin mümkün olduğu kadar küçük olması yönündeki kararlar sonucunda bazı elemanların SMD olması yönünde tercih yapıldı. Hepsi tek baskı devre kartı üzerinde toplandı.

Şekil-9 :Atmega8 ve HH10D ile Led Ekranlı Higrometre devresi kartı.

Şema

Proje temelde IC1 (Atmega8) üzerine kurulu. Bu işlemcinin saat kaynağı olarak XT1 (4MHZ) kristal ile C4 ve C5 (27pf) kondansatörleri kullanılmaktadır. İşlemcinin bacaklarına bağlanmış R5..R12 (220R) dirençleri DIS1...DIS4 (HDSP-F501) ekranlarının parçalarını sürmektedir. Ayrıca işlemci üzerinden R1..R4 (1K) dirençlerine bağlı Q1..Q4 (BC857) transistörleri DISP1..DISP4 ekranlarının ortak uçlarını sürmektedir.

M1 (HH10D) Nem algıyıcı modülü olup paremetrelerin saklandığı eeprom için SCL ve SDA bacakları varken, nem miktarı ölçümü için bir nem-frekans dönüşümü sinyal çıkışı vardır. IC1 ile M1 SCL bacakları arasına D2 (1N4148) diyodu bağlanmış ve diyodun her iki ucuna işlemci IC1 tarafına R16 (10K) ve M1 tarafına R17 (10K) pull up dirençleri eklenmiştir.

IC1 ile M1 SDA bacakları arasına Gate ucu +3.3V gerilime bağlanmış Source ucu işlemci ve Drain ucu M1 tarafına bağlanmı Q5 (STK7000) mosfeti bağlanmıştır. Bu mosfetin source (işlemci) tarafına R15 (10K) ve Drain (M1) tarafına R18 (10K) pull up dirençleri eklenmiştir.

M1'in FOUT çıkışına bağlı R19 (1K5) direnci üzerinden Q6 (BC847) transistörü sürülür. Bu transistörün emetörü doğrudan gnd hattına bağlanırken kollektör bacağı üzerinden R20(10K) direnci sürülür(pull up). Q6 ve R20 bağlantı noktasından işlemcinin T1 bacağına bağlanır. (frekansmetre için)

Besleme içir P1 klemensine bağlı besleme hattı üzerinden D1 (2W10M) köprüsü üzerinden besleme alınır. (D1 P1 klemensinin kutupsuz şekilde bağlanma olanağı tanır) D1 üzerinden geçen besleme IC2 (7805) ile işlemci için gereken +5V beslemeyi bağlar. IC3 (78L33) ise M1 modülü için gereken +3.3V besleme gerilimini regüle eder.

Devre üzerinde kalan ve belirtilmeyen kondansatörler filtre amaçlıdır.

Şekil-10 :Devrenin blok şeması


Şekil-11 :Sistemin Devre şeması

Devre Yapımı

Devre yapımı konusunda fazla kritik bir nokta yok.

M1 modülü 5'li sıra pin konnektörü üzerinden bağlanmıştır. Ayrıca IC2 ve IC3 arasındaki besleme bağlantı köprüsü unutulmamalıdır. (Şekil-15 üzerinde mavi ile gösterilmiş bağlantıdır).

Şekil-12:Baskı devresi şekli(üstten görünüm)


Şekil-13:Yerleşim planı (SMD elemanlarda eleman yüzünde gösterilmiştir-SMD elemanları PCB tarafına monte ederken elemanları ters çevirmeniz gerekmez.)


Şekil-14:Eleman ve yollarla birlikte yerleşim planı.


Şekil-15:Besleme bağlantı kablosu mavi ile gösterilmiştir.


Devre Elemanları


0R(1206 smd)R13,R14,R21,R22
220R(1206 smd)R5..R12
1K(1206 smd)R1..R4
1K5(1206 smd)R19
10K(1206 smd)R15..R18
10µF/25VC3,C10
100nF(1206 smd)C1,C2,C6,C7,C8,C9
27pF(1206 smd)C4,C5
Atmega8IC1
7805IC2
78L33IC3
HH10DM1
2W10MD1
1N4148(1206 smd)D2
BC857(SOT-23)Q1..Q4
STK7000Q5
BC847(SOT-23)Q6
4MHz KristalXT1
BC847(SOT-23)Q6
HDSP-F501DIS1..DIS4
tip0 2'li klemens)P1
2x6 konnektör isp
1x5 sıra pin-

Bu elemanlara ek olarak 9V'lu bir adaptör gerekmektedir.
Çalışması


Şekil-16:Başlangıçta ofset ve sens değeri için kısa devre edilmiş.


Şekil-17:Kısa devre yerleşim planı üzerinde kırmızı ile gösterilmiştir.

Devre ilk defa çalıştırıldığında sens ve ofset değerlerini bilmediği için elbette yanlış ölçüm sonucu verecektir. Sens ve ofset değerlerini okumak için devrenin gücü kesik iken, isp konnektöründeki MISO (P4) ve GND uçlarını kısadevre edin. Devreye beslemesini verin. İşlemci HH10D üzerindeki EEPROM'dan gerekli verileri okur ve işlemcinin üzerindeki EEPROM'a kaydeder ve artık her açıldığında işlemci üzerindeki EEPROM'dan okumaya devam eder. (Devre çalıştıktan sonra MISO ve GND arasındaki kısadevreyi kaldırmayı unutmayın, aksi durumda ekrande hexadesimal olarak sens değerini göstermeye devam eder).

ISP uçları kısadevre edilme durumları yok iken ekranın sağdan birinci hanesi sönük haldedir. Çünkü Nem ölçüm sonucu onda birlik bir ölçüm içinde verilmektedir. Sağdan birinci hanenin sadece ondalık noktası devrenin ölçüm yaptığı andı göstermek üzere yanıp söner. (Yandığı zaman frekansmetre ölçüm yapmaktadır.

Ölçülen frekans değerini görmek için (hex olarak) verilen işlemci programında belirtilen yerdeki satırları aktif hale getirmeniz, programı derlemeniz ve yüklemeniz gerekiyor.

Gerçi matematik ifadesini HH10D veri kağıtlarında da bulabilirsiniz:

Nem (Yüzde olarak)= (Ofset- ölçülen frekans)*sens/1000 ....(1)

Yukarıdaki ifade tabii ki hex değerleri içermektedir.(girdiler hex sayı sisteminde olmalıdır) Bu şekilde kullanıldığnda sonuç tamsayı olarak çıkacaktır. Eğer bu sonucu görmek isterseniz onluk sisteme çevirmeniz gerekir. Aynı ifadenin onluk sistem olarak;

Nem (Yüzde olarak)= (Ofset- ölçülen frekans)*sens/4096 ....(2)

Bu ifade ile onluk sonuç verecektir. (girdiler onluk sistemde olmalıdır.)

Şekil-18:Aynı sonucun onluk ve 16'lık (hex) gösterimi (hex değer ölçülen frekanstır; onluk değer hesaplanan Nem değeridir).

Eğer (1) nolu ifade ile Şekil 16'daki ölçüm sonucunu hesaplarsanız ekranda göreceğiniz sadece 44'dür.
Sens ve Ofset gösterimi


Şekil-19:Sens ve Ofset için kullanılan kısadevreli konnektörler.

Kullanıcı olarak yapılan ölçüm sonucunu elle kontrol etmek isteyebiliriz. Bunun için isp konnektörü üzerindeki MISO-GND ve SCK-GND bağlantılarını kullanmamız yeterlidir. Sens ve Ofset gösterilmesi devre çalışıyorken yapılabilir. Şekil 19'deki konnektörleri kullanırsanız, konnektör takılı iken kendi değerini gösterir, çıkarıldığında nem değerini gösterir.

MISO-GND Bağlantısı için (SENS değeri)

Şekil-20:Kırmızı ile gösterilen bağlantı.

Sens değeri ekranda HEX olarak gösterilecektir.

Şekil-21:Projedeki HH10D için sens değeri.


SCK-GND Bağlantısı için (OFSET değeri)

Şekil-22:Kırmızı ile gösterilen bağlantı.

Ofset değeri ekranda HEX olarak gösterilecektir.

Şekil-23:Projedeki HH10D için ofset değeri.




Ekler:

Atmega8 için gerekli bilgiler

"Atmega8 ve HH10D ile LED Ekranlı Higrometre" için dosyalar-birleşik

Bu devrenin yapım sorumluluğu size aittir. Devre yapıldı ve çalışıyor. K.A....

Translate

Sayfalar

Etiketler

74C922 (1) 74HC125 (2) 74HC138 (1) 74HC20 (1) 74HC590 (1) 93C46 (5) adc (2) adım motor (1) Android (1) Arduino (5) Arduino UNO (5) at90S2313 (7) atmega128 (1) Atmega128 (1) atmega16 (5) atmega32 (4) Atmega328p (5) Atmega8 (44) attiny (1) attiny2313 (18) avr (71) barometre (1) bilgisayar ses (1) Biplor step motor (1) Bluetooth (2) bootloader (1) cep telefonu (1) CGRAM (1) CGROM (1) DHT11 (1) DS1302 (1) DS1307 (5) ds1820 (3) EDMCPR6YOY (1) ENC28J60 (3) ethernet (3) F2631XH-44 (1) fiber optik (2) floresan ekran (4) frekans (1) FT232BL (9) FT232RL (1) FTDI232 (3) GLCD (2) grafik LCD (8) HC06 (2) HH10D (2) HITCHACHI (1) higrometre (2) HP03S (1) HR911105A (1) i2c (1) isp (2) kapasitemetre (2) karakter LCD (5) kızılaltı (2) klavye (2) kondansatör (1) L2432 (1) L298 (1) LAN (1) LCD (22) LCD ekran (2) led (8) led ekran (14) led matris ekran (4) LM044L (1) LM1117-3V3 (2) LM35 (8) lm358 (1) LM75 (2) max3232 (1) MCP3550 (1) nea02017 (2) panasonic (1) PCF8574AT (2) PCM1602 (3) programlayıcı (1) RCM2048R (1) rs232 (16) rs485 (14) saat (14) sayıcı (1) Seri (3) Sharp (1) Step motor (1) şifreli kilit (2) T6963C (3) TC1602.TC2004 (1) termometre (13) tester (1) transistör (1) tuş takımı (2) tx179 (2) uf-150 (1) USB (14) voltmetre (1) wifi (1) YMC162 (2) zamanlayıcı (2)

İzleyiciler