Digitale Küchen-Waage

Digitale Kü­chen­waagen - schon seit es sie gibt är­gere ich mich da­rü­ber. Ent­we­der geht ihr Ma­xi­mal­ge­wicht nur bis 1 kg oder ihre Auf­lö­sung ist we­ni­ger als ein Gramm.

Tat­säch­lich ha­be ich ei­ne (alte) Waa­ge eines nam­haf­ten Her­stel­lers die bis maxi­mal 1 kg geht (ab 64 g nur noch mit 2 g Auf­lö­sung, also ge­rade mal 9 Bit). So­lan­ge ich nur leich­te Plas­tik-Schüs­seln ver­wen­de reicht dies zum Ku­chen­backen aber wenn ich die Edel­stahl-Schüs­sel mei­ner Kü­chen­ma­schine auf­lege ist sie be­reits an ihrer Gren­ze und Zu­wie­gen ist illu­sorisch.

Also wollte ich wieder ein biß­chen spie­len und ha­be mir eine 10 kg-Wä­ge­zel­le und eine ge­eig­nete Elek­tronik be­sorgt. Letz­tere hät­te ich na­tür­lich lie­ber selbst ent­wickelt, gibt es doch ei­nen tol­len AD-Wand­ler HX711, 24 Bit Auf­lö­sung und ex­tra für Waagen ge­dacht. Lei­der konnte ich die­sen nir­gends als IC fin­den und so mus­ste ich die Lei­ter­plat­te von Spark­Fun er­wer­ben auf der die­ser mit ein paar ob­li­ga­tori­schen Bau­teilen zu­sam­men auf ei­nem eher mäßigen Lay­out mon­tiert ist. Un­ver­ständ­lich aber es ist so.

Auch bei diesem Projekt muss ich da­rauf hin­wei­sen, ich hat­te noch nie zu­vor mit Wäge­zellen zu tun. Dies ist mei­ne ers­te Waage und we­der die Kon­struk­tion noch die Soft­ware mö­gen opti­mal sein. Es ist letzt­lich nur ein Ex­pe­ri­ment, ein Spiel. Viel­leicht kön­nen Sie es bes­ser, ver­suchen Sie es. Spe­ziell im Punkto Kon­struk­tion mag eine Wäge­schüssel, die mit drei Fä­den nur an ei­nem Punkt an der Wäge­zelle hängt (wie man es von Dia­mant­waagen kennt) güns­ti­ger sein, da sie un­kon­trol­lier­te Dreh­mo­men­te ver­mei­det, aller­dings auch deut­lich un­prak­ti­scher.

In der fer­ti­gen Kon­struk­tion hat sich ge­zeigt, dass es ziem­lich egal ist, wo auf dem Wäge­tel­ler das Ge­wicht pla­ziert ist. Die Wäge­zelle scheint Dreh­mo­men­te weit­gehend zu ig­norie­ren.

Wenn Sie es bes­ser kön­nen wäre ich Ihnen über ei­ne Mit­tei­lung dank­bar, wie Sie es ge­schafft haben.

Meine Schal­tung hat sat­te 6 Stel­len zur An­zei­ge, also kg bis 10mg pro Digit, wie­vie­le da­von nütz­lich sind wird die Zu­kunft zei­gen... aber schließ­lich ha­ben wir ei­nen 24-Bit-AD-Wand­ler, der ja 7½ Stellen ent­spre­chen wür­de!

Die­smal ha­be ich die Schal­tung kom­plett in THT aus­ge­führt da ich sie ur­sprüng­lich nur auf ei­ner Loch­ras­ter-Plat­te auf­bau­en wol­lte. Aber letzt­lich, ge­rad­e wenn man die Schal­tung spä­ter se­hen kann, ist eine pro­fes­sionell ge­fer­tig­te Lei­ter­plat­te doch ein­fach schicker :-)

3d-Ansicht KiCad Für das Layout habe ich mich dies­mal für Ki­Cad ent­schie­den. Schon lan­ge woll­te ich mal se­hen, wie sich die­ses Open-Source-Pro­gramm in der Praxis be­währt. KiCad hat in mir große Zwie­späl­te auf­ge­wor­fen. Es hat für ein Open-Source-Pro­jekt un­glaub­lich gu­te Fea­tures wie Dif­fer­en­tial Pairs, Length-Tun­ing und den in­ter­ak­ti­ven Rou­ter, der im Weg ste­hen­de Lei­ter­bah­nen ein­fach ver­schiebt. Als Bo­nus gibt es noch ei­nen 3D-Viewer der die fer­tig be­stückte Lei­ter­plat­te recht gut dar­stellt.
Das Sie­ben­seg­ment-Dis­play und der weiße 'Tab' des Span­nungs­reg­lers wir­ken noch et­was holp­rig aber man weiß, was ge­meint ist.

3d-Ansicht KiCad Es ver­misst aber auch selbst­ver­ständ­li­che Funk­tio­nen wie Poly­gone auf Kup­fer-La­gen. Nicht­ein­mal eine (ver­nünf­ti­ge) ma­nu­el­le Ko­ordi­na­ten-Ein­ga­be habe ich ge­fun­den. Auf je­den Fall ist es in vie­len Punk­ten ein­fach nicht in­tuitiv. Ei­ni­ge Funk­tio­nen sind nur ver­füg­bar, wenn man das Can­vas auf Open­GL stellt, an­dere nur bei De­fault, was soll das? Ich bin Lay­outer, kein Pro­gramm­ierer. Was in­teres­siert mich ein Can­vas? Wenn es für die Funk­tion auf ein an­de­res um­schal­ten muss dann bit­te­schön au­to­ma­tisch! Den leich­ten Farb­wech­sel werde ich to­le­rie­ren.

Die Kon­struk­tion von un­re­gel­mäßigen Bau­tei­len oder z.B. von run­den Lei­ter­plat­ten wird durch das Fehlen von Kupfer-Poly­gonen er­heb­lich er­schwert. (Es geht schon, zu­min­dest wenn Sie Python-Scripts be­herr­schen oder sehr viel Gedult haben, aber es sieht scheiße aus!)

Ich habe ei­nige Bau­teile für dieses Pro­jekt neu er­stellt. Lei­der ent­spre­chen die­se nicht hin­rei­chend den mit­tler­wei­le sehr stren­gen Re­geln für die Auf­nah­me in die offi­ziel­le Ki­Cad-Bib­li­o­thek des­halb bie­te ich sie hier zum Down­load an.

Eine mir be­son­ders wi­der­stre­bende Re­gel da­bei ist die PIN 1-Re­gel: Pin 1 muss der Ur­sprung und links oben sein.
Pin 1? Wa­rum soll­te ein Bau­teil über­haupt ei­nen Pin 1 ha­ben? Eine Diode hat A und C, ein Elko hat Plus und Minus, ein Tas­ter hat CO, NC und NO. Ein CE-Sym­bol hat über­haupt kei­ne Pins. Was soll da der Ur­sprung sein? Ki­Cad hat hier ganz ein­fach deutsch ge­dacht, auch die Pins von Di­oden und El­kos heißen 1 und 2. Auch die Pins des Tas­ters heis­sen 1, 2 und 3. Ohne ei­ne in­tui­tive Zu­ord­nung zu Pola­rität oder Funk­tion. (Und was ist mit PGAs? Die haben einfach keinen Pin 1!) Was für ein Quatsch aber da­durch kann man sim­ple Re­geln ein­hal­ten.

Auch wenn das Dis­play 90° ge­dreht ist oder der Tas­ter auf dem Kopf steht wenn Pin 1 links oben ist, egal.

So wür­de ich mei­ne Bi­bli­o­thek niemals er­stel­len! Pin 1 ist ge­nau­so wichtig wie Pin 3 oder jeder an­dere, wa­rum soll­te er eine aus­gezeich­nete Po­sition er­hal­ten? Warum sollte er gekenn­zeich­net sein (bei einem Wider­stand zum Bei­spiel, er ist im Schalt­plan nicht ge­kenn­zeich­net, wa­rum dann im Lay­out?) Bei ICs oder Steck­ver­bin­dern macht das durch­aus noch Sinn aber bei ei­nem Tas­ter oder ei­nem Dis­play? Oder einem Wi­der­stand? Bei vielen Bau­tei­len ist ei­gent­lich nur der geo­me­trische Mit­tel­punkt als Ur­sprung sinn­voll oder ei­ne an­dere funk­tional wich­tige Po­sition (die Achse des Tas­ters, der Leucht­punkt ei­ner LED etc.). Wo Pin 1 ist, ist doch ei­gent­lich völ­lig un­er­heb­lich.

Tat­säch­lich kenn­zeich­ne auch ich in mei­ner Bi­blio­thek zu­min­dest bei po­la­ren Bau­tei­len Pin 1 (oder die Kathode, den Minuspol, nor­ma­ler­wei­se durch ein qua­dra­tisches Pad wäh­rend al­le an­de­ren rund sind) aber nicht um ihn als Ur­sprung fest­zu­le­gen son­dern le­dig­lich des­halb, da­mit ich hin­ter­her beim Mes­sen weiß, von wo aus ich zäh­len muss, bzw. wo 'minus' ist.

Bei einem Tas­ter würde ich immer die be­weg­te Ach­se als Null­punkt wäh­len, bei einem Dis­play die Mit­te des An­zei­ge­feldes (oder viel­leicht die lin­ke obere Ecke) und bei einem Wider­stand den geo­met­ri­schen Mit­tel­punkt, wie er auch bei KiCad selt­samer­wei­se bei SMD-Bau­tei­len vor­ge­schrie­ben ist, da es hier kei­ne andere Mög­lich­keit gibt, den Pickup-Punkt für den Be­stückungs­auto­ma­ten zu setzen als den Null­punkt des Bau­teils...

Tat­sächlich würde ein er­fahrener Lay­outer wohl niemals ein Bau­teil di­rekt aus der KiCad-Biblio­thek ver­wen­den, von dem er nicht weiss, ob es in der nächs­ten Ver­sion (oder mit den nächs­ten De­sign-Rules) noch ge­nau­so aussieht. Er wür­de es in eine My­Library oder eine My­Company­Library kopieren, seinen Vor­stel­lun­gen an­pas­sen oder es gleich selbst erstel­len, was eben ein­fa­cher ist.

Das ist in der Pra­xis auch das größte Hindernis auf ein bes­seres Sys­tem um­zu­stei­gen. Wenn Sie Jah­re oder Jahr­zehn­te­lang mit ei­nem Sys­tem ge­ar­bei­tet ha­ben gibt es auch ei­ne ent­spre­chen­de Bi­bli­ot­hek mit Ihren Bau­teilen, die Sie wie­der und wie­der ver­wen­den. Diese würde ver­fal­len wenn sie um­stei­gen wür­den (bis­her ha­be ich noch kei­ne 100%ige Über­nah­me in ir­gend ein an­de­res Sys­tem gesehen) und die gan­ze Ar­beit gin­ge von vorne los.

Na­tür­lich kön­nen Sie auch auf die neue Bi­bli­o­thek zu­rück­grei­fen so­fern die­se al­le Ihre Bau­teile ent­hält aber das Look-And-Feel ihrer Ar­bei­ten wür­de ver­lo­ren ge­hen. Kein Lay­outer will das!

Tat­säch­lich gibt es kei­nen Zwang (und kei­nen Grund) die KiCad-Library als Stan­dard direkt zu ver­wen­den oder sie zum Stan­dard zu erheben. Sie ist eine mit­ge­lie­fer­te Quel­le für Ideen, nicht mehr und nicht we­ni­ger. Er­stel­len Sie ih­re ei­ge­ne Bi­bli­o­thek und sch...n Sie auf De­sign Rules die sie nicht selbst fest­gelegt ha­ben oder die Ihnen wirk­lich sinn­voll er­schein­en!

KiCad per­ver­tiert hier ein­fach die Macht von sim­plen De­sign-Rules ohne Rück­sicht auf Sinn oder Be­nutz­bar­keit.

Selbst in den Package-Drawings der Her­stel­ler ist Pin 1 z.B. bei DIL-Ge­häu­sen meist links un­ten. Das ist auch mit Hin­blick auf das Aspect-Ratio gän­gi­ger Mo­ni­tore sinn­voll. Ein Bau­teil, dass brei­ter als hoch ist kann leich­ter und prä­zi­ser be­arbeitet wer­den, da auch das Mo­ni­tor-Bild brei­ter als hoch ist.

Früher (bei 4:3 Mo­ni­to­ren) nur we­nig, doch seit gän­gi­ge Mo­ni­tore 16:9-Dis­plays sind macht das fast den Fak­tor zwei (streckenmäßig, also fast Fak­tor vier was die Pixelzahl be­trifft!) Wenn ich das Bau­teil also ho­ri­zon­tal aus­rich­te se­he ich vier mal soviele De­tails wie bei ver­ti­kaler Aus­rich­tung. Für mich ist das Grund ge­nug die Pin1-Regel gu­ten Ge­wis­sens zu ignorieren.

Nach jahr­zehn­te­langer Ar­beit im Lei­ter­plat­ten-De­sign bin ich da­zu über­ge­gan­gen, alle Bau­teile, Pads, selbst kom­plette Leiter­plat­ten stets so aus­zu­rich­ten, dass sie brei­ter als hoch sind. Das macht das Le­ben ein­fach leich­ter. Wo Pin 1 ist hat heut­zu­tage kei­ne Be­deu­tung mehr.

Früher, als alle Pins im 2.54 mm-Ras­ter la­gen, und auch die primitiven Autorouter in diesem Raster unterwegs waren, war es sinn­voll alle Pins ge­nau auf's Ras­ter zu le­gen.

Heu­te spielt es kei­ne Rol­le, ob Pin 1 im Ras­ter liegt. Alle an­de­ren Pins sind meist so­wie­so da­ne­ben, sei es bei der 5 mm-Klemme, der 2 mm-Pfos­ten­leis­te oder dem 0.5 mm LQFP. Der Null­punkt liegt da, wo er eben sinn­voll ist. Meist im geo­me­tri­schen Mittel­punkt oder ei­nem an­de­ren mar­kan­ten Punkt des Bau­teils.

Selbst bei Steck­ver­bin­dern im 2.54 mm-Ras­ter liegt meist auch der geo­me­tri­sche Mit­tel­punkt im Ras­ter oder zu­min­dest im Halb­ras­ter. Das er­leich­tert spä­ter z.B. das Zeich­nen des Dis­play-Aus­schnitts in der Front­plat­te oder den Boh­rungs­mit­tel­punkt für den Tas­ter. Das ist doch viel wich­tiger als Pin 1, oder? Die Lage von Pin 1 ist ei­gent­lich völ­lig egal, gäbe es nicht diese blöde (ja wirk­lich, blö­de im Sinne von boden­los dumm, an­ders kann ich es nicht for­mu­lie­ren) Design Rule!

Je nach­dem, wel­chen Li­bra­rian Sie bei Ki­Cad 'er­wi­schen' kann er sinn­volle Ab­wei­chun­gen da­von to­le­rie­ren oder auch nicht...

3d-Modelle

Was die 3D-Modelle betrifft bin ich an einem ver­al­te­ten Tu­to­ri­al auf der Kicad-Home­page ge­schei­tert. Ich fand es sehr ein­fach, die Mo­del­le mit OpenScad zu er­zeu­gen, die Pa­ra­me­ter­ge­steu­ert den Digi­tast mit ei­ner oder zwei LEDs dar­stel­len konn­ten (oder auch ohne). Lei­der ist das Er­geb­nis nicht 1:1 ska­liert und muss in KiCad an­ge­passt wer­den. Das ist aber nicht mehr zu­läs­sig... Wa­rum gibt es dann die Ska­lie­rung in KiCad über­haupt noch? Fra­gen über Fra­gen und kei­ne be­frie­di­gen­de Ant­wort! Nun, zu­nächst funk­tio­nie­ren auch mei­ne 3D-Model­le je­doch noch ganz gut, wie sie auf obi­gem Bild se­hen kön­nen.

KiCad woll­te das Mo­dell nicht, so hier kön­nen sie es ha­ben. Na­tür­lich ohne Ga­ran­tie auf Ver­wend­bar­keit un­ter der nächs­ten KiCad-Ver­sion!

Wägezelle

Die ver­wen­de­te Wäge­zel­le mit ei­nem Meß­be­reich von 0..10 kg be­steht aus ei­nem ge­eig­net be­ar­bei­te­ten Alu­mi­ni­um-Block auf dem Dehnungs-Meß­strei­fen auf­ge­klebt sind. Die­se sind elek­trisch als Brücken-Schal­tung aus­ge­führt und lie­fern ei­nige mV Brücken-Span­nung bei vol­ler Be­las­tung. Die wol­len wir mes­sen. Mit ei­ner Ge­nauig­keit im Sub-Promille-Be­reich! Das Ziel ist, 10 kg mit bes­ser als 0,1 g auf­zu­lösen.

Das Da­ten­blatt ist, sa­gen wir, spar­sam. Es spe­zi­fi­ziert zwar eine ma­ximale Über­last von 120% (also 12 kg, mehr könn­ten die Zelle schon dau­er­haft schädigen), sagt je­doch nicht um wie­viel sich die Zel­le dabei ver­formt und ob ein me­cha­ni­scher End­ans­chlag über­haupt ­voll re­alisier­bar ist.

Tat­säch­lich ver­formt sich der Wäge­balken nur um we­nige zehntel Milli­meter. Ein me­cha­ni­scher End­an­schlag ist da­mit kaum mög­lich, er müsste auf huntert­stel eines Milli­meters genau ein­gestellt wer­den. Zu­sätz­lich müsste er vor Ver­schmutzung ge­schützt wer­den da bereits Staub­körner den Un­ter­schied zwi­schen einem Über­last­schutz und einer Ver­fäl­schung des Meß­ergebnis­ses durch man­geln­de Be­we­gungs­frei­heit er­ge­ben könn­ten.

In mei­nem Auf­bau ist der Bal­ken daher nicht gegen Über­last ge­schützt. Ich weiß, dass er emp­find­lich ist und passe ent­spre­chend auf. Für ein Con­sumer-Pro­duct müss­te man sich an­de­re Kon­struk­tionen über­le­gen, et­wa ein vor­ge­spann­tes Fe­der­paket wel­ches den Hub des Wäge­tel­lers so­weit er­hö­hen würde dass ein me­cha­ni­scher An­schlag sinn­voll mach­bar ist. Im ein­fach­sten Fall wä­ren das zwei Spi­ral­federn um die Be­festi­gungs­schrau­ben zur Wäge­plat­te die ab ~10,5 kg nach­ge­ben und die Auf­lage auf einen An­schlag er­mög­li­chen, so­fern Sie ge­eig­nete Fe­dern zur Hand haben.

Na­tür­lich kön­nen Sie hier auch ei­ne an­dere Wäge­zelle ein­set­zen, bspw. ei­ne mit 200 kg um eine Per­so­nen­waage zu bauen (oder eine mit 50 t für Last­wagen, des­sen Zu­la­dung Sie dann auf 500 g genau mes­sen kön­nen). Al­ler­dings müs­sen sie die Grenz­werte für die Kali­brierung dann entspre­chend an­pas­sen. Dies kann auch für die digi­tale Fil­te­rung gel­ten. Für eine Kü­chen­waage möch­te ich schon nach ei­ner Se­kun­de zu­min­dest un­ge­fähr wis­sen, was da­rauf liegt, bei einer LKW-Waage kann man viel­leicht auch 5 oder 10 s war­ten bis der Fah­rer he­rein­kommt und die Quit­tung haben will.

AD-Wandler

Der AD-Wand­ler be­sitzt 24 Bit Auf­lö­sung und ei­nen vor­ge­schal­te­ten PGA der das Si­gnal um den Fak­tor 32, 64 oder 128 ver­stärkt.

Das klingt zu­nächst ein­mal gi­gan­tisch aber 24 Bit bei 5 V sind ge­ra­de mal 300 nV pro Bit. Rau­schen und ein­ge­kop­pelte Stö­run­gen kom­men sehr schnell in die­se Größen­ord­nung. Und der PGA ver­stärkt nicht nur das Si­gnal son­dern auch das Rau­schen (auch sein ei­genes) und macht 24 Bit schnell il­lu­so­risch.

Die Wäge­zelle spe­zifi­ziert auch nur 1 mV/V, bei 5 V also auch nur 5 mV bei Voll­aus­schlag. Um den Fak­tor 128 ver­stärkt macht dies ge­ra­de mal 640 mV so dass wir nur ein zehn­tel des Mess­be­reichs nut­zen kön­nen. Bei 10 kg macht dies et­wa 6 mg pro Bit. (Idealer­weise wür­den 24 Bit etwa 0,6 mg pro bit er­ge­ben.)

Man kann also nicht er­war­ten, mit jeder Mes­sung 24 Bit Ge­nauig­keit zu er­rei­chen son­dern man muss das Si­gnal hin­ter­her di­gi­tal fil­tern um die Mö­glich­kei­ten der Hard­ware aus­zu­rei­zen.

Dies ergibt eine deut­li­che Re­du­zie­rung der Mess­rate aber für eine Kü­chen­waage reicht mir ein, bes­ser zwei Mess­werte pro Se­kun­de völ­lig aus.

Da der Wand­ler je­doch nur 10 Meß­wer­te pro Se­kunde lie­fert ist auch diese Mög­lich­keit stark ein­ge­schränkt.

Für die Fil­te­rung ha­be ich zwei ver­schie­de­ne Me­tho­den im­ple­men­tiert. Se­hen Sie unter Software nach um mehr zu erfahren.

Rau­schen: Das Da­ten­blatt des HX lie­fert hier ei­nen ziem­lich miss­ver­ständ­li­chen Wert. 50 nV bei ei­nem Gain von 128. Das be­deu­ted 6.4 µV am Wand­ler. Das ent­sprä­che etwa 21 counts oder 4,4 Bits. Be­zo­gen auf die 640 mV des nutz­baren Be­reichs ent­spricht das in etwa den erhaltenen 7,7 Bit!

Ent­spre­chend er­hal­ten wir kei­ne 24 Bit Ge­nauig­keit son­dern nur 16,3 Bit, also etwa 100.000 counts, ent­spre­chend 5 Stel­len!

Controller

Auch dies­mal bin ich wie­der bei ei­nem At­mel AVR hän­gen ge­blie­ben, dem AT­mega48. Er war der bil­ligste ATmega-Control­ler über­haupt, der die nö­tige An­zahl IO-Pins be­sitzt Trotz­dem ist er ei­gent­lich viel zu mäch­tig für die­se Auf­gabe.

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 Ab­stri­che im UI und ei­ni­gen an­de­ren Funk­tio­nen (z.B. Ka­li­brie­rung mit­tels spe­ziel­ler Firm­ware) in Kauf neh­men kann der ATmega48 im­mer noch rei­chen.

Ein Ge­dan­ke dazu, wenn Sie es wirk­lich bil­lig ha­ben wollen: Es mag sein, dass es ei­nen 8-Pin-Con­trol­ler gibt, der so­viel bil­liger ist, das trotz Hin­zu­fü­gen von zwei 19-Cent-Schie­be­re­gis­tern um an die Pins zu kom­men die Gesamt­lö­sung einige Cents bil­liger ist... und die Soft­ware so­gar ver­ein­fa­chen könnte aber mehr Pla­tinen­fläche brau­chen würde, welche ja auch Geld kos­tet. Kal­ku­la­tion­en für große Stück­zah­len sind echt kom­pli­ziert...

Anzeige

Nach jahr­zehnte­langer Absti­nenz habe ich hier erst­malig wie­der eine Sie­ben­seg­ment-An­zeige ver­wen­det. Auch heu­te noch fin­de ich die­se zur Zah­len­an­zeige ein­fach schicker als ein OLED oder TFT, größer und da­mit auch ohne Bril­le (in 15 Jah­ren wer­den Sie die­sen Satz ver­ste­hen) bes­ser ab­les­bar und ein­fach zweck­mäßig. Auch der Nos­tal­gie-Fak­tor mag eine Rol­le spie­len.

Wa­rum soll­te ich 48 Seg­men­te mit er­heb­li­chen Soft­ware-Auf­wand auf ein win­zi­ges 320x160 Oled pro­ji­zie­ren das schon in zwei Jah­ren nicht mehr er­hält­lich ist? Sie­ben­seg­ment-An­zei­gen gibt es seit ich den­ken kann und wird es wohl auch in zehn Jah­ren noch ge­ben.

Ich wurde ge­fragt, wa­rum nicht ein LCD, braucht doch we­ni­ger Strom. Nun, ja das stimmt aber zum ei­nen ist ein LED-Display bes­ser ab­les­bar und wie an an­derer Stel­le be­reits er­wähnt reicht die Bat­terie für grob drei Jah­re, was auch mit LCD auf­grund der Selbst­ent­la­dung kaum zu top­pen wäre.

Natürlich könnte man das LCD zur besseren Lesbarkeit auch hinterleuchten...

Die sechs Stel­len rei­chen aus um Ge­wich­te < 10 kg mit 10 mg Auf­lö­sung an­zu­zei­gen, ob­wohl das letz­te Digit wohl nicht zuver­läs­slig er­reich­bar ist.

Tat­säch­lich zeigt auch das zwei­te Digit des Raw-Wertes vom Wand­ler nur 'Haus­num­mern' aber ein Ziel die­ses Pro­jekts war ja auch he­raus­zu­fin­den, was der HX kann und was nicht.

Erstaunlich ist, dass es in­zwi­schen zwar LEDs gibt, die mit ei­nem mA gleißend hell sind, Sieben­seg­ment-Anzei­gen brau­chen aber nach wie vor 20 mA pro Seg­ment. Ich habe hier ei­nen su­per­hellen orangenen Typ ver­wen­det, der mit et­was we­niger Strom aus­kommt. In die­ser Schal­tung ver­wen­den wir zwar trotz­dem 20 mA aber im 1:6-Multi­plex, also effek­tiv nur 3,3 mA für jedes der 48 Seg­mente. Im schlimm­sten (hell­sten) Fall brau­chen also al­lei­ne die Leds etwa 160 mA aus der 5 V-Ver­sor­gung!

Trotz­dem ist das im­mer noch deut­lich we­ni­ger als ein Watt also brau­chen sich auch Öko-Freaks keine großen Sorgen ma­chen. Le­dig­lich für den Bat­terie­betrieb be­deu­ted das, auf Energie-Ein­spa­rung zu ach­ten.

Mit ei­nem 100 Ohm-Widerstand in Rei­he er­ge­ben sich ge­mes­sene 16 mA pro Seg­ment. Da­mit lie­gen wir im si­che­ren Be­reich so­wohl für die LED als auch für den Port Pin und die An­zei­ge ist an­ge­nehm hell. Wenn Sie nachts im Dun­keln backen viel­leicht so­gar zu hell aber auf ei­nen Um­ge­bungs­licht-Sen­sor habe ich ver­zichtet.

Auch wenn eine An­zeige von 8.8.8.8.8.8. eher un­wahr­schein­lich scheint, es kann durch­aus sein, dass ein­zelne Seg­mente bei al­len Digits über län­gere Zeit an sind und da­mit den Port-Pin zu 100% be­las­ten.

Die Ablesbarkeit kann durch ein orange-far­be­nes oder ro­tes Plexi­glas über dem Dis­play deutlich ver­bes­sert wer­den aber sie ist auch ohne O.k. und er­höht den "Tech­nic-Look". Allerdings ist mein komplett offener Aufbau natürlich an­fäl­lig für Ver­schmutz­ung und in einer pro­duk­tiven Aus­führung würden wir sicher­lich eine Art "Ge­häuse" darüber packen. Ich be­hel­fe mich da­mit, das Ding ab und zu mit Druck­luft­spray sau­ber zu pu­sten...

Taster

Ein (ein­ziger) Tas­ter muss­te sein, al­lei­ne schon zum Ein­schal­ten.

Im Serien-Gerät könnte der Taster auch ver­steckt un­ter der Lei­ter­platte an­ge­ord­net sein so dass das Ein­schal­ten durch Druck auf das Dis­play er­folgt, hier ist es ein simp­ler Shadow Digi­tast, der aber auch pro­fes­sionell aus­sieht und ein an­ge­neh­mes Tast­gefühl hat.

Der Tas­ter schal­tet das Ge­rät nicht nur ein, sein Zu­stand kann (und muss) auch im Be­trieb vom Con­trol­ler ab­ge­fragt wer­den. Ab­ge­schal­tet wird über einen Port-Pin des Con­trol­lers wenn sich das Ge­wicht in­ner­halb einer vor­ge­ge­be­nen Zeit nicht we­sent­lich än­dert. Dies ist, zu­min­dest im Bat­terie-Be­trieb schon auf­grund der LED-An­zei­ge un­be­dingt nö­tig. Beim Be­trieb über ein Netz­teil kann per Jum­per auch Dau­er­be­trieb ge­wählt wer­den. Das Ge­rät ist dann (in­klu­si­ve Dis­play) dau­er­haft an bis die Ver­sor­gung ab­ge­schal­tet wird.

Beim Ein­schal­ten wird, ge­nau wie bei ei­nem mittel­lan­gen (>2 s) Tas­ten­druck, die Waage auf Null ge­stellt. Dies kann als Zu­wiege-Funk­tion be­nutzt wer­den.

Ein wirklich lan­ger (>10 s) Tas­ten­druck führt in den Ka­li­brier-Mo­dus (um ihn nicht versehentlich zu ak­ti­vie­ren). Im Dis­play er­scheint in dann CAL. Sehen Sie unter Soft­ware nach, um die ge­naue Vor­ge­hens­wei­se zu er­fah­ren.

Stromsparmodus

Um die Bat­terie zu scho­nen wird das Dis­play ab­ge­schal­tet wenn sich das Ge­wicht nicht mehr we­sent­lich än­dert. Nach 15 Se­kun­den wird das Dis­play schritt­weise dunk­ler ge­tas­tet um die be­gin­nende Lange­weile an­zu­zei­gen. Nach vier Mi­nuten In­ak­ti­vi­tät schal­tet sich das Ge­rät ab.

Durch einen kur­zen Tas­ten­druck kann das Dis­play wäh­rend der Ab­dunk­lung wie­der akti­viert wer­den. Die Time­out-Zeit wird dann zu­rück­ge­setzt. Die Mes­sung läuft in die­ser Zeit wei­ter und so ist die Ge­nauig­keit da­von unbe­ein­flusst. Auch bei ei­ner Än­de­rung der Be­las­tung wird das Dis­play wie­der ak­ti­viert. Sie müs­sen al­so nicht drücken, ein­fach nur zu­la­den oder kurz auf den Wä­getel­ler drücken und das Dis­play kommt wie­der.

Kein Pro­blem al­so wenn Sie kurz in den Kel­ler gehen müs­sen um Mehl zu ho­len...

Nach vier Mi­nu­ten Inakti­vität schal­tet sich das Ge­rät dann end­gültig ab. Das auf­ge­leg­te Ge­wicht ist dann ver­ges­sen und beim er­neu­ten Ein­schal­ten zeigt es 0.0 kg an.

In die­sem Zu­stand braucht das Ge­rät kei­nen Strom (ab­ge­se­hen vom Leck­strom des MOSFETs, ei­ni­ge µA, ent­spre­chend ei­ner Bat­terie-Le­bens­dau­er von mehr als fünf oder zehn Jah­ren) und muss des­halb nicht durch ei­nen me­cha­ni­schen Schal­ter von der Bat­terie ge­trennt wer­den.

Der Stromspar­modus kann de­akti­viert wer­den in­dem Sie ei­nen Jum­per von Pin 4 nach Pin 6 der Pro­gram­mier­schnitt­stel­le stecken. Es er­folgt dann kein Dim­ming der An­zei­ge und das Ge­rät wird sich nicht selbst­stän­dig ab­schal­ten. Es bleibt an bis die Strom­ver­sor­gung unter­brochen wird. Ab­schal­tung mit­tels Tas­ter ist nicht vor­ge­sehen. Die An­zahl der Ak­tio­nen die man mit ei­nem Tas­ter (sinn­voll) vor­neh­men kann ist be­grenzt...

Beschleunigte Abschaltung

Um die Bat­terie noch mehr zu scho­nen wur­de ein Ver­fah­ren ein­ge­führt, das die Abschaltung bereits nach 15 s durchführt falls kein nen­nens­wer­tes Ge­wicht auf­ge­legt wurde, d.h. wenn das an­ge­zeig­te Ge­wicht län­ger als 15 s we­ni­ger als 5 g beträgt schaltet das Gerät ab.

Wenn Sie die Ab­schal­tung be­schleu­ni­gen wol­len setzen Sie also die Waage auf '0' (zwei Se­kun­den 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 zu­sätz­li­che Ma­te­ri­al auch be­reit liegt!

Stromaufnahme

Bei voller Hel­lig­keit braucht das Ge­rät etwa 65 mA bei 9 V Ver­sor­gung. Mit dem Dim­ming der An­zeige re­du­ziert sich das etwa auf 50 mA bzw. 30 mA in der dun­kels­ten Stufe. Viel weiter kön­nen wir den Strom­ver­brauch nicht re­du­zie­ren. Den Rest braucht ein­fach die Wäge­zelle (und der HX und der Con­troller). Nur Ab­schal­ten ist bil­liger.

Eine 9 V Block­bat­terie hat etwa 400 mAh Ka­pa­zi­tät und wür­de im ak­tiven Be­trieb bei vol­ler Hellig­keit also etwa sechs Stun­den durch­halten.

Das klingt zu­nächst er­nüch­ternd, ein voll­ständiger Zyklus aus 15 s mal 65 mA plus 50 s mal 50 mA plus 210 s mal 30 mA er­gibt je­doch nur 2.2 mAh so dass die Bat­terie etwa 180 Mes­sun­gen über­stehen würde. Wie oft backen Sie Ku­chen? Bei ei­nem pro Wo­che wä­ren das al­so grob drei Jah­re. So lan­ge hält die Bat­terie auch ohne Be­lastung ge­rade mal so durch. Man könn­te also in der An­leitung ge­trost von einer Bat­terie-Le­bens­dau­er von ei­nem Jahr aus­ge­hen. Bei ei­ner Li­thium-Bat­terie eher vom Dop­pel­ten.

Erste Versuche

... waren ziem­lich er­nüch­ternd. Ich ließ mir da­zu den Raw-Wert des HX anzeigen. Das letz­te Digit zeigte nur Haus­num­mern und auch das Vor­letz­te wan­der­te etwa von +3 nach -3. Die un­te­ren 6 Bits wa­ren also nur Rau­schen. Das Be­we­gen des Wäge­balkens von einer Stel­le des Schreib­tisches auf eine andere re­sul­tier­te in ei­nigen hun­dert Counts Unter­schied! Nur Rau­schen? Die Kraft­wir­kung eines Mil­li­gramms ist ver­dammt we­nig (auf­grund der Erd­be­schleu­ni­gung rund 10 µN) und Kräf­te die im Alu­mi­ni­um-Block durch Tem­peratur­än­de­rung (durch Be­rührun­gen mit der war­men Hand) oder durch ge­än­der­te Auf­la­ge­punk­te re­sul­tie­ren können ein Viel­fa­ches davon aus­ma­chen.

Für wirk­lich ge­naue Mes­sun­gen muss die ge­sam­te Waage in ei­nem klei­nen, ge­schlos­se­nem Raum un­ter­ge­bracht wer­den (etwa un­ter ei­ner Ku­chen­haube) um Kräfte durch Luft­be­we­gun­gen oder Tem­pe­ra­tur­än­de­run­gen ent­ge­gen­zu­wir­ken und es muss abgewartet werden bis diese sich thermisch sta­bi­li­siert hat, d.h. alle Teile der Waage die glei­che Tem­pe­ra­tur an­genom­men ha­ben.

Al­ler­dings... ändert sich das Rau­schen kaum, selbst wenn man nur den zwei­ten Ein­gang misst, des­sen beide Pins ja fest im GND stecken, oder die Pins des A-Ein­gangs mit ei­nem Löt­zinn­klum­pen ver­bin­det. Es sieht also wirk­lich so aus, als ob der HX nur 16 oder 17 bit ohne Rau­schen ab­bil­den kann, zu­min­dest mit dem Spark­Fun-Lay­out und ohne zu­sätz­liche Maß­nah­men. Das Rau­schen liegt nicht am Sen­sor (der Wäge­zelle) oder der Ver­drahtung da­hin, der Wand­ler selbst rauscht (zu­min­dest auf der SparkFun-Platine) um etwa 7 Bit!

Bei 6 mg pro bit wür­de das be­deu­ten, das mehr als 1 g nicht er­reich­bar sind! Vier Digits hät­ten dann also ge­reicht. Wie schnell doch die er­hoff­ten 24 Bit auf knapp 14 (also etwa auf ein Tau­sends­tel) schrump­fen kön­nen, wie schnell aus sie­ben Di­gits ma­gere vier wer­den...

Gauß'sches Rau­schen des Wand­lers vor­aus­ge­setzt kön­nen wir durch Mit­telwert- bildung die Gen­auig­keit er­höhen. Da aber nur 10 Mess­wer­te pro Se­kun­de an­kom­men müss­en wir be­reits eine Se­kun­de mit­teln um das fünf­te Digit zu be­kom­men. Für das sechs­te Digit 10 s.

Längere Integrationszeiten

Ver­su­che ha­ben ge­zeigt, dass eine län­ge­re In­te­grat­ions­zeit (also eine Mit­tel­wert­bil­dung über mehr als nur 8 Mess­wer­te, etwa 64, das Rau­schen auf we­nige Digits der 10 mg-An­zei­ge re­du­zie­ren kön­nen. Al­ler­dings dau­ert es dann über sechs Se­kun­den bis sich der Mess­wert sta­bi­li­siert. Das ist für ei­ne Kü­chen­waage ein­deu­tig zu viel aber wenn Sie Prä­zi­sion wol­len mag es sich ren­tie­ren, da­rü­ber nach­zu­den­ken.

Trotz­dem läuft auch dann der Mess­wert häu­fig lang­sam aber ste­tig um ei­nige 100 mg weg, was wahr­schein­lich an ther­mi­schen Un­gleich­ge­wich­ten und/oder Luft­strö­mun­gen oder ge­än­der­ten Auf­lie­ge­punk­ten der Grund­plat­te liegt...

Auflösung

Wie hoch ist sie nun? Ein Kilo­gramm macht im AD-Wert des Wand­lers mit der 10 kg-Wä­ge­zel­le rund 210.000 Counts. Über den ge­sam­ten Mess­be­reich gut zwei Mil­lionen von fast 17 Mil­lionen, die mit 24 Bits er­reich­bar wä­ren. Min­des­tens das letz­te Di­git ist Rau­schen so dass wir et­wa 100 mg halb­wegs zu­ver­läs­sig an­zei­gen kön­nen. Nun, das war ja auch das Ziel die­ses Pro­jekts so dass ich auch re­la­tiv zu­frie­den da­mit bin.

Gestatten Sie mir einen Ver­gleich: Stel­len Sie sich vor, 5 V ent­sprä­che dem stür­mischs­ten See­gang, mit 10 m ho­hen Wel­len. Mit 24 Bit wol­len wir nun Wel­len von ei­nem hal­ben tau­sends­tel Mil­li­me­ter auf­lö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 mes­sen. Wir müs­sen ver­rückt sein...

Dieser sim­ple Ver­gleich er­klärt aber auch das Rau­schen. Ein paar Trop­fen sprit­zen Me­ter da­rü­ber hin­weg ohne Scha­den an­zu­rich­ten, die Haupt­wel­le taucht da­run­ter hin­durch. Ein kur­zer Blick kann die wahre Wel­len­hö­he nicht er­ken­nen. Erst wenn wir Mit­tel­wer­te bil­den er­gibt sich ein re­ales Bild des See­gangs.

Nebeneffekte

Dass es schwie­rig wer­den wür­de, 10 kg mit einer Auf­lö­sung von 100 oder gar 10 mg zu mes­sen war mir von An­fang an klar. In­teres­sant fand ich je­doch, wenn man 1 g auf­legt und wie­der weg­nimmt ist die Waage wie­der auf Null. Drückt man je­doch mit der Hand da­rauf wan­dert der Null­punkt lang­sam aber ste­tig weg. Das liegt ver­mut­lich da­ran, dass mit der Hand die Wäge­plat­te auch er­wärmt wird und da­mit auch die ei­ne Sei­te des Wäge­bal­kens wär­mer wird und sich aus­dehnt. Die DMS kön­nen nicht un­ter­schei­den, ob dies an einer Tem­pe­ra­tur-Dif­fe­renz oder ei­ner tat­säch­li­chen Ge­wichts­kraft liegt. Für wirk­lich ge­naue Mes­sungen muss sich die ge­sam­te Appera­tur ther­misch sta­bi­li­siert ha­ben und auch die auf­ge­leg­ten Ge­wichte dür­fen nicht son­der­lich heiß oder kalt sein oder müs­sen zu­min­dest ther­misch von der Waage iso­liert sein. Selbst Luf­tbe­we­gung kann die Mes­sung ne­ga­tiv be­ein­flus­sen. Deshalb sind Prä­zi­sions­waagen stets von ei­nem Glas­käfig um­ge­ben und wer­den üb­li­cher­weise in kli­ma­tisier­ten Räu­men be­trie­ben.

Nun, ich habe es si­cher­lich nicht auf An­hieb ge­schafft, eine Prä­zi­sions­wagge wie z.B. von Mett­ler zu bau­en aber die Er­kennt­nis­se wa­ren für mich wert­voll und ich hof­fe, auch für Sie!

Ich wollte eine Waage, die 10 kg im Sub-g-Be­reich auf­löst und die ha­be ich nun. Manch­mal will ich halt nicht ein­fach nur Ku­chen backen son­dern an­de­re klei­ne Ge­wich­te mes­sen.

Wozu sonst braucht man sonst so eine ho­he Auf­lö­sung? Nun, ei­ne Zähl­waage wäre ein denk­ba­rer Ein­satz. Da­zu bräuch­te man al­ler­dings noch ein oder zwei Tas­ter mehr, bes­ser noch eine Zeh­ner­tas­ta­tur. Dann könn­te man einen Sack vol­ler Bau­tei­le (je­des mit nur ei­ni­gen 10 mg Ge­wicht) auf's Stück ge­nau zäh­len.

Vom Wand­ler hat­te ich mir ur­sprüng­lich mehr ver­spro­chen aber er hat es lei­der nicht ge­hal­ten.

Mechanische Konstruktion

3d-Ansicht KiCad Ich ha­be zwei Alu-Front­plat­ten ver­wen­det (19", 42 TE, 3HE, die bei uns im La­ger wa­ren...), die ich über die Wäge­zelle ver­setzt über­ei­n­an­der mon­tiert ha­be, so dass auf der un­teren Plat­te ge­nug Frei­raum blieb um die Lei­ter­plat­te und den Bat­terie­hal­ter zu­gäng­lich zu hal­ten. Die bei­den Lö­cher links oben und un­ten die­nen nor­ma­ler­wei­se der Auf­nah­me von Front­plat­ten-Hal­te­run­gen. Nicht schön, aber sie wa­ren nun mal da...

Fünf selbst­kle­ben­de Gummi­füße (an den vier Ecken und in der Mit­te, um ei­ne Durch­bie­gung der Grund­plat­te zu re­du­zie­ren) sor­gen für eine ad­äquate Auf­lage auf dem Kü­chen­tisch. Bei un­ebe­nen Auf­lage­flä­chen darf nicht mit ge­nau­en Messun­gen ge­rech­net wer­den!

Alle Lei­tun­gen (zur Wäge­zel­le und zur Bat­terie) habe ich un­ten an der Lei­ter­plat­te an­ge­lö­tet. Da­mit ist si­cher­ge­stellt, dass die­se nicht mit der be­weg­li­chen Wäge­plat­te in Kon­takt kom­men und da­mit das Er­geb­nis ver­fäl­schen könn­ten.

Man könn­te auch zwei Früh­stücks­bret­ter da­für neh­men und wenn man in Holz­be­ar­bei­tung etwas Er­fah­rung hat kann es hin­ter­her rich­tig gut aus­se­hen... Zu­sätz­lich wäre Holz vor­teil­haft was Shock-Ab­sorp­tion und Wär­me­lei­tung be­trifft.

Diese Kon­struk­tion schützt al­ler­dings, wie be­reits er­wähnt, die Wäge­zel­le nicht vor Über­last, ins­beson­dere auch nicht vor puls­för­migen Über­las­ten. Wenn selbst ein leich­tes Teil, wie z.B. ein Ess­löf­fel, aus re­la­tiv ge­ringer Hö­he auf die Wäge­plat­te fällt, oder gar die ge­sam­te Waage auf den Bo­den fällt, kön­nen die 12 kg Maximal­last kurz­zeitig über­schrit­ten wer­den und die Wäge­zelle be­reits dauer­haft schä­di­gen! Manch­mal wirkt sich das viel­leicht gar nicht aus, manch­mal mag sich das durch ei­ne Neu­ka­li­brie­rung er­le­di­gen las­sen, manch­mal ist das Ding dann aber auch ein­fach ka­putt. Es mag zwar noch wie­gen aber nie­mals mehr die an­vi­sier­te Ge­nauig­keit er­rei­chen.

Fixieren Sie alle Lei­tun­gen die von der Wäge­zelle oder von der Bat­terie zur Schal­tung gehen un­be­dingt an der Grund­plat­te (und sei es nur mit Kle­be­band) und le­gen Sie kei­ne Re­ser­ve­schlau­fen. Wir brauc­hen ke­ine Re­ser­ve. Kap­pen Sie al­le Drähte so dass sie so lan­ge sind wie nötig. Kein Draht darf die Wäge­plat­te be­rüh­ren da diese Kraft die Wä­gung be­ein­flus­sen wür­de.

Im vor­ste­hen­den Foto se­hen Sie wie ich die Lei­tun­gen mit Iso­lier­band an der Grund­plat­te fi­xiert habe. Die Bat­terie-Lei­tun­gen wa­ren zu die­sem Zeit­punkt noch nicht an­ge­schlos­sen. Die un­ver­meid­li­che mi­ni­ma­le Re­ser­ve wur­de im 90°-Win­kel auf der Grund­plat­te fixiert. Kein Draht darf nach oben her­vor­ste­hen und mö­gli­cher­wei­se die Wä­ge­plat­te be­rüh­ren.