DIY-Wiegezelle aus Leitschaum

Hard · 1h · Mittlere Kosten

Ziel & Lerninhalt

Baue eine einfache Wiegezelle aus zwei flächigen Elektroden und einer dazwischen liegenden, leitfähigen elastischen Schicht (z.B. antistatischer Schaum) – Druck verändert den Widerstand.

  • Druckabhängigen Widerstand (Force-Sensitive Resistor) verstehen.
  • Wiegezelle mehrpunkt-kalibrieren (Tara + Referenz).
  • Hysterese und Drift erkennen und im Code abfangen.

Erklärung & Wissen

Basic

Manche Schaumstoffe – speziell schwarzer 'Antistatik-Schaum', der ESD-empfindliche Bauteile schützt – haben eine erstaunliche Eigenschaft: Sie leiten Strom ein bisschen. Drückst du den Schaum zusammen, leitet er besser, weil die leitfähigen Partikel im Schaum näher zueinander rücken. Klemmst du also eine Schaumschicht zwischen zwei Metallplatten, wird der Widerstand zwischen den Platten kleiner, je mehr Gewicht oben drauf steht. Dieses Sandwich verwendet das Mainboard wie einen großen, druckempfindlichen 'Schiebewiderstand' – fertig ist die Wiegezelle.

Medium

Der Schaum wirkt als druckabhängiger Widerstand (FSR-Prinzip). Im Ruhezustand: einige hundert kΩ bis MΩ; bei kräftigem Druck: einige kΩ. Du baust einen Spannungsteiler mit einem Referenzwiderstand, der ähnlich groß ist wie der Schaum-Widerstand im Mitt-Druckbereich (Anfangswert: 10 kΩ probieren). Der Mittelabgriff geht auf A0. Im Code mittelst du z.B. 32 Samples, ziehst einen Tara-Wert (Leergewicht der Auflage) ab und rechnest über eine Kennlinie (typisch nichtlinear) in Gramm/Kilogramm um. Mehrpunkt-Kalibrierung mit drei bekannten Gewichten ergibt eine deutlich bessere Genauigkeit als zwei Punkte.

Expert

Der Schaum hat Hysterese und Drift: Beim schnellen Wegnehmen der Last bleibt er minutenlang etwas weicher, beim langen Halten hoher Lasten kriecht der Wert weiter nach unten. Das ist material-physikalisches Kriechen (Viskölastizität). Konsequenzen: (1) Du brauchst eine Tara-Logik VOR jeder Messung. (2) Schnelle Bewegungen geben sauberere Werte als langes Halten. (3) Für längere Messungen mittelst du über Zeitfenster und akzeptierst eine endliche Genauigkeit von 5–10 % vom Endwert. Eine professionelle Wiegezelle nutzt stattdessen Dehnmessstreifen (DMS) in Wheatstone-Brücke, oft schon ab 5 €. Das DIY-Schaum-Modell taugt für 'mehr/weniger', nicht für analytische Genauigkeit.

Fun Fact

Genau dieses Prinzip steckt in vielen frühen Touchscreens des iPhone-Vorzeitalters – etwa in den Nintendo DS-Geräten: zwei dünne Folien mit leitfähiger Beschichtung, dazwischen Mikro-Abstandshalter. Der Touchstift drückt sie zusammen, der Widerstand verrät die Position.

Force-Sensitive Resistor (FSR)
Widerstand, dessen Wert mit der wirkenden Kraft sinkt. Eine leitfähige Schicht und eine resistive Schicht, getrennt durch Mikro-Lufträume. Druck presst beide Schichten zusammen, neue Kontaktpfade entstehen, $R$ sinkt von $\sim 1\,\mathrm{M\Omega}$ auf wenige kΩ.
Viskölastische Hysterese
Schaum 'erinnert' sich an die Druckgeschichte und kehrt nicht sofort zurück. Polymerketten gleiten unter Last gegeneinander (Kriechen). Beim Entlasten brauchen sie Zeit, ihre ursprüngliche Konformation zurückzunehmen. Folge: Messwerte hängen davon ab, wie lange und wie schnell das Gewicht aufgesetzt wurde.
Tara
Software-Nullpunkt-Reset, der das Gewicht der Auflage ausblendet. Vor der Messung speichert der Code den aktuellen Ruhe-ADC als Offset. Alle künftigen Messungen werden relativ zu diesem Offset interpretiert. Eine Taste oder ein Befehl im Monitor löst die Neu-Kalibrierung aus.
Mehrpunkt-Kalibrierung
Drei oder mehr bekannte Gewichte messen und daraus eine Kennlinie berechnen — genauer als zwei Punkte. Zweipunkt-Kalibrierung: Gerade durch zwei Punkte — funktioniert wenn der Sensor perfekt linear ist. FSR-Schaum ist nicht linear: anfangs viel Widerstandsänderung, bei hohem Druck immer weniger (progressiv). Lösung: 3+ Stützpunkte (z.B. 0 g, 200 g, 500 g, 1000 g) → im Code per `map()` in Segmenten interpolieren oder Lookup-Tabelle verwenden. Fehler typisch: Zweipunkt-Kalibrierung bei einem FSR liefert Fehler bis ±30 % bei Mittelwerten; drei Punkte reduzieren auf ±10 %.

Praktischer Versuch: Mini-Personenwaage

Schaum-Sandwich zwischen zwei Aluplatten, Spannungsteiler an A0, Tara + 3-Punkt-Kalibrierung im Code.

  • 2 stabile flache Metallplatten (z.B. zugeschnittenes Alublech, 10 × 10 cm)
  • 1 Stück antistatischer Schaum (gleiche Fläche, ca. 5–10 mm dick)
  • 1 Widerstand 10 kΩ (Referenz)
  • Klebeband, evtl. dünner Stoff als Auflage (Reibung)
  • Bekannte Referenzgewichte (z.B. Mehl/Reis in Tüten, mit Küchenwaage abgewogen)
  1. Sandwich bauen

    Klebe die untere Platte auf den Tisch. Lege den Schaum mittig drauf. Lege die obere Platte deckungsgleich drauf. Schaum dazwischen, fertig.

    Check: Aufbau steht plan und kippelt nicht.

    Tipp: Beide Platten genau gleich groß, der Schaum etwas kleiner – damit Druck wirklich auf den Schaum geht, nicht auf die Plattenkanten.

  2. Kontakte herstellen

    Klemme an jede Platte einen Draht (Krokoklemme oder Klebeband + Litze).

    Check: Multimeter zeigt zwischen den Platten klare Widerstandsänderung beim Drücken.

    Tipp: Drahtende mit Klebeband flächig an die Platte tapen – kein einzelner Punkt-Kontakt.

  3. Spannungsteiler aufbauen

    5V → obere Platte → Schaum → untere Platte → 10 kΩ Referenz → GND. Mittelabgriff (untere Platte + Widerstand) → A0.

    Check: Ruhewert ADC stabil zwischen 200 und 800.

    Tipp: Außerhalb dieses Fensters → Referenzwiderstand anpassen (z.B. 4,7 kΩ oder 22 kΩ).

  4. Manuell ohne Code prüfen

    Vor dem ADC-Test einmal mit der Hand prüfen, ob das Sandwich überhaupt mechanisch reagiert.

    Check: Mit dem Multimeter direkt an A0: Spannung sinkt, wenn du draufdrückst, steigt beim Entlasten zurück (mit Verzögerung!).

    Tipp: Wenn der Wert beim Loslassen nicht zurückkehrt: Hysterese-typisch. Kein Defekt, sondern Materialeigenschaft.

  5. Tara + 3 Referenzgewichte

    Tara (Reset auf 0). Lege ein bekanntes 100-g-Gewicht auf, notiere ADC. Wiederhole mit 500 g und 1 kg. Trage die drei Stützpunkte in den Code ein.

    Check: Monitor zeigt für drei bekannte Gewichte plausible Werte (±10 %).

    Tipp: Lieber halbquantitativ als zu genau erwartet – DIY-Wiegezellen sind keine Apotheker-Waagen.

5V → obere Aluplatte → Schaum → untere Aluplatte → 10 kΩ Referenz → GND. A0 zwischen unterer Platte und 10 kΩ.

// ProtoPeaks - Wiegezelle aus Leitschaum
const int sensorPin = A0;
int tara = 0;

// Lookup: 3 Kalibrierpunkte {ADC, Gewicht in g}
const int adc100 = 750, adc500 = 500, adc1000 = 300;

int adcToGramm(int adc) {
  if (adc > adc100) return 0;
  if (adc > adc500) return map(adc, adc100, adc500, 100, 500);
  return map(constrain(adc, adc1000, adc500), adc1000, adc500, 1000, 500);
}

void setup() {
  Serial.begin(9600);
  delay(500);
  long sum = 0;
  for (int i = 0; i < 32; i++) sum += analogRead(sensorPin);
  tara = sum / 32;
}

void loop() {
  long sum = 0;
  for (int i = 0; i < 32; i++) sum += analogRead(sensorPin);
  int adc = sum / 32;
  int g = adcToGramm(adc);
  Serial.print("ADC: "); Serial.print(adc);
  Serial.print("  Gewicht: "); Serial.print(g); Serial.println(" g");
  delay(300);
}
  • Sandwich reagiert kaum auf Druck. — Schaum zu hart oder kein leitfähiger Schaum (Verpackungsschaum ohne Ruß leitet nicht). Echten Antistatik-Schaum verwenden.
  • Wert kehrt nach Entlastung nicht zurück. — Viskölastik des Schaums. Kurz mit der Hand drücken, dann Tara neu setzen. Für reproduzierbarere Werte langsamen, schwingenden Lastwechsel vermeiden.
  • Werte rauschen stark. — Aufbau steht auf weicher Unterlage → ständiger Druckwechsel. Auf harte ebene Fläche stellen, im Code Mittelung erhöhen.

Kurzzusammenfassung

Mit zwei Aluplatten und einer Schicht Antistatik-Schaum entsteht eine grobe, aber funktionierende Wiegezelle. Druck → kleinerer Widerstand → andere Spannung am ADC. Tara plus 3-Punkt-Kalibrierung liefert Werte mit etwa 10 % Genauigkeit – kein Apotheker-Standard, aber für Spiele und 'mehr/weniger'-Anwendungen ausreichend.

Ähnliche Themen