Schwerpunkt Waage mit Arduino

Alby

User
Alles klar so weit, bin aber bei der Kalibrierung hängen geblieben,
stehe auf dem Schlauch...., komme nicht weiter.

hier aus dem Post #293
9. "Output" im Sketch auf 0. Serieller Monitor öffnen.
10. Definiertes Gewicht auf die Waage und über eingaben wie A+0.01 oder B-200 in den Seriellen Monitor die Wägezellen kalibrieren (A ist vorne, B ist hinten.) ich vermittle bis 0.1...
Den letzten übermittelten Wert aus dem Seriellen Monitor in den Sketch als ldcell_1_calfactor (für "A" vorne) bzw. ldcell_2_calfactor (für "B" hinten) eintragen. (autoscroll ausschalten )
11. Schritt 10. wiederholen bis es reproduzierbar passt

9. ist klar
10. (mein Handy wiegt genau 163,5g, lege es auf die Waage und dann weiss nicht mehr weiter:confused:
11. was soll reproduzierbar sein??
 

Alby

User
Hallo Leute,
habe das Problem mit dem Schaltplan,
weiss nicht wie ich die 2 Widerstände anlöten muß.

Hier 4,7kO am + Pol, 10kO am - Pol
Bild_01.jpg

oder umgekehrt
Bild_02.jpg

Was ist richtig?
Danke

Zur Zeit ist alles nach Bild 1 gelötet, in der Anzeige steht aber 15,75V,
kann nicht sein, oder ist ein WS kaputt.
 

Maggi

User
Ich löte die WIderstände (Spannungsteiler) von unten an die Platine direkt an...dann hat man auch noch genügend Lötfläche für die Drähte ;-)
 

Tobias Reik

Moderator
Teammitglied
Da ich das Thema gerade auch nicht mehr aktiv auf dem Schirm habe lasst es uns doch logisch, gemeinsam eruieren :)

Wie wird die Spannung ermittelt ?
Ein Spannungsteiler in Form von 2 Widerständen teilt die Spannung auf einen Arduino-Verträglichen Wert zwischen 0 und 5V am Analgogeingang.
Bei einer Stromversorgung mit 9V könnte man daher einfach 50/50 teilen, mit einem 2S LiPo besser 33%-66%, wenn einem die Präzision wichtig ist.

Code:
battvalue += analogRead(batRefPin);
battvalue *= 4883L;    // 8789L analog reading * (5.00V*1000000)/1024 (adjust value if VCC is not 5.0V)
battvalue /= 317L;      // 320L this number comes from the resistor divider value ((R2/(R1+R2))*1000)/noof analogreadings (adjust value if required)

analogRead(batRefPin) -> Überträgt den Wert des Analogeinganges in battvalue. Diese hat nun einen Wert zwischen 0 (bei 0V) und 1023 (bei 5V)
*= 4883L -> Nun wird der Wert durch die 1024 geteilt und mit den möglichen 5 (Volt) multipliziert, die an diesem Eingang anliegen können.
/= 320L -> im letzten Schritt wird dieser zurück gewandelte Wert mit dem Widerstands-Spannungsteiler verrechnet. R2 ist hierbei der vom Analogeingang "abgenommene" Spannungswert des Widerstandes zwischen Ax und Masse.

-> Der Code wie oben ist folglich für einen 4,7kOHM Widerstand zwischen A6 und GND vorgesehen, was ja auch sinn macht um sicher einen Pegel >5V am Analogeingang auszuschließen, selbst wenn ein 9V-Block über 10V liefert.
(die Korrektur von 320L auf 317L ist die anpassung an die realen Widerstandswerte)

Hoffe das hat weiter geholfen :)

Quelle: https://www.arduino.cc/en/Tutorial/AnalogInput
sowie: https://www.arduino.cc/en/Tutorial/ReadAnalogVoltage

Sollte ich mich irren freue ich mich auf euren Input :)

Viele Grüße
Tobi

P.S.: Der Schaltplan aus der CG-SCale-RCN.zip aus Beitrag 232 passt damit auch zu dem im Paket enthaltenen Schaltplan. :rolleyes: :p
 
Zuletzt bearbeitet:

Alby

User
Hallo Tobi,
vielen Dank für die ausführliche Erklärung,
bei mir geht das nicht in den Kopf, sorry, bin zu blöd für:confused:,.

Egal, also das Bild 2 wäre richtig (4,7kO an GND).

Was spricht dagegen die 2 Widerstände wegzulassen und gleich von vorne nach dem 9V Akku
den Spannungsregler LM7805 anzulöten, Eingang 9V und Ausgang dann 5V.
 

Tobias Reik

Moderator
Teammitglied
bei mir geht das nicht in den Kopf, sorry, bin zu blöd für:confused:,.
Glaube ich nicht. Da ist nur noch ein Knoten drin :)

Egal, also das Bild 2 wäre richtig (4,7kO an GND).
Ja.

Was spricht dagegen die 2 Widerstände wegzulassen und gleich von vorne nach dem 9V Akku
den Spannungsregler LM7805 anzulöten, Eingang 9V und Ausgang dann 5V.
Das eine hat mit dem anderen nichts zu tun. Einen Spannungsregler benötigst Du nicht.

Die 2 Widerstände dienen AUSSCHLIEßLICH dazu, daß der Analogeingang A6 einen Spannungswert "lesen" kann den er verträgt.
Dieser "Input" widerum wird nur für die Anzeige der Batteriespannung benötigt.
Wenn dich die Batteriespannung nicht interessiert kannst Du die 2 Widerstaände auch einfach weg lassen.

Auf dem Arduinio selbst ist ein Spannungswandeler enthalten. Daher kommt die Versorgungsspannung auf VIN (der kann 7-12V ab) und die AD-Wandler der Wiegezellen und Displays werden vom 5V-Anschluss des Arduino versorgt...

Grüße
Tobi
 
Es will nicht...

Es will nicht...

Ich habe alles so gemacht wie in der Anleitung von Tobi, Adresse vom OLED auslesen und Kalibrieren funktioniert einwandfrei aber ich bekomme einfach keine Anzeige.
Habe schon viel experimentiert aber ohne Erfolg.

Habe mal meinen Sketch im Anhang angefügt.
Wäre toll wenn jemand mal schauen könnte, bin leider kein Arduino Profi :rolleyes:

DANKE
 

Anhänge

  • CG_scale_RCN_Forum.ino.txt
    13,3 KB · Aufrufe: 143

Tobias Reik

Moderator
Teammitglied
Adresse vom OLED auslesen ~ funktioniert einwandfrei aber ich bekomme einfach keine Anzeige.
Hallo GreekGlider,

welche Adresse erhälst Du denn beim Auslesen von Deinem OLED ?
In Deinem Sketch ist als Adresse die "3C" eingetragen - diese musst Du ggf. nur durch die ausgelesene Adresse ersetzen (Achtung, falls es die "3F" sein sollte, da dies die Vorbelegung der LCD-Adresse ist).

... wenn es dann immer noch nichts anzeigt ist vielleicht auch nur das Display defekt ?
Ich habe auch schon 2 OLED´s verloren, weil eine Ecke des Displays abgeknickt ist durch unsensiblen Umgang mit dem dünnen Gläschen :-(

Viel Erfolg
Tobi
 

udill

User
Hallo,
habe meine elektronische Schwerpunktwaage aus Post #429 noch einmal etwas überarbeitet und mittlerweile eine 3. Variante mit "Längenverstellung" der Auflagepunkte gebaut ;)


Die aktuelle Anleitung ist hier zu finden: Daten

Gruß Udo

etwas unscharf
Lange_Waage01.jpg

beweglicher hinterer Teil von oben
Lange_Waage02.jpg

von der Seite
Lange_Waage03.jpg
 
Zuletzt bearbeitet von einem Moderator:
Meine Version

Meine Version

Hallo an Alle !

Nachdem ich nun erfolgreich den Ruderwegmesser auf Basis Arduino gebaut habe, möchte ich mich an die Schwerpunktwaage "waagen" ;)

Erstmal vielen Dank an Kalle aus dem Ruderweg-Thread und meinen besten Dank an das freundliche Forumsmitglied aus diesem Thread, welcher mir freundlicherweise 2 Teilesätze gedruckt hat.

Ich möchte die "DB_CG_scale"-Version bauen. Ich wollte die 3 Tasten nicht extra unterbringen und habe etwas im Netz gesucht, bis ich kleine, aber auch schraubbare Tasten, gefunden habe. Nun wird das Displaygehäuse auch 3 Tasten haben, um alle Einstellungen zu machen. Passt alles sauber zusammen.

Es kommen dann 7 Leitungen aus dem Displaygehäuse:

1. GND für Display und die 3 Taster (im Gehäuse verteilt)
2. VCC (5V) für das Display
3. Jeweils eine Signalleitung für die Taster
3. SDK für das I2C Display
4. SCL für das I2C Display

Die (dünnen) Leitungen kommen dann in Gewebeschlauch von Powerbox.

Als Arduino kommt ein Pro Mini in der 5V-Version zum Einsatz. 9V von der Blockbatterie gehen dann an den RAW-Eingang und das Display wird über VCC (5V) gespeist.

Hier nun eine kleine Frage:
Kann ich mit dem Arduino Nano die LCs abgleichen und dann als Board das Pro Mini nehmen ? Macht das einen Unterschied ? Das Nano würde ich zum Abgleichen wg. dem USB-Anschluss nehmen.

Hier meine Display-Gehäuse-Version:

IMG_0531.jpg

IMG_0532.jpg

Die Taster gibt es auch mit roten Tasten, die werde ich dann nehmen. Das Bohren in dem Kunststoff ist echt gewöhnungsbedürftig ... aber mit einem langsam laufenden Multi-Bohrer und etwas Feingefühl geht das.

Viele Grüße, Todde
 
Zuletzt bearbeitet:
So, das Teil läuft - aber erstmal auf dem Steckbrett mit einem Arduino Nano. Ich hatte die LCs zuerst falsch herum und es kam nur wirres Zeug dabei heraus. Ich musste die Orientierung der LCs erstmal mit einem Kalibrierungs-Sketch herausfinden. Dann alles auf dem Brett verdrahtet und mit der DB_CG_Scale Software kalibriert. Funktionierte einwandfrei. Dann Gewichte aufgelegt und :eek: Das Gewicht wird genau angezeigt aber der SP war ca. 17-stellig (vor dem Komma ...) :cry:

Nach Studium des Sketches, wurde die Ursache dann auch gefunden - die initialen Werte für die Abstände wurde initial nicht ins Eprom geschrieben. Mit Taste 3 gedrückt gestartet - und siehe da, alles im Lack.

Ich kann die DB_CG_Scale Software empfehlen. Die Waage wird mit 3 Tasten komplett kalibriert, man braucht vorher keine Werte ermitteln und eintragen.

Läuft derzeit noch auf USB-Power. Ich muss die Batterieversorgung (9v Block) noch auf dem Steckbrett testen. Danch kann ich die Waage fertig machen - und für den nächsten Flieger in's Regal stellen.

Cheerio, Todde

IMG_0538.jpg

IMG_0539.jpg
 
Heute Abend schnell den Schalter und die Batterie verkabelt und eingesetzt. In dem anderen Elektronikfach wird der Nano zusammen mit den beiden Verstärkern auf ein Epoxy-Board verkabelt. Die Niet-Terminals sind für Vin, +5v und Ground. +5v und Ground werden diverse Anschlüsse, da ist es einfacher jeweils nur ein Terminal zu haben.

Die beiden Verstärker sind direkt daneben übereinander platziert, gesichert mit doppelseitigem Klebeband mit einer kleinen Schaumstoffschicht. Alle Einzelverbindungen (D2 bis D4 und A0 bis A5) werden direkt an die Stifte auf der Oberseite des Nanos verlötet. Die ganze Einheit wird dann in einem Stück herausnehmbar sein.

Morgen montiere und verlöte ich das Displaygehäuse. Da kommen dann 7 Kabel heraus, die zur Waage gehen. Die Kabel werden in Gewebeschlauch geführt.

Für heute ist aber erstmal Feierabend ... :)

Cheers, Todde

IMG_0546.jpg

IMG_0548.jpg

IMG_0549.jpg
 

udill

User
Betrifft Post # 453

Betrifft Post # 453

Hallo,

da es eventuell beim Compilieren Probleme mit dem Sketch "DB_CG_scale-LCD_2_4_public.zip.txt" gibt, hier ein aktueller Screen-Shot von meinem Rechner:

Bildschirmfoto vom 2018-12-01 18-26-10.png

Gruß Udo
 
Ansicht hell / dunkel umschalten
Oben Unten