Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Kontainer Terkendali Suhu untuk Transportasi Sampel

Komponen dan persediaan

Sensor suhu PT 100
× 1
Arduino UNO
× 1
Baterai lithium ion
10400 mAh
× 1
Kotak Polistirena
Didaur ulang dari pengiriman sampel/bahan kimia konvensional
× 1
Blok tembaga
Dua blok tembaga kira-kira. 80x50x10mm, untuk dikerjakan dengan mesin untuk heat sink dan attachment Peltier, dengan lubang untuk pipa panas.
× 1
ULS Modul Papan Catu Daya Boost yang Dapat Disesuaikan
× 1
Pendingin pipa panas
× 1
Potensiometer digital
× 1
Gel Ajaib
Untuk meningkatkan perpindahan panas, kita dapat memasukkan batang logam di antara sampel
× 1
Konverter DC
× 1
Modul Peltier
× 1
Kapasitor 3.3 uF
× 1
Pipa panas
× 1
Suplai daya untuk listrik
× 1
Pembagi DC untuk catu daya
× 1
Layar LCD Adafruit Adafruit
× 1
Alas pemanas
Untuk sampel pemanas
× 1
Blok terminal
× 1
Penutup plastik
× 1
Panel mount DC plug
× 1
Sakelar lempar ganda empat tiang
× 1
Sakelar lempar ganda tiang tunggal
× 1
Penutup plastik
Kotak plastik eksternal untuk elektronik
× 1
Konektor blok terminal, 3 arah
× 1
Konektor blok terminal, 5 arah
× 1
Kait dan Loop DualLock tape
× 1
Adafruit Proto-screwshield
Untuk koneksi kabel terminal sekrup yang lebih kencang ke Arduino
× 1
Pengisi daya baterai USB Lithium-ion Adafruit
× 1
Adafruit PT100 Penguat sensor suhu
× 1

Alat dan mesin yang diperlukan

Besi solder (generik)
Dremel 4000
Vise
Bor
Alat pengupas kabel, tang, pemotong
Pabrik manual
Untuk pemesinan komponen tembaga

Aplikasi dan layanan online

GitHub
Kami menggunakan perpustakaan sleemanj untuk Potensiometer Digital MCP41100 (terima kasih sleemanj!). Kami juga menggunakan perpustakaan Adafruit untuk setiap modul Adafruit yang kami gunakan; yang tersedia dari halaman produk.
Arduino IDE

Tentang proyek ini

Mr ThermoParcel:Wadah Terkontrol Suhu untuk Transportasi Sampel

Tujuannya adalah untuk mengembangkan wadah yang dikontrol suhu yang dapat digunakan untuk mengangkut sampel sensitif secara aman dengan layanan pos konvensional. Perangkat prototipe kami, yang disebut Mr ThermoParcel, bekerja dalam kisaran suhu 4-37 °C, dan dapat ditenagai oleh adaptor listrik, baterai internal, atau sumber 12V lainnya seperti pemantik rokok di mobil atau pengisi daya laptop.

Kejadian Proyek Kami

Ide kami berasal dari masalah nyata yang kami hadapi dalam penelitian akademis kami:pertukaran aman sampel biologis sensitif suhu dengan kolaborator. Viola bekerja pada penyakit malaria, dan seringkali ada kebutuhan untuk mengirim atau menerima sampel darah. Namun, jika sampel tidak disimpan pada suhu yang tepat selama penyimpanan dan transportasi, sampel dapat dengan mudah terdegradasi dan menjadi tidak berguna. Ini semakin membuat frustrasi ketika sampel mengandung jenis darah berharga yang memiliki respons khusus terhadap malaria dan berasal dari pasien langka.

Metode umum untuk mengirim sampel darah jenis ini adalah membekukannya sepenuhnya sebelum pengiriman, menggunakan kurir standar untuk barang beku, dan kemudian mencairkannya dengan hati-hati setelah pengiriman. Selain masih mahal, sistem seperti itu jauh dari ideal, karena pembekuan/pencairan selalu mengubah atau merusak bagian sampel, dan proses pencairan itu sendiri mengikuti protokol khusus yang memerlukan bahan kimia tambahan. Selain itu, barang sering dikirim ke Universitas di depot paket kampus, di mana kondisi penyimpanan yang tidak sesuai dan keterlambatan pemberitahuan pengiriman sering menjadi penyebab penurunan sampel.

Konsep desain

Kami mengintegrasikan sistem kontrol suhu dalam wadah polistiren konvensional seukuran paket kecil, yang digunakan kembali dari pengiriman bahan kimia. Kami mengoptimalkan dan mengujinya dengan sampel darah, tetapi sistem yang sama dapat digunakan untuk berbagai bahan biologis lainnya seperti sel, media kultur, bahan kimia yang peka terhadap suhu, emulsi, dan enzim, atau bahkan disesuaikan untuk benda padat.

Konsep sistem ditunjukkan pada Gambar 1 . Pendinginan dicapai dengan modul Peltier, dengan sisi dingin terpasang ke kotak sampel kecil di dalam wadah polistiren, dan sisi panas terhubung ke unit pendingin eksternal. Pemanasan dilakukan dengan alas pemanas yang ditempatkan di dalam kotak sampel. Suhu dipantau secara konstan menggunakan sensor yang bersentuhan dengan sampel, dan intensitas pemanasan/pendinginan diatur oleh pengontrol Arduino.

Implementasi

Perangkat keras kontainer desain

Wadah eksternal adalah kotak polistiren dengan dimensi 250x250x250mm dan ketebalan dinding 45mm di semua sisi, yang merupakan jenis kotak yang umum digunakan dalam pengiriman lab dengan layanan pos standar. Sebuah selungkup plastik (125x70x40mm) ditempatkan di dalam, dan berisi dua tabung centrifuge 50mL. Tabung ini bertindak sebagai kemasan sekunder menurut peraturan untuk Zat Biologis dan Infeksi, Kategori B UN3373 (tautan: http://www.un3373.com/info/regulations/ ). Sampel utama adalah enam tabung Eppendorf 2 mL berisi spesimen, dipisahkan oleh jaringan penyerap untuk mencegah kebocoran. Mr ThermoParcel mampu menyimpan hingga 50mL sampel cair dengan mengganti kemasan sekunder yang keras dengan kantong fleksibel yang dapat menampung lebih banyak spesimen, mis. hingga tiga atau empat tabung 15mL (tautan:https://www.alphalabs.co.uk/laboratory-products/consumables/sample-handling/sample-transport/95kpa-pouches ). Untuk meningkatkan keseragaman pemanasan/pendinginan di dalam kotak internal, dan memastikan kontak termal antara lembaran tembaga, sampel, dan sensor suhu, kami menuangkan gel penyekat padat yang diisolasi secara elektrik di sekitar sampel. Kotak bagian dalam yang berisi sampel ditunjukkan pada Gambar 2 .

Sistem Pendingin dan Pemanas

Temperatur internal dipantau dengan termometer resistansi 100Ohm Pt (atau Resistance Temperature Detector, RTD) yang bersentuhan dengan sampel, dan dikontrol dengan sistem PID menggunakan modul Peltier (pendingin) atau alas pemanas (heating). Untuk menghilangkan panas di luar kotak dari Peltier, sisi panas modul Peltier dimasukkan ke dalam kontak termal dengan sepotong tembaga eksternal dan heat sink (pendingin CPU) melalui tiga pipa panas tembaga. Sisi dingin dilekatkan pada lembaran tembaga tipis yang melewati kotak, mendinginkan sampel secara merata. Detail kopling termal ditunjukkan pada Gambar 3 .

Alas pemanas ditempatkan di dalam selungkup bagian dalam yang bersentuhan dengan sensor suhu dan sampel.

Elektronik &kabel

Peraturan pendinginan dan pemanasan

Modul Peltier yang digunakan oleh Mr ThermoParcel memiliki rating 3,9A dan 7,6V pada daya pendinginan maksimum. Untuk mengontrol suhu secara efektif, jumlah daya yang dikirim ke modul Peltier dikelola secara elektronik menggunakan regulator switching step-down yang dapat disesuaikan PTN78020W. Regulator menerima tegangan input dalam kisaran 7-36V, dan menghasilkan output dalam kisaran 2.5-12.6V, dengan batasan bahwa output tidak dapat melebihi input dikurangi 2V. Tegangan keluaran diatur dengan menyetel nilai resistansi tertentu antara dua pin pengatur, sesuai dengan tabel di lembar data perangkat. Mr ThermoParcel menggunakan potensiometer digital MCP41100 100kOhm, dikendalikan oleh Arduino, untuk mengatur tegangan output secara elektronik berdasarkan pembacaan suhu. Karena seluruh rentang tegangan output PTN78020W memerlukan variasi tegangan lebih dari 1MOhm, tegangan diterapkan ke modul Peltier bahkan ketika potensiometer digital diatur ke 100kOhm, sehingga modul Peltier tidak dapat "dimatikan" menggunakan potensiometer digital saja. Konsep pengaturan yang sama berlaku untuk pemanasan yang dilakukan dengan alas pemanas. Tikar hanyalah resistor yang menghilangkan arus sebagai panas, dan mengatur tegangan adalah cara langsung untuk mengontrol daya yang dikirim.

Sumber daya

Catu daya DC 12V digunakan untuk memberi daya langsung ke PTN78020W saat Mr ThermoParcel berada di dekat stopkontak listrik. Ini memungkinkan output hingga 10V, yang cukup untuk menggerakkan Peltier dengan daya maksimum, dan matras pemanas dengan daya yang cukup untuk keperluan proyek. Mengingat kisaran input 7-36V dari regulator PTN78020W, Mr ThermoParcel juga dapat digerakkan dengan sebagian besar catu daya DC yang digunakan untuk laptop dan perangkat elektronik lainnya, serta soket pemantik rokok yang ditemukan di mobil. Saat daya eksternal tidak tersedia, Mr ThermoParcel ditenagai oleh baterai Li-ion 3.7V, 10400mAh. Baterai masih memberi daya pada regulator PTN78020W, tetapi untuk mencapai tegangan input yang diperlukan untuk menggerakkan modul Peltier (10-12V pada input PTN78020W), konverter DC-DC step-up XL6019 dihubungkan terlebih dahulu pada output baterai.

Pengkabelan Arduino

Daya disuplai ke Arduino langsung dari input eksternal 12V jika tersedia, melalui soket jack di papan. Jika menggunakan baterai internal, tegangan yang sama diatur pada soket menggunakan output dari konverter XL6019.

Arduino mengatur daya yang dikirim ke modul Peltier/heater mat dengan mengontrol resistansi potensiometer digital. Pengkabelan dilakukan sesuai dengan instruksi di perpustakaan seri MCP41 sleemanj, dengan potensiometer dalam konfigurasi resistor variabel. Arduino juga terhubung dengan amplifier Adafruit MAX31865 Pt100 RTD, digunakan untuk membaca sensor suhu, dan ke Adafruit RGB LCD Shield, digunakan untuk menampilkan data suhu dan operasi sistem. Keduanya terhubung sesuai dengan dokumentasi Adafruit menyeluruh yang ditemukan di halaman produk.

Perangkat Lunak

Semua modul Adafruit yang terhubung ke Arduino dioperasikan dengan library masing-masing, dan potensiometer digital dengan library seri MCP41 sleemanj. Fungsionalitas inti dari kode Arduino di Mr ThermoParcel terkait dengan kontrol suhu, yang diimplementasikan dengan sistem loop tertutup PID. Titik setel suhu disediakan oleh pengguna melalui tombol pelindung layar LCD. Setiap pembacaan suhu yang diukur kemudian digunakan untuk mendapatkan penyimpangan dari titik setel, dan dengan demikian menghitung nilai PID yang diumpankan ke potensiometer digital untuk mengatur daya pendinginan/pemanasan. Sakelar sakelar fisik eksternal menentukan apakah keluaran daya diarahkan ke modul Peltier (pendingin) atau alas pemanas (pemanasan). Karena tidak ada sakelar elektronik dalam sistem, perbedaan yang dibuat adalah kode antara mode pemanasan dan mode pendinginan, dan pengguna harus memilih mode yang sesuai menggunakan tombol pelindung layar LCD. Perbedaan ini memastikan bahwa nilai PID yang dihitung memiliki tanda yang benar. Selama pengujian kami, kami mencoba rentang nilai untuk faktor PID, dan mengamati bahwa suku P saja sudah cukup di sebagian besar situasi untuk tetap berada dalam ±0,5°C dari titik setel, jadi kami akhirnya menghapus faktor I dan D. Ini mungkin karena kapasitas panas sampel yang relatif besar dan kotak berisi gel internal, yang membuat perubahan suhu menjadi lambat (biasanya rata-rata 0,02°C/dtk pada kondisi tercepat).

Performa

Saat menggunakan listrik, Mr ThermoParcel mendingin hingga 4°C saat dimulai dari suhu kamar 21-23°C dalam waktu sekitar 1 jam. Suhu 8-10 °C dicapai dalam 20 menit pertama. Mulai lagi dari suhu kamar, dan menggunakan alas pemanas, 37°C dicapai dalam waktu sekitar 10 menit. Semua suhu dipertahankan pada setpoint dalam ±0,5°C.

Bila ditenagai oleh baterai internal saja, kira-kira 10°C adalah suhu minimum yang dapat dicapai, dalam waktu 1,5-2 jam. Dengan matras pemanas, 37°C masih bisa diperoleh tetapi dalam 40-60 menit. Keterbatasan ini disebabkan oleh tingkat pelepasan baterai:baterai Li-ion di Mr ThermoParcel dinilai untuk arus pelepasan maksimum 7A pada 3,7V, tetapi mengingat konversi step-up ke 10-12V, arus pelepasan harus lebih tinggi untuk menjaga daya maksimum modul Peltier. Karena baterai berisi sirkuit perlindungan diri yang memutus outputnya jika terjadi kelebihan arus, sistem tidak dapat berfungsi jika sistem pendingin/pemanas mencoba menarik arus yang lebih besar dari nilai maksimum. Saat beroperasi melalui baterai, penarikan daya dibatasi oleh perangkat lunak ke tingkat yang aman. Keterbatasan ini murni karena baterai yang digunakan di sini, dan baterai dengan tingkat pelepasan yang lebih tinggi tersedia secara luas. Sebagai alternatif, baterai Li-ion dengan 3 sel secara seri dan tegangan nominal 11.1V akan menyelesaikan masalah dan juga menghilangkan kebutuhan akan konverter DC step-up.

Arah masa depan

Dalam tahap pengembangan saat ini, perangkat kami tidak dapat dikirim, terutama karena ukuran dan bagian yang bergerak dari pendingin CPU, dan kekokohan konstruksi. Namun, setelah heat sink diganti dengan sistem pendingin pasif dan kemasan sekunder 95k Pa digunakan, Mr ThermoParcel dapat dimasukkan ke dalam wadah kaku yang sesuai untuk transportasi yang aman, memenuhi semua persyaratan kurir standar untuk pengiriman sampel dengan pesawat dan semua sarana transportasi lainnya.

Dengan tujuan inti yang dicapai, komponen lain dapat ditambahkan untuk memperluas fungsionalitas perangkat. Profil suhu selama transportasi dapat disimpan dalam memori lokal untuk verifikasi nanti, atau dikirim langsung ke pengguna melalui SMS secara berkala menggunakan modul GSM Arduino. Penerima GPS juga dapat disertakan untuk pelacakan paket independen dan pengambilan tepat waktu saat pengiriman.

Kode

  • PID_LCD_controller_v03
PID_LCD_controller_v03Arduino
Kode Arduino untuk menghubungkan ke modul yang digunakan oleh Mr ThermoParcel, menjalankan pengontrol PID, menampilkan informasi pada panel LCD dan menerima input pengguna.
#include  // import PT100 temperature sensor library#include  // impor perpustakaan potensiometer digital#include  // impor tampilan LCD &perpustakaan pelindung tombol#include  // impor perpustakaan expander I2C#include // Menyiapkan potensiometer digitalMCP41_Potensiometer digital sederhana; // membuat objek potensiometer digitalconst uint8_t digitalPotentiometer_CS =10;// Menyiapkan sensor suhu PT100// Menggunakan perangkat lunak SPI untuk sensor suhu PT100:CS, DI, DO, CLKAdafruit_MAX31865 PT100amplifier =Adafruit_MAX31865(2, 3, 4, 5);// Tetapkan nilai resistor Rref. Gunakan 430.0 untuk sensor suhu PT100.#definisikan RREF 430.0// Nominal resistansi 0 derajat-C dari sensor, 100.0ohm untuk PT100#definisikan RNOMINAL 100.0// Menyiapkan pelindung layar LCD dengan tombolAdafruit_RGBLCDShield LCD_shield =Adafruit_RGBLCDShield();//# define OFF 0x0 // Status ON dan OFF dapat digunakan untuk menghidupkan/mematikan lampu latar LCD//#define ON 0x1void setup() { Serial.begin(115200); Serial.println("Tuan ThermoParcel, mulai operasi..."); PT100amplifier.begin(MAX31865_4WIRE); // setel ke 2WIRE atau 4WIRE jika perlu, RTD 4-kawat dalam kasus ini // Inisialisasi potensiometer digital digitalPotentiometer.begin(digitalPotentiometer_CS); // Atur wiper ke titik sembarang antara 0 dan 255 digitalPotentiometer.setWiper( 200 ); // Inisialisasi pelindung layar LCD // atur jumlah kolom dan baris LCD:LCD_shield.begin(16, 2); // mengatur setpoint dan mengukur teks T pada LCD dengan spasi yang benar LCD_shield.print("Tsetpoint:C"); LCD_shield.setCursor(0, 1); LCD_shield.print("Contoh:C");}// Inisialisasi konstanta PID, variabel terkait suhu, dan nilai tombol pelindungint powerMode =1; // powerMode=1 untuk daya baterai, powerMode=-1 untuk daya listrik; digunakan untuk mencegah kelebihan bateraiint operationMode =1; // operationMode=1 untuk pendinginan, operationMode=-1 untuk pemanasan; digunakan untuk mengoreksi tanda PID termsfloat PT100ratio; // Tentukan variabel rasio resistansi untuk PT100 sensoruint8_t keysPressed =0;float kp =500,0; //; int ki =5; int kd =3.9;mengambang PID_p =0.0; // int PID_i =0; int PID_d =0;float Tmeasured =-1.0;float Tsetpoint =22.0; // Mulai di sekitar suhu ruanganfloat PID_error =5;float PID_value =0;// Tentukan fungsi print_Tsetpoint untuk mencetak setpoint suhu dengan benar pada layar LCD char TsetpointString[3];void print_Tsetpoint(int T) { // Cetak Tsetpoint dengan benar tempatkan LCD_shield.setCursor(10, 0); dtostrf(T, 3, 0, TsetpointString); LCD_shield.print(TsetpointString);}// Tentukan fungsi print_Tmeasured untuk mencetak dengan benar suhu terukur pada layar LCD char TmeasuredString[4];void print_Tmeasured(float T) { // Cetak Tmeasured di tempat yang benar LCD_shield.setCursor(8, 1); dtostrf(T, 5, 1, TmeasuredString); LCD_shield.print(TmeasuredString);}// Tentukan fungsi print_powerMode untuk mencetak mode daya dengan benar (B, baterai; M, listrik)void print_powerMode() { LCD_shield.setCursor(15, 0); if (powerMode ==1) { LCD_shield.print("B"); } else if (powerMode ==-1) { LCD_shield.print("M"); }}// Tentukan fungsi print_operationMode untuk mencetak mode daya dengan benar (C, Pendingin Peltier; H, alas pemanas)void print_operationMode() { LCD_shield.setCursor(15, 1); if (Mode operasi ==1) { LCD_shield.print("C"); } else if (Mode operasi ==-1) { LCD_shield.print("H"); }}// *** loop utama ***void loop() { // Baca suhu uint16_t rtd =PT100amplifier.readRTD(); PT100rasio =rtd; PT100rasio /=32768; Tmeasured =PT100amplifier.temperature(RNOMINAL, RREF); Serial.print("Suhu Setpoint ="); Serial.println(Tsetpoint); Serial.print("Suhu ="); Serial.println(Diukur); // Mencetak nilai dan mode suhu print_Tsetpoint(Tsetpoint); print_Tmeasured(Tmeasured); print_powerMode(); print_operasiMode(); // Hitung kesalahan antara setpoint dan nilai terukur PID_error =Tmeasured - Tsetpoint; //Hitung nilai P PID_p =mode operasi * kp * PID_error; // Hitung nilai total PID, jika di atas maksimum (255) tetap pada 255, jika di bawah minimum (0) tetap pada 0 PID_value =(int) PID_p; //+ PID_i + PID_d; Serial.print("PID_p ="); Serial.println(PID_p); Serial.print("Mode daya ="); Serial.println(Mode daya); Serial.print("Mode Operasi ="); Serial.println(Mode Operasi); Serial.print("PID_error ="); Serial.println(PID_error); Serial.print("Nilai_PID ="); Serial.println(nilai_PID); // Jika dalam mode baterai (powerMode=1) batasi output untuk menghindari kelebihan baterai // Jika dalam mode listrik (powerMode=-1) memungkinkan daya penuh (255) if (powerMode ==1) { if (PID_value <0) { PID_nilai =0; } jika (nilai_PID> 120) { nilai_PID =120; } } else if (powerMode ==-1) { if (PID_value <0) { PID_value =0; } if (nilai_PID> 255) { nilai_PID =255; } } Serial.print("Nilai_PID yang disesuaikan ="); Serial.println(nilai_PID); // Atur resistansi potensiometer digital dari nilai PID digitalPotentiometer.setWiper(255 - nilai_PID); // Mendeteksi tombol yang ditekan, mengubah nilai setpoint jika diperlukan, dan menampilkan panggilan fungsi terukur dan setpoint T // delay() memastikan bahwa cukup waktu diberikan untuk menekan tombol dan melihat nilai berubah delay(1000); buttonPressed =LCD_shield.readButtons(); if (buttonsPressed &BUTTON_SELECT) { // Sorot sistem itu dalam mode edit dengan mengedipkan kursor LCD_shield.setCursor(14, 0); LCD_shield.blink(); penundaan (1000); tombolDitekan =0; // Tetap dalam mode edit sampai tombol SELECT ditekan lagi. Tombol ATAS dan BAWAH mengubah Tsetpoint. // KIRI mengubah mode operasi (pemanasan/pendinginan). KANAN beralih mode daya (baterai/listrik). while (bukan (buttonsPressed &BUTTON_SELECT)) { keysPressed =LCD_shield.readButtons(); if (tombolDitekan &BUTTON_UP) { Tsetpoint +=1; } if (tombolDitekan &BUTTON_DOWN) { Tsetpoint -=1; } if (tombolDitekan &BUTTON_RIGHT) { powerMode *=-1; print_powerMode(); } if (tombolDitekan &BUTTON_LEFT) { mode operasi *=-1; print_operasiMode(); } print_Tsetpoint(Tsetpoint); LCD_shield.setCursor(14, 0); penundaan (500); } // Keluar dari mode edit dan hentikan kursor yang berkedip LCD_shield.noBlink(); tombolDitekan =0; } Serial.println();}

Skema

Diagram sirkuit skematik dengan semua komponen utama wadah yang dikontrol suhu kami. Skema pengkabelan diminta oleh pengguna lain dari komunitas. Itu yang kami gunakan untuk merakit kabel, jadi jelek dan tidak pernah dimaksudkan untuk publikasi! Tapi mungkin bisa membantu. Pengkabelan potensiometer ke komponen lain.

Proses manufaktur

  1. Kipas dengan pengatur suhu
  2. DIY:Pemantauan dan Pengaturan Suhu untuk HomeBrew
  3. Pengukuran Suhu untuk Proyek Lab dan Sains
  4. Logam Terbaik untuk Menghantarkan Panas
  5. Cara Menghitung Pembuangan Panas untuk VFD
  6. Laminasi PCB Suhu Tinggi
  7. Panduan Suhu PCB
  8. Perlakuan Panas untuk Pengecoran Aluminium
  9. Paduan 36 (Invar®) Paduan Ekspansi Terkendali
  10. Proses Perlakuan Panas untuk Bagian Logam Mesin CNC