İtalyan fizikçi ve matematikçe Toricelli ilk barometreyi icat ettiğinde su kullanmıştı ve 10 metrelik su sütununun 1 atmosferik basınca denk düştüğünü bulmuştu. (Daha sonra aynı deneyi civa ile tekrarladı.76 mm civa) Günümüzde gelişen elektronik algılayıcılar ve dolayısı ile elektronik elemanlar sayesinde hava basıncını daha yüksek hassasiyet ve kesinlik ile ölçülmesine olanak vermektedir.
Bu projede Atmega8 ve HP03S (basınç algılama modülü) kullanarak bilgisayara USB bağlantısı üzerinden ölçüm sonuçları gönderilmeye çalışılacak.
En azından şu bilinmektedir ki açık hava basıncı vardır. Sonuçta dünyanın katmanlarından biri olan atmosfer (gaz katmanı olarak)dünyanın çekim gücü nedeniyle dünya yüzeyinde bir basınç oluşturur. Kullanılan ölçüm sistemlerine göre çeşitli birimlerde tanımlanmıştır. ( bar, paskal gibi.)
İlk ölçüm şekli 12 metrelik su sütunundan oluşturulan sistem ile(ölçüm 10 metrelik olarak) ilk barometreyi oluşturuldu. Daha sonra su yerine civa kullanılmış ve cam borudan oluşturulan sistemde 1 atmosferlik basınç 76mm civa basıncına denk düşer hale gelmiştir.
Daha sonraları ise hava basıncını ölçmek için mekanik ölçüm sistemleri kullanılmıştır. Kullanım kolaylığı açısından ölçeklenerek barometre daha taşınabilir hal gelmiştir.
Meterolojik bilimlerde vazgeçilmez bir öğe olarak günlük hayatımızda bulunan barometre hava hareketlerinin izlenmesi ve hava tahmihlerinde vazgeçilmez ölçü aleti olarak kullanılır. (basınç merkezlerinin izlenmesi ile yağışlı veya güneşli hava tahminlerinde sıkça karşımıza çıkar).
Not: Barometrenin kapalı kaplar için ölçümde kullanılan şekli manometre olarak adlandırılır.
Basınç sensörü genelde sabit, bilinen basınç altında kapatılan bir kutucuğun iç basıncı ile dış basıncının karşılaştırılması esasına dayanır.
Bu projede HP03S basınç sensörü kullanılmaktadır.Hope Microelectronics (HOPE RF) firmasına ait bir üründür.
Veri kağıtlarında piezo-rezistif bir algılayıcı içeriyor. Bu algılayıcı değeri (gerilim olarak) 16-bitlik ADC üzerinden 2 baytlık veriye dönüştürülüyor. Burada belirtilmesi gereken bir nokta var. Bu modül üzerindeki basınç tek başına ölçülebilir bir büyüklük değil. En azından sıcaklık ile bir bağlantısı var. Bu nedenle hesaplama için gereken sıcaklık değeri HP03S üzerinde bulunuyor. Sıcaklık değeride (doğrudan sıcaklık değeri olarak değil) 2 baytlık veri şeklinde okunabiliyor.
Algılayıcı 2.2V ile 3.6V aralığında çalışabiliyor. Devrenin beslemesi için gereken gerilim kolaylıkla sağlanabiliyor. HP03S modülü düşük güç harcamak üzere tasarlanmış.
HP03S modülünden elde edilen basınç ve sıcaklık değerlerinin hesaplanması için gereken bazı ek parametrelere ihtiyaç var. Bu parmetreler modül üzerindeki bir EEPROM üzerinde saklanıyor. ADC ile EEPROM aynı veri yolunu paylaşmakla birlikte (I2C) sonuçta erişim adresleri farklı.
Parametre | Açıklaması | EEPROM Adresi | Bilgisi | Değer Aralığı |
C1 | Hassasiyet katsayısı | 16:17 | MSB:LSB | 0x100 - 0xFFFF |
C2 | Denkleştirme Katsayısı | 18:19 | MSB:LSB | 0x00 - 0x1FFF |
C3 | Hassasiyetin sıcaklık katsayısı | 20:21 | MSB:LSB | 0x00 - 0x400 |
C4 | Denkleştirmenin sıcaklık katsayısı | 22:23 | MSB:LSB | 0x00 - 0x1000 |
C5 | Referans sıcaklık | 22:25 | MSB:LSB | 0x1000 - 0xFFFF |
C6 | Sıcaklığın sıcaklık katsayısı | 26:27 | MSB:LSB | 0x00 - 0x4000 |
C7 | Denkleştirmeyi İyileştirme ayarı | 28:29 | MSB:LSB | 0x960 - 0xA28 |
A | Sensöre özel parametre | 30 | LSB | 0x01 - 0x3F |
B | Sensöre özel parametre | 31 | LSB | 0x01 - 0x3F |
C | Sensöre özel parametre | 32 | LSB | 0x01 - 0x0F |
D | Sensöre özel parametre | 33 | LSB | 0x01 - 0x0F |
EEPROM içerisinde saklanan parametreler hakkında genel bilgileri Tablo-1'den alabilirsiniz. Bu parametreler aletten okunduktan sonra hesaplama işlemi için (en azından bizim anlayabileceğimiz geçer basınç ve sıcaklık değerini) hesaplamak kullanılır.
Tabiki buradaki sabit sayıların yanında alınması gereken iki önemli değer daha var. Bunlar sıcaklık ve basınç değerleridir. Bu değerler hakkında genel bilgi tablo 2'den ulaşılabilir.
Parametre | Açıklaması | Değer Aralığı |
D1 | ölçülen basınç | 0x00 - 0xFFFF |
D2 | ölçülen sıcaklık | 0x00 - 0xFFFF |
Tüm parametreler okunduktan sonra yapılması gereken sadece sıcaklık ve basınç için değerleri okumak ve biraz da matematik işlem yapılması gerekiyor.
Parametrelerin saklandığı bölümün iletişimi 24C02 eeprom ile uyumludur. Yani adresi 0xA0 şeklinde tanımlanmıştır. (0. bit 0=yazma 1= okuma) (Zaten yazma işleminin olmaması gerekir.)
HP03S üzerindeki i2c EEPROM'u okumak için adımlar olarak (temel i2c işlemleri bilindiği kabul edilmektedir) Burada okunan C1,C2,C3...C,D gibi tanımlanmış olan HP03S parametreleridir.
- İşlemci i2c başlama durumunu gönderir
- İşlemci EEPROM çip kodunu EEPROM yaz bilgisi ile birlikte gönderir (0xA0)
- Adresleme tamamsa HP03 bir kabul sinyalini gönderir
- İşlemci EEPROM adres kodunu gönderir.(0x10)
- Adresleme tamamsa HP03 bir kabul sinyalini gönderir
- İşlemci i2c tekrardan başlama durumunu gönderir
- İşlemci EEPROM çip kodunu EEPROM oku bilgisi ile birlikte gönderir (0xA1)
- Adresleme tamamsa HP03 bir kabul sinyalini gönderir
- HP03 ilk veri adresindeki veriyi işlemciye gönderir (0x10 adresindeki)
- İşlemci bir kabul sinyalini gönderir
- HP03 sonraki veri adresindeki veriyi işlemciye gönderir (0x11 adresindeki)
- İşlemci bir kabul sinyalini gönderir
- --sırayla veriler okunur ve son veriye gelindiğinde
- HP03 son veri adresindeki veriyi işlemciye gönderir (bu son adres aslında paremetre adresidir)
- İşlemci bir kabul yok sinyalini gönderir
- İşlemci i2c sonlandırma durumu gönderir
Şekil-4 üzerinde görülen iletişim şekli aşağı yukarı i2c iletişimi hakkında bir fikir verecektir.
HP03S (veya HP03M-sadece bacak bağlantı farkı var) sıcaklık va bısınç değerlerini okumak için.
ADC okumak için öncelikle MCLK bacağı üzerinde 32768Hz'lik bir darbe verilmesi gerekiyor. Bu ADC'nin ölçüm yapması için gereken bir sinyal olduğu belirtilmiş. Hatta bu sinyal belirtilen frekansa ne kadar yakın verilebilirse HP03 modülünün o kadar düşük güç tükettiği belirtilmiş. 4MHz işlemci frekansı ile işlemciden ancak 32786,885 Hz frekansında sinyal verilebiliyor.
ADC bölümünün işlem yapabilmesi için ayrıca XCLR olarak belirtilen HP03S modülü bacağının lojik-1 seviyesine çekilmesi ve veriler okunduktan sonra lojik-0 seviyesine çekilmesi gerekiyor
HP03S modülü üzerinden sıcaklık bilgisini (ADC ile) okumak için;
- Öncelikle işlemci XCLR bacağını lojik-1 seviyesine çeker
- İşlemci i2c başlama durumunu gönderir
- İşlemci ADC çip kodunu ADC yaz bilgisi ile birlikte gönderir (0xEE)
- Adresleme tamamsa HP03 bir kabul sinyalini gönderir
- İşlemci ADC işlem kodunu gönderir (0xFF)
- HP03 bir kabul sinyalini gönderir
- İşlemci ADC işlem kodunu gönderir (0xE8)
- HP03 bir kabul sinyalini gönderir
- İşlemci bir sonlandırma durumu gönderir
- İşlemci ADC'nin gerekli işlemleri yapabilmesi için yaklaşık 50ms bekler.
- İşlemci i2c başlama durumunu gönderir
- İşlemci ADC çip kodunu ADC yaz bilgisi ile birlikte gönderir (0xEE)
- Adresleme tamamsa HP03 bir kabul sinyalini gönderir
- İşlemci ADC işlem kodunu gönderir (0xFD)
- HP03 bir kabul sinyalini gönderir
- İşlemci i2c başlama durumunu gönderir
- İşlemci ADC işlem kodunu gönderir (0xEF)
- HP03 bir kabul sinyalini gönderir
- HP03 ADC değeri yüksek anlamlı baytı gönderir
- İşlemci kabul biti gönderir
- HP03 ADC değeri düşük anlamlı baytı gönderir
- İşlemci kabul yok biti gönderir
- İşlemci sonlandırma durumu gönderir
- İşlemci XCLR bacağını lojik-0 seviyesine çeker
Veri okunması şekli ile basınç bilgisi aşağı yukarı sıcaklık bilgisi ile aynı şekilde okunur. Sadece bir parametrede farklılık vardır.
HP03S modülü üzerinden basınç bilgisini (ADC ile) okumak için;
- Öncelikle işlemci XCLR bacağını lojik-1 seviyesine çeker
- İşlemci i2c başlama durumunu gönderir
- İşlemci ADC çip kodunu ADC yaz bilgisi ile birlikte gönderir (0xEE)
- Adresleme tamamsa HP03 bir kabul sinyalini gönderir
- İşlemci ADC işlem kodunu gönderir (0xFF)
- HP03 bir kabul sinyalini gönderir
- İşlemci ADC işlem kodunu gönderir (0xF0)
- HP03 bir kabul sinyalini gönderir
- İşlemci bir sonlandırma durumu gönderir
- İşlemci ADC'nin gerekli işlemleri yapabilmesi için yaklaşık 50ms bekler.
- İşlemci i2c başlama durumunu gönderir
- İşlemci ADC çip kodunu ADC yaz bilgisi ile birlikte gönderir (0xEE)
- Adresleme tamamsa HP03 bir kabul sinyalini gönderir
- İşlemci ADC işlem kodunu gönderir (0xFD)
- HP03 bir kabul sinyalini gönderir
- İşlemci i2c başlama durumunu gönderir
- İşlemci ADC işlem kodunu gönderir (0xEF)
- HP03 bir kabul sinyalini gönderir
- HP03 ADC değeri yüksek anlamlı baytı gönderir
- İşlemci kabul biti gönderir
- HP03 ADC değeri düşük anlamlı baytı gönderir
- İşlemci kabul yok biti gönderir
- İşlemci sonlandırma durumu gönderir
- İşlemci XCLR bacağını lojik-0 seviyesine çeker
Bu bilgiler HP03S modülünden okunur ve USB-seri dönüştürücü modül üzerinden bilgisayara gönderilir. Bilgisayar üzerindeki program bu bilgileri değerlendirir
Devre olarak göz önüne alındığında Atmega8 5V ile çalışırken, HP03S 3.3V ile çalışmaktadır. Eğer doğrudan birbirlerine bağlanırsa bazı sorunlar olacağı kesin. Bunun için gerilim farkları için seviye çeviricilerin kullanılması gerekir.
Aslında tüm bağlantılar için şekil-9'daki seviye çevirici kullanılabilir. Elimde fazla mosfet olmadığından devre üzerinde böyle bir çözümü gidildi.
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. Basınç ve sıcaklım ölçüm sonucu bilgisayara bu şekilde iletilir.
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 bağlanır.
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.
Proje bileşenleri göz önüne alındığında HP03S 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.
HP03S modülü sıcaklık ve basınç ölçümü için üzerindeki 16 bitlik ADC işlemci bilgisayardan gelen emirler doğrultusunda okunur 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
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ı konnektö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.
M1 (HP03S) basınç va sıcaklık sensörlerini barındıran modüldür. İşlemci kartı IC3 (ATmega8) işlemcisi tarafından yönlediriliyor. Bu işlemcinin saat frekansı ihtiyacı C8 ve C9 (27pF) kondansatörler ile birlikte XT2 (4MHZ) kristal tarafından karşılanıyor. M1 ile gösterilen HP03S modülü basınç ve sıcaklık ölçümü sonucunu işlemciye gönderirken aynı zamanda basınç ve sıcaklık için gereken parametreleri saklar. SDA iletişimi için R11 (10K) ,Q1 (BS170) ve R14 (10K) elemanları gerilim seviye dönüşümünü sağlarlar. SCL için ise R12 (10K), D2 (1N4148) R15 (10K) elemanları gerilim seviye dönüşümünü sağlarlar. MCLK (ADC için) R19 (10K) pull up direnci olmak üzere, R20 (1k) ,Q2 (BC547) ve R16 (10K) gerilim seviye dönüşümünü sağlar. Ayrıca HP03S 'in XCLR bacağı için R13 (10K), D3 (1N4148) ve R17 gerekli gerilim seviyesi dönüşümünü sağlar. R18 (1K) direnç ile seri bağlı LED3 devrenin çalışmasında monitör olarak kullanılmaktdır.
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 devrenin ihtiyacı olan beslemeyi oluşturur.
P1 ve P5 işlemci ve USB kartlarının UART bağlantısı için (seri) kullanılır.
Belirtilmeyen geri kalan kondansatörler filtre amaçlıdır.
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.
27R | R9,R10 |
470R | R5 |
1K | R1,R2,R18,R20 |
1k5 | R8 |
2k2 | R4 |
4k7 | R6 |
10K | R3,R7,R11,R12,R13,R14,R15,R16,R17,R19 |
27pF | C1,C2,C8,C9 |
100nF | C3,C4,C5,C7,C11,C12,C13,C14 |
10µF/25V | C6,C10,C15 |
3mm Kırmızı LED | LED2 |
3mm Yeşil LED | LED1,LED3 |
FT232BL | IC1 |
Atmega8 (DIL) | IC3 |
93C46 (DIL) | IC2 |
7805 | IC5 |
LP2950-3.3 | IC4 |
BS170 | Q1 |
BC547 | Q2 |
1N4148 | D2,D3 |
2W10M veya benzeri | D1 |
6Mhz kristal | XT1 |
4Mhz kristal | XT2 |
HP03S veya HP03M | M1 |
10 Header(2x5) | P1,P5 |
6 Header(2x3) | isp |
USB-A konnektör | USB-A |
3 bacak sıra pin | P2,P3 |
köprü | köprü(jumper) 2 Adet |
2 bacaklı klemans | P4 |
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 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.).
Devrelerden önce USB -seri dönüştürücü devresinin çalıştığından ve bilgisayar ile ilgili sürücülerin yüklendiğinden emin olur. Burada sanal seri port sürücüleri kullanılacaktır. (Bunun anlamı USB seri dönüştürücü yerine max232 entegresi ile yapılmış seri gerilim dönüştürücü kullanımı ile birlikte işlemci kartının kullanılabileceğidir).
İşlemci (Atmega8) işlemci kartı üzerine takmadan önce devreye beleme uygulanır ve uygun noktalardan gerilimler ölçülür. Bu şekilde kısadevre veya açık devre olup olmadığı kontrol edilir.
Her şey tamamsa işlemci takılıp (hatta sensör) işlemci gerekli programlamalar ve ayarlamalar yapılır. Bu noktada sistemi tam çalışır hale getirmek için çalışmaya başlamak gerekir.
Sistemi oluşturan kartları bağla, USB kablosunu bilgisayara bağla ve işlemci kartına besleme gerilimi uygula. Bilgisayar üzerindeki "BaroMetre.exe" programını çalıştır. Gelen ana pencere üzerinde herhangi bir butona tıklamadan "Ayarlar" butonuna tıkla.
Burada bilmeniz gereken konu USB kartının atandığı seri portun numarasıdır. Bu aslında basit. USB kart takılmadan programı çalıştırılır, ayarlara girilir ve bakılır. Seri portlar not alınır. Sonra USB kart takılı iken ayarlardaki Seri portlara bakılır. Fazla olan port USB kart için atanmış seri porttur. Zaten bilgisayar üzerinde seri port yoksa, tek bir tane seri port görülecektir.
Ayarlar penceresinde iken önce USB kart için atanmış seri portu ayarla. Herşey tamam ve çalışır halde ise, sıra ile "C1 Oku", "C2 Oku".. "C Oku" "D Oku" butonları ile belirtilmiş olan HP03S parametrelerini işlemci üzerinden almak ve kullanmak gerekiyor. Sadece butonlara basmak yeterlidir. Basılan buton ile ilgili yanındaki yazı alanına parametreyi yazılmasını sağlayacaktır. Örneğin "C1 Oku" butonuna basılırsa bilgisayar işlemciden C1 parametresini okur ve "C1 Oku" butonu yanındaki yazı alanına C1 parametresini (onluk sistemde) yazar. İlk basılan buton ile birlikte yazı alanı üzerinde gösterilen değer en azından sistemin çalıştığını gösterir. Butona basıldığında yazı alanına değer gelmezse aynı işlemi başka bir buton ile dene.(Parametre 0 değerini taşıyor olabilir) Hepsi sıfır ise sisteminizi ve ayarlarınızı kontrol edin. (Bir yerde hata var).USB-seri dönüştürücü kartı üzerindeki LED'ler seri port işlem yoğunluğunu izlemek için kullanılabilir.
Bu işlem sıra ile bütün butonlara basarak tüm parametre alanları doldurmak gereklidir. (C1, C2, C3 ...B, C, D). Bu parametreler okunan sıcaklık ve basınç kullanılarak kullanıcının anlayabileceği hale getirilir. Buradaki önemli nokta tüm bu parametre alanları parametreler yerleştirildikten sonra "Tamam" butonuna tıklanmasıdır. "Tamam" butonuna tıklandıktan sonra, yapılan tüm ayarlamalar program ile aynı klasördeki aynı isimli ".ini" uzantılı dosyaya kaydedilir ve program her başlatıldığında aynı dosyadan okunarak kullanılır. (Ayarlar penceresindeki her bir değer aynı şekilde bu ".ini" uzantılı dosya içinde saklanır. Bu projede "BaroMetre.ini" isimli bir dosyadır.
"Tamam" butonuna basılması ile ana pencereye gelinir. Burada tekil ölçüm için iki buton var: Sıcaklık ve basınç. Her iki buton üzerinde yer alan yazı alanlarına ölçülen değerlerden hesaplanan sonuçlar yazılacaktır. "Sıcak" butona basıldığında ölçülen sıcaklık değeri parametreler kullanımıyla gerekli işlemlerden geçirilecek ve sonucu sıcaklık butonu üzerine yazılacaktır. Aynı zamanda sol taraftaki liste alanında da görüntülenecektir. Ve de ayarlarda bir dosya kaldı seçeneği aktifse sonuç zaman ile birlikte dosyaya kaydedilecektir.
"Basınç" için butona basmadan önce bir kez "sıcak" butonuna basılması gerekiyor. Çünkü basınç hesabı için sıcaklık değeri hesabı gerekiyor. "Basınç" butonuna basıldığında, hemen butonun üzerindeki yazı alanına hesaplanan basınç değeri koyar, sol taraftaki liste alanına değeri yazar ve dosya kaydı seçeneği seçilmişse, dosyaya zaman ile birlikte sonucu kaydeder.
"Ölç" butonu ölçümün belirli aralıklarda tekrarlanmasını sağlar. Ölçüm için sürekli bilgisayar başında beklenmesi gerekmez."Ölç butonuna tıklandığında, bilgisayar bir zamanlayıcıyı aktifleştirir.Önce sıcaklık değerini ölçer, yaklaşık "300ms" sonra basınç değerini ölçer ve "Ayarlar" penceresindeki "Okuma zamanı" belirtilen değer kadar bekler ve tekrar sıcaklık değerini ölçer...
Ölçülen değerler yukarıda "Sıcak" ve "Basınç" butonlarında anlatılan işlemleri aynı şekilde yerine getirir. Tek farkı sürekli tekrar edilmesidir.
İşlemci kartı üzerindeki LED3 sıcaklık ölçümünde yanacak ve basınç ölçümünde sönecektir. Böylece sürekli ölçüm işleminde sistemin faliyetleri gözlenebilecektir.
"BaroMetre.exe" programı Delphi 7 ile yazıldı ve derlendi. Program sadece XP üzerinde denendi. Programı çalıştırmak için "BaroMetre.exe" dosyasının yanında "BaroMetre.ini" dosyasıda aynı klasör içinde bulunması gerekmektedir. İni dosyası yok ise program ile ilgili ayarlar yapıldıkça Ayarlar penceresinde "Tamam" butonuna tıklandığında yapılan ayarlar ile ilgili değişiklikler ini dosyası yoksa önce ini dosyası oluşturulur ve tüm değişkenler bu ini dosyasına kaydedilir.
ANA PENCERE
"BaroMetre.exe" programı çalıştırıldığında ile ekrana gelecek olan penceredir.
Ana pencere üzerinde rakamlarla ilişkilendirilen alanları incelersek;
- Program açık olduğu süre içinde hesaplanan sıcaklık ve basınç değerleri listesi (Son ölçüm en üstte yer alır)
- Program açık olduğu sürede hesaplanan son sıcaklık değeri gösterilir
- Program açık olduğu sürede hesaplanan son basınç değeri gösterilir
- Butona tıklandığında bir sıcaklık ölçümü yapar.
- Butona tıklandığında bir basınç ölçümü yapar.
- 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.
- Ayarlar penceresine girmek için tıkla.
AYARLAR PENCERESİ
Ayarlar penceresi üzerindeki rakamlarla ilişkilendirilen alanları incelersek;
- 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)
- İşlemci kartından "C1" değerini almak için butona tıkla
- İşlemci kartından gelen "C1" parametresinin görüntülendiği yazı alanı
- İşlemci kartından "C2" değerini almak için butona tıkla
- İşlemci kartından gelen "C2" parametresinin görüntülendiği yazı alanı
- İşlemci kartından "C3" değerini almak için butona tıkla
- İşlemci kartından gelen "C3" parametresinin görüntülendiği yazı alanı
- İşlemci kartından "C4" değerini almak için butona tıkla
- İşlemci kartından gelen "C4" parametresinin görüntülendiği yazı alanı
- İşlemci kartından "C5" değerini almak için butona tıkla
- İşlemci kartından gelen "C5" parametresinin görüntülendiği yazı alanı
- İşlemci kartından "C6" değerini almak için butona tıkla
- İşlemci kartından gelen "C6" parametresinin görüntülendiği yazı alanı
- İşlemci kartından "C7" değerini almak için butona tıkla
- İşlemci kartından gelen "C7" parametresinin görüntülendiği yazı alanı
- İşlemci kartından "A" değerini almak için butona tıkla
- İşlemci kartından gelen "A" parametresinin görüntülendiği yazı alanı
- İşlemci kartından "B" değerini almak için butona tıkla
- İşlemci kartından gelen "B" parametresinin görüntülendiği yazı alanı
- İşlemci kartından "C" değerini almak için butona tıkla
- İşlemci kartından gelen "C" parametresinin görüntülendiği yazı alanı
- İşlemci kartından "D" değerini almak için butona tıkla
- İşlemci kartından gelen "D" parametresinin görüntülendiği yazı alanı
- 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.
- Ölçüm sonuçlarının kaydedileceği metin dosyası adı ve bilgisayar üzerindeki yeri
- "Ölç" butonu ile kullanılan otomatik ölçme zaman aralığını belirler.
- Ö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.
- Hesaplanan basınç değeri sonuna "mbar" birimini ekler (29 ile işaretli radio buton ile ilişkilidir.)
- Hesaplanan basınç değeri sonuna "hpa" birimini ekler(28 ile işaretli radio buton ile ilişkilidir.)
- Ayarlar işlemlerini tamamlanması, ayarların kaydedilmesi ve "Ayarlar" penceresinin kapatılması ve ana pencere geri dönülmesi için "Tamam" butonuna tıkla.
Not:Bu projede ölçülen değer ve hesaplamaların kesinliği konusunda doğrulama şansım olmadığı için "BaroMetre.exe" dosyasının açık kodları verilmektedir.(işlemci programı için zaten verilmektedir).
Ekler:
ATMEGA8 hakkında bilgi için
"Atmega8 ve HP03S ile USB bağlantılı barometre" için dosyalar-birleşik
Bu devrenin yapım sorumluluğu size aittir. Devre yapıldı ve çalışıyor. K.A....
Hiç yorum yok:
Yorum Gönder