Ich habe bisher nichts modifizierte und denke, dass es nicht notwendig ist - oder ich habe “gute” Platinen bekommen.
Auch in der Diskussion ist die Versorgung der Plaitne mit “nur” 3,3 V. Die Platine selbst hat einen eigenen Spannungswandler. Manche sagen, der Spannungswandler würde bei 3,3 V-Betrieb die Versorgungsspannung für den HX711-Chip unter den Wert in der Spec drücken und daher müsste man den Spannungswandler bei 3,3 V-Versorgung auslöten und tauschen bzw. modifizieren. Habe da noch nicht intensiv recherchiert. Bisher habe ich noch keine Nachteile beobachtet, auch ohne Modifikation!
Auf den meisten HX711-break-outs sind für R1 20k und für R2 8,2k verbaut. Das ergibt nach V_{AVDD} = {V_{BG} * (R1+R2) \over R1} mit {V_{BG} = 1,25V nom.}
etwa 4,3V - ideal für 5V-Systeme. Wenn Du so ein PCBA an 3,3V anschließt, dann wird der Regler nicht regeln, sondern, voll aufgesteuert, die ungeregelte {V_{Batt}} als Erregerspannung an die Meßzelle legen. Ich denke, diese Nachteile beobachtest Du bereits! ;)
Der Autor des folgenden Beitrags hat deshalb die 20k mit 12k ersetzt (wie @ron es auch vorgeschlagen hat), und erhält damit knapp 3,1V. Da bei ihm die Spannung aber auch mal 3,0V beträgt, hat er diesen Widerstand letztlich noch kleiner gemacht (10k) und kommt dann bei 2,77V an. Wenn der Regler also mindestens 100mV Spannungshub als Regelreserve und drop-out braucht, ist im letzten Fall (10k) diese Schaltung bis 2,9V einsetzbar.
Mir ist nicht klar, was der Autor dieses Artikels mit den vertauschten R1 und R2 meint, - hier paßt das; scheinbar habe ich eine bereits korrigierte Variante des Datenblatts… ?
R1 muß im Nenner stehen.
Naja, was ich beobachte ist nicht zwingend HX711 spezifisch, sondern tritt mit dem ADS1231 auch auf. Daher bin ich noch skeptisch ob die Modifikation nötig ist.
Nochmal konkret: die Erregerspannung der Zelle und auch AVDD, also die Versorgungsspannung für den analogen Teil, bestrome ich mit dem geregelten 3,3 V-Ausgang des Arduinos, nicht mit der Batterie direkt.
Ich denke das sollte auch möglich sein, auf der Referenzschaltung im ADS1231-Datenblatt steht auf Seite 16 (s. Abbildung unten)
bei DFRobot gehen sie sogar noch weiter herunter, als der Kollege oben: der Spannungsteiler im feedback-Zweig sind 10k/10k, das ergibt {V_{AVDD}} = 2,5V…
Sie ist nötig für jene für 5V vorbereiteten HX711-PCBA.
Nochmal:
…abzüglich der Vorwärtsspannung des Reglers (1x pn-Übergang). Ohne Regelung durch nur für 5V passenden feedback divider am HX711 ist Deine Erregerspannung der Zelle direkt abhängig von der Akkuspannung.
Daß dieser an sich nicht hinzunehmende Makel nicht großartig auffällt, ist einzig der ratiometrischen Meßmöglichkeit dieser ICs zu verdanken. Dies mag uns teure Präzi-Spannungsreferenzen ersparen, aber darf nicht zum Unsinn verleiten: ohne Regelung hast Du bei geringerer Akku-Spannung einen schlechteren SNR (da excitation voltage kleiner, aber Widerstands-Rauschen gleich) und verwirfst damit noch ein weiteres Bit der nutzbaren Auflösung - da Du ja sicher bei vollem Akku justiert hast.
Sollten wir endlich einmal auch die Selbsterwärmung der Meßzelle (bzw. DMS) durch (zu lange) Bestromung in die Rechnung miteinbeziehen, wäre auch hier eine merklich veränderliche Erregerspannung nicht hilfreich.
Gut, oder schlecht, wenn wir das HX711 breakout für ein 3,3 V-System einsetzen wollen.
Nochmal kurz rekapituliert: Ich denke aus Stromspargründen und dem “de facto”-Standard in unserem Bereich von 3,3 V-SoC / MC werden wir die 3,3 V-Schiene nicht ändern, nur weil die aktuellen sehr günstigen und überall erhältlichen HX711-breakouts auf 5 V ausgelegt sind.
D.h. wir könnten nun
das teure und unhandliche breakout von DF-Robot nehmen (da ist glaube ich eine LED drauf, die dann auch runter müsste)
den HX711 chip alleine auf einem board von uns verwenden (mit den richtigen Widerständen)
doch den ADS1231 verwenden (ebenfalls auf einer Platine von uns mit Vogelfutter)
die Widerstände auf dem HX711 breakout tauschen
Alles doof, weil wir ja eigentlich die Platine wollten, wiel sie von einer breiteren Menge Leute eingesetzt werden sollte, die sich THT-Löten zutrauen aber vor SMD (zu viel) Respekt haben.
Ja, auch ein Punkt, der mir schon vor Jahren aufgefallen ist, nämlich erstmals bei der Justierung der Wägezellen.
Mit dem Justierungssketch hatte ich anfangs die Zelle durchgehend “an”, sprich mit Strom versorgt und dann im Abstand von einigen Sekunden gemessen. Diese, sagen wir mal 10 Werte, habe ich gemittelt und daraus den Justierungsfaktor gebildet. Nach der Justierung den eigentlichen Wägesketch hochgeladen – sprich die Wägezelle wurde in der Zwischenzeit nicht mit Strom versorgt – dann wieder mit den ermittelten Einstellungen gemessen und pfff, der Wert hat nicht gestimmt, sondern wich reproduzierbar ab. Irgendwann habe ich die ermittelten Messwerte bei der Justierung genauer angeschaut und sie haben sich – auch wieder reproduzierbar – verändert.
Wenn ich die Justierungs-Messungen allerdings mit einem groß genugen delay durchgeführt habe, damit die Wägezelle Zeit zum abkühlen hatte und dazwischen die Zelle abgeschaltet habe war der Effekt nicht mehr so massiv und für die Justierung praktikabel.
In vielen Manuals liest man auch, dass man für präzise Messungen vor der eigentlichen Messung die Wägezelle mehrere Dutzend Sekunden “vorheizen” sollte, um reliable Messungen zu erhalten. D.h. deine
(zu lange) Bestromung
könnte man auch ändern in zu kurze Bestromung von der messtechnischen Seite. Für uns ist eine Aufwärmphase von mehreren Sekunden bis zu einer Minute aber keine Option, wenn wir stromsparende Waagen haben wollen, die über Monate mit einem Batterie- oder Akkusatz laufen sollen! Das ist das Problem, vielleicht wäre unser Temperaturproblem auch gar nicht so massiv, wenn wir die Wägezelle dauerbestromen würden. Ich habe das noch nicht getestet, sollten wir aber mal um in diesem Punkt schlauer zu werden, um abschätzen zu können wie groß dieser Effekt überhaupt ist!
Mal sehen, ob ich das mit dem SMD-löten hinbekomme. Hat aber noch Zeit. Erstmal muss das System laufen. Aktuell läuft der Wägezellen-Test noch mit einem 5V Netzteil im Keller.
Welche aufgedruckte Nummer sollte der 10k Widerstand haben? Vielleicht kann ich irgendwo einen auslöten, wenn ich einen finde ;)
Wäre ein 3,3 -> 5V Konverter was für den Batteriebetrieb?
Bei diesen HX711-break-outs hier mit Schirm (I think @petekmet knows them ;) )
finde ich das feedback-Teilerverhältnis mit 4,7k / 1,8k , ergibt {V_{AVDD}} = 4,51V, etwa 200mV mehr als die ‘übliche’ grüne Variante mit 20k / 8,2k. - Durch den höheren Strom dank kleinerem Serienwiderstand ist dieser Regler schneller - in einem 5V-System! 8)
Er schlägt vor, für die Widerstände bei R12/R13 22kOhm bzw. 20kOhm zu verwenden. Um das Design auch noch für niedrigere Spannungen verträglich zu machen, schlug @weef ursprünglich analog zum Design von DFRobot vor, zwei mal 10kOhm zu verwenden. Allerdings ist eine Versorgung mit
FIXME: insert schema image w/ explicit naming and values of respective resistors to avoid further ambiguities from widespread old and wrong HX711 datasheet versions
[edit cg] R12 ist der obere Baustein mit dem Aufdruck “203” (20 x 10^3=) 20 kOhm, R13 ist der untere Widerstand mit dem Aufdruck 8201 (820 x 10^1) oder “822” (82 x 10^2=) 8,2 kOhm. Zur Berechnung des voltage dividers verwenden wir den Werte von R12 mit 20 k als R1 in der Formel und den Wert von R13 mit 8,2 k als R2.