Daftar Isi:

Timbangan Arduino Dengan Load Cell 5kg dan Amplifier HX711: 4 Langkah (dengan Gambar)
Timbangan Arduino Dengan Load Cell 5kg dan Amplifier HX711: 4 Langkah (dengan Gambar)

Video: Timbangan Arduino Dengan Load Cell 5kg dan Amplifier HX711: 4 Langkah (dengan Gambar)

Video: Timbangan Arduino Dengan Load Cell 5kg dan Amplifier HX711: 4 Langkah (dengan Gambar)
Video: BELAJAR ARDUINO #69 - Membuat Timbangan Digital dengan Loadcell + HX711 + LCD_I2C 2024, Desember
Anonim
Skala Arduino Dengan Sel Beban 5kg dan Amplifier HX711
Skala Arduino Dengan Sel Beban 5kg dan Amplifier HX711
Skala Arduino Dengan Sel Beban 5kg dan Amplifier HX711
Skala Arduino Dengan Sel Beban 5kg dan Amplifier HX711

Instruksi ini menjelaskan cara membuat timbangan kecil menggunakan yang tersedia dari bagian rak.

Bahan yang dibutuhkan:

1. Arduino - desain ini menggunakan Arduino Uno standar, versi atau klon Arduino lain juga harus berfungsi

2. HX711 on breakout board - microchip ini dibuat khusus untuk memperkuat sinyal dari load cell dan melaporkannya ke mircocontroller lain. Sel beban dicolokkan ke papan ini, dan papan ini memberi tahu Arduino apa yang diukur oleh sel beban.

3. Sel beban 5kg - Sel beban adalah bagian logam berbentuk khusus yang memiliki lem pengukur regangan. Pengukur regangan adalah resistor yang mengubah resistansinya ketika dibengkokkan. Saat bagian logam tertekuk, resistansi sel beban berubah (HX711 mengukur perubahan kecil resistansi ini secara akurat). Anda dapat membeli HX711 dan load cell di sini:

Jika Anda membeli kit, silakan tinggalkan ulasan! Ini sangat membantu untuk pembeli masa depan.

4. Permukaan pemasangan datar yang kokoh (x2) - potongan kayu keras atau logam yang kaku sangat ideal.

5. Kabel dalam berbagai warna untuk menghubungkan semua bagian

6. Catu daya untuk Arduino

Langkah 1: Pasang Sel Beban

Pasang Sel Beban
Pasang Sel Beban

Pertama kita akan memasang sel beban. Mount Anda akan unik, tetapi berikut adalah panduan yang harus Anda ikuti:

1. Sel beban aluminium harus memiliki 4 lubang yang disadap dan label yang menunjukkan arah gaya. Pasang sisi tanpa label ke permukaan tetap dan pasang sisi dengan label ke permukaan bergerak. Panah di sisi berlabel harus mengarah ke bawah ke arah platform akan bergerak ketika beban diterapkan.

2. Pelat pemasangan dan pelat bergerak harus setegak mungkin

3. Pastikan untuk meletakkan beberapa bentuk spacer kaku antara pelat pemasangan dan sel beban. Kebuntuan atau mesin cuci keduanya bekerja dengan baik. Tujuannya adalah agar setiap gaya yang diterapkan pada pelat yang bergerak menyebabkan sel beban menekuk dan memutar. Tanpa spacer, beban akan ditransfer langsung dari pelat bergerak ke pelat tetap tanpa mempengaruhi sel beban.

Langkah 2: Hubungkan Load Cells dan HX711

Kawat Sel Beban dan HX711
Kawat Sel Beban dan HX711

Lihat diagram pengkabelan untuk cara menghubungkan sel beban, HX711, dan Arduino.

Pada sel beban aluminium, beberapa pengukur regangan sudah dihubungkan bersama ke jembatan Wheatstone. Yang perlu Anda lakukan adalah menghubungkan kabel ke papan HX711 dalam orientasi yang benar.

Langkah 3: Tambahkan Perpustakaan HX711 ke Arduino IDE Anda

Perpustakaan HX711 tersedia di sini:

Lihat tautan ini di situs web Arduino untuk instruksi tentang cara menambahkan perpustakaan ke Arduino IDE Anda:

Langkah 4: Kalibrasi dan Timbang

Kalibrasi dan Timbang!
Kalibrasi dan Timbang!

Sparkfun memiliki program Arduino yang bagus untuk menjalankan timbangan. Versi terbaru tersedia di GitHub dan dicetak ulang di bawah ini:

Langkah perangkat lunak pertama adalah menentukan faktor kalibrasi untuk timbangan. Untuk melakukan ini, jalankan kode ini:

/*

Contoh menggunakan papan breakout SparkFun HX711 dengan skala Oleh: Nathan Seidle SparkFun Electronics Tanggal: 19 November 2014 Lisensi: Kode ini adalah domain publik tetapi Anda membelikan saya bir jika Anda menggunakan ini dan kita bertemu suatu hari nanti (lisensi Beerware). Ini adalah sketsa kalibrasi. Gunakan untuk menentukan kalibrasi_factor yang digunakan contoh utama. Ini juga mengeluarkan zero_factor yang berguna untuk proyek yang memiliki massa permanen pada skala di antara siklus daya. Siapkan timbangan Anda dan mulai sketsa TANPA bobot pada timbangan Setelah pembacaan ditampilkan, letakkan bobot pada timbangan Tekan +/- atau a/z untuk menyesuaikan faktor_kalibrasi hingga pembacaan output sesuai dengan bobot yang diketahui Gunakan faktor_kalibrasi ini pada sketsa contoh Contoh ini mengasumsikan pound (lbs). Jika Anda lebih suka kilogram, ubah Serial.print(" lbs"); garis ke kg. Faktor kalibrasi akan berbeda secara signifikan tetapi akan berhubungan linier dengan lbs (1 lbs = 0,453592 kg). Faktor kalibrasi Anda mungkin sangat positif atau sangat negatif. Itu semua tergantung pada pengaturan sistem skala Anda dan arah sensor menyimpang dari keadaan nol Kode contoh ini menggunakan perpustakaan bogde yang sangat baik:"https://github.com/bogde/HX711" perpustakaan bogde dirilis di bawah GNU GENERAL PUBLIC LICENSE Pin Arduino 2 -> HX711 CLK 3 -> DOUT 5V -> VCC GND -> GND Hampir semua pin pada Arduino Uno akan kompatibel dengan DOUT/CLK. Papan HX711 dapat diberi daya dari 2,7V hingga 5V sehingga daya Arduino 5V harus baik-baik saja. */ #sertakan "HX711.h" #define LOADCELL_DOUT_PIN 3 #define LOADCELL_SCK_PIN 2 skala HX711; float kalibrasi_factor = -7050; //-7050 bekerja untuk setup skala maksimal 440lb saya void setup() { Serial.begin(9600); Serial.println("Sketsa kalibrasi HX711"); Serial.println("Hapus semua berat dari timbangan"); Serial.println("Setelah pembacaan dimulai, letakkan bobot yang diketahui pada timbangan"); Serial.println("Tekan + atau a untuk meningkatkan faktor kalibrasi"); Serial.println("Tekan - atau z untuk menurunkan faktor kalibrasi"); scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN); skala.set_skala(); skala.tara(); //Reset skala ke 0 long zero_factor = scale.read_average(); //Dapatkan pembacaan dasar Serial.print("Faktor nol: "); //Ini dapat digunakan untuk menghilangkan kebutuhan untuk tara skala. Berguna dalam proyek skala permanen. Serial.println(faktor_nol); } void loop() { scale.set_scale(calibration_factor); //Sesuaikan dengan faktor kalibrasi ini Serial.print("Membaca: "); Serial.print(scale.get_units(), 1); Serial.print("kg"); //Ubah ini ke kg dan sesuaikan kembali faktor kalibrasi jika Anda mengikuti satuan SI seperti orang waras Serial.print("calibration_factor: "); Serial.print(calibration_factor); Serial.println(); if(Serial.available()) { char temp = Serial.read(); if(temp == '+' || temp == 'a') kalibrasi_factor += 10; else if(temp == '-' || temp == 'z') kalibrasi_factor -= 10; } }

Setelah mengkalibrasi timbangan, Anda dapat menjalankan program contoh ini, lalu meretasnya untuk keperluan Anda sendiri:

/*

Contoh menggunakan papan breakout SparkFun HX711 dengan skala Oleh: Nathan Seidle SparkFun Electronics Tanggal: 19 November 2014 Lisensi: Kode ini adalah domain publik tetapi Anda membelikan saya bir jika Anda menggunakan ini dan kita bertemu suatu hari nanti (lisensi Beerware). Contoh ini menunjukkan keluaran skala dasar. Lihat sketsa kalibrasi untuk mendapatkan kalibrasi_factor untuk pengaturan sel beban spesifik Anda. Kode contoh ini menggunakan perpustakaan luar biasa bogde:"https://github.com/bogde/HX711" perpustakaan bogde dirilis di bawah GNU GENERAL PUBLIC LICENSE HX711 melakukan satu hal dengan baik: membaca sel beban. Papan breakout kompatibel dengan sel beban berbasis jembatan batu gandum apa pun yang memungkinkan pengguna untuk mengukur semuanya mulai dari beberapa gram hingga puluhan ton. Pin Arduino 2 -> HX711 CLK 3 -> DAT 5V -> VCC GND -> GND Papan HX711 dapat diberi daya dari 2,7V hingga 5V sehingga daya Arduino 5V seharusnya baik-baik saja. */ #include "HX711.h" #define kalibrasi_factor -7050.0 //Nilai ini diperoleh dengan menggunakan sketsa SparkFun_HX711_Calibration #define LOADCELL_DOUT_PIN 3 #define LOADCELL_SCK_PIN 2 skala HX711; void setup() { Serial.begin(9600); Serial.println("Demo skala HX711"); scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN); scale.set_scale(faktor_kalibrasi); //Nilai ini diperoleh dengan menggunakan skala sketsa SparkFun_HX711_Calibration.tare(); //Dengan asumsi tidak ada bobot pada timbangan saat start up, setel ulang timbangan ke 0 Serial.println("Bacaan:"); } void loop() { Serial.print("Bacaan: "); Serial.print(scale.get_units(), 1); //scale.get_units() mengembalikan float Serial.print(" lbs"); //Anda dapat mengubahnya ke kg tetapi Anda harus memfaktorkan ulang kalibrasi_factor Serial.println(); }

Direkomendasikan: