Schwerpunkt Waage mit Arduino

kalle123

User
Kannst auch den Abgleichfaktor (Kalibrierfaktor) neg. setzen.

Oder die grünen und weisse Litze am HX711 wechseln oder ....

Gruß KH
 
Display zeigt nur Hieroglyphen an

Display zeigt nur Hieroglyphen an

Hallo,

Erstmal vielen Dank an Tobias, der sich die Mühe gemacht hat alles zusammenzustellen und Online zu stellen!

Ich habe das ganze einfach nachbauen können und die ganzen Tests durchführen können.
Leider Komme ich jetzt mit dem Display nicht mehr weiter.
Es werden nur folgende Zeichen dargestellt.
Im Seriellen Monitor wird alles richtig dargestellt und funktioniert.
Kennt jemand den Fehler? Wahrscheinlich habe ich irgendeine Bibliothek vergessen, oder?

IMG_20180215_102137.jpg
 
Fehler gefunden!

Fehler gefunden!

Zum Glück habe ich das Ganze als Bild hochgeladen.
Mir ist an den Lötpunkten ein Kurzschluss aufgefallen, jetzt funktioniert alles!

Vielen Dank für eure Hilfe!
 

Tobias Reik

Moderator
Teammitglied
liegt es vielleicht an dem Sketch von mir ?

Ich habe den CG_Scale_RCN nicht explizit mit einem LCD getestet, da ich hier eigentlich ja nur den vorhandenen Code beibehalten habe.
Evtl. schiebt der dort durch einen Bug Daten für das OLED hin mit denen das LCD nichts anzufangen weis :confused:

Bitte lade doch mal den "Hello World" aus der Bibliothek um auszuschließen, daß es an der CG_Scale_RCN.ino liegt.

Bibliothek mit Beispiel: https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads/Newliquidcrystal_1.3.5.zip
Hier dann unter: Newliquidcrystal_1.3.5\examples\HelloWorld_i2c\HelloWorld_i2c.pde

Tobi

Edit:
icon14.gif
 

kalle123

User
Adresse vom Display stimmt aber schon im Sketch?

Markus, wenn die I2C Adresse nicht stimmt, dann tut sich (außer backlight) gar nix!

@Quintus_. Das hier bei D4 D5 D6 ??

saw9Jegl.png


Hast ja noch mal Glück gehabt. Hättest dir da auch Komponenten schrotten können.

Ich schau mir alle meine Lötungen inzwischen mit einer Lupe an (und das nicht nur altersbedingt ;)), bevor ich anschließe. Vermeidet unnötigen Ärger.

Grüße KH
 

kalle123

User
... und man schaue sich mal die Bilder im zweiten o.a. post bei rcgroups mal an.

Sauberer Aufbau, stabile statisch bestimmte 3 Punkt Auflage, flexibel in der Auslegung, auch für Großmodelle.

Von der Softwareseite dürfte das kein großes Problem sein, die Library nimmt auch eine 3. LC

Ja ich weiß, ist nicht sexy, kein 3D Druck. Aber von der Fertigung seh ich da Vorteile. Die Hardware ließe sich wohl recht schnell fräsen ....

Gruß KH
 

hafromue

User
3-Punkt-Waage

3-Punkt-Waage

Hi,

und wo bekomm ich jetzt den Code für die 3-Punkt-Waage her?
Such ich ja schon seit Beginn dieser Diskussion!!!!
Ein 4m 22kg Modell kann ich halt mal nicht auf so ner kleinen Waage handeln!
Schon garnicht wenn es ein Motormodell mit starrem Fahrwerk ist.

Gruß
Alex
 

Maggi

User
Im Prinzip muss man nur das Sketch um den dritten senor erweitern und eine senor Addition vor der cg Berechnung machen 😉
 

kalle123

User
Alex, ich hab einfach heute morgen, wie ich die Seiten bei rcgroups gesehen hab, den "Read_2x_load_cell.ino" aus der HX711 Library zu einem "Read_3x_load_cell.ino" modifizier und geschaut, ob der sich so Kompilieren lässt. Anscheinend OK.

#include <HX711_ADC.h>

//HX711 constructor (dout pin, sck pin)
HX711_ADC LoadCell_1(A0, A1); //HX711 1
HX711_ADC LoadCell_2(A2, A3); //HX711 2
HX711_ADC LoadCell_3(A4, A5); //HX711 3

long t;

void setup() {
Serial.begin(9600);
Serial.println("Wait...");
LoadCell_1.begin();
LoadCell_2.begin();
LoadCell_3.begin();

long stabilisingtime = 2000; // tare preciscion can be improved by adding a few seconds of stabilising time
byte loadcell_1_rdy = 0;
byte loadcell_2_rdy = 0;
byte loadcell_3_rdy = 0;

while ((loadcell_1_rdy + loadcell_2_rdy + loadcell_3_rdy) < 3) { //run startup, stabilization and tare, both modules simultaniously
if (!loadcell_1_rdy) loadcell_1_rdy = LoadCell_1.startMultiple(stabilisingtime);
if (!loadcell_2_rdy) loadcell_2_rdy = LoadCell_2.startMultiple(stabilisingtime);
if (!loadcell_3_rdy) loadcell_3_rdy = LoadCell_3.startMultiple(stabilisingtime);
}
LoadCell_1.setCalFactor(696.0); // user set calibration factor (float)
LoadCell_2.setCalFactor(733.0); // user set calibration factor (float)
LoadCell_3.setCalFactor(733.0); // user set calibration factor (float)
Serial.println("Startup + tare is complete");
}

void loop() {
//update() should be called at least as often as HX711 sample rate; >10Hz@10SPS, >80Hz@80SPS
//longer delay in scetch will reduce effective sample rate (be carefull with delay() in loop)
LoadCell_1.update();
LoadCell_2.update();
LoadCell_3.update();
}

Müsste mal eine 3. LC nehmen und mal schauen, ob das geht. Aber da spricht eigentlich nix dagegen.

Dann ein bisschen Auswertung in den sketch dazu und das Display dann nicht über I2C (A4 und A5 sind ja weg).

Aber ein Programm sollte kein Problem sein.

Interessant finde ich die Lagerung auf drei Punkten in den Kugelkalotten. Ev. noch eine Abhebesicherung der Messplattform von der Grundplatte vorsehen.

Wenn ich das Bild hier aus rcgroups sehe ....

IMG_2902.JPG


Das sieht vernünftig aus. Da hätte ich auch drauf kommen können :cry:

Grüße KH

@Markus.
.... und eine senor Addition vor der cg Berechnung machen

Er macht wohl ein bißchen mehr. Er wertet auch aus, inwieweit seitlich da ein Ungleichgewicht herrscht ....
 

kalle123

User
So Alex, extra für dich ;)

Eine dritte LC mit nem HX711 und meine zwei weiteren mal provisorisch an nem Arduino Uno.

Bildschirmfoto_2018-02-17_15-52-20.png

und dann die Daten der drei LCs im seriellen Monitor

Bildschirmfoto_2018-02-17_15-48-00.png

3 LCs, 3 HX711, 1 Arduino Nano, 1 LC1602, 1 Taster zum Nullstellen. (Stromvers. nach Wahl)

Grundplatte (nivelierbar) mit den 3 LCs und Kalottenauflage für den Messschlitten.

Messschlitten nach gusto mit 3 (justierbaren) Auflagen für die Kalotten.

Messstand aufbauen, Elektrik verdrahten, bisschen Software. Feddig!

Gruß KH

PS. Muss mich korrigieren. LCD1602 mit I2C geht ja doch, der Arduino Nano hat ja noch A6 und A7. Hatte einen Uno auf dem Tisch und da ist bei A5 Schluss.
 

hafromue

User
Hallo zusammen,

das mit der
"Read_2x_load_cell.ino"​
hatte ich auch schon ins Auge gefasst. Leider bin ich noch nicht dazu gekommen es auszuprobieren.
Aber da das ja zu funktionieren scheint wird ich nachher mal meine Loadcells zusammenlöten.
Danke für die Versuche.
Werde dann mal weiter berichten.

Schönen Sonntag noch

Alex
 
Hallo zusammen

War bei diesen Thread schon über längere Zeit stiller Beobachter und würde mir nun auch gerne eine Waage zusammenstellen. Aber erstmal ein grosses Lob und Dankeschön an alle, welche hier zum Gelingen dieses Projekt mitgeholfen haben.:cool:

Leider fehlt es mir an einem 3D-Drucker und wollte daher nachfragen, ob mir jemand diesbezüglich helfen könnte. Ich würde mir gerne die Version mit OLED-Display bauen. Die STL-Dateien wären jene, welche Tobias Reik hier eingestellt hat: http://www.rc-network.de/forum/show...-mit-Arduino?p=4500800&viewfull=1#post4500800

Wer mir die 3D-Teile drucken kann und möchte, bitte per PN melden. - natürlich gegen Entgelt. :)

Vielen Dank und beste Grüsse,
Robert
 
Hallo zusammen

Nun gings aber schnell, mein Anliegen hat sich erledigt. Max (Source) druckt mir die Teile.:cool:

Besten Dank und Grüsse,
Robert
 
Idee einer Projecktergänzung

Idee einer Projecktergänzung

Ich lese sehr interessiert und bin dicht dabei, eine zu bauen. Ich würde aber für grosse Motormodell bauen.
Meine aktuelle Methode: Rumpf vorne aufhängen oder auf Brettkante auflegen und dann am Heck eine Digitalwaage stellen.
Ich kenne das Gesamtgewicht und kann jetzt mit dem Hebelsatz den Schwerpunkt rechnen, oder besser ich kann ausrechnen was die Waage zeigen muss um den Schwerpunkt in Punkt X zu haben. erreichen.

Dabei fällt mir ein Parameter ein, der hier noch nicht betrachtet wurde.
Ich bestimme mit meinen Wiegungen immer einen Massenschwerpunkt.
Liegt der Massenschwerpunkt weit ab von Auflageebene, dann hat die
horizontale Ausrichtung einen erheblichen Einfluss auf das Messergebnis.
Bei den Seglern die hier gewogen werden ist der Abstand des Massenschwerpunktes
meist nicht gross. Bei einer Piper oder Tiger Moth ist dies jedoch extrem hoch.
Horizontal ausrichten muss ich auf die Fluglage in der Luft, nicht auf den Anstellwinkel
des Profils. Bei einer Tigermoth empfiehlt es sich eine Wasserwaage anzulegen, sonst
ist man grob verkehrt unterwegs.

An dieser Stelle setzt meine Überlegung an, bei diesem Projekt noch eine Winkelmessung
mit einzubeziehen, also die Winkelabweichung beim auflegen des Modells.

Also die Ruderweg(winkel)messung mit Arduino

Sigi
 

hafromue

User
3-Punkt-Waage

3-Punkt-Waage

Hallo zusammen,

wie ihr ja vielleicht mitbekommen habt bin ich eher an einer Waage für größeres Gerät interessiert.
Aus diesem Grund hab ich mir mal das Projekt im Beitrag #248 angesehen und entdeckt dass das genau das macht was ich suche!

Hier wird auch die Kalibrierung nicht fest in den Sketch geschrieben sondern per Tastendruck im EEPROM gespeichert.
Ich kann also so meiner Waage immer einen absoluten Nullpunkt kalibrieren, egal was ich als Anbauten dran hab ohne dass ich den Sketch anfassen muß.

Weiterhin verstehe ich nicht warum alle die Analogen Eingänge hier verwenden. Die HX711 sind A/D-Wandler und somit kann ich jeden Digitaleingang des Arduino dafür hernehmen! So hab ich das auch bei der Dreipunktwaage gemacht. Alle drei Wiegezellen sind an D-Eingängen angeschlossen.

Muß allerdings noch paar Anpassungen machen da ich keine Auflösung von 0,1 Gramm brauche bei einem Gesamtgewicht von max. 25kg.
Hab auch 20kg Wiegezellen. Und ich muß den Abstand der Wiegezellen noch einstellbar machen.

Gruß aus Burgheim
Alex

Und Dank an Eckehard und Kalle für ihre Tips bisher.
 

Eckehard

User
Hallo Alex,

zum Thema :

Weiterhin verstehe ich nicht warum alle die Analogen Eingänge hier verwenden. Die HX711 sind A/D-Wandler und somit kann ich jeden Digitaleingang des Arduino dafür hernehmen! So hab ich das auch bei der Dreipunktwaage gemacht. Alle drei Wiegezellen sind an D-Eingängen angeschlossen.

Ein Arduino, z.B. micro hat quasi beide Welten auf einem Pin.... was manchmal verwirrend ist.... :-)

Schau mal hier:
https://store.arduino.cc/arduino-micro ,dann Tab Documentation:
Analog Inputs: A0-A5, A6 - A11 (on digital pins 4, 6, 8, 9, 10, and 12). The Micro has a total of 12 analog inputs, pins from A0 to A5 are labelled directly on the pins and the other ones that you can access in code using the constants from A6 trough A11 are shared respectively on digital pins 4, 6, 8, 9, 10, and 12. All of which can also be used as digital I/O.

und:
http://pinoutguide.com/Electronics/arduino_micro_pinout.shtml

Von welchem Arduino Board sprichst Du ?
Welche Libs verwendet Dein Code?

Grüße
Eckehard
 
Ansicht hell / dunkel umschalten
Oben Unten