İçindekiler:

Arduino Pro-mini Veri Kaydedici: 15 Adım
Arduino Pro-mini Veri Kaydedici: 15 Adım

Video: Arduino Pro-mini Veri Kaydedici: 15 Adım

Video: Arduino Pro-mini Veri Kaydedici: 15 Adım
Video: ARDUİNO OPTA PRO | MÜHENDİSLER İÇİN !!! 2024, Temmuz
Anonim
Arduino Pro-mini Veri kaydedici
Arduino Pro-mini Veri kaydedici

Açık kaynaklı pro-mini Arduino veri kaydedici için yönergeler oluşturun

Sorumluluk Reddi: Aşağıdaki tasarım ve kodu indirmek ve kullanmak ücretsizdir, ancak kesinlikle hiçbir garanti veya garanti içermez.

Öncelikle bu veri kaydedici fikrine ilham veren ve kullanılan koda ve sensörlere katkıda bulunan yetenekli insanlara teşekkür etmeli ve onları tanıtmalıyım. İlk olarak, veri kaydedici fikri Edward Mallon'un çok iyi tasarlanmış ve iyi açıklanmış (üzgünüz eğitimimiz o kadar iyi değil) veri kaydedicisinden geldi: https://thecavepearlproject.org/2017/06/19/ arduin…

İkinci olarak, burada kullanılan açık kaynaklı toprak nemi sensörleri ve bunları çalıştıracak kod/kütüphane Catnip Electronics tarafından tasarlandı ve üretildi. Bunlar yüksek kaliteli sensörlerdir ve çok sağlamdır. Bunları nereden satın alacağınız ve çalıştırmak için kodu alacağınız hakkında bilgiler (teşekkürler Ingo Fischer) aşağıda verilmiştir.

Adım 1: Malzemeler, Araçlar, Gerekli Ekipman

Malzemeler, Araçlar, Gerekli Ekipmanlar
Malzemeler, Araçlar, Gerekli Ekipmanlar

Pro mini Arduino kartı. Bu uygulama için açık kaynaklı (tüm parçalarımız gibi) Çin yapımı pro-mini klonlar (5V, 16MHz, ATmega 326 mikroişlemci) kullanıyoruz (Şekil 1a). Bu panolar Aliexpress, Ebay ve benzeri web sitelerinden 2 ABD dolarından daha düşük bir fiyata satın alınabilir. Bununla birlikte, diğer kartlar da aynı şekilde kolayca kullanılabilir (gerekli sensörlerin voltaj gereksinimlerini ve ayrıca program belleği gereksinimlerini not edin).

Deek-Robot (ID: 8122) tarafından çıkarılan SD kart ve gerçek zamanlı saat (RTC) kayıt modülü (Şekil 1b). Bu modül bir DS13072 RTC ve mikro sd kart okuyucu içerir. Bu panolar 2 ABD dolarından daha ucuza mal oluyor ve çok sağlam.

Arduino nano (evet - “nano”) vidalı terminal adaptörü, Aliexpress veya benzerinden 2 ABD dolarından daha düşük bir fiyata satın alınabilen Deek-Robot'u da çıkardı (Şekil 1c). Gördüğünüz gibi, biz sadece Aliexpress'i seviyoruz.

22 gage katı çekirdekli yalıtımlı tel (Şekil 1d).

Veri kaydedici kutusu (Şekil 1e). "Araştırma sınıfı" kutular kullanıyoruz, ancak ucuz plastik eşyalar çoğu durumda gayet iyi çalışıyor.

4 AA NiMh pil için pil kutusu (Şekil 1f). Bunlar yaklaşık olarak Aliexpress'ten satın alınabilir. Her biri 0,20 dolar (evet – 20 sent). Daha pahalı pil kutularına paranızı boşa harcamayın.

6V, yaklaşık 1W güneş paneli. 2 ABD dolarından daha düşük bir fiyata Aliexpress'den satın alınabilir.

Havya, lehim ve geçmiş tip akı.

Sıcak yapıştırıcı tabancası.

Adım 2: Yapı Talimatları

Yapı Talimatları
Yapı Talimatları

İnşa için gereken süre: yaklaşık 30 ila 60 dakika.

Lehimleme için nano terminal adaptörünü hazırlayın.

Bu gösterim amacıyla, üç I2C toprak nemi sensörünün bağlanmasını kolaylaştırmak için nano vidalı terminal adaptörünü hazırlayacağız. Ancak, biraz yaratıcılıkla vidalı terminaller, diğer cihazları kolaylaştırmak için farklı şekillerde hazırlanabilir. I2C'nin ne olduğunu bilmiyorsanız, aşağıdaki web sitelerine göz atın:

howtomechatronics.com/tutorials/arduino/ho…

www.arduino.cc/en/Reference/Wire

Nano vida adaptörlerini kullanma fikri Edward Mallon'un harika veri kaydedici tasarımından alınmıştır:

thecavepearlproject.org/2017/06/19/arduino…

3, 5, 9, 10 ve 11 konumlarında (terminalin tepesinden sayarak) büyük ve küçük pimler arasındaki vidalı terminalin arkasındaki izleri kesin (Şekil 2). Bu izler, vidalı terminal üzerindeki “RST”, “A7”, “A3”, “A2” ve “A1” etiketlerine karşılık gelir. 'Dremel' tipi bir aletiniz varsa izleri kesmek çok daha kolaydır, ancak yoksa küçük bir bıçak kolayca işleyecektir. Kendini kesme! Vidalı terminaldeki ve pro-mini üzerindeki etiketlerin hepsinin aynı olmadığına dikkat edin (nano ve pro-mini'nin farklı konumlarda bazı pinleri vardır). Bu, bu tasarımın sakıncalarından biridir, ancak işiniz bittiğinde, isterseniz terminal kartını yeniden etiketlemek yeterince kolaydır.

9, 10 ve 11 numaralı büyük pimlere (nano terminalde 'A3', 'A2', 'A1' etiketli) doğrudan bitişik olan ince epoksi tabakasını dikkatlice kazıyın (bir Dremel veya küçük bıçak kullanarak) (Şek. 2). Epoksinin altındaki açıkta kalan bakır kaplama, Arduino pro-mini kartına topraklanmıştır. Daha sonra bu açıkta kalan bölümü bitişik pimlere lehimleyeceğiz, böylece üç topraklı vidalı terminal sağlayacağız.

Adım 3: Yapı Talimatları

Yapı Talimatları
Yapı Talimatları

Sekiz adet 8 cm uzunluğunda yalıtımlı 22 gauge tel kesin ve bir uçtan yaklaşık 5 mm, diğer uçtan 3 mm yalıtım soyun. Katı çekirdek tel kullanmanızı öneririz.

Bu tellerden dördünü alın, bir ucunu 90 derece bükün (5 mm veya açık tel ile uç) ve *çapraz* lehimleyin (yani, tüm pimleri bol lehim ve akı ile birleştirerek) aşağıdaki noktalara:

Tel 1: büyük pimler 3, 4 ve 5 (nano terminalde 'RST', '5V', 'A7' olarak etiketlenir). Bu üç vidalı terminali üç VCC terminaline dönüştüreceğiz (Şekil 3).

4. Adım: Yapı Talimatları

Yapı Talimatları
Yapı Talimatları

Tel 2: 9, 10 ve 11 numaralı büyük pimler (nano terminalde 'A3', 'A2', 'A1' olarak etiketlenmiştir) ve daha önce maruz kalan açıkta kalan bakır kaplama. Bol lehim kullanın. Dağınık görünüyorsa endişelenmeyin. Bu üç vidalı terminali üç toprak terminali (-) terminali olarak değiştireceğiz (Şekil 4).

Adım 5: Yapı Talimatları

Yapı Talimatları
Yapı Talimatları

Tel 3: 13, 14 ve 15 numaralı büyük pimler (nano terminalinde 'REF', '3V3', 'D13' etiketli). Bu üç vidalı terminali, I2C iletişimi için üç A5 SCL terminaline dönüştüreceğiz (Şekil 5).

Adım 6: Yapı Talimatları

Yapı Talimatları
Yapı Talimatları

Tel 4: 28, 29 ve 30 numaralı büyük pimler (nano terminalinde 'D10', 'D11', 'D12' etiketli). Bu üç vidalı terminali, I2C iletişimi için üç A4 SDA terminaline dönüştüreceğiz (Şekil 6).

7. Adım: Yapı Talimatları

Yapı Talimatları
Yapı Talimatları

Küçük (tekrar söylüyorum – küçük) pim 9, 10 ve 11'in (nano terminalinde 'A3', 'A2', 'A1' etiketli) her birine bir tel lehimleyin (Şek. 7).

Adım 8: Yapı Talimatları

Yapı Talimatları
Yapı Talimatları

Lehim

kalan kabloyu büyük pim 22'ye (nano terminalde 'D4' etiketli) bağlayın (Şekil 8).

9. Adım: Yapı Talimatları

Yapı Talimatları
Yapı Talimatları

Her bir kablonun serbest ucunu Deek-Robot veri kaydedici kalkanındaki ilgili iğne deliklerine lehimleyin (Şekil 9):

büyük pin 'RST+5V+A7' 5V pin deliğine

büyük pim 'A3+A2+A1' GND pim deliğine

SCK pim deliğine küçük 'A3' pimi

MISO pim deliğine küçük pim 'A2'

MOSI pim deliğine küçük 'A1' pimi

büyük pim 'REF+3V3+D13' SCL pim deliğine

büyük pim 'D10+D11+D12' SDA pim deliğine

ve CS pim deliğine büyük 'D4' pimi

Adım 10: Yapı Talimatları

Yapı Talimatları
Yapı Talimatları

Nano etiketleri burada yalnızca bağlantı kolaylığı için sağladığımızı lütfen unutmayın. Bu etiketler, vidalı terminale takıldığında pro-mini kartındaki pinlere karşılık gelmeyecektir.

Pro-mini kartın altından A4 ve A5 deliklerine iki adet 6 cm uzunluğunda kablo lehimleyin (Şek. 10).

Adım 11: Yapı Talimatları

Yapı Talimatları
Yapı Talimatları

Pro-mini kartına pimleri lehimleyin ve bunu tamamlanmış vidalı terminale yerleştirin. A5 ve A4 kablolarını nano kart üzerindeki D12 (A4) ve D13 (A5) terminallerine takmayı unutmayınız. Arduino ve vidalı terminal etiketlerindeki pinlerin tam olarak hizalanmayacağını daima unutmayın (pro-mini ve nano kartlarda farklı pin düzenlemeleri vardır).

Kaydedici kartına bir CR 1220 pil ve mikro sd kart takın. Daha büyük kapasiteli kartlarda sorun yaşadığımız için 15 GB'tan daha düşük kapasiteye sahip SD kartlar kullanıyoruz. Kartları FAT32 olarak formatlıyoruz.

Son olarak, tüm lehimli bağlantıları kapatın ve tüm kabloları sıcak tutkalla terminal kartına sabitleyin.

Artık tahta kullanıma hazırdır. Tamamlanan tahta şimdi şöyle görünmelidir: Şekil 11.

Adım 12: Veri Kaydediciyi Saha Kullanımı için Ayarlama

Veri Kaydediciyi Saha Kullanımı için Ayarlama
Veri Kaydediciyi Saha Kullanımı için Ayarlama

Veri kaydedicinizin veri kaydedici kutusunda devrilmesini önlemek ve iletişim pinlerine kolay erişim sağlamak için dengeleyici bir platform yapmanızı öneririz. Platform ayrıca, su basması durumunda elektroniği kutunun altından en az birkaç santimetre uzakta tutar. 1,5 mm akrilik levha kullanıyoruz ve 4 mm civata, somun ve rondelalarla veri kaydediciye bağlıyoruz (Şek. 12).

Adım 13:

resim
resim

Açık kaynaklı I2C kapasitans tipi toprak nemi sensörleri kullanıyoruz. Bunları Catnip Electronics'ten satın alıyoruz (aşağıdaki web sitesi). Tindie'den satın alınabilirler ve standart model için yaklaşık 9 ABD Doları ve dayanıklı model için yaklaşık 22 ABD Doları tutarındadırlar. Sağlam versiyonu saha deneylerinde kullandık. Çok sağlamdırlar ve çok daha pahalı ticari alternatiflerle benzer performans sunarlar (Front Street'e kimseyi koymayacağız, ancak muhtemelen olağan şüphelileri biliyorsunuzdur).

Bu eğitimde yer alan Catnip Electronics I2C sensörü:

buradan satın alın:

arduino kütüphanesi:

Github'daki arduino kütüphanesi:

I2C sensöründen gelen sarı kabloyu A5 vidalı terminallerden birine takın. I2C sensöründen gelen yeşil kabloyu A4 terminallerinden birine bağlayın. Sensörden gelen kırmızı ve siyah teller sırasıyla VCC ve toprak terminallerine gider.

Dört adet şarjlı NiMh pili pil kutusuna yerleştirin. Kırmızı (+) kabloyu veri kaydedicideki RAW pimine (yani, pro-mini kartındaki RAW pimi) takın (ancak aşağıdaki "güç tasarrufu" bölümüne bakın). Siyah (-) kabloyu veri kaydedicideki topraklama pinlerinden birine bağlayın.

Uzun süreli saha kullanımı için, kaydediciye 6V 1W güneş paneli takın. Güneş paneli, veri kaydediciyi çalıştırmak ve gün boyunca pil takımını şarj etmek için kullanılacak ve bulutlu gökyüzü altında bile (kar sorun olsa da) çalışacak.

İlk olarak, güneş panelinin pozitif terminaline bir ~2A Schottky diyotu lehimleyin. Bu, güneş radyasyonu olmadığında akımın güneş paneline geri akmasını önleyecektir. Bunu yapmayı unutmayın yoksa kısa sürede pilleriniz biter.

Güneş panelindeki (+) terminali (yani diyotu) kaydedicideki RAW pimine (yani, pro-mini üzerindeki RAW pimi) ve güneş panelindeki (-) terminali topraktan birine takın. kaydedicideki terminaller.

Bu kurulum, pro-mini karttaki yerleşik voltaj regülatörünün hem güneş panelinden hem de pil takımından gelen voltajı düzenlemesine izin verir. Şimdi… Bunun NiMh pilleri şarj etmek için ideal bir kurulum olmadığını söyleyeceğim (mükemmel koşullarda bile zor). Bununla birlikte, kullandığımız güneş panelleri, tam güneş koşullarında yaklaşık 150mA, yani yaklaşık 0,06 C'ye (C = pil paketinin kapasitesi) karşılık gelir; bu, bizim için basit, güvenli ve güvenilir bir şarj yöntemi olduğunu kanıtlamıştır. kaydedicilerimiz için. Colorado'da bir yıla kadar tarlada bu şekilde koşturduk. Ancak, lütfen sorumluluk reddine bakın - kaydedicilerimiz kesinlikle hiçbir garanti veya garanti içermez. Sahada pil veya güneş paneli kullandığınız her an, yangın çıkarma riskiyle karşı karşıya kalırsınız. Dikkat olmak. Bu tasarımı kendi sorumluluğunuzda kullanın!

Veri kaydediciyi ve pil takımını hava koşullarına dayanıklı bir kutu içinde sabitleyin (Şek. 13).

Adım 14: Güç Tasarrufu

Güç LED'lerini genellikle hem pro-mini hem de veri kaydedici kartlarından devre dışı bırakırız. Bu LED'lerin izleri bir jiletle dikkatlice kesilebilir (aşağıdaki bağlantıya bakın). Her LED, 5V'de yaklaşık 2.5mA akım tüketir (aşağıdaki bağlantı). Ancak, birçok uygulama için bu güç kaybı miktarı ihmal edilebilir düzeyde olacaktır ve araştırmacı güç LED'lerini olduğu gibi bırakabilir.

www.instructables.com/id/Arduino-low-Proje…

Ayrıca, kullanımı çok kolay olan ve kayıt aralıkları arasındaki güç tüketimini önemli ölçüde azaltan 'LowPower.h' kitaplığını ('rocketscream' tarafından; aşağıda verilen bağlantı) çalıştırıyoruz.

github.com/rocketscream/Düşük Güç

Güç LED'lerini pro-mini ve veri kayıt kartından çıkardıktan ve LowPower.h kitaplığını çalıştırdıktan sonra (aşağıdaki 'kod'a bakın), günlükçü yakl. Uyurken 5V'de 1mA akım. Üç I2C sensörünü aynı anda çalıştıran günlükçü uyku modunda (örnekleme yinelemeleri arasında) 5V'de yaklaşık 4,5mA ve örnekleme sırasında yaklaşık 80mA tüketir. Ancak, örnekleme çok hızlı ve oldukça seyrek gerçekleştiğinden, 80mA akım çekimi pilin boşalmasına anlamlı bir katkıda bulunmaz.

(+) pil terminalini doğrudan kaydedici üzerindeki VCC pinine bağlayarak güneş panelleri kullanılmadığında daha fazla güç tasarrufu yapılabilir. Bununla birlikte, RAW pimi yerine doğrudan VCC'ye bağlanma, yerleşik voltaj regülatörünü önler ve sensörlere giden akım, regülatörden yönlendirildiği kadar sabit olmayacaktır. Örneğin, pil günler ve haftalar boyunca boşaldıkça voltaj düşecek ve çoğu durumda bu, sensör okumalarında anlamlı değişikliklere neden olacaktır (hangi sensörleri kullandığınıza bağlı olarak). Bir güneş panelini doğrudan VCC'ye bağlamayın.

Adım 15: Kod

Veri kaydediciyi üç I2C toprak nemi sensörüyle çalıştırmak için iki çizim ekledik. İlk çizim 'logger_sketch' her sensörden örnek alacak ve kapasitans ve sıcaklık verilerini her 30 dakikada bir sd karta kaydedecektir (ancak kullanıcı tarafından kolayca değiştirilebilir). İkinci taslak 'ChangeSoilMoistureSensorI2CAddress', kullanıcının sensörlerin her birine farklı I2C adresleri atamasına izin verecek, böylece veri kaydedici tarafından aynı anda kullanılabilecekler. 'logger_sketch' içindeki adresler 25, 26 ve 27. satırlarda değiştirilebilir. Sensörü çalıştırmak için gereken kütüphaneler Github'da bulunabilir.

Önerilen: