Projeler. Basınç taslağını ölçmek için bir barometre diyagramı. Motorun bir transistör aracılığıyla bağlanması

Ev / Sorular ve cevaplar

Sıcaklık, atmosferik basınç, hava nemi ölçümü ve takvimle zaman sayımı içeren gelişmiş bir ekran ölçüm cihazının başka bir projesi. Genel olarak, mikrodenetleyicilere olan tutkum boyunca sensörlerle çalışma konusundaki tüm gelişmelerimi içerir ve satın alınan tüm malların bir yerde kullanılması gerekir :) Sonuç, ilk versiyonundan vazgeçtiğim geliştirilmiş bir sıcaklık kaydedici olmalıdır. . Eh, bu daha sonra, ama şimdi bu kartın bir tanımını ve oraya doldurulmuş sensörlerin ve mikro devrelerin işlevselliğini kontrol etmek için test kodunu vereceğim.

Cihaz şeması aşağıdadır (büyütmek için resme tıklayın), USB-UART dönüştürücü şematik olarak gösterilmiştir, devresi standarttır ve burada daha önce açıklanmıştır.

Devrenin kalbi, harici 16 MHz kuvarsla çalışan Atmel ATMega64 mikro denetleyicisidir. Zaman, gerçek zamanlı bir saat çipi tarafından sayılır; bununla zaten ilgilendim ve bu nedenle kanıtlanmış yolu izledim.

Sıcaklık ve nemi ölçmek için Çin'den yapılmış olmasına rağmen bir DHT11 sensörü kullanıldı, ancak okumalar oldukça tatmin edici. Ayrıca zulamda SHT21 var, ancak o zaman devrenin tekrarlanabilirliği büyük ölçüde düşecek çünkü elde edilmesi daha zor ve birleştirilmiş devrenin tamamıyla aynı maliyete sahip olacak.

Bir sonraki sensör BMP085 atmosfer basıncını ölçer. Ek olarak sıcaklığı da ölçebilir, böylece okumaların kopyalanması mümkün olacaktır.

Gelecekte cihazın bir kaydediciye dönüştürülmesi planlandığından, harici bir EEPROM belleği 24LCxx'in bağlanması için bir yer vardır. 3 voltluk bir basınç sensörüne arayüz oluşturmak için alan etkili transistörlere dayanan kanıtlanmış bir eşleştirme devresi kullanıldı.

Tüm elemanlar (iki direnç hariç) üst katmanda bulunur, altta ise üste sığmayan yollar vardır. Orada çok az ilginç şey var, bu yüzden fotoğraf eklemiyorum.

Cihazı doğrudan bilgisayara bağlayabilmek için (örneğin, biriken verileri indirmek için), kartın FT232RL yongası üzerinde bir USB-UART dönüştürücüsü bulunur. Mikrodenetleyiciye ilk önce bir önyükleyici yüklerseniz, bu dönüştürücü aracılığıyla mikro denetleyiciye firmware de yükleyebilirsiniz. Bunun nasıl yapılacağını daha önce yazmıştım.

Her ihtimale karşı harici sensörleri bağlamak için çıkışlar PA0-PA3 bağlantı noktalarından sağlanır. Bir radyo kanalına bağlanmak ve düzenlemek istemeniz durumunda SPI arayüzü kişileri de görüntülenir.

Test kodu, manuel olarak ayarlama olanağıyla birlikte DS1307 saatindeki saati ve tarihi görüntüler (videoya bakın). İkinci satır DHT11 nem sensöründen gelen bilgileri görüntüler ve üçüncü satır BMP085 basınç sensöründen gelen bilgileri görüntüler. Gördüğünüz gibi, Çin DHT'si sıcaklık okumaları açısından Bosh'un Alman mevkidaşı BMP085'ten daha düşük değil. Bu arada Çinliler derecenin onda biri ile okuma yapmayı da biliyorlar, daha sonra bu fonksiyonu koda ekleyeceğim.

Ve son olarak tarih ve saati manuel olarak ayarlama yeteneğini gösteren bir video.

Sağlıklı insanlarda, hava koşullarındaki bir değişikliğin onların refahı üzerinde çok fazla etkisi yoktur, ancak hava durumuna bağımlı insanlar, hava veya atmosfer basıncındaki herhangi bir değişikliğe çok acı verici tepkiler verir.
Makalede önerilen barometre alarmı, atmosferik basınç değeri belirlenen sınırların ötesine geçtiğinde ve keskin sıçramalarında, hava durumuna bağlı insanları gerçek zamanlı olarak atmosferik basıncın mevcut değeri hakkında bilgilendirmeyi amaçlamaktadır.
Cihazın görünümü Şekil 1'de gösterilmektedir.

Şekil 1. Cihazın görünümü

Kullanıcı sınır değerlerini (minimum ve maksimum eşikler) bağımsız olarak ayarlar.
Atmosfer basıncının maksimum eşiği aşması veya minimum eşiğin altına düşmesi durumunda cihaz aralıklı ses sinyalleri ve “Eşik” ışıklı sinyaller yayacaktır.
Ses sinyalleri beş kez tekrarlandıktan sonra ses kesilir ve atmosfer basıncı belirlenen sınırlara dönene kadar ışık sinyali verilir.

Kullanıcı, belirli bir zaman aralığı için atmosfer basıncındaki kontrollü sıçramanın büyüklüğünü ayarlar.
Belirli bir zaman aralığında atmosfer basıncının kontrollü sıçramayı aşan miktarda sapması durumunda cihaz aralıklı ses sinyali ve ışıklı "Atlama" sinyali verecektir.
Bip sesleri beş kez tekrarlandıktan sonra ses kesilecek ve barometrik basınç, dalgalanmanın kontrol edilemez olduğu kabul edilen bir seviyeye dönene kadar ışık yanmaya devam edecektir.
Atmosfer basıncı değerleri cihazda “mmHg” olarak sunulmaktadır. Sanat."

Tanıtım videosu

Cihazın şematik diyagramı.

Cihazın elektrik devre şeması şekilde gösterilmiştir (Şekil 2).
Cihaz bir ATmega8 mikro denetleyicisine monte edilmiştir.
Direnç R1 ve kapasitör C3, güç uygulandığında MK'nin donanımsal olarak sıfırlanmasını sağlar.
Kondansatörler C2 ve C1, güç devrelerini yüksek frekanslı girişimlerden ve güç dalgalanmalarından korur.

Atmosfer basıncı değeri BMP1 sensöründen (GY68 BMP180) gelir.
Basınç sensörü TWI (I2C) arayüzü aracılığıyla kontrol edilir.
Sensör girişleri, R8 ve R10 dirençleri aracılığıyla besleme voltajına bağlanır.

Nokia 5110'un LCD ekranı bilgileri görüntülemek için kullanılır. Ekranda mevcut atmosfer basıncının yanı sıra cihaz ayarlarıyla ilgili bilgiler görüntülenir.
Atmosfer basıncının durumunun operasyonel göstergesi, VD1..3 LED'leri (“Normal”, “Eşik”, “Atlama”) kullanılarak gerçekleştirilir.
Ses sinyali, VT1..2 transistörleri ve SP1 hoparlörü kullanılarak düşük frekanslı bir amplifikatör kullanılarak gerçekleştirilir. Ses düzeyi değişken direnç R5 kullanılarak ayarlanabilir.

Cihaz, SA2 ("Kurulum"), SA3 ("+"), SA4 ("-") düğmeleri kullanılarak yapılandırılır.
SA5 (“Ekran”) tuşuna bastığınızda güncel atmosferik basınç değerinin bulunduğu ana ekran görüntülenir.

Dikkat! MK'yi ayarlamak için kullanılan sigortalar: YÜKSEK=0xD9, DÜŞÜK=0xE1.

Şekil 2. Elektrik devre şeması

Yazılım.

MK programı AtmelStudio ortamında (Sürüm 7.0.1006) C dilinde yazılmıştır.
Program kodu Ek'te (C'deki Atmel Studio 7 projesinin SignalBarometer.rar Arşivi) verilmiştir.
Cihazın güç tüketimini azaltmak için MK'nin “güç tasarrufu” modunda “uykuya dalma” yöntemi kullanıldı. Aynı zamanda uyku modundaki akım tüketimi 20 μA'ya düşürülür.
Hesaplamalara göre bu, iki adet 1,5 Volt AA pili 4 ay boyunca kullanmanıza olanak sağlıyor.
MK'yi “güç tasarrufu” modundan uyandırmak için, sürekli çalışan 2 numaralı dahili asenkron zamanlayıcı sayacı kullanılır.
Sayaç zamanlayıcı ana osilatörü, 32768 Hz rezonans frekansına sahip bir kuvars rezonatör Y1 kullanır.

2 numaralı zamanlayıcı sayacı, her 8 saniyede bir taşacak ve bir kesinti çağıracak şekilde yapılandırılmıştır, bu da MK'yi "uyandırır".
MK, 2 numaralı zamanlayıcı sayacından uyandıktan sonra, önceki uyanıştan bu yana 10 dakika geçip geçmediğini öğrenir. Aksi takdirde MK, önceki ölçümden sonra gelişen duruma göre “Normal”, “Eşik” veya “Atlama” ışık sinyali verir ve 8 saniye boyunca tekrar uykuya dalar.
Önceki ölçümden bu yana 10 dakika geçtiyse, MK ölçüm almak için basınç sensörüne bir komut gönderir, sensörden bir yanıt alır, verileri işler, alınan değeri eşik değerleriyle veya bir sıçramayı kaydetme koşullarıyla karşılaştırır. ve "Normal", "Eşik" veya "Atla" ışıklı sinyali verir ve gerekirse bip sesi çıkarır. Ve yine 8 saniye boyunca "uykuya dalıyor".

MK'yi uyandırmanın ikinci kaynağı, INT1 girişinde "Ekran" düğmesine basıldığında meydana gelen harici bir kesintidir.
Uyanan ve "Ekran" düğmesiyle "uyandırıldığını" öğrenen MK, Nokia 5110'un sıvı kristal ekranını açar ve üzerinde atmosferik basıncın mevcut değerini ve diğer bilgileri görüntüler.
Ekran düğmesi bırakılana kadar ekran bilgileri gösterecektir. "Ekran" düğmesini bıraktıktan sonra MK, "gücü kapat" komutunu vererek ekranı kapatır, ardından MK kendisi "uykuya dalar".

MK'yi uyandırmanın üçüncü ve son kaynağı, INT0 girişinde "Ayarla" düğmesine basıldığında meydana gelen harici bir kesintidir.
Uyanan ve "Yükle" düğmesiyle "uyandırıldığını" öğrenen MK, Nokia 5110'un likit kristal ekranını açar ve cihazın ayar parametrelerini burada görüntüler.
“Set” butonuna tekrar tıklamak imleci bir sonraki parametreye hareket ettirir. “+” ve “-” tuşlarına basıldığında imlecin bulunduğu parametrenin değeri değişir.
Son parametredeki "Yükle" düğmesine bastıktan sonra MK ekranı kapatır ve bir sonraki uyanışa kadar "uykuya dalar".

Cihaz tasarımı.

Cihaz, “Tuco 79x79x32, açık kablolama için, beyaz (65004)” dağıtım kutusunun mahfazasında yapılmıştır (Şekil 3).

Şekil 3. Tyco dağıtım kutusu (65004).

Tahta tek taraflı folyo fiberglastan yapılmıştır. Tahta boyutu 72x72mm. Parçaların kart üzerindeki yerleri Şekil 4'te gösterilmiştir. Kartın üst kısmında 9(!) adet jumper bulunmaktadır. Farklı renklerle vurgulanırlar. Çift taraflı bir PCB kullanıyorsanız atlama telleri parçalara dönüştürülebilir.

Şekil 4. Yönetim Kurulu. Yukarıdan bak.

PCB düzeni Şekil 5'te gösterilmektedir. Görüntü yansıtılmıştır.

Şekil 5. PCB düzeni.

Hoparlör, cihaz kasasının arka duvarına takılıdır. Montaj bileşenleri Şekil 6'da gösterilmektedir.

Şekil 6. Cihaz bileşenleri.

Piller (iki adet AA hücresi), özel tutucu yataklardaki pil bölmesine yerleştirilir (Şekil 7).

Şekil 7. Pil yerleşimi.

Cihaz kurulumu.

Şekil 8 cihazın kurulumuna yönelik kontrolleri göstermektedir.
Moda girmek için “Yükle” düğmesine tıklayın. Ekranda ayarlanabilir parametreler gösterilecektir.
İstenilen parametre değerini ayarlamak için “+” ve “-” tuşlarını kullanın.
Bir sonraki parametreyi ayarlamaya devam etmek için “Yükle” düğmesine tıklayın.
Kurulum modundan çıkmak için “Kurulum” düğmesine birkaç kez basın.
En İyi Seçenekler<порог>", "Daha düşük<порог>» “Sıçrama” mmHg cinsinden belirtilir. Art., Atlamayı ölçmek için “aralık” saat cinsinden ayarlanır. .

Şekil 8. Cihaz ayarları kontrolleri.

Ses sinyalinin ses düzeyi “Ses Düzeyi” potansiyometresi kullanılarak ayarlanır. Ayarlamalar yapmak için minyatür bir Phillips tornavida kullanmanız gerekir.
Gerekirse ayar kolaylığı için harici bir tutamakla bir potansiyometre takılabilir.

Cihazın çalışması.

Cihaz açıldıktan sonra kullanıma hazırdır ve hemen atmosfer basıncının ilk ölçümünü alır. Bu durumda ekran kararır ve ölçüm sonuçları “Normal”, “Eşik” veya “Atlama” LED göstergeleri kullanılarak görüntülenir.
Ölçüm ve analiz sonucuna karşılık gelen gösterge, her 8 saniyede bir beş kısa yanıp sönme üretir.

"Normal" durumdan "Eşik" veya "Atlama" durumuna geçiş sırasında bir ses sinyali üretilir. Sinyal, durum değişikliğini takip eden aralıktan başlayarak 8 saniyelik beş aralıklarla çalar.
Mevcut durumun detaylı değerlendirmesi için “Ekran” butonunu basılı tutmanız gerekmektedir. Bu durumda Şekil 9'da sunulan bilgiler görüntülenecektir:

Mevcut atmosferik basınç;
. ayarlarda belirtilen zaman aralığında ölçülen maksimum ve minimum basınç değeri;
. mmHg cinsinden sıçramanın büyüklüğü. önceki paragrafta belirtilen değerler arasındaki fark olarak;
. ölçüm sonucunun metin açıklaması: NORMAL, EŞİK, ATLAMA.

Ekran düğmesine bastıktan sonra bip sesi serisi kesilecektir.

Şekil 9. Cihazın çalışması sırasındaki kontroller ve göstergeler.

“Ekran” butonunu bıraktıktan sonra ekran sönecek ve cihaz normal modda çalışmaya devam ederek ölçüm ve analiz sonuçlarını yalnızca LED göstergelerde gösterecektir.

Başvuru:

SignalBarometer2.dch DipTrace formatında elektrik şeması
DipTrace formatında SignalBarometer2.dip PCB
SignalBarometer.hex Dosyayı yükle
SignalBarometer.rar C'deki Atmel Studio 7 projesinin arşivi

Yaratıcılığınızda iyi şanslar ve en iyi dileklerimle!

Arşivi indirin.

Önceki barometre tasarımını PIC 16F684 ve BMP180 basınç sensörü üzerine monte edenlerin isteği üzerine bir yazı yayınlıyoruz (devamı). Bu cihaz hem sıcaklığı hem de basıncı aynı anda görüntülemenizi sağlar. Bu amaçla tasarımda, 8X7 matrisle çalışmanıza izin veren MAX7219 yongasını temel alan bir gösterge kullanıldı; bu göstergenin kullanılması, ilgili mikroişlemci bağlantı noktalarının sayısını azaltmayı mümkün kıldı.

En yaygın kullanılan sıcaklık sensörü, üç pinli tasarıma sahip 18b20'dir. DS18B20 (Programlanabilir Çözünürlüklü 1-Wire® Dijital Termometre). Sıcaklık ölçüm aralığı -55 ila +125 °C arasındadır. -10 ila +85 °C aralığı için hata 0,5 °C'yi aşmaz.

Cihaz şeması Şekil 1'de gösterilmektedir.

MAX7219 göstergesi Aliexpress'den satın alındı. Ancak bu gösterge hazır olarak satılmaktadır ve onu yalnızca 5 iletkenli programlanmış panele bağlamanız yeterlidir.

Göstergenin şematik diyagramı Şekil 2'de gösterilmektedir, aşağıda böyle bir göstergenin fotoğrafı bulunmaktadır.

Monte edilen cihazın görünümü aşağıdaki fotoğrafta gösterilmektedir.

Negatif sıcaklıklar sayının önünde bir eksi işaretiyle, dereceler ise ondalıklar olmadan görüntülenir.

PCB çizimini, şemasını ve ürün yazılımını indirin.

Hatırlıyorum, ben çok küçüktüm, dedem radyoda hiç hava tahminlerini dinlemezdi, hep eski ibreli barometresine bakardı, en az iki ibresi vardı (tam olarak hatırlamıyorum, üzerinden çok yıl geçti) ve o asla yanılmadı!

Bu yüzden uzun zamandır çiftliğime bir barometre yaptırmak istiyordum ama hala mümkün değil, pahalı, rastlamadım ya da başka engeller vardı. Ama sonra mikrodenetleyiciler üzerinde çalışmaya başladım ve kendim bir barometre yapmak mümkün hale geldi.
Sevgili eşimin zulasından biraz para biriktirdim ve MPX4115AP (basınç sensörü) ve HIH-4000-004 (nem sensörü) sensörlerini satın aldım, neden tam olarak bunlar? Evet, çünkü internette onlar hakkında çok fazla bilgi var ve pahalı olmasına rağmen indirimdeydiler. Tüm cihazın maliyetindeki aslan payı onlardan geldi.
Her iki sensör de analogdur; bu, barometrenin, ADC okumalarının mmHg cinsinden ayarlandığı iki girişli bir voltmetre olması gerektiği anlamına gelir. (milimetre cıva) ve % (hava neminin yüzdesi). ADC okumalarının mmHg'ye gerçek dönüşümü. ve “Küçük Kendin Yap hava durumu istasyonu” makalesinden özenle aldığım yüzde - http://www.avispro.com.ua/doc.php?id=1172

Ancak makalede sunulan tasarım bana gereksiz geldi ve bunu daha basit hale getirmek ve parıldadıkları ve boyutları büyük oldukları için kesinlikle LED göstergeler kullanmak istedim, bu da uzaktan ve her türlü aydınlatmada açıkça görülebilecekleri anlamına geliyor ve LCD arka ışığına göre çok daha az akım tüketirler.
BA56-12SRWA göstergesini kullandım (yedi segmentli LED, 3 haneli) OA), 2 parça. Süper parlaklar, yani. akım tüketimi daha da azaltılabilir.

Hava durumu tahminlerinde atmosferik basınç ve hava nemi değerlerinin nasıl kullanılacağını örneğin buradan okuyabilirsiniz - http://www.meteopost.com/info/Pressure/

Ortaya çıkan diyagram budur:

Pano düzeni şu şekildedir:

Baskılı devre kartında ortak bir veri yolu vardır - dijital ve analog ayrılmıştır.
Güç kaynağı da analog ve dijital olarak bölünmüştür ve 25 µH bobinlerle sağlanır. analog devrelere ve ferrit tüpteki iletken dijital olanlara.

ADC girişinde analog topraklama için 0,33 µF kapasitörler ve sensörler için 750 ohm'luk bir direnç bulunmaktadır. Girişlerdeki her türlü gürültüyü azaltan filtrelerdir.

Mikrodenetleyici pinleri AVCC ve AREF, 0,1 μF seramik kapasitörlerle ve başka bir 10,0 μF tantal kapasitörle (eski anakartlardan sarı olanlar) şöntlenmiştir.

Hava nemi okumalarının doğru olması için odanın dışına (dışarı) çıkarılmalı ve panele bir kabloyla (tercihen korumalı) bağlanmalı ve elbette yağışa doğrudan maruz kalmaktan korunmalıdır, çünkü sensör kristali tamamen açık. Basınç sensörünü kartın dışına taşımanıza hiç gerek yoktur.

Bu program elbette bir standart değil, ancak yeni başlayanlar için bir seçenek olarak oldukça uygun.
Elbette, nem göstergesinde önemsiz bir sıfırın bastırılmasını da ekleyebilirsiniz, bu zor değil, kazıp başka bir şeyi düzeltebilirsiniz çünkü mükemmelliğin sınırı yoktur.
Okuyuculara kodu geliştirme konusunda tam özgürlük veriyorum.

Makale, sadece ruh ve ahlaki tatmin için kendi elleriyle bir şeyler yaratmayı seven insanlara yöneliktir.

Not: Bu makaledeki materyallerin ticari kullanımı yasaktır!

Kod şurada yazılmıştır: CodeWizardAVR V2.04.4a
Tahta Sprint-Layout 5.0'da yönlendirildi
Diyagram Splan7.0.0.8_portable_rus'ta çizilmiştir

Sıcaklık, atmosferik basınç, hava nemi ölçümü ve takvimle zaman sayımı içeren gelişmiş bir ekran ölçüm cihazının başka bir projesi. Genel olarak mikrodenetleyicilere olan tutkum boyunca sensörlerle çalışma konusundaki tüm gelişmeleri içerir, ve satın alınan tüm malların bir yerde kullanılması gerekiyor :) Sonuç, geliştirilmiş bir sıcaklık kaydedici olmalıdır, bıraktığım ilk versiyon. Tamam, bu daha sonra olacak, ancak şimdi bu kartın bir tanımını ve işlevselliğini kontrol etmek için test kodunu vereceğim. orada sensörler ve mikro devrelerle doldurulmuş.

Devrenin kalbi, harici 16 MHz kuvarsla çalışan Atmel ATMega64 mikro denetleyicisidir. Zaman, DS1307 gerçek zamanlı saat çipi tarafından sayılır, bununla zaten ilgilendim ve bu nedenle kanıtlanmış yolu izledim.

Sıcaklık ve nemi ölçmek için bir DHT11 sensörü kullanıldı, su Çin'de üretilmesine rağmen oldukça tatmin edici okumalar veriyor. Ayrıca zulamda SHT21 var, ancak o zaman devrenin tekrarlanabilirliği büyük ölçüde düşecek çünkü elde edilmesi daha zor ve birleştirilmiş devrenin tamamıyla aynı maliyete sahip olacak.

Tüm elemanlar (iki direnç hariç) üst katmanda bulunur, altta ise üste sığmayan yollar vardır. Orada çok az ilginç şey var, bu yüzden fotoğraf eklemiyorum.

Cihazı doğrudan bilgisayara bağlayabilmek için (örneğin, biriken verileri indirmek için), kartın FT232RL yongası üzerinde bir USB-UART dönüştürücüsü bulunur. Mikrodenetleyiciye ilk önce bir önyükleyici yüklerseniz, bu dönüştürücü aracılığıyla mikro denetleyiciye firmware de yükleyebilirsiniz. Bunun nasıl yapılacağını daha önce yazmıştım.

Her ihtimale karşı harici sensörleri bağlamak için çıkışlar PA0-PA3 bağlantı noktalarından sağlanır. Bağlanmak istemeniz durumunda SPI arayüzü kişileri de görüntülenir.



© 2023 rupeek.ru -- Psikoloji ve gelişim. İlkokul. Kıdemli sınıflar