Arbeit mit dem chinesischen Chip ADC Hx711 (Fazit)

Nach einiger Zeit verursachte eine zweite Bekanntschaft mit dem ursprünglichen Artikel ein Gefühl der Unvollständigkeit bei der Verwendung dieses ADC . Ja, bestimmte Studien zu diesem Produkt wurden durchgeführt, Schwachstellen wurden gefunden und Wege zur Umgehung dieser Schwachstellen vorgeschlagen, aber es gab keine Frage der experimentellen praktischen Anwendung.

Die Arbeit von Andrei Gerasimenko („ADC NH711 von 3.3V - glaube nicht an die chinesische Dokumentation und nicht nur ...“ (https // habr.com / ru / post / 438772)) erforderte keine absolute Berücksichtigung des Gewichts des Bienenstocks. Die Relativitätsbedingung der gewichteten Bienenstöcke beseitigte den Wiegefehler, da technische Fehler, die sich aus Änderungen der äußeren Bedingungen ergaben, auf alle Verfolgungsobjekte wirkten und automatisch von der Analyse des Zustands der Bienenstöcke ausgeschlossen wurden. Bei einfachem Wiegen ist die Situation anders.

Die von mir festgestellten Schwächen des Wandlers in Form der Verteilung des Messfehlers außer der Zufallsverteilung wurden auch von Nikopol_86 ("... glaube der chinesischen Dokumentation nicht" Nikopol_86, Februar 86, um 09:27 Uhr) festgestellt, die ebenfalls theoretische Studien waren.

Meine Anwendung der Methode des gleitenden Durchschnitts zur "Beruhigung" des Zitterns der letzten Bits der 24-Bit-Konvertierung hat ihre Wirksamkeit gezeigt, aber es gab kein fertiges Messgerät, das alle oben genannten Ergebnisse berücksichtigt.

Für die endgültige Schlussfolgerung über die Eignung von Hx711 für die Verwendung in Waagen wurde ein Wiegeprogramm entwickelt, das auf dem Schaltplan basiert: Die



Schaltung wird von einem herkömmlichen Standardnetzteil mit einer konstanten Spannung von 5 Volt und 1 Ampere gespeist.

Bei der Entwicklung des Programms wurden alle zuvor genannten Nachteile des ADC berücksichtigt. Und nun zum Programm, das in den ATMega16-Controller eingebettet ist.

Wenn die Stromversorgung eingeschaltet wird, zeigt die Anzeige Folgendes an: Der aus der Wägezelle in der unteren Zeile abgelesene ADC-Wert und der durch Normalisieren der ADC-Werte in der unteren Zeile erhaltene Gewichtswert werden in der oberen Zeile angezeigt. Normalerweise ist dies: Die obere Zeile ist 1.015 und die untere Zeile ist 1085. Nach dem Platzieren des gewünschten Behälters auf der Plattform werden die Messwerte durch Drücken von Taste2 (Verpackung) auf Null gesetzt, was zu 0.000 und 0 in der oberen bzw. unteren Zeile des Indikators führt. Nachdem wir die gewogene Last auf die Plattform gelegt haben, lesen wir das Gewicht von der obersten Zeile ab.

Es ist zu beachten, dass die Auto-Null-Funktion, dh die Eingabe des Taragewichts in das Lesegewicht von der Plattform zum Zeitpunkt des Einschaltens der Waage, nicht implementiert ist. Werte der Normalisierungskoeffizienten werden vorab in das Programm „eingenäht“ (im Flash-Speicher des Controllers), wodurch das Wiegen unmittelbar nach Berücksichtigung des Taragewichts ermöglicht wird.

Um die Normalisierungskoeffizienten zu ändern, wird ein Modus zum Kalibrieren der Waage mit einem Teil des Gewichts (in diesem Fall 2 kg) bereitgestellt. Um in diesen Modus zu gelangen, müssen Sie die Plattform freigeben, auf stabile Messwerte warten und gleichzeitig Taste 12 und Taste 17 drücken.
In der oberen Zeile wird Folgendes angezeigt: „Cal: Turn Key 12“, was anzeigt, dass die Waage mit einem Teil des Gewichts in den Kalibrierungsmodus wechselt. Um fortzufahren, müssen Sie Taste 12 drücken. In der unteren Zeile wird "Tara-Taste drücken" angezeigt. Dies bedeutet, dass die Waage bereit ist, sich den Wert des Containers zu "merken". Um fortzufahren, drücken Sie Taste2 (Tara). In der unteren Zeile wird "Platziere 2 kg Schlüssel17" angezeigt. Legen Sie ein Gewicht von 2 kg auf die Plattform, warten Sie und drücken Sie Taste 17. Auf der Anzeige in der oberen Zeile steht 2.000 und in der unteren Zeile steht 2130. Die Waage hat in den Wägemodus geschaltet. Entfernen Sie das Gewicht und wiegen Sie weiter. Es ist wichtig, dass die neuen Normalisierungskoeffizienten im Controller-RAM aufgezeichnet werden und nach dem Ausschalten der Waage gelöscht werden (verschwinden).

Ein ähnliches Verfahren ist praktisch, aber bei der Arbeit ist nicht immer ein Gewicht von 2 kg zur Hand. Für diesen Fall wird ein Kalibrierungskorrekturverfahren bereitgestellt. Um in dieses Verfahren einzutreten, muss die Waage ausgeschaltet und JP1 neu angeordnet werden, damit der Ausgang des Controller-Ports gegen Masse kurzgeschlossen wird. Schalten Sie die Waage ein. Der Wert eines der Normalisierungskoeffizienten wird zur obersten Zeile hinzugefügt, in diesem Fall ist er 5325. Setzen Sie die Key2-Waage auf Null, legen Sie das uns bekannte Gewicht auf die Plattform und erhöhen Sie es mit den Key12-Tasten und verringern Sie den Wert des Gewichts, das durch die Skalen mit Key17 angezeigt wird. Wir erreichen die Gleichheit des auf die Plattform gelegten Gewichts und des durch die Waage angegebenen Gewichts. Nachdem die Gleichheit erreicht ist, öffnet JP1 den Stromkreis. WICHTIG: Es ist besser, den Jumper zu schließen, wenn die Waage nicht stimmt. Öffnen nur bei eingeschalteter Stromversorgung.Der Wert des angezeigten Normalisierungskoeffizienten ändert sich auch während des Anpassungsprozesses. Je umgekehrt die Beziehung, desto höher der Koeffizient, desto niedriger das angezeigte Gewicht und umgekehrt. Die Sache ist, dass der neue Koeffizientenwert auch in den internen RAM der Steuerung geschrieben wird. Nun, das ist alles.

Diese Waagen wurden in der Verpackungswerkstatt für 2 Arbeitsschichten von 8 Stunden bei einer Umgebungstemperatur von 18 bis 22 Grad Celsius betrieben. Bereits am ersten Betriebstag zeigte sich, dass Gewichtsänderungen aufgrund äußerer Faktoren: Erwärmung des Gerätes, Sprünge der Umgebungstemperatur durch Öffnen der Türen zufriedenstellend sind. Alle Schwankungen liegen im Bereich von 10 bis 15 Gramm (Durchschnittsgewicht des verpackten Produkts beträgt 10 kg), was für ein bestimmtes Gewicht akzeptabel ist. Die Messfehler, die die Messtechnik für Waagen mit der größten Wägegrenze von 15 kg UEG zulässt, sind also:



Der eingegebene Kalibrierungskorrekturmodus ist praktisch. Es wurde jedoch hauptsächlich verwendet, wenn das Gewicht um 5 bis 10 Gramm pro 5 kg Gewicht abwich. Der natürliche Wunsch ist es, genau null Fehler der Skalen zu haben, aber nicht notwendiger, da der Fehler im zulässigen Bereich liegt.

Zusammenfassend lässt sich sagen , dass sich der auf dem chinesischen ADC-Modul basierende Nh711-Chip als funktionsfähig erwiesen hat und als herkömmliches Ausgleichsschema und Mittelklasse eingesetzt werden kann. Das Fehlen einer Gewichtskorrektur aufgrund der Umgebungstemperatur im Mikrokreis selbst ist der anfälligste Punkt dieses Moduls (Mikrokreis). Meine Praxis hat gezeigt, dass bei Geräten, die unter Bedingungen mit geringen Schwankungen der Umgebungstemperatur betrieben werden, der Messfehler die von der Messtechnik zugelassenen Fehler nicht überschreitet. Die Frage der Verwendung dieses Moduls für Waagen, die beispielsweise auf dem Markt betrieben werden, wenn im Sommer die Temperatur über +30 ° C und im Winter bis zu -15 ° Celsius liegt, bleibt jedoch offen.

Leider habe ich nicht die Möglichkeit, die Waage in einer Wärmekammer zu testen und diese Frage zu beantworten. Am Ende des Artikels füge ich eine Hex-Datei (nicht für Arduino) für den Flash-Speicher des Mikrocontrollers hinzu. Das Diagramm ist oben gezeigt, die Eigenschaften des Dehnungsmessers sind ebenfalls angegeben. Wenn sich jemand für dieses ADC-Modul interessiert und es eine Wärmekammer gibt, können Sie die erforderlichen Tests selbst durchführen. Es ist ratsam, Ihre Ergebnisse zu teilen.

Datei: Scale16_11.hex. Link: cloud.mail.ru/public/4Edm/43fwpHEPU
Alles Gute !

All Articles