⚖️ HX711 Vejecelle-forstærker (24-bit)
En vejecelle giver kun nogle få millivolt fra sig – alt for lidt til din Arduinos analoge pin. HX711 er en 24-bit A/D-konverter med indbygget forstærker, lavet præcis til vejeceller. Den forstærker signalet og sender et tal til din microcontroller over to ledninger.
Den passer direkte til vores 10 kg vejecelle – så har du en komplet DIY-vægt til filament, køkken, bistade eller kattens madskål.
🛒 Køb HX711 📄 Officielt datasheet (Avia, PDF) ⚖️ Datasheet: 10 kg vejecelle
⚡ Hurtige specifikationer
| Parameter | Værdi |
|---|---|
| Chip | Avia Semiconductor HX711, 24-bit ΣΔ A/D-konverter |
| Forsyning | 2,6–5,5 V (virker med både 3,3 V og 5 V) |
| Kanal A | Forstærkning 128 (±20 mV) eller 64 (±40 mV) ved 5 V |
| Kanal B | Fast forstærkning 32 (±80 mV) |
| Hastighed | 10 målinger/s (RATE = GND, typisk på moduler) eller 80/s |
| Interface | 2-leder seriel (DT/DOUT + SCK/PD_SCK) – ikke I2C |
| Vejecelle-forsyning | Modulet leverer selv excitation på E+/E− |
📌 Pinout
Microcontroller-siden
| Pin | Navn | Funktion | Forbindes til |
|---|---|---|---|
| 1 | GND | Stel | GND |
| 2 | DT (DOUT) | Data ud | D2 (UNO/Nano) / GPIO16 (ESP32) |
| 3 | SCK (PD_SCK) | Clock ind / power-down | D3 (UNO/Nano) / GPIO4 (ESP32) |
| 4 | VCC | Forsyning 2,6–5,5 V | 5V (UNO/Nano) eller 3V3 (ESP32) |
| E+ | E+ | Excitation + til vejecellen | Rød ledning |
| E− | E− | Excitation − til vejecellen | Sort ledning |
| A− | A− | Signal − kanal A | Hvid ledning |
| A+ | A+ | Signal + kanal A | Grøn ledning |
| B−/B+ | B−/B+ | Kanal B (forstærkning 32) | Bruges normalt ikke |
Rækkefølgen ovenfor er den almindelige grønne HX711-version. Nogle printversioner har en separat VDD-pin eller anden rækkefølge – læs silketrykket. Ledningsfarverne gælder vores 10 kg vejecelle (og de fleste andre), men tjek din egen celle.
🔌 Sådan forbinder du den
| HX711 | Arduino UNO / Nano | ESP32 (DevKit) |
|---|---|---|
| VCC | 5V | 3V3 |
| GND | GND | GND |
| DT | D2 | GPIO16 |
| SCK | D3 | GPIO4 |
Vejecellen kobles på E+/E−/A−/A+ som i pinout-tabellen. Stiftlisterne medfølger uden at være loddet på – lod dem, eller lod vejecellens ledninger direkte på pads for den mest stabile forbindelse.
💻 Eksempelkode
Trin 1: Kør koden med KALIBRERING = 1.0, læg et kendt lod på (fx en pakke smør på 250 g) og notér tallet. Trin 2: Del tallet med vægten i gram, og sæt resultatet ind som KALIBRERING.
Bibliotek: "HX711 Arduino Library" af Bogdan Necula (bogde)
#include "HX711.h"
const int DT_PIN = 2; // ESP32: 16
const int SCK_PIN = 3; // ESP32: 4
float KALIBRERING = 1.0; // erstat med din egen faktor
HX711 vaegt;
void setup() {
Serial.begin(57600);
vaegt.begin(DT_PIN, SCK_PIN);
Serial.println("Tøm vægten - nulstiller...");
delay(2000);
vaegt.set_scale(KALIBRERING);
vaegt.tare(); // nulpunkt
Serial.println("Klar! Læg noget på.");
}
void loop() {
if (vaegt.is_ready()) {
float gram = vaegt.get_units(10); // gennemsnit af 10 målinger
Serial.print("Vægt: ");
Serial.print(gram, 1);
Serial.println(" g");
} else {
Serial.println("HX711 ikke klar");
}
delay(500);
}
💡 KompoNemt-tip fra værkstedet
- Lod ledningerne: Vejecellens signal er mikroskopisk. Løse DuPont-forbindelser på E+/E−/A+/A− giver drift og hop. Lod dem direkte.
- Vent på varmen: Lad vægten være tændt et par minutter, før du tarerer – både celle og forstærker driver lidt, mens de varmer op.
- Negativ vægt? Byt A+ og A− (grøn og hvid), eller brug en negativ kalibreringsfaktor.
- Korte, snoede ledninger: Hold ledningerne mellem celle og HX711 korte og gerne snoet sammen parvis – det dæmper støj.
🔧 Fejlfinding
- "HX711 ikke klar" hele tiden: DT og SCK er byttet om eller ikke forbundet. Tjek også VCC/GND.
- Tallet hopper vildt: Løs forbindelse til vejecellen, eller cellen er ikke monteret ordentligt (se vejecelle-artiklen).
- Tallet står helt stille på samme værdi: Vejecellen er ikke tilsluttet, eller E+/E− mangler.
- Vægten driver langsomt: Normalt efter opstart – vent, tarér igen, og undgå træk/varme tæt på.
Sidder du fast? Skriv til os – vi hjælper gerne.