Mündəricat:

Günəş Hava İstasyonu: 5 addım
Günəş Hava İstasyonu: 5 addım

Video: Günəş Hava İstasyonu: 5 addım

Video: Günəş Hava İstasyonu: 5 addım
Video: Mehdi Sadiq × Noton - Səncə Nədən? (SƏS OST) 2024, Noyabr
Anonim
Günəş Hava İstasyonu
Günəş Hava İstasyonu

Həyətinizdən real vaxt hava məlumatı istəmisinizmi? İndi mağazada bir hava stansiyası satın ala bilərsiniz, ancaq ümumiyyətlə batareyaya ehtiyac duyar və ya bir prizə qoşmaq lazımdır. Bu hava stansiyasının şəbəkəyə qoşulmasına ehtiyac yoxdur, çünki daha səmərəli olmaq üçün günəşə doğru dönən günəş panelləri var. RF modulları ilə xaricdəki stansiyadan məlumatları evinizin içərisində bir Raspberry Pi -yə ötürə bilər. Raspberry Pi, məlumatları görə biləcəyiniz bir veb saytına sahibdir.

Addım 1: Material toplayın

Materiallar

  • Raspberry Pi 3 model B + + adapter + Micro SD Kart 16GB
  • Arduino Uno
  • Arduino Pro Mini + FTDI əsas ayrılması
  • 4 6V 1W günəş panelləri
  • 4 18650 batareya
  • Gücləndirici 5v
  • 4 TP 4056 batareya şarj cihazı
  • Adafruit DHT22 İstilik və Nəmlik Sensoru
  • BMP180 Barometrik Təzyiq Sensoru
  • 4 LDR
  • RF 433 alıcı və ötürücü
  • 2 Nema 17 pilləli mühərrik
  • 2 DRV8825 Stepper sürücü
  • LCD 128*64
  • Çox tel

Alətlər və materiallar

  • Yapışqan
  • Taxta taxtalar
  • Gördüm
  • Vintlər + tornavida
  • Ördək Bantı
  • 2 alüminium zolaq

Addım 2: Mexanik Dizayn

Mexanik Dizayn
Mexanik Dizayn
Mexanik Dizayn
Mexanik Dizayn
Mexanik Dizayn
Mexanik Dizayn
Mexanik Dizayn
Mexanik Dizayn

Hava stansiyasının gövdəsi kontrplakdan hazırlanmışdır. Ağacdan istifadə etmək lazım deyil, istədiyiniz materialdan hazırlaya bilərsiniz. Motorun montajı üçün bir taxta blokda bir qazma işlətdim və sonra düz bir vida ilə mühərrik şaftına vidaladım ki, bu da gözlədiyimdən daha yaxşı işləyir. Bu şəkildə bir motor montajını 3d çap etməyinizə ehtiyac yoxdur və bunu etmək asandır. Sonra motorları çox möhkəm tutmaq üçün 2 alüminium zolaq əydim. Sonra bir taxta kəsdim və günəş panelləri üçün deliklər qazdım. Sonra günəş panellərini üzərinə yapışdırın və günəş panellərinə lehimləyin. Sonra qara materialdan bir xaç düzəltməlisiniz. Qara bir şey yoxdursa, qara lentdən istifadə edə bilərsiniz. Bu xaç hər bir küncdə bir LDR tutacaq, buna görə Arduino LDR -dən alınan ölçüləri müqayisə edə və hansı istiqamətə dönmək lazım olduğunu hesablaya bilər. Buna görə hər küncdə kiçik hissələr qazın ki, oraya bir LDR yerləşdirə biləsiniz. İndi etmək üçün qalan tək şey bir baza lövhəsi və elektronikanı taxmaq üçün bir şey etməkdir. Əsas lövhə üçün bütün telləri yola yönəltmək üçün içərisində bir bütün qazmalısınız. Ölçmələr üçün sizə heç nə verməyəcəyəm, çünki bunu necə tərtib etmək həqiqətən sizə bağlıdır. Başqa mühərrikləriniz və ya başqa günəş panelləriniz varsa, ölçüləri özünüz hesablamalı olacaqsınız.

Addım 3: Elektrik Dizaynı

Güc

Bütün sistem batareyalarla işləyir (Raspberry Pi istisna olmaqla). 3 batareyanı ardıcıl olaraq yerləşdirdim. 1 Batareya orta hesabla 3.7V -dir, buna görə 3 seriya 11V ətrafında verir. Bu 3s batareya paketi mühərriklər və RF ötürücüsü üçün istifadə olunur. Qalan digər batareya Arduino Pro Mini və sensorları gücləndirmək üçün istifadə olunur. Batareyaları doldurmaq üçün 4 TP4056 modulundan istifadə etdim. Hər bir batareyada 1 TP4056 modulu var, hər modul günəş panelinə qoşulub. Modulda B (in) və B (out) olduğu üçün ayrı -ayrı doldurub seriya olaraq boşalda bilərəm. Doğru TP4056 modullarını aldığınızdan əmin olun, çünki bütün modullarda B (giriş) və B (xaric) yoxdur.

Conrtol

Arduino Pro Mini sensorlar və mühərrikləri idarə edir. Arduinonun xam və torpaq pimi 5V gücləndiriciyə qoşulur. 5V gücləndirici tək bir batareyaya bağlıdır. Arduino Pro Mini çox aşağı enerji istehlakına malikdir.

Komponentlər

DHT22: Bu sensoru VCC və Ground -a bağladım, sonra məlumat pinini rəqəmsal pin 10 -a bağladım.

BMP180: Bu sensoru VCC və Ground -a bağladım, SCL -ni Arduino -dakı SCL -yə və SDA -nı Arduino -dakı SDA -ya bağladım. Ehtiyatlı olun, çünki Arduino Pro Mini üzərindəki SCL və SDA pinləri lövhənin ortasındadır, buna görə sancaqlar taxtaya lehimləyib çörək taxtasına qoymusunuzsa, işləməyəcək, çünki digər sancaqlar vasitəsilə müdaxilə olacaq. Lövhənin üstündəki 2 sancağı lehimlədim və birbaşa ona bir tel bağladım.

RF Vericisi: Daha yaxşı siqnal və daha uzun məsafə üçün bunu 3s batareya paketinə bağladım. Arduinodan 5V -ə bağlamağa çalışdım, amma sonra RF siqnalı çox zəifdir. Sonra məlumat pinini rəqəmsal pin 12 -yə bağladım.

LDR: 4 LDR -ni A0, A1, A2, A3 analog pinlərinə bağladım. LDR -ləri 1K rezistorla bir araya gətirdim.

Motorlar: Mühərriklər 2 DRV8825 idarəetmə modulu ilə idarə olunur. Bunlar çox lazımlıdır, çünki yalnız 2 giriş xətti (istiqamət və addım) alır və hər fazada 2A -a qədər mühərrik istehsal edə bilir. Onları 2, 3 və 8, 9 rəqəmsal pinlərə bağladım.

LCD: IP ünvanını göstərmək üçün lcd-i Raspberry Pi-yə bağladım. Arxa işığı tənzimləmək üçün bir trimmer istifadə etdim.

RF Alıcısı: Qəbulu 5V və Ground üzərindəki Arduino Uno -ya bağladım. Alıcı 5V -dən çox olmamalıdır. Sonra məlumat pinini rəqəmsal pin 11 -ə bağladım. Əgər Raspberry Pi üzərində işləyən bu RF modulları üçün kitabxana tapa bilsəniz, Arduino Uno -dan istifadə etməyinizə ehtiyac yoxdur.

Raspberry Pi: Raspberry Pi, USB kabel vasitəsilə Arduino Uno -ya bağlıdır. Arduino, RF siqnallarını Raspberry Pi -yə serial bağlantısı ilə ötürür.

Addım 4: Kodlamağa başlayaq

Arduino Pro Mini kodlaşdırmaq üçün FTDI proqramçıya ehtiyacınız olacaq. Pro Mini -nin heç bir USB portu olmadığından (gücə qənaət etmək üçün) bu kəsmə lövhəsinə ehtiyacınız olacaq. Kodu Arduino IDE -də proqramlaşdırdım, düşünürəm ki, bunu etməyin ən asan yolu budur. Kodu fayldan yükləyin və getmək yaxşıdır.

Arduino Uno -nu kodlaşdırmaq üçün kompüterimə USB kabeli ilə bağladım. Kodu yüklədikdən sonra onu Raspberry Pi -yə bağladım. Arduino IDE -ni quraşdırdığım üçün oradan proqramlaşdıra bildiyim üçün Raspberry Pi -də kodu da dəyişə bildim. Kod çox sadədir, qəbuledicidən girişi alır və serial port vasitəsilə Raspberry Pi -yə göndərir.

Raspberry Pi kodlaşdırmaq üçün Raspbian quraşdırdım. Daha sonra bir SSH bağlantısı ilə qoşulmaq üçün Putty istifadə etdim. Daha sonra VNC vasitəsi ilə ona qoşula biləcəyim və beləliklə GUI -ə sahib ola biləcəyim üçün Raspberry -ni konfiqurasiya edirəm. Bir Apache veb serveri qurdum və bu layihənin arxa və ön uclarını kodlamağa başladım. Kodu github-da tapa bilərsiniz:

Addım 5: Verilənlər bazası

Məlumatları saxlamaq üçün SQL verilənlər bazasından istifadə edirəm. Verilənlər bazasını MySQL Workbench -də hazırladım. Verilənlər bazasında sensor oxunuşları və sensor məlumatları saxlanılır. 3 cədvəlim var, bunlardan biri vaxt dəyərləri ilə sensor dəyərlərini saxlamaq üçün, digəri sensorlar haqqında məlumat saxlamaq üçün və son istifadəçilər haqqında məlumat saxlamaq üçün. İstifadəçilər cədvəlindən istifadə etmirəm, çünki MVP -də olmadığından layihənin bu hissəsini kodlaşdırmamışam. SQL faylını yükləyin və icra edin və verilənlər bazası yaxşı olmalıdır.

Tövsiyə: