ARDUINO :: membuat timbangan digital dengan arduino dan sencor load cell

silahkan rangkai sensor dan arduino seperti ini:

atau yang mau pakai port digital bisa seperti ini :

kemudian posisikan load cell seperti ini, sumber  : http://www.vcc2gnd.com/sku/WSKIT5KG :

untuk keterangan load cell bisa dibaca dibawah ini :

Kit sensor berat / weight sensor kit ini berisi dua modul: single point load cell 5 Kgberbahan Aluminium-alloydan modul ADC (Analog-to-Digital Converter) 24-bit berpresisi sangat tinggi menggunakan IC HX711 Weight Scale Sensor yang memang dirancang khusus untuk penggunaan pada sensor berat.

Load Celladalah transduser (transducer, komponen elektronika yang dapat mengukur besaran fisik menjadi sinyal elektris) yang dapat mengubah tekanan oleh beban menjadi signal elektrik. Konversi terjadi secara tidak langsung dalam dua tahap. Lewat pengaturan mekanis, gaya tekan dideteksi berdasarkan deformasi dari matriks pengukur regangan (strain gauges) dalam bentuk resistor planar. Regangan ini mengubah hambatan efektif (effective resistance) empat pengukur regangan yang disusun dalam konfigurasi jembatan Wheatstone (Wheatstone bridge) yang kemudian dibaca berupa perbedaan potensial (tegangan).

Karena perbedaan yang terukur sangat kecil dalam orde µV (mikro Volt, sepersejuta Volt), dibutuhkan rangkaian pengubah sinyal analog menjadi digital yang sangat presisi, untuk itulah pada kit ini kami menyertakan modul HX711 yang beresolusi 24 bit (16,7+ juta undakan pada tangga ADC).

Dengan tingkat presisi setinggi ini, Anda dapat mengukur berat beban dalam resolusi 5 Kg / 224 atau setara dengan ketepatan 298 µg (0,298 mg, atau 0,000298 gr). Ketepatan ini tiga kali lipat lebih tinggi dibanding tingkat ketepatan yang ditawarkan pada timbangan emas/permata (jewelry weight scale) komersial kelas premium yang umum digunakan di toko emas/perhiasan yang presisinya hanya mencapai 0,001 gr (1 mg), sehingga tantangan pembuatan timbangan elektronis yang presisi bukan lagi terletak pada sisi elektronisnya namun lebih pada akurasi rancang bangun mekanis dari timbangan tersebut.

Spesifikasi Teknis Load Celldi paket ini:

  • Beban maksimum: 5000 gram (5 Kg)
  • Rentang tegangan keluaran: 0,1 mV ~ 1,0 mV / V (skala 1:1000 terhadap tegangan masukan, error margin≤1,5%)
  • Impedansi masukan (input impedance): 1066 Ω ±20%
  • Impedansi keluaran (output impedance): 1000 Ω ±10%
  • Tegangan masukan maksimum: 10 Volt DC
  • Rentang suhu operasional: -20 ~ +65°C
  • Material: Aluminium Alloy
  • Ukuran: 60 x 12,8 x 12,8 mm, berat: 23 gram
Spesifikasi Teknis modul HX711 Weight Scale ADC Module:

  • Dua kanal ADC (dapat digunakan untuk 2 load cell) dengan keluaran TTL (serial tersinkronisasi, DI dan SCK).
  • Tegangan opersional 5 Volt DC
  • Tegangan masukan diferensial ±40 mV pada skala penuh
  • Akurasi data 24 bit (24-bit ADC)
  • Frekuensi pembacaan (refresh rate) 80 Hz
  • Konsumsi arus kurang dari 10 mA
  • Ukuran: 38 x 21 mm dengan berat 20 gram

Berikut skematik sirkuit rangkaian elektronika dari modul sensor berat HX711 ini:

Toko komponen elektronika kami juga menjual paket sensor pengukur berat untuk beban yang lebih berat hingga 20 Kg atau untuk beban ringan di bawah 750 gram. Silakan cek harga dan ketersediaan stok secara online di katalog ini.

Pemetaan kabel pada Load Cell sbb.:
Masukan / input: kabel merah (E+) dan hitam (E-)
Keluaran / output: kabel hijau (A+ atau B+) dan putih (A- atau B-)

Untuk pinout HX711 terlihat dengan jelas dengan label yang tercetak pada PCB. Sisi dengan 6-pin terdiri atas AVDD(E+), GND(E-), 2 pin untuk kanal A (A-A+), dan 2 pin untuk kanal B (B-B+). Sisi dengan 4-pin untuk dihubungkan dengan MCU: ground(GND), data (DT), serial clock sync(SCK), dan catu daya 5V (VCC). Untuk pengguna Arduino development board, pustaka untuk mengakses sensor ini dapat diunduh dari github, tautan terlampir di bawah ini.

video bisa cek disini :

 

http://image.dfrobot.com/image/data/SEN0160/hx711_english.pdf

CODE ARDUINO :

// Arduino as load cell amplifier
// by Christian Liljedahl
// christian.liljedahl.dk

// Load cells are linear. So once you have established two data pairs, you can interpolate the rest.

// Step 1: Upload this sketch to your arduino board

// You need two loads of well know weight. In this example A = 10 kg. B = 30 kg
// Put on load A
// read the analog value showing (this is analogvalA)
// put on load B
// read the analog value B

// Enter you own analog values here
float loadA = 10; // kg
int analogvalA = 200; // analog reading taken with load A on the load cell

float loadB = 30; // kg
int analogvalB = 600; // analog reading taken with load B on the load cell

// Upload the sketch again, and confirm, that the kilo-reading from the serial output now is correct, using your known loads

float analogValueAverage = 0;

// How often do we do readings?
long time = 0; //
int timeBetweenReadings = 200; // We want a reading every 200 ms;

void setup() {
Serial.begin(9600);
}

void loop() {
int analogValue = analogRead(0);

// running average – We smooth the readings a little bit
analogValueAverage = 0.99*analogValueAverage + 0.01*analogValue;

// Is it time to print?
if(millis() > time + timeBetweenReadings){
float load = analogToLoad(analogValueAverage);

Serial.print(“analogValue: “);Serial.println(analogValueAverage);
Serial.print(”             load: “);Serial.println(load,5);
time = millis();
}
}

float analogToLoad(float analogval){

// using a custom map-function, because the standard arduino map function only uses int
float load = mapfloat(analogval, analogvalA, analogvalB, loadA, loadB);
return load;
}

float mapfloat(float x, float in_min, float in_max, float out_min, float out_max)
{
return (x – in_min) * (out_max – out_min) / (in_max – in_min) + out_min;
}

 

Please follow and like us:
10
4 Comments
  1. febri
  2. icha
  3. Fajar

Leave a Reply

Your email address will not be published. Required fields are marked *