Schwerpunkt Waage mit Arduino

Tobias Reik

Moderator
Teammitglied
jetzt festgestellt das die Waage den Schwerpunkt um 1,5mm falsch anzeigt
Wahrscheinlich stimmt was mit den Abständen der Auflagen bzw dem Nasenleistenanschlag nicht.
Wo kann man das einstellen?
Hi Marc,

die abstände kannst Du hier einstellen.
const long WingPegDist = 1198; //calibration value in 1/10mm, projected distance between wing support points, measure with calliper
const long LEstopperDist = 300; //calibration value 1/10mm, projected distance from front wing support point to leading edge (stopper pin), measure with calliper

Wichtig ist auch, daß Du die Waage kalibrierst!

Hierzu "Output" auf "0" setzen und ein Gewicht (500 - 1.000g (optimal: 50% des Range) auf die Auflagepunkte legen.
Nun die kalibrierfaktoren hier anpassen
float ldcell_1_calfactor = 994.1; //user set calibration factor load cell front (float)
float ldcell_2_calfactor = 708.1; //user set calibration factor load cell rear (float)
Vorgang widerholen bis es WIRKLICH passt.

Viele Grüße
Tobi

P.S.: Eine Waage (mit mechanisch überbelastetem Sensor) kenne ich auch, diese läuft nicht mehr linear - das macht aber auch nur 0,5mm SP-Verschiebung aus...
 

Sirow

User
Clone Board

Clone Board

Hallo,

die Frage wegen dem Board bezog sich eher auf praktische Erfahrung von anderen Usern, die damit ggf. Probleme hatten - oder halt auch nicht.
Es soll ja Nachbauten geben die katastrophal sind und welche die funktionieren (z.B. bei Bremsen am Auto oder ähnlichen Produkten).

Die Anleitung von nightflyer88 habe ich mir schon als Grundlage genommen und anhand der Chipbeschreibung mir die 3 Leonardo-Clone-Boards bestellt.

Nun gut,.... das Glider CG Sketch ist problemlos aufgespielt worden.
Jetzt warte ich auf die Schrauben für das Projekt und denke, dass ich Mitte der Woche weiter machen kann.


Gruß,
Mirko
 

Marc K.

User
Hi Marc,

die abstände kannst Du hier einstellen.


Wichtig ist auch, daß Du die Waage kalibrierst!

Hierzu "Output" auf "0" setzen und ein Gewicht (500 - 1.000g (optimal: 50% des Range) auf die Auflagepunkte legen.
Nun die kalibrierfaktoren hier anpassen

Vorgang widerholen bis es WIRKLICH passt.

Viele Grüße
Tobi

P.S.: Eine Waage (mit mechanisch überbelastetem Sensor) kenne ich auch, diese läuft nicht mehr linear - das macht aber auch nur 0,5mm SP-Verschiebung aus...
Dank dir Tobias. Ich probiere es mal aus.

Gruß Marc
 

kalle123

User
Noch mal zu dem "Problem", einen "BLINK" sketch auf einem Arduino Pro micro Clone zum laufen zu kriegen.

Hab gestern den Pro micro hier erhalten.

eHPm6TXl.png


https://www.aliexpress.com/item/Pro...074.html?spm=2114.13010708.0.0.381e4c4dj7sMVP

Es ist immer angeraten, zuerst mal einen einfachen sketch auf den Controller zu laden, um zu sehen, ob das Teil in Ordnung ist und das Flashen klappt.

Hier mal das entsprechende Programm (RX und TX LED blinken im 1s Takt)

Code:
/* Pro Micro Test Code
   by: Nathan Seidle
   modified by: Jim Lindblom
   SparkFun Electronics
   date: September 16, 2013
   license: Public Domain - please use this code however you'd like.
   It's provided as a learning tool.

   This code is provided to show how to control the SparkFun
   ProMicro's TX and RX LEDs within a sketch. It also serves
   to explain the difference between Serial.print() and
   Serial1.print().
*/

int RXLED = 17;  // The RX LED has a defined Arduino pin
// The TX LED was not so lucky, we'll need to use pre-defined
// macros (TXLED1, TXLED0) to control that.
// (We could use the same macros for the RX LED too -- RXLED1,
//  and RXLED0.)

void setup()
{
 pinMode(RXLED, OUTPUT);  // Set RX LED as an output
 // TX LED is set as an output behind the scenes

 Serial.begin(9600); //This pipes to the serial monitor
 Serial1.begin(9600); //This is the UART, pipes to sensors attached to board
}

void loop()
{
 Serial.println("Hello world");  // Print "Hello World" to the Serial Monitor
 Serial1.println("Hello!");  // Print "Hello!" over hardware UART

 digitalWrite(RXLED, LOW);   // set the RX LED ON
 TXLED1; //TX LED is not tied to a normally controlled pin so a macro is needed, turn LED OFF
 delay(1000);              // wait for a second

 digitalWrite(RXLED, HIGH);    // set the RX LED OFF
 TXLED0; //TX LED macro to turn LED ON
 delay(1000);              // wait for a second
}

https://learn.sparkfun.com/tutorials/pro-micro--fio-v3-hookup-guide/example-1-blinkies

cu KH
 

Sirow

User
Blinken Arduino Clone läuft

Blinken Arduino Clone läuft

Hallo KH,

den Sketch habe ich kopiert, aufgespielt und siehe da, beide LED's leuchten.
Durch verändern der Werte ändert sich auch der Rhythmus des Blinken.

Nur bei 10 ms "blinkt" für meine Auge nix mehr ;)


Danke und Gruß,
Mirko
 

Sirow

User
angezeigtes Gewicht

angezeigtes Gewicht

Hallo zusammen,

Mittlerweile sind alle Teile angekommen, alles ist zusammengelötet und -geschraubt, die TX und RX LED blinken, das 0.96 Zoll OLED Display zeigt etwas an, aber ich habe folgende Probleme:

Über den seriellen Monitor habe ich folgendes eingetragen:
Anzahl der Wiegezellen: 2
Abstände X1 und X2 gemessen und eingegeben
Bei X3 habe ich alles so gelassen (220.00 mm)

Da ich kein besseres Referenzgewicht gefunden habe, nutze ich dafür gerade einen Schleifstein, mit 577 gr.
Das Gewicht habe ich beim Referenzgewicht eingetragen.
Den CG auf 90 mm gestellt.

Wenn ich nun meinen Schleifstein auf die Waage lege, den Punkt 7 im Seriellen Monitor anwähle, kommt folgendes:
"Please put the reference weight on the scale.
Start auto calibration (J/N)?"

Jetzt habe ich oben in der Eingabezeile ein "j" eingetippt und auf Enter gedrückt, so wie alle anderen Parameter auch geändert wurden... jedoch passiert nun nix mehr.

Wie kann man also die Automatische Kalibrierung starten frage ich mich?!
Ich kann in diesem Zustand auch keine anderen Parameter mehr ändern. Ich habe das Gefühl, dass das Programm "hängt".

Achja, im Display steht fortlaufend immer 0.0 gr. und CG 0.0 mm?!


Das zweite Problem ist, dass das OLED Display am linken Rand einen zusätzlichen weißen Streifen zeigt, der am oberen Ende immer ein Pixel an und wieder aus macht.
Das sieht erstmal komisch aus und scheint mir auch nicht ganz normal zu sein.
Gibt es dafür ne Abhilfe?

Gruß,
Mirko
 
"Please put the reference weight on the scale.
Start auto calibration (J/N)?"

Jetzt habe ich oben in der Eingabezeile ein "j" eingetippt

Es steht (J/N) -> also grosses J eintippen ;)

Das zweite Problem ist, dass das OLED Display am linken Rand einen zusätzlichen weißen Streifen zeigt, der am oberen Ende immer ein Pixel an und wieder aus macht.
Das sieht erstmal komisch aus und scheint mir auch nicht ganz normal zu sein.
Gibt es dafür ne Abhilfe?

Was für ein Display hast du genau, welcher Chip ? Evtl hast du ein Display mit SSD1306 Chip, dann in der settings_AVR.h das andere Display wählen:

Code:
// Please UNCOMMENT the display used

U8G2_SH1106_128X64_NONAME_1_HW_I2C oledDisplay(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);
//U8G2_SSD1306_128X64_NONAME_1_HW_I2C oledDisplay(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);
 

Robinhood

Vereinsmitglied
Ich habe versehentlich 2 Stück 3kg-LC bestellt. Da alle hier im Forum die Kombi 2/3kg für die F3F-Waage verwenden: Ist das der Genaugkeit abträglich? Falls jemand eine 2kg LC übrig hat und eine 3kg bräuchte, wäre ein Tausch möglich.
 

Sirow

User
Es steht (J/N) -> also grosses J eintippen ;)


Was für ein Display hast du genau, welcher Chip ? Evtl hast du ein Display mit SSD1306 Chip, dann in der settings_AVR.h das andere Display wählen:

Es ist schön, wenn auch mal etwas klappt :)

Das Display sieht nach dem Tipp von nightflyer88 so aus, wie ich es mir vorgestellt habe. Danke dafür.

Autokalibrieren hat auch funktioniert.... wer lesen kann ist klar im Vorteil. Das J in GROSSBUCHSTABEN war gestern Abend scheinbar schon zu spät für mich :)

Zudem ist mir aufgefallen, dass ich wohl die Wiegezellen falsch am Arduino angelötet habe. Zelle 1 und 2 vertauscht. Das löte ich erstmal um und melde mich dann nochmal.

Gruß,
Mirko
 

Sirow

User
Nr. 2 läuft! :)

Nr. 2 läuft! :)

Hallo zusammen,

@skyfreak: umlöten war natürlich die einfacherere Variante. Manchmal sieht man den Wald einfach nicht

Da ich direkt Komponenten für zwei Waage bestellt habe, habe ich einfach mal die zweite Waage zusammengebaut, gelötet, Sketch aufgespielt, alles ausgemessen und eingegeben und siehe da: die Waage funktioniert!!!

Warum auch immer die erste nicht geht, das muss ich jetzt rausfinden.
Immerhin weiß ich jetzt, dass die Komponenten passen, der Sketch zum Board und allem anderen passt.

Vielen Dank für euch Unterstützung!


Gruß,
Mirko
 

onki

User
Hallo,

meine Waage ist fertig, muss aber noch kalibriert werden.
Helft mir doch mal bitte kurz aufs Pferd wo steht wie ich das genau mache.
Bekanntes Gewicht im Arbeitsbereich auf die Zelle auflegen und die Ausgabe studieren ist klar. Wie ergibt sich aber der Kalibrierwert?
Ich nutze eine 2 und 5kg Zelle (hab mich bei der 5kg vertan - sollte ne 3er werden aber falsch bestellt).

Gruß
Onki
 
Auf das Settings screen der LoadCell korrectur factor auf 1.( für beide wiegezellen)
Bekanntes gewicht auf die auf wiegezelle 1 liegen und ganz unten ( auf der settings screen) der wert ablesen, diese wert teilen durch das bekanntes gewicht und eintragen als LoadCell korrectur factor.
Dies für die 2te wiegezelle wiederholen. eingetragener wert durfen mehrere nach komme stellen haben.
Gruss
Koen.
 
V1.2

V1.2

Version V1.2 ist verfügbar: https://github.com/nightflyer88/CG_scale

neues:

  • update per Wlan möglich (over the air update), dadurch muss kein USB Kabel am ESP8266 angeschlossen werden, dies ist natürlich von grossem Vorteil, wenn das ESP fix eingebaut ist und man schlecht dran kommt
  • mDNS ist nun standartmässig eingeschaltet, die Waage ist dann per cgscale.local erreichbar
  • Akkuspannung kann in Prozent angezeigt werden, dazu den Akkutyp und Zellenzahl einstellen. Der Füllstand wird anhand der akkuspezifischen Entladekurve berechnet, und sollte relativ genau stimmen. Es werden momentan folgende Akkutypen unterstützt: LiPo, Li-ion, LiFePo, Nixx

Braucht jemand Hilfe, oder hat Fragen zur installation, Aufbau oder Kalibrierung, dann bitte zuerst das Wiki lessen: https://github.com/nightflyer88/CG_scale/wiki
 

onki

User
Hallo,

danke für die Hinweise. Das Gewicht ist nun kalibriert. Die Terminalversion ist wirklich klasse.
Wie sind aber die Abstrände X1 und X2 zu verstehen?
Ein Bezugspunkt ist ja der Anschlag vorne. Wogegen wird aber X1 und 2 gemessen?
Ist das die Mitte der Wiegezelle, die Mitte der Auflagepunkte oder was?

Gruß und Danke vorab

Onki
 

skyfreak

User
hi onki

abstand 1 ist vom anschlagpunkt der nasenleiste (leading edge) zum auflagepunkt 1 (vorn)
abstand 2 ist vom auflagepunkt 1 (vorn) zum auflagepunkt 2 (hinten)
wenn du eine klassische 2 zellen waage gebaut hast, dann wären das bei den auflagepads sozusagen die mittelpunkte der drehachse auf der die pads wippen.
ich habe die version von stefan F3K aktuell drauf, meine aber zu erinnern, dass es bei nightflyers version in der config unten extra bildchen dazu gab.

gruss aus dem jetiforum
der skyfreak
 

onki

User
Hallo,

Danke - jetzt ist der Groschen gefallen. Ich hatte mir das schon gedacht, jedoch war für x2 ein sehr großer Wert eingetragen (350 statt real 119mm).

Daher meine Skepsis. Nun funzt es.

Gruß und Danke

Onki
 

skyfreak

User
naja das liegt daran denke ich, dass nightflyers waage ja auch für 3punkt 3cells geht, wo die zellen nicht in einem festen "rahmen" wie bei 2cells eingebaut sind und somit der abstand von 2bein zu sporn z.b. auch durchaus weit über 30cm liegen kann und wird.
 

Sirow

User
hi onki

abstand 1 ist vom anschlagpunkt der nasenleiste (leading edge) zum auflagepunkt 1 (vorn)
abstand 2 ist vom auflagepunkt 1 (vorn) zum auflagepunkt 2 (hinten)
wenn du eine klassische 2 zellen waage gebaut hast, dann wären das bei den auflagepads sozusagen die mittelpunkte der drehachse auf der die pads wippen.
ich habe die version von stefan F3K aktuell drauf, meine aber zu erinnern, dass es bei nightflyers version in der config unten extra bildchen dazu gab.

gruss aus dem jetiforum
der skyfreak

Hallo zusammen,

beim Kalibrieren hänge ich nun auch irgendwie.
Ich hatte zunächst die selbe Idee wie Onki und habe von der leading edge zum Mittelpunkt der Wiegezelle gemessen und den Wert bei X1 eingetragen.
X2 habe ich von Mittelpunkt zu Mittelpunkt bei der Wiegezellen genommen.

Dabei kam bei meinem Flieger ein CG von 60.5 und Gesamtgewicht von 2050 gr. raus.
Das liegt nahe an dem von mir, zuvor händisch eingestellten Schwerpunkt von 58.5 mm und einem Gesamtgewicht von 1950 gr.

Nun habe ich zur Kontrolle mal von leading edge zum Mittelpunkt des Auflagepatches und von beiden Auflagepatches zueinander die Distanzen gemessen und eingegeben. Dann komme ich jedoch auf ein Gesamtgewicht von 2250 gr und einem CG von 48.5 mm.

Beide Varianten sind leider nicht zufriedenstellend und ich frage mich nun woran das ganze liegt.

Ich habe vorne eine Wiegezelle mit 5 kg und hinten 3 kg drin.
Mein Referenzgewicht wiegt 577 gr und hat einen CG von 90 mm.

Wenn ich die automatische Kalibrierung mache und das Referenzgewicht nur auf eine der beiden Wiegezellen lege, kommt in beiden Fällen nicht 577 gr. bei raus?!

Gruß,
Mirko
 
Ansicht hell / dunkel umschalten
Oben Unten