Litar

Bagaimana Membangun Dewan Ujian untuk Sensor Zarah Udara: 20 Langkah (dengan Gambar)

Materi Pembinaan~01

Materi Pembinaan~01

Isi kandungan:

Anonim

Ini adalah Instruktable kedua dalam siri ini: Cara Membuat dan Menentukur Kaunter Zarah Udara Mudah Alih, Tepat, Kos Rendah, Sumber Terbuka. Ansuran pertama, Bagaimana Membina Kaunter Zarah Udara Sumber Mudah, Tepat, Kos Rendah, Sumber Terbuka, boleh didapati di sini. Ansuran ketiga, Bagaimana Membangun Generator Zarah Monodisperse sekitar $ 300, boleh didapati di sini.

Ini adalah projek oleh Rundong Tian, ​​Sarah Sterman, Chris Myers, dan Eric Paulos, ahli-ahli Makmal Ekologi Hibrid di UC Berkeley.

Untuk menguji kaunter zarah, satu cara mudah adalah menyuntik zarah ke dalam ruang tertutup yang mengandungi sensor rujukan dan sensor yang anda uji. Kepekatan zarah akan mereput secara semulajadi, dan jumlah data yang banyak melalui pelbagai kepekatan zarah boleh dikumpulkan oleh kedua-dua sensor dan dibandingkan.

Instruktable ini membentangkan templat untuk menubuhkan ruangan itu, dari bahagian yang sedia ada. Untuk mempermudah fabrikasi ruang uji, kami menggunakan trunk weather off-the-shelf sebagai titik permulaan. Walaupun kami membentangkan kaedah untuk membina ruang kami secara terperinci, ia tidak dimaksudkan untuk menjadi satu set keperluan preskriptif. Semuanya boleh diubah suai. Langkah-langkah yang dibentangkan di sini akan meliputi semua komponen utama yang diperlukan; butiran boleh disesuaikan untuk memenuhi keperluan khusus anda.

Pelbagai jenis zarah boleh diuji menggunakan ruang ini:

Kayu pembakar boleh digunakan untuk menghasilkan zarah polydispersed (pelbagai saiz), dan boleh dihasilkan dengan mudah dengan menyalakan pertandingan, atau membakar tusuk gigi / tusuk barbeku. Pengedaran saiz zarah asap kayu telah dipelajari dengan baik, jadi kami mempunyai idea kasar mengenai saiz zarah yang kami hasilkan.

Bagi zarah-zarah monodispersed (zarah adalah diameter yang diketahui dan seragam), manik getah polystyrene (PSL) boleh digunakan. Dengan menggunakan zarah saiz yang diketahui, kita boleh menentukur tindak balas voltan sensor kami untuk saiz zarah tertentu. Ini adalah penting untuk mengasingkan zarah-zarah yang diukur dalam dunia sebenar ke dalam tong saiz anggaran.

Walaupun manik PSL sangat mahal (~ $ 50-70 untuk botol 1 ml bergantung kepada saiz zarah), ia secara keseluruhan adalah cara yang paling murah untuk mengeluarkan zarah saiz yang dikenali dan seragam. Sekiranya tiada tumpahan, satu botol mestilah kekal selama-lamanya. Nebulizing particles monodispersed dibincangkan dalam ketiga Instructable kami: Bagaimana Membangun Generator Partikel Monodisperse kurang dari $ 300.

Dengan semua bahan dan peralatan di tangan, membina ruang ujian ini harus mengambil masa ~ 1 hujung minggu.

Bekalan:

Langkah 1: Tinjauan Tahap Tinggi

Dengan menggunakan batang 'sempit cuaca', kita dapat dengan cepat membina kotak yang agak ketat. Kerana kita hanya mengambil berat tentang membuat pembacaan relatif antara sensor, tidak kira jika kita kehilangan zarah ke, atau mendapatkan zarah dari, persekitaran luar. Kami menganggap membuat kotak anti statik (dengan semburan anti statik) untuk mengurangkan kadar kehilangan zarah ke permukaan ruang, tetapi tidak fikir ia adalah perlu.

Kabel kuasa dan USB disalurkan menggunakan penyambung sekat kepala yang tertutup, dan peminat yang mencampur udara dipasang ke tudung untuk memaksimumkan ruang lantai untuk sensor. Sekatan besar yang lebih besar untuk penapis HEPA juga dilampirkan, supaya udara dapat melewati apabila kita menyumbat atau meniup udara termampat ke dalam ruang untuk membersihkannya.

Dari pengalaman kami, kami mendapati bahawa lebih mudah untuk mengurangkan kepekatan zarah di dalam ruang dengan meniup udara bersih, dan bukannya menyedot udara melalui penuras. Pilihan pertama memerlukan bekalan udara termampat dengan penapis untuk penghawa dingin, dan dilindungi dalam Instructable ketiga kami. Persediaan untuk pilihan kedua diliputi dalam Pengajaran ini.

Pemantau rujukan yang kami gunakan ialah MetOne HHPC6 dan juga Dylos DC1100 Pro.

Ujian untuk dijalankan

Kami menggunakan ruang ini untuk menjalankan ujian dengan asap disuntik dan manik PSL nebulized. Dewan ini juga digunakan untuk mengangkut semua sensor untuk ujian luar. Untuk keterangan lebih mendalam mengenai ujian yang kami lakukan dengan persediaan ini, sila lihat: http://github.com/rutian/MyPart/wiki/Tests.

Langkah 2: Fail / Bahan / Alat

Fail

Semua fail reka bentuk untuk ruang ujian boleh didapati di sini. Komponen mekanikal direka bentuk dalam Inventor Fusion 360 (untuk benang fizikal penyambung tiang) dan Autodesk Inventor.

Bahan

Sila lihat BOM untuk senarai penuh.

Alat

  • Lubang gergaji atau bit gerudi
  • Gerudi kuasa
  • Besi pematerian
  • Pemotong wayar / alat pengukur
  • Bilah jigsaw, atau serupa
  • Pencetak 3D (pilihan)
  • Kilang papan litar (pilihan)
  • Pemotong Laser (pilihan)

Langkah 3: Ubah suai Kotak - Lubang Akses

Kami akan membuat tiga lubang dalam ruang untuk kelengkapan sekat. Satu pemasangan soket pilihan akan membolehkan hos pembersih vakum dilampirkan. Dua lubang lain akan digunakan untuk jalur kuasa dan dua penyambung usb.

Bahan

  • Bangku plastik cuaca yang ketat
  • Kelengkapan Bulkhead
  • Caulking silikon
  • Kabel penyambung USB (x2)
  • Jalur kuasa

Alat

  • Gerudi kuasa
  • Bit gerudi lubang
  • Pencetak 3D (pilihan)

Pertama, beli atau cetak 3D kelengkapan lengkung untuk lubang-lubang. Pastikan diameter dalaman satu pas adalah cukup besar untuk lulus plag jalur kuasa melalui. Penyambung sekeliling untuk vakum mungkin perlu dicetak untuk mendapatkan yang sesuai dengan hos penyedut vakum. Untuk kelengkapan sekatan cetakan 3D kami, kami menambah potong gasket pemotong laser untuk pengedap. O-ring saiz yang sesuai boleh digunakan sebaliknya.

Menggunakan pemotong laser, potong spacer untuk memegang kabel di tengah penyambung bulkhead.Ini adalah pilihan, tetapi kami fikir ia menjadikannya sedikit lebih mudah apabila menutup bahagian dalam sekeliling.

Menggunakan lubang gerudi lubang, potong tiga lubang ke satu sisi kotak, ukuran untuk kelengkapan anda. Kami mengaturnya dalam satu barisan menegak di sepanjang pinggir satu sisi panjang ruang.

Setelah pemasangan lengkung dipasang, masukkan jalur kuasa melalui satu pasang dan 2 penyambung USB melalui pemasangan lain. Tinggalkan panjang yang cukup di bahagian dalam ruang untuk jalur kuasa dan kabel USB untuk mencapai kedudukan akhir mereka; pastikan jalur kuasa boleh meletakkan rata. Gunakan spacers pemotongan laser untuk meletakkan kabel dalam pemasangan agar ia tidak menyentuh dinding pemasangan (pilihan). Isi penyambung sekat dengan penampalan silikon. Ini akan membuat meterai kedap udara, mencegah udara dan zarah daripada melarikan diri melalui kelengkapan.

Untuk ujian kami, kami melampirkan satu penyambung USB kepada hab USB 4 cara di dalam ruang. Penyambung USB kedua tidak pernah digunakan.

Nota:

  1. Jika anda tidak memilih untuk menggunakan vakum semasa ujian tertentu, tutupkan pemasangan vakum dengan topi akhir. Sekiranya anda tidak mahu menggunakan vakum, anda boleh meninggalkan lubang ini sepenuhnya.
  2. Anda mungkin ingin memasukkan kabel lain, mis. oscilloscope probes untuk mendapatkan isyarat analog.

Langkah 4: Ubahsuai Kotak - Penapis Bulkhead

Penapis HEPA ditambah ke dinding kebuk untuk membersihkan udara yang memasuki ruang ketika memvakum, atau menapis udara yang habis apabila udara termampat bertiup.

Bahan:

  • Penapis HEPA
  • Papan potong laser untuk bingkai (kami menggunakan 1 / 4in econowood)
  • Skru dan kacang M3

Alat:

  • Jigsaw
  • Pemotong laser
  • Gerudi kuasa

Langkah-langkah:

  1. Menggunakan pisau jigsaw, potong lubang segi empat tepat dalam satu hujung pendek ruang, saiz penapis HEPA anda.
  2. Sapukan lapisan pita buih di sekeliling perimeter penapis HEPA untuk menutup sekeliling sekeliling.
  3. Buat bingkai untuk penapis (kami mengurangkan lapisan laser 1/4 "econowood dan terpaku bersama-sama dengan ketebalan yang sepatutnya). Paking gas adalah pemotongan laser dengan menggunakan beberapa bahan gasket gabus yang kami ada di tangan. Penutup silikon juga boleh digunakan di sini untuk meterai balang dengan ruang.
  4. Sebaik sahaja gam telah kering, gunakan bingkai sebagai templat gerudi untuk lubang-lubang di ruang yang akan ditutup dengan sekat.
  5. Masukkan penapis ke dalam bingkai, dengan memperhatikan arah aliran udara pilihan untuk penapis.
  6. Pasang bingkai dan penapis ke kotak dengan perkakasan M3.

Langkah 5: Buat Kipas Siling

Untuk mencampur zarah di dalam ruang semasa ujian, kami memasang pelbagai peminat penyejukan komputer di siling ruang. Peminat-peminat ini boleh diletakkan di tempat lain; kami memilih siling untuk memaksimumkan jumlah ruang lantai yang ada untuk elektronik lain.

Bahan

  • Skru dan standoff, atau rod dan kacang yang diulirkan
  • Peminat komputer (x4)
  • Kawat penyambung terkena
  • Papan potong laser untuk plat pemasangan (kami menggunakan 3mm MDF)
  • Solder

Alat:

  • Pemotong laser
  • Gerudi kuasa
  • Besi pematerian
  • Pemotong wayar

Langkah-langkah

  1. Laser memotong plat pemasangan untuk peminat. Pasang peminat ke pinggan menggunakan skru yang disertakan dengan peminat; peminat perlu meniup ke bawah apabila dipasang ke dalam ruang.
  2. (pilihan) Untuk pengurusan wayar, plat pemasangan mempunyai beberapa lubang untuk melampirkan panjang tambahan dawai dengan ikatan zip.
  3. Pateri kawalan PCB. Papan ini mempunyai transistor npn untuk memandu empat peminat, LED untuk petunjuk kuasa, penyambung tong setong untuk kuasa, terminal skru untuk isyarat kawalan, dan tajuk untuk menyambung kepada peminat. Sila lihat fail Eagle untuk maklumat lanjut.
  4. Pasang papan kawalan ke plat kipas. Lubang untuk kawalan PCB tidak dalam fail dxf semasa. Anda mungkin ingin memasang PCB menghadap jauh dari penutup supaya terminal skru boleh diakses dengan mudah.
  5. Potong 2 keping dawai terkandas untuk menyambungkan tanah dan isyarat dari papan kawalan, cukup lama untuk sampai ke lantai ruang (dan kemudian beberapa; anda mungkin mahu menetapkan bahagian atas kotak ke bawah tanpa mengeluarkan wayar). Kabel ini kemudian akan menyambung ke Arduino yang akan mengawal peminat.
  6. Menggunakan plat kipas sebagai panduan, gerudi empat lubang ke dalam tudung kotak.
  7. Plat pelekap kipas kini boleh digantung dari lubang-lubang tersebut menggunakan sama ada satu siri standoffs yang disusun atau rod berulir dengan kacang-kacangan untuk membuat jarak yang sesuai. Batang yang diulik lebih kuat, tetapi standoffs lebih mudah untuk dipasang.

Langkah 6: Letakkan Servo di Dylos (* pilihan)

The Dylos mempunyai jangka hayat yang terhad, dan tidak boleh dimatikan melalui program secara bersiri. Untuk menjalankan ujian panjang (contohnya mengumpul sampel sekali setiap 10 minit sehari) tanpa membazirkan jangka hayat Dylos, kami memasang motor servo ke Dylos untuk menekan butang kuasa untuk menghidupkan dan mematikan antara kitaran sampingan.

Bahan:

  • Velcro
  • C-pengapit kecil
  • Servo

Cari kedudukan yang betul di sebelah kiri Dylos supaya lengan servo anda boleh menekan butang kuasa. Menggunakan pita velcro, lampirkan servo ke Dylos. Ini akan menghalang pergerakan planar pada kes Dylos dan membolehkan kita menyesuaikan kedudukan servo. Kencangkan C-clamp atas servo, menekannya ke Dylos untuk mengekang pergerakan pada paksi ketiga, dari kes itu.

Gerak servo ditakrifkan dalam talk_to_arduino_via_serial.ino . Untuk mengubah suai gerakan, anda boleh mengubah globals off_degree (sudut servo apabila tidak menekan butang) dan on_degree (sudut servo semasa menekan butang) di bahagian atas fail. Nilai optimum mungkin bergantung pada penempatan servo anda.

Langkah 7: Persediaan Elektrik Bilik Ujian

Ringkasan

Menyediakan elektronik di dalam dan di luar kotak memerlukan beberapa pengubahsuaian peranti, beberapa bangunan papan pelayaran, beberapa pendawaian Arduino, dan memasang sekumpulan kabel.

Persediaan Dewan

Setelah menamatkan persediaan perkakasan untuk ruang, anda sepatutnya mempunyai kabel extender USB yang berjalan ke dalam ruang melalui dinding, serta jalur kuasa. Palamkan penyesuai USB ke penyambung USB di bahagian dalam ruang, dan masukkan penambah teguh ke dinding kebuk atau keluar dari tempat jalan di ruang kebuk. Kumpulkan penyesuai kuasa untuk peranti dalaman, dan pasangkannya ke jalur kuasa di dalamnya:

  • 9V untuk Dylos
  • 12V untuk peminat
  • 5V untuk hab USB
  • 12V untuk MetOne (untuk pengecasan)

Langkah 8: Hacking Vakum (* pilihan)

Anda mungkin mahu menggunakan vakum untuk menghidupkan udara keluar dari ruang, sama ada semasa ujian atau untuk membersihkan bilik selepas itu. Untuk mengendalikan hamparan vakum anda dari pengujian skrip, anda perlu menambah relay ke vakum.

Bahan:

  • Vacuum
  • Wayar
  • Relay
  • Solder

Alat:

  • Besi pematerian
  • Pengayun Wire

Langkah-langkah:

  1. Buka vakum
  2. Cari suis. Potong / jalur / pateri wayar baru selari dengan suis, supaya vakum boleh dikawal sama ada secara manual, atau dengan geganti.
  3. Kami memasang relay ke badan vakum dengan skru menoreh sendiri dan beberapa spacer.
  4. Pasang wayar dari vakum ke geganti. Satu set spacer mempunyai ciri-ciri yang membolehkan wayar menjadi zip terikat kepadanya untuk mengelakkan penggantungan wayar secara tidak sengaja.
  5. Pasang tiga wayar panjang kepada isyarat, tanah, dan kuasa mikropengawal pada geganti. Ini akan berjalan sehingga Arduino luaran.

Langkah 9: Lembaga Pelarian Sensor Kelembapan (* pilihan)

Sensor kelembapan yang kita gunakan untuk memantau suhu dan kelembapan di dalam ruang adalah Texas Instruments HDC1080. Ia dipasang di papan pelarian dengan pemandu LED Texas Instruments TCA6507. Anda boleh menyusun lembaga pelarian ini, atau menggunakan papan pelepasan sensor kelembapan dan suhu komersial yang tersedia secara komersial. *

Ini adalah pelarian yang sama yang kami gunakan untuk menguji cip yang digunakan pada peranti MyPart.

Untuk memasang papan ini, anda perlu:

Bahan:

  • PCB kosong
  • 6 pin header
  • Pemandu LED TCA6507
  • Sensor kelembapan HDC1080
  • 0805 LED (x3)
  • 0805 10k resistor (x2)
  • 0805 .1 kapasitor uF
  • 0805 resistor (x3) (bernilai sesuai untuk LED anda)
  • Solder

Alat:

  • Mesin pengilangan litar
  • Besi pematerian

Cari fail helang untuk papan pelarian di sini (humidity_led_breakout.brd / .sch).

Kilang PCB pada mesin pengilangan litar, dan pateri turun semua komponen. Papan ini kemudian akan dilampirkan kepada perisai Arduino, jadi kita boleh memantau keadaan ambiasa ruang semasa ujian.

* Jika anda memilih untuk melakukan yang terakhir, anda perlu memodifikasi kod tersebut. Seksyen yang berkaitan akan dijumpai di talk_to_arduino_via_serial.ino, dan arduino_serial_com.py.

Dalam talk_to_arduino_via_serial.ino, ganti kandungan kes saklar TAKE_AMBIENT_READS dengan kod untuk sensor baharu anda. Kemudian, dalam arduino_serial_com.py, cari fungsi read_from_arduino_sensors () dan ubah suai untuk memproses nombor dan jenis bait yang betul dari port bersiri.

Langkah 10: Menyambungkan Sensor MyPart

Setiap MyPart mempunyai penyambung FPC yang memberikan akses program kepada butang yang mengawal sampling dan pelaporan data. Dalam langkah ini, kami membuat penyambung untuk melampirkan Arduino dalaman ke kabel FPC bagi setiap peranti MyPart.

Bahan:

  • PCB kosong
  • 8 kepala lelaki pin
  • Penyambung FPC
  • Solder
  • Kabel penyambung wanita
  • Kabel penyambung lelaki
  • Twist pada penyambung dawai (x2)

Alat:

  • Besi pematerian
  • Kilang PCB

Langkah-langkah:

  1. Kilang PCB kecil untuk menyambungkan kabel FPC; anda memerlukan satu per sensor MyPart. Solder dalam penyambung FPC dan pin header ke PCB.
  2. Semua sensor MyPart akan dikawal oleh pin mikropengawal tunggal.
  3. Kami membuat kumpulan kabel yang bersambung untuk wayar tanah dan isyarat dengan menggunakan sentuhan pada penyambung wayar.
  4. PIN isyarat perlu ditarik ke bawah untuk memberitahu penderia MyPart untuk sampel. Oleh kerana gpios Arduino tidak dapat dikonfigurasi sebagai longkang terbuka, kita perlu memasang transistor tambahan (lihat bahagian seterusnya pada pendawaian Arduino dalaman)

Langkah 11: Mikrokontroller Dalaman Pendawaian

Mikrokontroler dalaman mempunyai beberapa pekerjaan. Ia perlu untuk menjalankan kelembapan dan penderia cahaya ambien, sambungkan ke sensor MyPart, toggle servo Dylos, dan jalankan peminat. Ini semua boleh dilayan dengan perisai protokolip Arduino tunggal:

  1. Lampirkan papan pelepasan sensor kelembapan. Papan ini bercakap mengenai I2C, jadi kita perlu menyambung pin SCL dan SDA ke Arduino SCL dan SDA, serta kuasa dan tanah 3V.
  2. Lampirkan papan pelepasan sensor TSL2561. Papan ini juga bercakap mengenai I2C, jadi kita perlu menyambungkan pin SCL dan SDA, serta kuasa dan tanah 5V.
  3. Untuk menyambung ke sensor MyPart, kita perlu menambah transistor. Ini akan membolehkan kita menghantar isyarat tekan butang ke sensor MyPart. PIN isyarat MyPart adalah pin 6, jadi kita pasangkan transistor ke tanah, pin digital 6, dan pin header lelaki tunggal yang akan kami sambungkan wayar pemintas one-to-three sensor MyPart.
  4. Untuk dapat dengan mudah menyambung dan mencabut servo, solder penyambung perempuan 3-pin ke perisai. Sambungkan pin ke tanah, kuasa 5V, dan pin digital 3. Ini akan membolehkan anda memasangkan dan mengeluarkan wayar dari servo dengan mudah. Lampirkan resistor tarik antara penyambung pin 3 dan tanah, untuk mengelakkan berkedut.
  5. Akhir sekali, skru talian kuasa untuk peminat ke terminal perisai untuk pin 4, dan pasangkan dawai tanah ke terminal perisai untuk tanah.

Setelah perisai selesai, pasangkannya ke Arduino dalaman, dan pasangkan kabel USB Arduino ke dalam pengembang USB di dalam ruang.

Langkah 12: Mikrokontroler Luar Pengudaraan (* pilihan)

Relay vakum perlu dipasang pada mikropengawal luaran. Sambung wayar isyarat ke pin 4, dan sambungkan dawai tanah ke tanah Arduino. Palamkan kabel USB Arduino ke dalam komputer yang akan menjalankan ujian.

Langkah 13: Mengambil Dylos dan MetOne

Pasang kabel kuasa dan kabel bersiri ke Dylos. Dylos perlu sentiasa dikuasakan pada 9V. Sambungkan hujung USB kabel bersiri ke pengimbas USB di dalam ruang.

Pasang USB ke penukar bersiri dan siri ke kabel penukar RJ45 ke MetOne. MetOne boleh lari dari kuasa bateri; jika bateri rendah, sambungkannya kepada kuasa 12V. Sambungkan hujung kabel USB ke pengimbas USB di dalam ruang.

Langkah 14: Mendapatkan isyarat Raw Analog

Untuk mendapatkan isyarat analog mentah dari penderia MyPart, kami menggunakan penganalisis logik Saleae. Ini digunakan apabila kita ingin menganalisis output mentah sensor apabila manik PSL saiz yang diketahui disebarkan ke dalam ruang. (Lihat Ketiga Instructable: Bagaimana Membangun Generator Partikel Monodisperse sekitar $ 300)

Skrip ujian automatik disediakan untuk membolehkan pembacaan automatik dari Analyzer Saleae Logic. Ujian pensil membawa kepada penderia MyPart (seperti diterangkan dalam Instructable terdahulu Bagaimana Membuat dan Menentukur Kaunter Zarah Udara Portable, Tepat, Kos Rendah, Sumber Terbuka Sumber Terbuka). Pasang isyarat dan pemeriksaan tanah dari Saleae ke wayar ini. Pasangkan Saleae ke dalam USB expander.

Sebagai alternatif, anda boleh menjalankan osiloskop memimpin melalui pemasangan sekerat lain, meterai sekerap dengan silikon, dan pasangkannya ke petunjuk ujian MyPart. Dengan cara ini, anda boleh menyimpan oscilloscope dan kuasa anda di luar ruang.

Langkah 15: Negeri Akhir

Setelah semua langkah sebelumnya selesai, anda harus mempunyai Dylos, MetOne, dan Arduino dalaman yang disambungkan ke hub USB di dalam ruang. Dylos, peminat, dan hab USB perlu dipasang ke jalur kuasa. MetOne sama ada perlu dicas sepenuhnya, atau juga dipasang. Pastikan sensor MyPart sepenuhnya dicas.

Susunkan sensor di dalam ruang supaya mereka tidak mengusir udara terus ke dalam pengambilan masing-masing, sehingga keupayaan yang terbaik.

Di luar ruang, pastikan RFduino dan Arduino luaran (jika anda menggunakannya) dipasang ke dalam komputer melalui USB. Sekiranya anda mempunyai ruang tambahan dalam pengimbas USB anda, anda juga boleh melampirkan RFduino di dalam ruang untuk kepentingan konsisten.

Langkah 16: Persediaan dan Pelaksanaan Perisian

Kebergantungan

Kod ini ditulis dalam Python 2.7. Ini adalah perpustakaan yang anda perlukan untuk menjalankan perisian:

Pustaka Python:

  • masa
  • masa tarikh
  • os
  • siri
  • csv
  • struct
  • crc_algorithms (termasuk dalam repo MyPart)
  • array

Perpustakaan Arduino:

  • Servo.h
  • Wire.h
  • Adafruit_Sensor.h
  • Adafruit_TSL2561_U.h
  • RFduinoGZLL.h

Perpustakaan Arduino tersuai:

  • HDC1080_sensor.h (termasuk dalam repo MyPart)
  • TCA6507_driver.h (termasuk dalam repo MyPart)

Langkah 17: Memrogramkan Microcontrollers

Ruang uji melibatkan 3 mikrokontroler berasingan. Peminat, sensor ambien, servo, dan kawalan isyarat MyPart akan disambungkan ke Arduino di dalam ruang. Jika anda memilih untuk melampirkan vakum, ini akan dikawal oleh Arduino di luar ruang. Sebuah RFduino di luar ruangan akan mendengar data yang dihantar oleh sensor MyPart.

Untuk menubuhkan mikrokontroler ini:

  1. Tambahkan perpustakaan khusus ke persekitaran Arduino anda dengan menyalin folder ke dalam folder perpustakaan Arduino anda, dan mulakan semula IDE.
    • Perpustakaan HDC1080_sensor tersuai mengandungi kod untuk bercakap dengan cip sensor kelembapan Texas Instruments HDC1080, yang digunakan untuk mengukur keadaan ruang ambien, dan pada penderia MyPart.
    • Pustaka TCA6507_driver khusus mengandungi kod untuk menjalankan cip driver Texas Instruments TCA6507 pada sensor MyPart, untuk mengawal LED penunjuk dan bertindak sebagai pengembang GPIO.
  2. Muatkan kod mikrokontroler. Semua mikrokontroler boleh diprogramkan dari Arduino IDE. (Jika anda tidak pernah memprogramkan RFduino dari mesin anda, anda perlu menambah RFduino ke pengurus papan Arduino.) Mikrokontroler harus menjalankan fail berikut:
    • Arduino dalaman: talk_to_arduino_via_serial.ino
      • Lakaran ini mendengar perintah siri dari skrip python, kemudian menghantar perintah ke perkakasan di dalam ruang, dan mengembalikan data ke atas siri.
    • Arduino luaran: talk_to_arduino_via_serial.ino
      • Arduino luaran menggunakan lakaran yang sama dengan dalaman, tetapi akan berakhir dengan menggunakan kurang dari perintah yang ada.
    • RFduino: mypart_gzll_host.ino
      • Ini mendengarkan data melalui protokol GZLL, dan melaporkannya kepada siri untuk skrip python untuk dijemput.

Langkah 18: Menjalankan Skrip Ujian

Fail ujian utama adalah sensor_reads.py. Anda tidak perlu mengubahsuai apa-apa di luar fail itu (melainkan jika anda mahu menyesuaikan tingkah laku). Terdapat tiga set parameter di bahagian atas sensor_reads.py untuk mengubah suai sebelum menjalankan ujian anda:

  1. Persediaan Dewan / Parameter Serial
    • dylos_comport, hhpc_comport, internal_arduino_comport, external_arduino_comport, gzll_rfduino_comport
      • Kemas kini comports untuk dipadankan dengan mereka untuk mikrokontroler dan sensor Dylos dan MetOne HHPC.
    • baud, tm, mypart_tm
      • Ini mungkin tidak perlu diubah, namun anda boleh menentukan kadar baud dan tamat masa untuk berbunyi / menulis bersiri di sini. Sensor MyPart mempunyai masa tunggu yang berasingan kerana mungkin untuk melewatkan data melalui bluetooth, dan jangka waktu yang lebih pendek membolehkan kita untuk mencuba lagi.
  2. Persediaan penjimatan data
    • csv_name
      • Kemas kini nama untuk output csvs. Skrip ujian akan menghasilkan beberapa fail output - satu untuk setiap jenis sensor. Mereka semua akan dinamakan berdasarkan rentetan yang ditakrifkan di sini.
    • parent_folder_path
      • Kemas kini jalan ke mana anda mahu keputusan disimpan.
  3. Parameter ujian
    • kitaran
      • Tentukan berapa banyak kitaran yang akan dijalankan. Kitaran terdiri daripada beberapa sampel berturut-turut - masing-masing jarak satu minit. Di antara kitaran, anda boleh memilih untuk mencampurkan atau mengosongkan udara di dalam ruang, atau menjeda untuk beberapa waktu tertentu (cth. Tunggu selama satu jam untuk mengambil bacaan seterusnya).
    • sampel
      • Tentukan berapa banyak sampel setiap kitaran. Setiap sampel akan mencatatkan bacaan dari semua sensor di dalam ruang. Sampel dipisahkan satu minit.
    • vacuum_time
      • Tentukan berapa saat untuk mengosongkan kebuk antara kitaran. Jika ini adalah sifar, vakum akan dilangkau.
    • mix_time
      • Tentukan berapa detik peminat harus menghidupkan antara kitaran. Ini akan mencampur udara di dalam ruang. Jika anda mahu peminat berterusan semasa pengukuran, masukkan -1. Jika mix_time adalah 0, peminat tidak akan dihidupkan.
    • sleep_minutes
      • Tentukan berapa minit ruang harus menunggu di antara kitaran. Jika ini lebih besar daripada sifar, Dylos akan dimatikan, dan peminat akan mematikan. Jika ini sifar, sampel akan diambil secara berterusan tanpa henti antara kitaran.
    • num_myparts
      • Tentukan berapa banyak sensor MyPart yang disambungkan. Skrip ini akan mengharapkan untuk menerima data dari banyak sensor ini.
    • sensor_on
      • Kamus ini membolehkan anda menunjukkan sensor mana yang akan anda gunakan; jika anda memilih untuk tidak menggunakannya, tetapkan sensor itu kepada Palsu dan kod itu akan melangkau apa-apa kaitan dengan sensor itu. Perhatikan bahawa masa ujian bergantung kepada Dylos, dan jika anda memilih untuk tidak menggunakannya, anda harus mengharapkan untuk melihat kelakuan masa yang ganjil melainkan anda menambah penangguhan masa anda sendiri.
    • ujian manual
      • Ini adalah bendera untuk membolehkan anda menjalankan ujian secara manual.Apabila benar, skrip akan menunggu input terminal, kemudian jalankan keseluruhan proses ujian, kemudian tunggu lagi untuk input terminal untuk menjalankan ujian lagi. Kami cadangkan secara manual mematikan Dylos jika anda bercadang untuk menunggu masa yang lama di antara ujian manual. Dari terminal, memasukkan 't' menjalankan ujian, dan 'q' menamatkan program.

(Jika anda termasuk Arduino luaran untuk vakum, komen dalam baris persediaan bersiri untuk Arduino luaran dalam fungsi run_test di sensor_reads.py.)

Setelah parameter telah ditetapkan, cukup jalankan sensor_reads.py.

Langkah 19: Penyelesaian Masalah

  1. Jika ia tidak dapat mencari komport yang betul:
    • contohnya. serial.serialutil.SerialException: Errno 2 tidak dapat membuka port /dev/cu.fakeserialport
    • Semak semula bahawa comports dalam sensor_reads.py sepadan dengan comports peranti sedang aktif. Sekiranya anda mencabut dan menyambung semula kabel, nama comport mungkin berubah.
  2. Sekiranya ia tidak dapat membuka sambungan siri:
    • contohnya. serial.serialutil.SerialException: Errno 16 tidak dapat membuka port /dev/cu.serialportname: Errno 16 Sumber sibuk: '/dev/cu.serialportname'
    • Pastikan tidak ada sambungan bersiri lain pada port tersebut (contohnya pemantau bersiri terbuka di Arduino IDE)
  3. Jika ia digantung atau menunggu menunggu Dylos:
    • Pastikan Dylos dipasangkan ke dalam kabel bersiri, dan dihidupkan apabila anda memulakan ujian.
  4. Sekiranya ia tidak dapat mencari fail python yang lain:
    • Pastikan anda menjalankan sensor_reads.py dari direktori yang sama seperti fail python yang menyokong.
  5. MyParts tidak mencatatkan data selepas sampel pertama, atau cap waktu lebih besar daripada satu minit.
    • Masa telah diselaraskan. Pastikan anda tidak menaikkan sebarang masa, kelewatan, atau mencuba semula melebihi 59 saat yang tersedia antara membaca Dylos.

Langkah 20: Penambahbaikan Masa Depan

  • Buat ruangan keluar dari kotak yang jelas, dan bukannya kotak beku.
    • Ia bagus untuk dapat melihat di dalam tanpa membuka kotak.
  • Gunakan rod berbalut dan bukannya standoffs untuk melancarkan peminat.
    • Tinggalkan panjang tambahan pada rod jika anda ingin menambah dulang pengering seperti yang diterangkan dalam Bagaimana Membangun Generator Monodisperse Partikel Instructable.
  • Sealant ganti untuk bulkheads.
    • Silikon okay kerana kami beroperasi pada tekanan rendah, tetapi ia tidak kelihatan hebat. Perekat lain (epoxies?) Boleh berfungsi dengan lebih baik.
  • Kotak yang lebih besar mungkin berguna
    • Dengan semua sensor + Saleae, ia menjadi sesak di dalam kotak. Juga akan membantu dengan pengurusan kabel.
  • Protokol GZLL untuk mendapatkan data dari peranti MyPart hanya boleh menyokong sehingga 7 peranti dengan satu hos.