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

Pengukur pH Arduino

Komponen dan persediaan

Arduino UNO
× 1
Sensor pH Analog Atlas Scientific Gravity™
× 1
Probe pH Kelas Konsumen Atlas Scientific
× 1
Modul LCD 20x4
× 1
Enklosur 158x90x60mm
× 1
papan tempat memotong roti mini
× 1
Resistor 220 ohm
× 1
Resistor 1k ohm
× 1
Pengunci dan sekrup 11 mm (disediakan dengan sensor pH)
× 4
Kabel jumper
× 1
Lembar akrilik (plexiglass)
× 1

Alat dan mesin yang diperlukan

Bor, mata bor, mata bor drywall, file, obeng, catok meja, gergaji pita, pistol lem dan tongkat lem, besi solder dan solder, jangka sorong digital, penggaris

Aplikasi dan layanan online

Arduino IDE

Tentang proyek ini

Dalam proyek ini, kami akan membuat pH meter benchtop menggunakan rangkaian pH analog Gravity dan probe dari Atlas Scientific dan Arduino Uno. Pembacaan akan ditampilkan pada layar kristal cair (LCD).

Catatan:

- Pengukur ini dikembangkan pada komputer Windows. Itu tidak diuji di Mac.

- Enclosure tidak tahan air.

Langkah 1:Siapkan Perumahan

Keamanan :Ingatlah untuk berhati-hati saat menangani alat/mesin dan memakai perlengkapan keselamatan yang tepat seperti kacamata, sarung tangan, dan respirator.

Perumahan yang digunakan adalah kandang plastik ABS. Itu harus dimodifikasi untuk pH meter.

Memotong bukaan untuk LCD

a) LCD ditempatkan di bagian atas (penutup) enklosur. Tengahkan persegi panjang 98x40mm pada penutup.

b) Letakkan potongan di ragum dan bor lubang pilot 3,2 mm (1/8") di persegi panjang yang ditandai.

c) Gunakan lubang pilot ini sebagai titik awal untuk mata bor gipsum 3,2 mm (1/8"). Karena ini pekerjaan kecil, kami akan menggunakan mata bor tangan daripada mesin pemotong gipsum. Kerjakan di bagian dalam mata bor. persegi panjang alih-alih garis karena mungkin agak sulit untuk memotong secara lurus dengan mata bor ini.

d) Selanjutnya, gunakan file tangan untuk membuang bahan berlebih dan bentuk persegi panjang dengan ukuran yang diinginkan.

Potong bukaan untuk konektor BNC dan port Arduino

Bukaan untuk konektor BNC dan port Arduino ada di sisi bagian bawah enklosur.

a) Dengan menggunakan dimensi yang disediakan di bawah, tandai titik pusat lingkaran dan garis luar untuk dua persegi panjang.

b) Letakkan potongan di wakil dan potong bukaannya. Pembukaan melingkar dibuat menggunakan mata bor. Yang persegi panjang dibuat dengan mengikuti proses serupa yang digunakan untuk membuat bukaan untuk LCD.

Pakai pelat dasar untuk memasang komponen

Pelat dasar digunakan untuk memasang Arduino, sensor pH dan papan tempat memotong roti mini. Digunakan lembaran akrilik setebal 3.2mm.

a) Dengan menggunakan gergaji pita, potong lembaran akrilik menjadi 135x62.5mm.

b) Tandai posisi untuk empat lubang seperti yang ditunjukkan di bawah ini. Bor lubang berdiameter 2,38 mm (3/32"). Countersink lubang di satu sisi pelat hingga kedalaman 3 mm dan diameter 4,4 mm (11/64"). Hal ini diperlukan untuk menjaga agar permukaan bawah tetap rata saat sekrup dimasukkan untuk menahan penyangga.

c) Pasang standoff 11mm menggunakan sekrup yang disediakan. Sensor pH dilengkapi dengan 4 standoff dan sekrup. Gunakan dua di antaranya untuk Arduino.

Langkah 2:Pasang Elektronik di Perumahan

a) Masukkan pelat dasar ke bagian bawah rumahan. Pertahankan posisinya dengan sekrup atau lem panas.

b) Pasang sensor pH pada pelat dasar. Amankan dari kebuntuan dengan sekrup.

c) Pasang Arduino Uno ke pelat dasar. Amankan dari kebuntuan dengan sekrup.

d) Tambahkan papan tempat memotong roti mini ke pelat dasar.

e) Solder pin header ke LCD (pin disediakan). Masukkan LCD ke bagian atas wadah dan gunakan lem panas untuk menjaga layar tetap di tempatnya.

Langkah 3:Hubungkan Elektronik Bersama

Hubungkan komponen yang ditunjukkan pada skema di atas.

Gunakan papan tempat memotong roti mini untuk 1kΩ dan 220Ω dan untuk mendistribusikan pin 5V dan ground Arduino.

Kedua resistor digunakan untuk mengatur kontras layar.

Lembar data

Sensor pH gravitasi, probe pH

Langkah 4:Selesaikan Perakitan

Setelah pengkabelan selesai:

a) Satukan bagian atas dan bawah wadah menggunakan sekrup yang disediakan.

b) Hubungkan probe ke konektor BNC.

Langkah 5:Unggah Kode Ke Arduino Uno

Kode untuk proyek ini menggunakan pustaka dan file header yang disesuaikan. Anda harus menambahkannya ke Arduino IDE Anda untuk menggunakan kodenya. Langkah-langkah di bawah ini meliputi proses pembuatan penambahan IDE ini.

a) Hubungkan Arduino ke komputer Anda dan buka IDE. IDE dapat diunduh dari LINK ini jika Anda tidak memilikinya. Buka Talat -> Papan -> Pilih Arduino/Genuino Uno . Buka Alat -> Port -> pilih port tempat Arduino terhubung.

b) Tambahkan perpustakaan Liquid Crystal Display:Di IDE, buka Sketsa -> Sertakan perpustakaan -> Kelola perpustakaan . Di bilah pencarian Manajer Perpustakaan, masukkan "liquidcrystal". Cari paket berjudul "LiquidCrystal Built-in oleh Arduino, Adafruit". Ini mungkin atau mungkin tidak diinstal. Jika tidak, pilih paket dan klik install .

c) Tambahkan perpustakaan sensor Gravitasi Atlas:Unduh file zip dari LINK berikut. File akan disimpan sebagai "Atlas_gravity.zip". Di IDE, buka Sketsa -> Sertakan pustaka -> Tambahkan.ZIP Pustaka . Cari file "Atlas_gravity.zip" dan pilih untuk ditambahkan.

d) Selanjutnya, kita harus menambahkan kode untuk pH meter. Salin kode dari LINK ini ke panel kerja IDE.

e) Kompilasi dan unggah kode ke Arduino.

f) Pembacaan pH kemudian akan ditampilkan pada LCD. Anda juga dapat melihat pembacaan pada monitor serial. Untuk membuka monitor serial, buka Tools -> Serial Monitor atau tekan Ctrl+Shift+M pada keyboard Anda. Atur baud rate ke 9600 dan pilih "Carriage return".

Langkah 6:Kalibrasi Sensor pH

Catatan:Jika Anda berencana menggunakan catu daya eksternal untuk Arduino, sambungkan ke Arduino sebelum melakukan kalibrasi. Ini akan memastikan bahwa level referensi telah disetel dengan tepat, yang akan membantu dalam kalibrasi yang benar.

Pengukur pH ini dapat dikalibrasi ke satu, dua atau tiga titik kalibrasi. Diperlukan larutan buffer standar (pH 4, 7 dan 10)

Serial monitor digunakan untuk proses kalibrasi. Pengguna akan dapat mengamati perubahan bertahap dalam pembacaan saat mereka mencapai stabilisasi dan mengirim perintah yang sesuai.

Data kalibrasi disimpan di EEPROM Arduino.

Perintah kalibrasi

Titik rendah:kal, 4

Titik tengah:kal, 7

Poin tinggi:kal, 10

Kalibrasi yang jelas:kal, jernih

Langkah

a) Keluarkan botol perendam dan bilas probe pH.

b) Tuang sebagian larutan pH 4 ke dalam cangkir. Pastikan cukup untuk menutupi area penginderaan probe.

c) Tempatkan probe di dalam cangkir dan aduk untuk menghilangkan udara yang terperangkap. Amati pembacaan pada monitor serial. Biarkan probe duduk di dalam larutan sampai pembacaan stabil (gerakan kecil dari satu pembacaan ke pembacaan berikutnya adalah normal)

d) Setelah pembacaan stabil, masukkan perintah cal, 4 ke monitor serial. Kalibrasi ke pH 4 sekarang selesai.

Ulangi langkah a-d untuk pH7 dan pH10. Ingatlah untuk membilas probe saat Anda melanjutkan ke larutan buffer yang berbeda.

Bagaimana dengan kompensasi suhu?

Sensor yang digunakan dalam proyek ini memiliki akurasi +/- 0,2%. Pengukur pH akan beroperasi dalam akurasi ini dalam kisaran suhu 7 - 46°C. Di luar kisaran ini, meteran harus dimodifikasi untuk kompensasi suhu. Catatan:Probe pH dapat dikenai kisaran 1 60 °C.

Kode

  • kode pH meter arduino
kode pH meter arduinoC/C++
/*Setelah diunggah, buka monitor serial, atur baud rate ke 9600 dan tambahkan "Carriage return"Kode ini memungkinkan pengguna untuk mengamati pembacaan pH waktu nyata serta mengkalibrasi sensor.Satu, dua, atau tiga titik kalibrasi dapat dilakukan.Perintah kalibrasi:titik rendah:"cal,4" titik tengah:"cal,7" titik tinggi:"cal,10" kalibrasi jelas:"cal,clear"*/#include "ph_grav. h" //file header untuk sensor pH gravitasi Atlas Scientific#include "LiquidCrystal.h" //file header untuk liquid crystal display (lcd)String inputstring =""; //sebuah string untuk menampung data yang masuk dari PCboolean input_string_complete =false; //sebuah flag untuk menunjukkan bahwa kita telah menerima semua data dari PCchar inputstring_array[10]; //array karakter yang diperlukan untuk penguraian stringGravity_pH pH =A0; //menetapkan pin analog A0 Arduino ke kelas Gravity_pH. hubungkan keluaran sensor pH ke pin A0LiquidCrystal pH_lcd(2, 3, 4, 5, 6, 7); //membuat variabel pH_lcd dan menetapkan pin digital arduino ke pin lcd (2 -> RS, 3 -> E, 4 hingga 7 -> D4 hingga D7)void setup() { Serial.begin(9600); //aktifkan port serial pH_lcd.begin(20, 4); //mulai antarmuka lcd dan tentukan ukuran lcd (20 kolom dan 4 baris) pH_lcd.setCursor(0,0); //letakkan kursor pada layar pada kolom 1, baris 1 pH_lcd.print("--------------------"); //menampilkan karakter pH_lcd.setCursor(0,3); //letakkan kursor pada layar pada kolom 1, baris 4 pH_lcd.print("--------------------"); //menampilkan karakter pH_lcd.setCursor(5, 1); //letakkan kursor pada layar pada kolom 6, baris 2 pH_lcd.print("pH Reading"); //tampilkan "pH Reading" if (pH.begin()) { Serial.println("Loaded EEPROM");} Serial.println(F("Gunakan perintah \"CAL,4\", \"CAL,7\ ", dan \"CAL,10\" untuk mengkalibrasi rangkaian ke nilai masing-masing")); Serial.println(F("Gunakan perintah \"CAL,CLEAR\" untuk menghapus kalibrasi")); }void serialEvent() { //jika perangkat keras serial port_0 menerima char inputstring =Serial.readStringUntil(13); //baca string sampai kita melihat  input_string_complete =true; //mengatur flag yang digunakan untuk memberitahu apakah kita telah menerima string lengkap dari PC}void loop() { if (input_string_complete ==true) { //memeriksa apakah data diterima inputstring.toCharArray(inputstring_array, 30); //mengubah string menjadi array char parse_cmd(inputstring_array); //kirim data ke fungsi pars_cmd input_string_complete =false; //reset flag yang digunakan untuk memberitahu apakah kita telah menerima string lengkap dari PC inputstring =""; //hapus string } Serial.println(pH.read_ph()); //output pembacaan pH ke monitor serial pH_lcd.setCursor(8, 2); //letakkan kursor pada layar pada kolom 9, baris 3 pH_lcd.print(pH.read_ph()); //output pH ke lcd delay(1000);}void parse_cmd(char* string) { //Untuk memanggil fungsi kalibrasi strupr(string); //mengubah string input menjadi huruf besar if (strcmp(string, "CAL,4") ==0) { //membandingkan string input pengguna dengan CAL,4 dan jika cocok, lanjutkan pH.cal_low(); //memanggil fungsi untuk kalibrasi titik rendah Serial.println("KALIBRASI RENDAH"); } else if (strcmp(string, "CAL,7") ==0) { //bandingkan string input pengguna dengan CAL,7 dan jika cocok, lanjutkan pH.cal_mid(); //memanggil fungsi untuk kalibrasi titik tengah Serial.println("MID CALIBRATED"); } else if (strcmp(string, "CAL,10") ==0) { //bandingkan string input pengguna dengan CAL,10 dan jika cocok, lanjutkan pH.cal_high(); //memanggil fungsi untuk kalibrasi titik tinggi Serial.println("KALIBRASI TINGGI"); } else if (strcmp(string, "CAL,CLEAR") ==0) { //bandingkan string input pengguna dengan CAL,CLEAR dan jika cocok, lanjutkan pH.cal_clear(); //panggil fungsi untuk menghapus kalibrasi Serial.println("CALIBRATION CLEARED"); }}

Skema


Proses manufaktur

  1. Arduino Spybot
  2. FlickMote
  3. TV Buatan Sendiri B-Gone
  4. Jam Master
  5. Temukan Saya
  6. Arduino Power
  7. Tech-TicTacToe
  8. Arduino Quadruped
  9. Arduino Joystick
  10. Mesin CNC