Hallo,
ich habe mir 2 HX711 Module in China gekauft und möchte diese
am STM32F0 testen.
http://www.ebay.de/itm/380802908040?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649
Nun habe ich die Module angeschlossen und festgestellt dass die
Schaltung
von der Referenz abweicht.
Bei den Modulen aus China ist AGND nicht verbunden,
am Anschluss AGND liegen ca. 700mV an.
Wenn man AGND und GND verbindet steigt die Stromaufname auf 5mA,
das ist viel mehr als die im Datenblatt angegebenen 1,5mA.
Beide Module scheinen soweit zu funktionieren.
Sie geben einen 24bit Wert aus, bei dem die oberen 16bit stabil
sind und die restlichen bits sich mehr oder wenige ändern.
Das sieht alles gut aus.
Allerdings liegt der digitale low Pegel auch bei 700mV.
Das sollte sicher nicht so sein.
Zum Testen habe ich am Eingang nur eine Brücke aus 4 gleichen
Wiederständen angeschlossen.
Merkwürdig ist auch dass am Kollektor des Transistors die vollen 3V
von VCC anliegen, der Transistor kann also gar nichts regeln.
Was mache ich falsch?
Sicher bin ich nicht der Einzige der solche Module gekauft hat,
hat jemand solche Module schon mal benutzt?
Andreas
Hi,
also ich hab das Modul getestet, mit nachgerüsteter GND Brücke ist alles
IO.
Meine Vermutung ist, dass der Layouter der die Platine designed hat,
Geistig keine Verbindung zwischen AGND, GND und dem Ground Symbol
herstellen konnte.
Und dann die 10 anderen Hersteller, die es in C&P Manier nachgebaut
haben, auch nicht darüber nachgedacht haben.
Die angesprochene Stromaufnahme könnte ich mir so erklären, dass die im
Datenblatt angegebenen Werte sich rein auf den Chip beziehen. Dann kommt
natürlich die ganze Schaltung und die Last-Zelle hinzu.
Ansonsten habe ich es am XMega zu laufen.
Ich wollte jetzt nochmal probieren wie sich die Werte verhalten wenn ich
von 10SPS auf 80SPS umschalte.
Gruß Sven
Hallo Sven,
ich möchte die HX711 Module als Messverstärker für Spannungen im µVolt
Bereich verwenden.
Geht das mit diesen Modulen?
Funktionieren Deine beiden Hx711 inzwischen?
Wer hat Erfahrung mit HX711 als Messvestärker für sehr niedrige
Spannungen?
Gruß
Nihat
Hi,
also ich habe die beiden Module an einem ATTiny2313 mit 80SPS laufen.
Ob man damit Spannungen in µVolt Bereich messen kann, weiß ich nicht,
muss man aus probieren.
Ich habe da jeweils eine 10Kg Messdose dran. Im Gramm Bereich ist er
auch sehr stabil. Darunter wird es dann ein bisschen wackelig, das liegt
aber bestimmt an den langen Messleitungen.
Gruß Sven
Sven Fabricius schrieb:> Meine Vermutung ist, dass der Layouter der die Platine designed hat,> Geistig keine Verbindung zwischen AGND, GND und dem Ground Symbol> herstellen konnte.
Das ist Quatsch, bei 24 Bit AD Wandlung macht es durchaus Sinn die
Grounds zu trennen und über einen "Filter" zu verbinden. Von daher hat
der Layouter schon mit gedacht.
Warum sollte der Chip Hersteller sonst wohl 2 verschiedene Grounds an
einem Chip haben?
Hallo Jörg,
kannst Du eventuell einen Hinweis geben, wie man das am besten
realisiert?
Ich habe es schon mal versucht AGND und DGND mittels eines Ferrits zu
verbinden, hat aber kein messbares Resultat gehabt.
Besten Dank,
Johannes
Ich denke mal mit den Modulen wird man da kaum messbare Resultate
erzielen. Da wirst du schon ein eigenes Layout machen müssen. AGnd und
GND mit separaten Groundflächen versehen... Dafür studieren andere um
das zu lernen. Dazu dann noch viel Berufserfahrung usw....
Du kannst mal nach Reference Layouts von anderen 24 bit adc suchen...
Da hast du recht Sven, ich arbeite mit anderen ADCs von TI, die haben 2
Grounds.
Trotzdem ist es Sinnvoll die GNDs zu trennen. Der Chip wird ja digital
angesprochen....
By the way... hat jemand code für STM32 zufällig dafür, scheint ja nicht
besonders aufwendig zu sein.... Das Arduino LIB kommt ja mit recht wenig
Zeilen aus.
Hallo, bin neu hier.
Ich habe nirgends etwas darüber gefunden, ob man mit dem HX711 eine
Wägezelle auch mit dem PC auslesen kann. Es heißt zwar überall "einfache
serielle Kommunikation", aber kann ich den HX711 auch an eine RS232
anschließen, oder kann der nur mit µC seriell kommunizieren?
ok - besten Dank!
Ich biete mein gestern im Kaufrausch bestelltes HX711-Modul dann gegen
Portokosten als verspätetes Weihnachtsgeschenk an und betrachte meine
Ausgaben für das Teil dann als Lehrgeld.
Also, nunmal net gleich die Flinte ins Korn werfen.
Zum Einen ist das noch nicht mal SPI sondern einfaches Bit-Banging.
Zum Anderen ist das eine sehr gute und einfache Aufgabe um in die µC
Welt ein zu tauchen.
Nen kleiner MAX232 und ein ATTiny2313 oder ähnliches auf ein Lochraster
gelötet, noch 2-3 Zeilen Programmieren, fertig ist der Serial HX711
Wandler.
Gruß Sven
Klingt wie "Mut zum Microcontroller" - dabei wollte ich doch nur meine
Schafe wiegen und habe für 3 Euro das falsche Teil bestellt....
Meine Elektronikkenntnisse sind auf dem Stand der 80er-Jahre. Es gab da
Transistoren und auch schon ICs, sogar schon das erste Digitaluhr-Chip,
aber noch keine Microcontroller und keine (privaten) Computer.
Ich bitte also um Verständnis, dass ich mich da erst mal bisschen schlau
mache, bevor ich eine neue unabsehbare Baustelle eröffne.
Aber danke!
Schafe Wiegen mit einer Wägezelle??? Das wird wohl eher nichts. Da
musst du dann schon 4 Stück nehmen. An jeder Ecke der Plattform eine!
Oder hängst du die Schafe an einen Strick? ;)
Jörg B. schrieb:> Schafe Wiegen mit einer Wägezelle??? Das wird wohl eher nichts. Da> musst du dann schon 4 Stück nehmen. An jeder Ecke der Plattform eine!>> Oder hängst du die Schafe an einen Strick? ;)
Zur Waage an sich habe ich ja noch nichts geschrieben, weil das vom
Forumsthema wegführen würde. Hier also nur in Kürze und mit
Entschuldigung:
Ich habe eine alte Dezimalwaage (http://www.themt.de/org-1360-49.html)
so umgebaut, dass ein Schaf draufpasst. Über die Genauigkeit, mit der
das Ding nach wie vor läuft, war ich selber baff; von allen digitalen
Alternativen können da wohl nur die Profigeräte mithalten, schätze ich.
Nur: Man muss eben Gegengewichte auflegen und dann einen Schieber
schieben, so dass ein Zehntel des gewogenen Gewichts gegenhält. Mit der
Ziege klappte das nach einigem Zureden ganz gut, aber Schafe sind
unruhiger und lassen einem kaum die Zeit zum Austarieren, wenn sie denn
überhaupt die Waage betreten. (offtopic: Wie man die Viecher da
draufkriegt, gehört nun wirklich nicht hier her; dazu braucht es nämlich
keinen Microcontroller, sondern ich betätige mich am besten selbst als
Makrocontroller).
So kam mir die Idee, das Gegengewicht durch einen digitalen Aufnehmer zu
ersetzen, um schneller ablesen zu können. Danach hatte ich noch die
Idee, den Verlauf am besten gleich zu speichern und in aller Ruhe später
auszuwerten.
Ich bin günstig an eine 50-Kilo-Wägezelle (YZC-516) gekommen und
probiere nun mit dieser herum; die könnte ich wohl so reinschnallen,
dass sie einen Messbereich bis 150kg oder 250kg abdeckt. Im Moment bin
ich dabei, die Auslesbarkeit der Wägezelle direkt mit der Soundkarte des
Messrechners zu testen (16 Bit, passender Spannungsbereich, geht aber
wegen Hochpassfilter allenfalls mit gepulstem Betrieb). Dann bin ich
eben zwischendurch über diese HX711 gestolpert.... Ich bin auch für
einfachere Varianten offen, aber die Viecher einfach auf eine Plattform
mit 4 Wägezellen zu stellen (gerne einer an jeder Ecke!), das kommt mir
bislang einfach ein wenig zu banal vor - es erinnert mich zu sehr an
diese dämlichen schrottigen Personenwaagen, die überall rumstehen ;-)
Das ist halt das gängige, 4 Wägezellen
So geht es natürlich auch, aus Ülatzgründen würde so etwas heute aber
schon niemand mehr bauen. Ich würde an deiner Stelle mir ein Arduino
Mega besorgen.
Dazu noch ein 2 oder 4 Zeilen Display. Wenn du die Daten speichern
willst noch einen sd card adapter und du hast alles was du brauchst.
Arduino ist relativ simple und es gibt gute Unterstützung in Foren dazu.
Danke. Ich werde mich mal schlau machen, wie das mit dem Arduino laufen
würde. Keine schlechte Idee, die Weihnachtsferien zu nutzen, um ein
neues Kapitel der Elektronik aufzuschlagen ;-)
Also Leute, abschließender Bericht:
Die rein mechanische Variante mit Gegengewichten hat inzwischen so gut
funktioniert (Schafe haben ohne größere Probleme die Waage betreten, auf
Wunsch auch einzeln, und ausreichend lange stillgehalten), dass ich nun
doch nicht an der elektronischen Variante weiterarbeite.
Inzwischen habe ich also nicht nur das HX711 herumliegen, sondern auch
eine niegelnagelneue Wägezelle (50 kg, S-Form, sieht aus wie im Bild).
Schade drum, aber vielleicht finde ich ja noch einen Abnehmer, oder ich
finde später mal noch Verwendung.
In jedem Fall danke für alle Forumstips!
Danke,
kannst du mir den Teil evtl noch erklären?
if (HX711_IN & HX711_DT)
{
chandata += 1;
}
chandata <<= 1;
cbi(HX711_OUT, HX711_SCK);
_delay_us(0.5);
}
chandata >>= 1;
Ich kenne die Operation <<= und >>= nicht, konnte mit Google auch nichts
finden, was passiert dort genau?
und was macht chandata+=1 ? Müsste normalerweise nicht +1 sondern das
bit an Pos x gesetzen werden?
Hi,
kann mir jemand noch sagen, wie ich die 24bit Zahl als Zweierkomplement
in eine echte int32_t bekomme?
Da bin ich mir noch nicht sicher wie ich es machen kann.
Hallo Zusammen, ist zwar schon ein älterer Thread aber ich hatte mit dem
HX711 gerade ein Aha-Erlebnis, das ich nicht vorenthalten will:
Durch die 0,7V Ground-Offset wird der Datapin vom HX711 nur auf ca 1 V
runtergezogen. Bei 3V UCs reicht das u.U. nicht aus um "low" sicher zu
erkennen.
Mit 2,7Kohm Pullups hats jedenfalls nicht mehr funktioniert. Habe dann
den Pullup auf 10KOhm vergrössert, dann ging es gerade so. : Lowpegel
ist immer noch um ca 1V.
Oszi ist mein Freund !
Danke für die Aufmerksamkeit
werbung schrieb:> Mit 2,7Kohm Pullups hats jedenfalls nicht mehr funktioniert. Habe dann> den Pullup auf 10KOhm vergrössert, dann ging es gerade so.
Warum Pullups bei SPI?
MfG Klaus
Hi, ich verstehe das Problem nicht ganz.
Wie oben schon geschrieben haben die Layouter vergessen das Ground zu
verbinden, deswegen habe ich bei mir überall ein Ferit drinne und gut
ist.
Gruß Sven
Hallo Sven,
könntest Du bitte Deine Antwort ein wenig präzisieren?
>Hi, ich verstehe das Problem nicht ganz.>Wie oben schon geschrieben haben die Layouter vergessen das Ground zu>verbinden, deswegen habe ich bei mir überall ein Ferit drinne und gut>ist.>Gruß Sven
Welchen (SMD?) Ferrit hast Du verwendet ?
Wo/Wie hast Du den Ferrit denn "eingebaut" -> in Bezug auf das
Chinesenmodul (ev. Bild)?
Danke.
Chris.
Sven schrieb:> Wie oben schon geschrieben haben die Layouter vergessen das Ground zu> verbinden, deswegen habe ich bei mir überall ein Ferit drinne und gut> ist.
Wahrscheinlich haben sie ganz im Gegenteil weiter gedacht, um dem
Anwender nicht in sein Erdungskonzept rein zu pfuschen. Der schönste
24-Bit Wandler nützt nicht, wenn einem die Gnd-Ströme des Digitalteils
das Analogsignal versauen.
Moin,
um nochmal auf das Datenblatt und das darin enthaltene Referenz Design
zu verweisen.
Der HX711 besitzt kein separaten Eingang für Digital Ground.
Was genau ich für einen Ferit eingebaut habe weiß ich nicht mehr. Die
Dinger sind nun lange schon fest verbaut und verrichten ihre Dienste.
Der Ferrit ist zwischen AGND,E- und dem Rest der Schaltung, inklusive
Serial Ground.
Selbst mit 80Hz abtastrate bleiben die Werte stabil.
Gruß Sven
Sven F. schrieb:> Der Ferrit ist zwischen AGND,E- und dem Rest der Schaltung, inklusive> Serial Ground.
Dein "Serial Gnd" ist gar nicht vernünftig angeschlossen.
Der auf J2 mit "Gnd" bezeichnete Pin geht (zumindest bei meinen Modulen,
Kauf 2019/03) einzig an die Pins XI (14) und Rate (15) vom HX711.
Eine Versorgung des Moduls über J2 führt im Originalzustand des Moduls
dazu, dass das IC über die Schutzdioden der beiden Eingänge rückwärts
versorgt wird. /J2.Gnd/ und /J1.E-/ gehören verbunden - ohne
irgendwelchen Ferrit-Zirkus.
Hallo,
ich habe zwei Fragen bzgl. dieses Moduls:
1.:
Wenn ich das ganze per SPI regeln wollte, dann würde ich doch für das
Auslesen 3x Kommando 0xAA schicken und im Anschluss einmal Kommando
0x01, sofern ich Kanal A mit 128 Gain nutzen will.
...bzw. wenn für den Fall, dass das MSB zuerst auf den Bus gegeben wird
wären es die Kommandos 3x mal 0x55 und einmal 0x80.
Korrekt?
2.:
Der Mininmalwert beträgt 0x800000
Der Maximalwert beträgt 0x7FFFFF
jeweils im 2er Komplement, allerdings bei nur 24 Bit Auflösung.
Was entspricht denn nun einer gemessenen 0,0kg Gewicht?
Welche Zahlenbereiche würde ich erhalten, wenn ich die Waage belaste
Welche Zahlenbereiche würde ich erhalten, wenn ich an der Oberfläche der
Waage ziehe, sie also negativ auslenke.
Ich würde jetzt erwarten, dass ich bei Belastung eine Repräsentation von
0 bis 4095 erhalte und bei Zug die Dezimalwerte 4096 bis 8192, also 12
Bit pro Auslenkung, was ja dann einer 24Bit-Komplenentärdarstellung
entsprechen würde und eigentlich den Zahlenbereich -1 bis -4096
repräsentiert.
Gehen diese Überlegungen in die richtige Richtung?
SPI schrieb:> Ich würde jetzt erwarten, dass ich bei Belastung eine Repräsentation von> 0 bis 4095 erhalte und bei Zug die Dezimalwerte 4096 bis 8192, also 12> Bit pro Auslenkung, was ja dann einer 24Bit-Komplenentärdarstellung> entsprechen würde und eigentlich den Zahlenbereich -1 bis -4096> repräsentiert.>> Gehen diese Überlegungen in die richtige Richtung?
Wie kommst du von 24 Bit plötzlich auf zwei mal 12 Bit.
Zwei mal der Wertebereich von 12 Bit ergibt 13 Bit.