Skip to Content
SensörlerHX711 ve Load Cell ile Ağırlık Ölçümü

HX711 ve Load Cell ile Ağırlık Ölçümü

Load cell (yük hücresi), üzerine uygulanan kuvveti elektriksel sinyale çeviren bir sensördür. HX711 ise bu çok zayıf sinyali okunabilir hale getiren 24 bitlik bir yükselteç ve ADC entegresidir.

İkisi birlikte, dijital tartıdan doluluk takibine, kuvvet ölçümünden akıllı arı kovanına kadar pek çok projede kullanılır.

Load Cell Nasıl Çalışır?

Load cell’in gövdesine strain gauge (gerinim ölçer) adı verilen ince metal folyolar yapıştırılmıştır.

  1. Load cell’e ağırlık bindiğinde metal gövde mikroskobik ölçüde bükülür.
  2. Üzerindeki strain gauge de bükülür.
  3. Gerilen bir iletkenin uzunluğu artar, kesiti azalır → direnci artar.
  4. Sıkışan tarafta ise direnç azalır.

Dört adet strain gauge, Wheatstone köprüsü adı verilen bir düzende bağlanır. Köprü dengede iken çıkış sıfırdır; ağırlık bindiğinde çok küçük bir gerilim farkı oluşur.

Bu fark milivolt’un binde biri mertebesindedir — bu yüzden doğrudan Arduino’nun analog girişiyle okunamaz. HX711’in görevi tam olarak budur.

Load Cell Tipleri

TipKapasiteKullanım
Bar (çubuk) tip1, 5, 10, 20, 50 kgMutfak tartısı, küçük platform
S tipi100 kg – 5 tonAsılı yük, çekme kuvveti
Disk / pancake500 kg +Endüstriyel platform
Yarım köprü (half bridge)50 kgBanyo terazisi (4 adet birlikte)

Kapasite seçimi önemlidir. Ölçeceğiniz maksimum ağırlığın biraz üzerinde bir kapasite seçin. 5 kg ölçmek için 200 kg’lık hücre kullanırsanız çözünürlük kaybedersiniz. Tersine, kapasitesinin üzerinde yüklenen load cell kalıcı olarak deforme olur ve bir daha doğru ölçmez.

Kablo Renkleri

Tam köprü (4 telli) load cell’lerde standart renk kodu:

RenkİşlevHX711 pini
KırmızıE+ (uyarma +)E+
SiyahE− (uyarma −)E−
YeşilA+ (sinyal +)A+
BeyazA− (sinyal −)A−

Bazı üreticilerde beyaz yerine mavi kullanılır. Yeşil ve beyazı ters bağlarsanız ağırlık negatif okunur — bu zarar vermez, sadece iki kabloyu değiştirin veya kodda işareti çevirin.

HX711 – Arduino Bağlantısı

HX711Arduino
VCC5V
GNDGND
DT (DOUT)D3 (herhangi bir dijital pin)
SCKD2 (herhangi bir dijital pin)

HX711 standart bir protokol (I2C/SPI) kullanmaz; kendine özgü iki telli bir seri iletişimi vardır. Bu yüzden herhangi iki dijital pin kullanılabilir.

Kazanç (gain) ve kanallar

HX711’in iki giriş kanalı vardır:

  • Kanal A: 128 veya 64 kazanç — load cell buraya bağlanır
  • Kanal B: sabit 32 kazanç — ikinci, daha az hassas ölçüm için

Varsayılan kazanç 128’dir ve load cell için doğru olan budur.

Örnekleme hızı

HX711 kartı üzerindeki RATE pini örnekleme hızını belirler:

  • GND’ye bağlı (varsayılan): 10 SPS (saniyede 10 örnek) — daha az gürültü
  • VCC’ye bağlı: 80 SPS — daha hızlı, daha gürültülü

Tartı uygulamaları için 10 SPS uygundur. Dinamik kuvvet ölçümü yapıyorsanız 80 SPS’e geçmek için kart üzerindeki dirençte küçük bir değişiklik gerekir.

Kütüphane

Araçlar → Kütüphaneleri Yönet menüsünden HX711 Arduino Library (bogde) veya HX711_ADC (olkal) kütüphanesini yükleyin. Aşağıdaki örnekler bogde sürümüne göredir.

Kalibrasyon — En Kritik Adım

Load cell ham bir sayı üretir. Bu sayıyı grama çevirmek için bir kalibrasyon faktörü bulmanız gerekir.

Adım 1: Ham değeri okuyun

#include "HX711.h" const int DT_PIN = 3; const int SCK_PIN = 2; HX711 tarti; void setup() { Serial.begin(9600); tarti.begin(DT_PIN, SCK_PIN); Serial.println("Tarti bos olsun, dara aliniyor..."); delay(2000); tarti.tare(); // sifirla Serial.println("Hazir. Bilinen bir agirlik koyun."); } void loop() { Serial.print("Ham deger: "); Serial.println(tarti.get_units(10), 2); delay(500); }

Adım 2: Faktörü hesaplayın

  1. Tartı boşken ham değerin 0 civarında olduğunu görün.
  2. Ağırlığını kesin olarak bildiğiniz bir nesne koyun (örneğin kapalı bir 500 g’lık paket veya kalibre bir ağırlık).
  3. Okunan ham değeri not edin.
Kalibrasyon faktörü = Ham değer / Gerçek ağırlık

Örnek: 500 g için ham değer 107.350 okundu.

  • Faktör = 107350 / 500 = 214,7

Adım 3: Faktörü koda yazın

#include "HX711.h" const int DT_PIN = 3; const int SCK_PIN = 2; const float KALIBRASYON_FAKTORU = 214.7; // kendi degerinizi yazin HX711 tarti; void setup() { Serial.begin(9600); tarti.begin(DT_PIN, SCK_PIN); tarti.set_scale(KALIBRASYON_FAKTORU); Serial.println("Tarti bos olsun..."); delay(2000); tarti.tare(); Serial.println("Hazir."); } void loop() { float agirlik = tarti.get_units(10); // 10 okumanin ortalamasi Serial.print("Agirlik: "); Serial.print(agirlik, 1); Serial.println(" g"); delay(500); }

get_units(10) on okumanın ortalamasını alır. Sayıyı artırmak okumayı yumuşatır ama yavaşlatır.

Dara (Tare) İşlevi

tare() fonksiyonu o anki değeri yeni sıfır noktası olarak kabul eder. Kap, tabak veya platformun kendi ağırlığını çıkarmak için kullanılır.

Butonla dara alma:

const int DARA_BUTONU = 4; void setup() { pinMode(DARA_BUTONU, INPUT_PULLUP); // ... } void loop() { if (digitalRead(DARA_BUTONU) == LOW) { delay(50); // debounce if (digitalRead(DARA_BUTONU) == LOW) { tarti.tare(); Serial.println("Dara alindi"); while (digitalRead(DARA_BUTONU) == LOW) delay(10); } } Serial.println(tarti.get_units(10), 1); delay(300); }

Mekanik Montaj — Ölçümün Yarısı

Load cell projelerinde okumanın bozulmasının en büyük nedeni elektronik değil, mekaniktir.

Bar tipi load cell’in üzerinde genellikle bir ok veya yazı vardır; kuvvetin uygulanması gereken yönü gösterir.

Doğru montaj:

  • Bir uç sabit tabana vidalanır.
  • Diğer uç platforma vidalanır.
  • İki uç arasında boşluk olmalıdır — load cell’in bükülebilmesi gerekir.
  • Bu yüzden vidalarken ara pul (spacer) kullanılır.

Sık yapılan hatalar:

  • Her iki ucu da aynı düz yüzeye vidalamak. Load cell bükülemez, hiç okuma alamazsınız.
  • Platformun tabana sürtmesi. Kuvvetin bir kısmı sürtünmeye gider, okuma tutarsızlaşır.
  • Yükün merkez dışına binmesi. Bar tipi load cell’ler merkezi yükleme için tasarlanmıştır; köşeye konan ağırlık farklı okunur. Dört köşeli platformlarda dört load cell veya merkezi bir yük aktarıcı kullanılır.
  • Kabloların gergin olması. Kablo platformu çekerse ölçüme karışır. Kabloyu gevşek bırakın ve sabitleyin.
  • Aşırı yükleme. Kapasitenin üzerinde yük kalıcı hasar verir. Mekanik bir durdurucu (yükün belli bir noktadan sonra tabana oturması) koymak iyi bir korumadır.

Gürültü ve Kararsızlık

BelirtiNeden ve çözüm
Değer sürekli oynuyorBesleme gürültülü — HX711’i ayrı, temiz 5V’tan besleyin; USB yerine adaptör deneyin
Değer yavaşça kayıyorSıcaklık değişimi — ısınma bekleyin, ani sıcaklık değişiminden kaçının
Titreşimde bozuluyorPlatformu titreşimden yalıtın, get_units() örnek sayısını artırın
Ağırlık kaldırılınca sıfıra dönmüyorMekanik sürtünme veya load cell aşırı yüklenmiş
Hep aynı sabit sayıDT/SCK ters bağlı veya load cell kablosu kopuk
Negatif okuyorYeşil/beyaz kablolar ters — değiştirin veya faktörü negatif yapın

Sıcaklık Etkisi

Load cell’ler sıcaklıktan etkilenir. İki ayrı etki vardır:

  • Sıfır kayması (zero drift): Yük yokken okunan değer sıcaklıkla kayar.
  • Duyarlılık kayması (span drift): Aynı ağırlık farklı sıcaklıkta farklı okunur.

Kaliteli load cell’lerde sıcaklık telafisi dahilidir; ucuz modüllerde yoktur.

Pratik önlemler:

  • Sistemi çalıştırdıktan sonra 10–15 dakika ısınmasını bekleyin.
  • Load cell’i doğrudan güneş, kalorifer veya soğuk hava akımından uzak tutun.
  • Uzun süreli ölçümlerde periyodik olarak otomatik dara alın (ağırlık yokken).

Hassasiyet Beklentisi

HX711 24 bitlik bir ADC’dir, ancak bu 24 bitlik kullanılabilir çözünürlük anlamına gelmez. Gürültü tabanı yüzünden pratikte elde edeceğiniz kararlı çözünürlük çok daha düşüktür.

Kaba bir beklenti: iyi bir montajla load cell kapasitesinin yaklaşık 1/2000 – 1/5000’i kadar kararlı okuma alabilirsiniz.

  • 5 kg’lık hücrede: 1–2 gram civarı
  • 50 kg’lık hücrede: 10–25 gram civarı

Bunun ötesinde bir hassasiyet iddiası (5 kg hücreyle 0,1 g ölçmek gibi) gerçekçi değildir.

Özet

Load cell, strain gauge’lerden oluşan bir Wheatstone köprüsüyle kuvveti çok küçük bir gerilim farkına çevirir. HX711 bu sinyali 24 bit çözünürlükle yükselterek okunabilir hale getirir.

Bu derste şunları öğrendik:

  • Strain gauge ve Wheatstone köprüsü prensibini
  • Load cell kablo renk kodunu ve HX711 bağlantısını
  • Kalibrasyon faktörünün nasıl hesaplandığını
  • tare() ile dara almayı
  • Mekanik montajın neden ölçümün yarısı olduğunu
  • Sıcaklık kaymasını ve gürültü kaynaklarını
  • Gerçekçi hassasiyet beklentisini