Isi kandungan:

Model Penghawa Dingin Arduino: 6 Langkah
Model Penghawa Dingin Arduino: 6 Langkah

Video: Model Penghawa Dingin Arduino: 6 Langkah

Video: Model Penghawa Dingin Arduino: 6 Langkah
Video: PERCOBAAN ALAT PENYEJUK UDARA, MISTMAKER 2024, November
Anonim
Model Penghawa Dingin Arduino
Model Penghawa Dingin Arduino

Sebagai sebahagian daripada demonstrasi kemampuan pasukan kami untuk membuat model peranti kereta api pintar untuk tujuan pemasaran, objektifnya adalah untuk membuat sistem di mana sensor suhu membaca data dari litar dan mengubah maklumat menjadi nilai suhu yang keduanya dipaparkan pada skrin yang terang dan difokuskan pada sama ada kipas menghidupkan atau mematikan. Tujuannya adalah untuk membantu menampung keadaan menumpang penumpang menggunakan sistem automatik yang juga bertindak untuk memperlihatkan suhu di sekitarnya.

Dengan menggunakan kit mikrokontroler Arduino dan MATLAB versi 2016b dan 2017b, kami dapat menunjukkan hasil ini dengan kejayaan yang relatif.

Langkah 1: Peralatan

Peralatan
Peralatan

Kit mikrokontroler dengan yang berikut:

-Sparkfun Red Board

-Sparkfun Breadboard

-Papan LCD

-Potentiometer

-Pengesan suhu

-Servo

-Penyesuai USB / Arduino

-Jumper Wayar (minimum, 25)

Komputer riba (Windows 10) dengan input USB

Objek Bercetak 3D (pilihan)

Langkah 2: Persediaan Mikrokontroler

Persediaan Mikrokontroler
Persediaan Mikrokontroler
Persediaan mikrokontroler
Persediaan mikrokontroler
Persediaan mikrokontroler
Persediaan mikrokontroler
Persediaan Mikrokontroler
Persediaan Mikrokontroler

Pertimbangkan ini: keseluruhan sistem terdiri dari satu unit yang masing-masing menerapkan faktor yang signifikan terhadap hasil akhir. Atas sebab ini, sangat disarankan untuk memasang gambar litar sebelum memasang wayar dalam kekacauan yang berbelit-belit.

Gambar setiap model boleh didapati di manual kit alat Mikrokontroler atau di laman webnya di

Mulakan dengan memasang sensor suhu, potensiometer, penyambung servo dan LCD ke papan. Adalah disyorkan bahawa kerana ukuran dan keperluan LCD untuk bilangan wayar untuknya, ia harus diletakkan di separuh papan roti sendiri dengan kepingan yang lain di separuh yang lain dan agar potensiometer berada di kawasan yang dapat digunakan seseorang putar tombolnya dengan mudah.

Untuk rujukan:

LCD: c1-16

Servo: i1-3 (GND + -)

Sensor Temp: i13-15 (- GND +)

Potensiometer: g24-26 (- GND +)

Seterusnya, mulailah menyambungkan wayar pelompat ke setiap pin unit mikrokontroler; walaupun sewenang-wenang dalam keseluruhan skema besar, reka bentuk dibuat dengan hubungan penting ini:

Menyambungkan Potensiometer ke LCD: f25 - e3

Kawat servo GND: j1 - Input Digital 9

Sensor Temp GND: j14 - Input Analog 0

Input LCD: e11-e15 - Input Digital 2-5

e4 - Input Digital 7

e6 - Input Digital 6

(Catatan: Jika berjaya, kedua-dua lampu di tepi LCD akan menyala dan potensiometer dapat membantu menyesuaikan kecerahannya setelah diberi kuasa dari penyesuai.)

Pilihan: Objek bercetak 3D digunakan sebagai sebahagian daripada keperluan. Untuk mengelakkan kemungkinan kerosakan pada bahagian yang lebih rapuh, sarung yang dilanjutkan diletakkan sebagai sarung di sekitar LCD. Ukuran layar LCD terbukti sekitar 2-13 / 16 "x 1-1 / 16" x 1/4 ", dan dengan demikian hanya ketinggiannya yang berubah dengan ketara. Sekiranya pencetak 3D sudah tersedia, pertimbangkan untuk menambahkan objek peribadi, walaupun tidak perlu. Juga, ketahui bahawa pengukuran mungkin berbeza.

Langkah 3: Persediaan MATLAB

Persediaan MATLAB
Persediaan MATLAB
Persediaan MATLAB
Persediaan MATLAB

Pasang versi MATLAB yang lebih kemas kini (2016a dan seterusnya), yang terdapat di laman web MathWorks https://www.mathworks.com/products/matlab.html?s_tid=srchtitle. Setelah dibuka, pergi ke Add-On pada tab Home dan muat turun "MATLAB Support Package for Arduino Hardware" agar arahan mikrokontroler dapat diakses.

Setelah selesai, ujian boleh dibuat untuk mengetahui kesambungan mikrokontroler ke komputer / komputer riba seseorang. Setelah menghubungkannya dengan penyesuai USB dari alat alat, masukkan perintah "fopen (serial ('nada'))."

Mesej ralat akan muncul yang menyatakan penyambung sebagai "COM #", yang diperlukan untuk membuat objek arduino asalkan ia adalah input yang sama setiap saat.

Kerana LCD tidak mempunyai sambungan langsung ke perpustakaan Arduino, perpustakaan baru mesti dibuat untuk memaparkan mesej. Satu cadangan adalah membuat fail LCDAddon.m dari contoh LCD yang terdapat di tetingkap bantuan MATLAB setelah mencari "Arduino LCD" dan meletakkannya di folder + arduinoioaddons, atau menggunakan folder yang dimampatkan yang dilampirkan dan menyalin semua kandungannya ke dalam yang disebutkan di atas. folder.

Sekiranya berjaya, maka kod untuk membuat objek Arduino di MATLAB adalah seperti gambar di bawah.

a = arduino ('com #', 'uno', 'Perpustakaan', 'ContohLCD / LCDAddon');

Langkah 4: Fungsi

Fungsi
Fungsi
Fungsi
Fungsi

Buat fungsi MATLAB. Untuk input, kami menggunakan pemboleh ubah "eff" dan "T_min"; untuk output, walaupun tidak diperlukan dalam keseluruhan reka bentuk, kami menggunakan pemboleh ubah "B" sebagai cara untuk memuat data dari hasilnya. Input "eff" memungkinkan untuk mengatur kelajuan maksimum servo, dan input "T_min" mengawal suhu minimum yang diinginkan. Oleh itu, nilai "B" akan menghasilkan matriks yang mengandungi tiga lajur untuk masa, suhu dan kecekapan kipas. Juga, sebagai bonus untuk perincian, kod yang disenaraikan di bawah ini juga mempunyai pernyataan if sehingga kelajuan kipas akan berkurang sebanyak lima puluh persen ketika mendekati suhu minimum yang diinginkan.

Sekiranya semua input dan wayar jumper diletakkan tepat dan menganggap port sambungan arduino adalah COM4 dan nama fungsinya adalah "fanread", kod berikut harus mencukupi:

fungsi [B] = fanread (Tmin, eff)

jelas a; jelas lcd; a = arduino ('com4', 'uno', 'Perpustakaan', 'ContohLCD / LCDAddon');

t = 0; t_max = 15; % masa dalam beberapa saat

lcd = addon (a, 'ContohLCD / LCDAddon', {'D7', 'D6', 'D5', 'D4', 'D3', 'D2'});

inisialisasiLCD (lcd, 'Rows', 2, 'Columns', 2);

jika eff> = 1 || e <0

ralat ('Kipas tidak akan diaktifkan kecuali eff diatur antara 0 dan 1.')

akhir

untuk t = 1: 10% bilangan gelung / selang

jelas c; % mengelakkan kesalahan berulang

v = readVoltage (a, 'A0');

TempC = (v-0.5) * 100; % anggaran untuk julat voltan 2.7-5.5 V

jika TempC> Tmin jika TempC

c = ['Temp', num2str (TempC, 3), 'C On'];

tulisPWMDutyCycle (a, 'D9', eff / 2); % hidupkan servo pada separuh kelajuan

spd = 50;

yang lain

c = ['Temp', num2str (TempC, 3), 'C On'];

tulisPWMDutyCycle (a, 'D9', eff); % menghidupkan servo pada kelajuan yang diberikan

spd = 100;

akhir

yang lain

c = ['Temp', num2str (TempC, 3), 'C Off'];

tulisPWMDutyCycle (a, 'D9', 0); % tutup jika sudah dihidupkan

spd = 0;

akhir

printLCD (lcd, c);

berhenti seketika (3); % tiga saat berlalu setiap gelung

masa (t) = t. * 3;

tempplot (t) = TempC;

bertindak (t) = spd;

subplot (2, 1, 1)

plot (masa, tempplot, 'b-o')% garis garis

paksi ([0 33 0 40])

xlabel ('Masa (saat)')

ylabel ('Suhu (C)')

tahan

plot ([0 33], [Tmin Tmin], 'r-')

tahan

plot ([0 33], [Tmin + 2 Tmin + 2], 'g-')

subplot (2, 1, 2)

bar (masa, bertindak)% graf bar

xlabel ('Masa (saat)')

ylabel ('Kecekapan (%)')

akhir

B = transpose ([time; tempplot; act]);

akhir

Sekarang fungsinya selesai, sudah tiba masanya untuk menguji.

Langkah 5: Menguji

Ujian
Ujian
Ujian
Ujian

Sekarang uji fungsi di tetingkap arahan dengan memasukkan "function_name (input_value_1, input_value_2)" dan tonton. Pastikan tiada objek Arduino yang sudah ada; jika ya, gunakan arahan "kosongkan" untuk menghapusnya. Sekiranya berlaku kesilapan, periksa dan lihat apakah ada penyambung di tempat yang salah atau apakah input digital atau analog yang salah digunakan. Hasilnya dijangka bervariasi, walaupun ini mungkin disebabkan oleh penempatan kabel pelompat tertentu dan sensor suhu.

Jangkaan hasil akan menghasilkan perubahan dalam prestasi servo dan data pada LCD. Dengan setiap selang tiga detik, sebaris teks akan memperlihatkan suhu dalam Celsius dan sama ada kipas aktif atau tidak semasa kipas berjalan pada kelajuan penuh, separuh laju atau tanpa kelajuan. Data kemungkinan besar tidak konsisten, walaupun jika menginginkan lebih banyak hasil, letakkan nilai "Tmin" hampir dengan suhu rata-rata yang dihasilkan oleh litar.

Langkah 6: Kesimpulannya

Kesimpulannya
Kesimpulannya

Walaupun tugas yang sukar untuk diselesaikan dengan percubaan dan kesilapan, hasil akhirnya terbukti agak menarik dan memuaskan. Sistem seperti itu membantu menggambarkan berapa banyak mesin yang rumit, atau bahkan beberapa bahagiannya, dapat dilihat sebagai kumpulan bahagian bebas yang disatukan untuk mencapai tujuan tertentu.

Oleh kerana reka bentuk projek akhir yang agak sederhana, mereka yang berminat untuk meningkatkan prestasinya dapat membuat perubahan dan perubahan pada produk akhir yang dapat menjadikan projek itu lebih baik dan lebih terperinci. Walau bagaimanapun, ia mendedahkan kelemahan dalam litar seperti pengaktifan servo yang mengakibatkan turun naik sporadis dalam bacaan voltan litar, yang dapat menyebabkan sistem tidak pernah menghasilkan hasil yang sama. Juga, ada masalah dengan melihat perubahan dalam kecepatan servo ketika "eff" ditetapkan 0.4 dan lebih tinggi. Sekiranya sensor suhu dan kelembapan digunakan, model akhir akan menjadi lebih rumit namun mempunyai nilai yang lebih konsisten. Walaupun begitu, ini adalah pengalaman yang menunjukkan mesin yang kompleks dapat berfungsi sebagai gabungan bahagiannya yang sederhana.

Disyorkan: