Digitale Küchen-Waage
Digitale Küchenwaagen – schon seit es sie gibt ärgere ich mich darüber. Entweder geht ihr Maximalgewicht nur bis 1 kg oder ihre Auflösung ist weniger als ein Gramm.
Tatsächlich habe ich eine (alte) Waage eines namhaften Herstellers
die bis maximal 1 kg geht (ab 64 g nur noch mit 2 g
Auflösung, also gerade mal 9 Bit). Solange ich nur leichte Plastik-
Also wollte ich wieder ein bisschen spielen und habe mir eine 10 kg-
Auch bei diesem Projekt muss ich darauf hinweisen, ich hatte noch nie
zuvor mit Wägezellen zu tun. Dies ist meine erste Waage und weder die Konstruktion
noch die Software mögen optimal sein. Es ist letztlich nur ein Experiment, ein Spiel.
Vielleicht können Sie es besser, versuchen Sie es.
Speziell im Punkto Konstruktion mag eine Wägeschüssel
, die mit drei Fäden nur an einem
Punkt an der Wägezelle hängt (wie man es von Diamantwaagen kennt)
günstiger sein, da sie unkontrollierte Drehmomente vermeidet,
allerdings auch deutlich unpraktischer.
In der fertigen Konstruktion hat sich gezeigt, dass es ziemlich egal ist, wo auf dem Wägeteller das Gewicht platziert ist. Die Wägezelle scheint Drehmomente weitgehend zu ignorieren.
Wenn Sie es besser können wäre ich Ihnen über eine Mitteilung dankbar, wie Sie es geschafft haben.
Meine Schaltung hat satte 6 Stellen zur Anzeige, also kg bis 10 mg pro Digit, wie viele davon nützlich sind
wird die Zukunft zeigen...
aber schließlich haben wir einen 24-
Diesmal habe ich die Schaltung komplett in
THT
ausgeführt da ich sie ursprünglich nur auf einer Lochraster-
Für das Layout habe ich mich diesmal für KiCad (Damals noch Version 5.1.9, die aktuellen Downloads mögen eine neuere Version erfordern, aber sie ist ja kostenlos!) entschieden.
Schon lange wollte ich mal sehen, wie sich dieses Open-
Das Siebensegment-Tab
des Spannungsreglers
wirken noch etwas holprig aber man weiß, was gemeint ist.
In der aktuellen Version 8 sieht es, zusammen mit ein paar selbst erstellten Modellen (z.B. Siebensegment-Anzeige, Widerstände) inzwischen schon deutlich besser aus.
Auch die Downloads sind mittlerweile auf Version 8 aktualisiert.
Es vermisst(e) aber auch selbstverständliche Funktionen
wie Polygone auf Kupfer-
Die Konstruktion von unregelmäßigen Bauteilen oder z.B. von runden Leiterplatten wird
durch das Fehlen von Kupfer-
Ich habe einige Bauteile für dieses Projekt neu erstellt. Leider entsprechen diese
nicht hinreichend den mittlerweile sehr
strengen Regeln für die Aufnahme
in die offizielle KiCad-
Eine mir besonders widerstrebende Regel dabei ist die PIN 1-Regel:
Pin 1 muss der Ursprung und links oben sein
.
Pin 1? Warum sollte ein Bauteil überhaupt einen Pin 1
haben?
Eine Diode hat A
und C
, ein Elko hat Plus
und Minus
, ein Taster hat CO
, NC
und NO
.
Ein CE-
Auch wenn das Display 90° gedreht ist oder der Taster auf dem Kopf steht wenn Pin 1 links oben ist, egal. Simple minds, simple pleasures, kann ich dazu nur sagen.
So würde ich meine Bibliothek niemals erstellen! Pin 1 ist genauso wichtig wie Pin 3 oder jeder andere, warum sollte er eine ausgezeichnete Position erhalten? Warum sollte er gekennzeichnet sein (bei einem Widerstand zum Beispiel, er ist im Schaltplan nicht gekennzeichnet, warum dann im Layout?) Bei ICs oder Steckverbindern macht das durchaus noch Sinn aber bei einem Taster oder einem Display? Oder einem Widerstand? Bei vielen Bauteilen ist eigentlich nur der geometrische Mittelpunkt als Ursprung sinnvoll oder eine andere funktional wichtige Position (die Achse des Tasters, der Leuchtpunkt einer LED etc.). Wo Pin 1 ist, ist doch eigentlich völlig unerheblich.
Tatsächlich kennzeichne auch ich in meiner Bibliothek
zumindest bei polaren Bauteilen Pin 1 (oder die Kathode, den Minuspol) normalerweise durch ein quadratisches Pad während alle anderen rund sind
aber nicht um ihn als Ursprung festzulegen sondern lediglich deshalb,
damit ich hinterher beim Messen weiß, von wo aus ich zählen muss bzw. wo minus
ist.
Stellen Sie sich einen Elko vor, 5 mm Durchmesser, 3,5 mm Pin-
Bei einem Taster würde ich immer die bewegte Achse als Nullpunkt wählen, bei einem Display die Mitte
des Anzeigefeldes (oder vielleicht die linke obere Ecke)
und bei einem Widerstand den geometrischen Mittelpunkt, wie er auch bei KiCad seltsamerweise
bei SMD-
Tatsächlich würde ein erfahrener Layouter wohl niemals ein Bauteil direkt aus der KiCad-
Das ist in der Praxis auch das größte Hindernis auf ein besseres System umzusteigen. Wenn Sie Jahre oder Jahrzehntelang mit einem System gearbeitet haben gibt es auch eine entsprechende Bibliothek mit Ihren Bauteilen, die Sie wieder und wieder verwenden. Diese würde verfallen wenn sie umsteigen würden (bisher habe ich noch keine 100%ige Übernahme in irgend ein anderes System gesehen) und die ganze Arbeit ginge von vorne los.
Natürlich können Sie auch auf die neue Bibliothek zurückgreifen sofern diese alle Ihre Bauteile enthält aber das Look-And-Feel Ihrer Arbeiten würde verloren gehen. Kein Layouter will das, Layouter sind auch Künstler! Das Layout muss letztlich auch schön sein.
Tatsächlich gibt es keinen Zwang (und keinen Grund)
die KiCad-
KiCad pervertiert hier einfach die Macht von simplen Design-
Selbst in den Package-
Früher (bei 4:3 Monitoren) nur wenig, doch seit gängige Monitore 16:9-
Nach jahrzehntelanger Arbeit im Leiterplatten-
Früher, als alle Pins im 2.54 mm-
Heute spielt es keine Rolle, ob Pin 1 im Raster liegt. Alle anderen Pins sind
meist sowieso daneben, sei es bei der 5 mm-
Selbst bei Steckverbindern im 2.54 mm-
Je nachdem, welchen Librarian Sie bei KiCad erwischen
kann er sinnvolle Abweichungen
davon tolerieren oder auch nicht...
3d-Modelle
Was die 3D-
KiCad wollte das Modell nicht, so hier können sie es haben.
Natürlich ohne Garantie auf Verwendbarkeit unter der nächsten KiCad-
Wägezelle
Die verwendete Wägezelle mit einem Messbereich von 0..10 kg besteht aus
einem geeignet bearbeiteten Aluminium-
Das Datenblatt ist, sagen wir, sparsam. Es spezifiziert zwar eine maximale Überlast von 120% (also 12 kg, mehr könnten die Zelle schon dauerhaft schädigen), sagt jedoch nicht um wieviel sich die Zelle dabei verformt und ob ein mechanischer Endanschlag überhaupt sinnvoll realisierbar ist.
Tatsächlich verformt sich der Wägebalken nur um wenige zehntel Millimeter. Ein mechanischer Endanschlag ist damit kaum möglich, er müsste auf hundertstel eines Millimeters genau eingestellt werden. Zusätzlich müsste er vor Verschmutzung geschützt werden da bereits Staubkörner den Unterschied zwischen einem Überlastschutz und einer Verfälschung des Messergebnisses durch mangelnde Bewegungsfreiheit ergeben könnten.
In meinem Aufbau ist der Balken daher nicht gegen Überlast geschützt. Ich weiß, dass er empfindlich ist
und passe entsprechend auf. Für ein Consumer-
Natürlich können Sie hier auch eine andere Wägezelle einsetzen, bspw. eine mit 200 kg
um eine Personenwaage zu bauen (oder eine mit 50 t für Lastwagen, dessen
Zuladung Sie dann auf 500 g genau messen können).
Allerdings müssen sie die Grenzwerte für
die Kalibrierung dann entsprechend anpassen.
Dies kann auch für die digitale Filterung gelten.
Für eine Küchenwaage möchte ich schon nach einer Sekunde
zumindest ungefähr wissen,
was darauf liegt, bei einer LKW-
AD-Wandler
Der AD-
Das klingt zunächst einmal gigantisch aber 24 Bit bei 5 V sind gerade mal 300 nV pro Bit. Rauschen und eingekoppelte Störungen kommen sehr schnell in diese Größenordnung. Und der PGA verstärkt nicht nur das Signal sondern auch das Rauschen (auch sein eigenes) und macht 24 Bit schnell illusorisch.
Die Wägezelle spezifiziert auch nur 1 mV/V, bei 5 V also auch nur 5 mV bei Vollausschlag. Um den Faktor 128 verstärkt macht dies gerade mal 640 mV so dass wir nur ein zehntel des Messbereichs nutzen können. Bei 10 kg macht dies etwa 6 mg pro Bit. (Idealerweise würden 24 Bit etwa 0,6 mg pro bit ergeben.)
Man kann also nicht erwarten, mit jeder Messung 24 Bit Genauigkeit zu erreichen sondern man muss das Signal hinterher digital filtern um die Möglichkeiten der Hardware auszureizen.
Dies ergibt eine deutliche Reduzierung der Messrate aber für eine Küchenwaage reicht mir ein, besser zwei Messwerte pro Sekunde völlig aus.
Da der Wandler jedoch nur 10 Messwerte pro Sekunde liefert ist auch diese Möglichkeit stark eingeschränkt.
Für die Filterung habe ich drei verschiedene Methoden implementiert. Sehen Sie unter Software nach um mehr zu erfahren.
Rauschen: Das Datenblatt des HX liefert hier einen ziemlich missverständlichen Wert. 50 nV bei einem Gain von 128. Das bedeutet 6.4 µV am Wandler. Das entspräche etwa 21 counts oder 4,4 Bits. Bezogen auf die 640 mV des nutzbaren Bereichs entspricht das in etwa den erhaltenen 7,7 Bit!
Entsprechend erhalten wir keine 24 Bit Genauigkeit sondern nur 16,3 Bit, also etwa 100.000 counts, entsprechend 5 Stellen!
Controller
Auch diesmal bin ich wieder bei einem Atmel AVR hängen geblieben, dem ATmega48.
Er war der billigste ATmega-
Inzwischen hat der Code eine Größe angenommen, die nicht mehr in das Flash des ATmega48 passt so dass mindestens ein ATmega88 nötig ist (der aber pinkompatibel ist). Alternativ kann in den Sourcen auch ein ATmega8 gewählt werden.
Wenn Sie Abstriche im UI und einigen anderen Funktionen (z.B. Kalibrierung mittels spezieller Firmware) in Kauf nehmen kann der ATmega48 immer noch reichen.
Ein Gedanke dazu, wenn Sie es wirklich billig haben wollen: Es mag sein, dass es einen 8-
Anzeige
Nach jahrzehntelanger Abstinenz habe ich hier
erstmalig wieder eine Siebensegment-
Warum sollte ich 48 Segmente mit erheblichem Software-
Ich wurde gefragt, warum nicht ein LCD, braucht doch weniger Strom. Nun, ja das stimmt aber zum einen ist ein
LED-
Natürlich könnte man das LCD zur besseren Lesbarkeit auch hinterleuchten...
Die sechs Stellen reichen aus um Gewichte < 10 kg mit 10 mg Auflösung anzuzeigen, obwohl das letzte Digit wohl nicht zuverlässig erreichbar ist.
Tatsächlich zeigt auch das zweite Digit des Raw-Hausnummern
aber ein Ziel dieses Projekts
war ja auch herauszufinden, was der HX kann und was nicht.
Erstaunlich ist, dass es inzwischen zwar LEDs gibt, die mit einem mA gleißend hell sind,
Siebensegment-
Trotzdem ist das immer noch deutlich weniger als ein Watt also brauchen sich
auch Öko-
Mit einem 100 Ω-
Auch wenn eine Anzeige von 8.8.8.8.8.8. eher unwahrscheinlich scheint, es kann durchaus
sein, dass einzelne Segmente bei allen Digits über längere Zeit an sind
und damit den Port-
Die Ablesbarkeit kann durch ein orange-Technic-
.
Allerdings ist mein komplett offener Aufbau natürlich anfällig für Verschmutzung
und in einer produktiven Ausführung würden wir sicherlich eine Art
Gehäuse
darüber packen. Ich behelfe mich damit, das Ding ab und zu mit
Druckluftspray sauber zu pusten...
Das funktioniert solange ich nur nichtleitende Stäube wie Mehl und Zucker auflege.
Taster
Ein (einziger) Taster musste sein, alleine schon zum Einschalten.
Im Serien-Gerät könnte der Taster auch versteckt unter der Leiterplatte angeordnet sein so dass das Einschalten durch Druck auf das Display erfolgt, hier ist es ein simpler Shadow Digitast, der aber auch professionell aussieht und ein angenehmes Tastgefühl hat.
Speziell bei billigen Tastern habe ich immer wieder erlebt
dass der Klick
nichts mit dem tatsächlichen Schaltvorgang
zu tun hat.
Der Taster schaltet das Gerät nicht nur ein, sein Zustand kann
(und muss) auch im Betrieb vom Controller
abgefragt werden. Abgeschaltet wird über einen Port-
Beim Einschalten wird, genau wie bei einem mittellangen
(>2 s) Tastendruck, die Waage auf Null
gestellt. Letzteres kann als Zuwiege-Tara
) benutzt werden.
Ein wirklich langer (>10 s) Tastendruck führt in den Kalibrier-
Stromsparmodus
Um die Batterie zu schonen wird das Display abgeschaltet wenn sich das Gewicht nicht mehr wesentlich ändert. Nach 15 Sekunden wird das Display schrittweise dunkler getastet um die beginnende Langeweile anzuzeigen. Nach vier Minuten Inaktivität schaltet sich das Gerät ab.
Durch einen kurzen Tastendruck kann das Display während
der Abdunklung wieder aktiviert werden.
Die Timeout-
Kein Problem also wenn Sie kurz in den Keller gehen müssen um Mehl zu holen...
Nach vier Minuten Inaktivität schaltet sich das Gerät dann endgültig ab. Das aufgelegte Gewicht ist dann vergessen und beim erneuten Einschalten zeigt es 0.0 kg an.
In diesem Zustand braucht das Gerät keinen Strom
(abgesehen vom Leckstrom des MOSFETs, einige
µA, entsprechend einer Batterie-
Der Stromsparmodus kann deaktiviert werden indem Sie einen Jumper von Pin 4 nach Pin 6 der Programmierschnittstelle stecken. Es erfolgt dann kein Dimming der Anzeige und das Gerät wird sich nicht selbstständig abschalten. Es bleibt an bis die Stromversorgung unterbrochen wird. Abschaltung mittels Taster ist nicht vorgesehen. Die Anzahl der Aktionen die man mit einem Taster (sinnvoll) vornehmen kann ist begrenzt...
Beschleunigte Abschaltung
Um die Batterie noch mehr zu schonen wurde ein Verfahren eingeführt, das die Abschaltung bereits nach 15 s durchführt falls kein nennenswertes Gewicht aufgelegt wurde, d.h. wenn das angezeigte Gewicht länger als 15 s weniger als 5 g beträgt schaltet das Gerät ab.
Wenn Sie die Abschaltung beschleunigen wollen setzen Sie also die
Waage auf 0
(zwei Sekunden drücken), dann geht sie nach 15 s aus.
Das heißt aber auch, wenn sie zuwiegen wollen, stellen Sie erst auf Null wenn das zusätzliche Material auch bereit liegt!
Stromaufnahme
Bei voller Helligkeit braucht das Gerät etwa 65 mA bei 9 V Versorgung. Durch Vornullen-Unterdrückung kann dieser erheblich reduziert werden sofern nur kleine Gewichte aufliegen. 0.073.12 verbraucht etwa 81% mehr (!) als 73.12 wie man durch Zählen der aktiven Segmente leicht ermitteln kann so dass es sich rentiert, hier ein paar Bytes Programmspeicher zu investieren. Mit dem Dimming der Anzeige reduziert sich das etwa auf 50 mA bzw. 30 mA in der dunkelsten Stufe. Viel weiter können wir den Stromverbrauch nicht reduzieren. Den Rest braucht einfach die Wägezelle (und der HX und der Controller). Nur Abschalten ist billiger.
Eine 9 V Blockbatterie hat etwa 400 mAh Kapazität und würde im aktiven Betrieb bei voller Helligkeit also etwa sechs Stunden durchhalten.
Das klingt zunächst ernüchternd, ein vollständiger Zyklus aus 15 s mal 65 mA plus
50 s mal 50 mA plus 210 s mal 30 mA ergibt jedoch nur 2.2 mAh
so dass die Batterie etwa 180 Messungen überstehen würde. Wie oft backen Sie Kuchen?
Bei einem pro Woche wären das also grob drei Jahre. So lange hält die Batterie auch
ohne Belastung gerade mal so durch. Man könnte also in der Anleitung getrost von einer Batterie-
Erste Versuche
... waren ziemlich ernüchternd. Ich ließ mir dazu den Raw-
Für wirklich genaue Messungen muss die gesamte Waage in einem kleinen, geschlossenem Raum untergebracht werden (etwa unter einer Kuchenhaube) um Kräfte durch Luftbewegungen oder Temperaturänderungen entgegenzuwirken und es muss abgewartet werden bis diese sich thermisch stabilisiert hat, d.h. alle Teile der Waage die gleiche Temperatur (die der Kuchenhaube) angenommen haben.
Allerdings... ändert sich das Rauschen kaum, selbst wenn
man nur den zweiten Eingang misst, dessen beide Pins ja fest
im GND stecken, oder die Pins des A-
Bei 6 mg pro bit würde das bedeuten, das mehr als 1 g nicht erreichbar sind! Vier Digits hätten dann also gereicht. Wie schnell doch die erhofften 24 Bit auf knapp 14 (also etwa auf ein Tausendstel) schrumpfen können, wie schnell aus sieben Digits magere vier werden...
Gauß'sches Rauschen des Wandlers vorausgesetzt können wir durch Mittelwertbildung die Genauigkeit erhöhen. Da aber nur 10 Messwerte pro Sekunde ankommen müssen wir bereits eine Sekunde mitteln um das fünfte Digit zu bekommen. Für das sechste Digit 10 s.
Längere Integrationszeiten
Versuche haben gezeigt, dass eine längere Integrationszeit (also eine Mittelwertbildung über mehr
als nur 8 Messwerte, etwa 64, das Rauschen auf wenige Digits der 10 mg-
Trotzdem läuft auch dann der Messwert häufig langsam aber stetig um einige 100 mg weg,
was wahrscheinlich an thermischen Ungleichgewichten und/
Auflösung
Wie hoch ist sie nun? Ein Kilogramm macht im AD-
Gestatten Sie mir einen Vergleich: Stellen Sie sich vor, 5 V entspräche dem stürmischsten Seegang, mit 10 m hohen Wellen. Mit 24 Bit wollen wir nun Wellen von einem halben tausendstel Millimeter auflösen! Selbst mit der Reduktion auf zwei Millionen Counts wollen wir die Höhe einer 10 m-Welle mitten im Sturm auf 0,005 mm genau messen. Wir müssen verrückt sein...
Dieser simple Vergleich erklärt aber auch das Rauschen. Ein paar Tropfen spritzen Meter darüber hinweg ohne Schaden anzurichten, die Hauptwelle taucht darunter hindurch (und führt ziemlich sicher zur Seekrankheit). Ein kurzer Blick kann die wahre Wellenhöhe nicht erkennen. Erst wenn wir Mittelwerte bilden ergibt sich ein reales Bild des Seegangs.
Nebeneffekte
Dass es schwierig werden würde, 10 kg mit einer Auflösung von
100 oder gar 10 mg zu messen war mir von Anfang an klar.
Interessant fand ich jedoch, wenn man 1 g auflegt und wieder
wegnimmt ist die Waage wieder auf Null. Drückt man jedoch mit der Hand darauf
wandert der Nullpunkt langsam aber stetig weg. Das liegt vermutlich daran,
dass mit der Hand die Wägeplatte auch erwärmt wird und damit auch die eine
Seite des Wägebalkens wärmer wird und sich ausdehnt. Die
DMS können nicht
unterscheiden, ob dies an einer Temperatur-
Ein guter Tip wäre wohl, für die Befestigung der Wägeplatte Nylon-
Nun, ich habe es sicherlich nicht auf Anhieb geschafft, eine Präzisionswaage wie z.B. von Mettler zu bauen aber die Erkenntnisse waren für mich wertvoll und ich hoffe, auch für Sie!
Ich wollte eine Waage, die 10 kg im Sub-
Wozu sonst braucht man sonst so eine hohe Auflösung? Nun, eine Zählwaage wäre ein denkbarer Einsatz. Dazu bräuchte man allerdings noch ein oder zwei Taster mehr, besser noch eine Zehnertastatur. Dann könnte man einen Sack voller Bauteile (jedes mit nur einigen 10 mg Gewicht) auf's Stück genau zählen.
Vom Wandler hatte ich mir ursprünglich mehr versprochen aber er hat es leider nicht gehalten.
Mechanische Konstruktion
Ich habe zwei Alu-
Fünf selbstklebende Gummifüße (an den vier Ecken und in der Mitte, um eine Durchbiegung der Grundplatte zu reduzieren) sorgen für eine adäquate Auflage auf dem Küchentisch. Bei unebenen Auflageflächen darf nicht mit genauen Messungen gerechnet werden!
Alle Leitungen (zur Wägezelle und zur Batterie) habe ich unten an der Leiterplatte angelötet. Damit ist sichergestellt, dass diese nicht mit der beweglichen Wägeplatte in Kontakt kommen und damit das Ergebnis verfälschen könnten.
Man könnte auch zwei Frühstücksbretter dafür nehmen und wenn man
in Holzbearbeitung etwas Erfahrung hat kann es hinterher richtig gut aussehen...
Zusätzlich wäre Holz vorteilhaft was Shock-
Diese Konstruktion schützt allerdings, wie bereits erwähnt, die Wägezelle nicht vor Überlast, insbesondere auch nicht vor pulsförmigen Überlasten. Wenn selbst ein leichtes Teil, wie z.B. ein Esslöffel, aus relativ geringer Höhe auf die Wägeplatte fällt, oder gar die gesamte Waage auf den Boden fällt, können die 12 kg Maximallast kurzzeitig überschritten werden und die Wägezelle bereits dauerhaft schädigen! Manchmal wirkt sich das vielleicht gar nicht aus, manchmal mag sich das durch eine Neukalibrierung erledigen lassen, manchmal ist das Ding dann aber auch einfach kaputt. Es mag zwar noch wiegen aber niemals mehr die anvisierte Genauigkeit erreichen.
Fixieren Sie alle Leitungen die von der Wägezelle oder von der Batterie zur Schaltung gehen unbedingt an der Grundplatte (und sei es nur mit Klebeband, Kaptonband wäre wohl ideal) und legen Sie keine Reserveschlaufen. Wir brauchen keine Reserve. Kappen Sie alle Drähte so dass sie so lange sind wie nötig. Kein Draht darf die Wägeplatte berühren da diese Kraft die Wägung beeinflussen würde.
Im vorstehenden Foto sehen Sie wie ich die Leitungen mit Isolierband
an der Grundplatte fixiert habe. Die Batterie-