Go Down

Topic: Welche Komponenten brauche ich? (Read 3884 times) previous topic - next topic

chefin

4 Sensoren haben 200kg Messbereich.

was willst du messen?

Je höher der Messbereich und je kleiner deine zu wiegende Masse desdo schwerer ist es, das sauber zu erfassen.

Willst du deine 30Kg negativ verwiegen und anhand der Abnahme die Flaschenfüllung erfassen?

Dann bedenke das 3 Wiegezellen einen Messbereich von 150kg haben. Parallel schalten geht. Aber wenn du alles sauber aufbaust und bei 0,1% Messungenauigkeit bist, sind das immer noch +-150gr. Du musst wohl eher Richtung 0,01% Ungenauigkeit kommen. Hier dürfte aber dein mechanischer Aufbau scheitern und schon das Anlaufen von Motoren dürftest du dann im Messwert erkennen. Erst recht jeder Erschütterung im Raum. Also während des Dosierens nicht bewegen bitte...erscheint mir unrealistisch.

Du solltest also deine Flasche wiegen. Und da reicht eine Zelle. Selbst wenn die ungenau wiegt, wiegt sie immer gleich ungenau. Dir ist es am Ende egal ob du 500gr oder 530gr berechnest wenn deine Flasche voll ist. Hauptsache das JEDESMAL die 530gr reinkommen. Und den Messfehler in der Anzeige rechnest einfach raus. Du musst ja sowieso kalibireren. Also festlegen, welcher Messwert welchem Gewicht entspricht. Deine Versorgungsspannung von 5V am Spannungsteiler wird nur um einige mV verändert. Genaues Datenblatt deines Sensors haben ich nicht. Aber geh mal davon aus, das deine Spannung am Ausgang vieleicht nur 100mV sich ändert bei Maximalbelastung.

Und daraus willst du dann 0,01% genauigkeit rausholen. Wird verdammt schwer.

Besser du nimmst die Flaschenwaage und bekommst bei 0,1% genauigkeit und 5Kg Messbereich eine Abweichung von 5gr. Damit kannst du eher leben, denke ich mal.

michael_x

Leere Bierflaschen streuen schon im Gewicht, habe ich gelesen.

Wie exakt die Messungen zwischen leer (365+-x)g bis voll (365+-x)g+500g jeweils sind, ist eine gute Frage, besonders bei x *50 kg Sensoren...


Ich würde mir eine Umrechnungstabelle (Zeit - Menge) machen und die Wiegerei vergessen.

Theseus

#17
Nov 08, 2016, 02:13 pm Last Edit: Nov 08, 2016, 02:27 pm by Theseus
Hallo,

ich würde ja erst mal ausprobieren, ob man überhaupt wie angedacht das Bier in die Flasche bekommt, so dass die Kohlensäure drin bleibt und die Flasche auch nicht überschäumt. Also besorge dir eine Pumpe, die du mit einem Schalter an ein Netzteil anschließt. Damit kannst du das Bier erst mal manuell in die Flasche befördern. Funktioniert das gut, setze das mit dem Arduino um. 

Auf der anderen Seite, wie lange braucht man zum Abfüllen von 30l. Bier und wie lange braucht man zur Entwicklung und Bau der Abfüllanlage? Spart der Arduino wirklich Arbeit beim Abfüllen oder wäre eine Pumpe mit Fußschalter zur manuellen Befüllung nicht sogar praktikabler?

So weit ich das sehe, sollte man zum Abfüllen von Bier einen Gegendruckabfüller benutzen: http://www.peusen.de/index.php/ausruestung/86-gegendruckabfueller
Das mit dem Arduino zu automatisieren, dürfte eine schöne Herausforderung sein.

Alternativ geht es über die Schwerkraft. Hier hat man auch keine großen Druckunterschiede beim Abfüllen, die zur Schaumbildung führen: https://www.youtube.com/watch?v=2uNEVQf-ya4
Hier könnte der Arduino ein Magnetventil steuern.

Heiko76

Hallo,

wollte mal einen neuen zwischenstand mitteilen ;)

Ob es sich lohnt ein Abfüllgerät für Bier zu bauen ist ja garnicht die frage,
sind wir nicht alle bastler? Manchmal baut man auch eine Spinnerei aber lernt vielleicht für
ein anderes Projekt, oder?

Gestern habe ich Bier abgefüllt , geschäumt hat es nicht, aber dauerte recht lange.
Wobei mich nicht die Zeit störte, sondern das ich recht lange die Flasche festhielt bis sie voll war.

Wie macht das Bierflasche füllen nuh einen sinn:

Wiegen:
@chefin @michael_x
Mit abwiegen stelle ich mir auch komisch vor , weil tatsächlich die leergutflaschen unterschiedliches Gewicht haben! :(

Pumpe(Zeit):
Würde man wahrscheinlich auch nicht 100% genau hin bekommen.
Wobei mir 70-90% reichen würde wenn es automatisch ginge so bräuchte ich es nur manuel auf 100% angleichen. Währe im gegesatz nur von Hand eine erleichterung!???

Durchflussmelder:
Währe evtl. eine idee aber kostest zur Pumpe auch wieder extra..... muß man testen!

Pumpe+Vollmelder:
Gefällt mir derzeit am besten. Idee währe am Füllschlauch der in der Flasche ist zwei Kabelenden und
wenn Flüssigkeit ankommt gleich Stromdurchfluss und pumpe wird ausgeschaltet!

Ja.... mal sehen. :)

Werde jetzt mit meinen Starter Set einiges lernen und das projekt (Bierfüllen) einfach mal angehen.

Gruss Heiko ;)

chefin

Naja, Gewicht ist schon ein Mass. Die Flasche wird tariert, weil man muss ja auch einen Startzeitpunkt definieren und da tariert man das momentane Gewicht weg und lässt 500gr dazu kommen. Dann spielt die Flaschentoleranz keine Rolle mehr. Wohl aber der Wiegesensor, 50kg ist definitiv unbrauchbar.

Zeit bei Pumpe geht schon, man muss nur dafür sorgen, das die Druckverhältnisse immer gleich sind. Also fester Aufbau, der Braukessel zu Flasche muss immer die selbe Höhendifferenz haben. Die meisten Pumpen arbeiten Druckabhängig, also je mehr ansaughöhe, desdo weniger Menge und je mehr Fallhöhe desdo mehr Menge. Ein Wasserfass in 10m Höhe mit einem Gartenschlauch ansaugen und am Schlauch kommen fast 1bar an. Man kann mit dem Daumen zuhalten und durchaus 2-3m weit spritzen.

Natürlich sind Braukessel und Flasche nahe beisammen und haben nur wenige cm Höhendifferenz. Nichts desdo trotz, muss man das einmal ausmessen und dann sorge tragen, das es passt. Alternativ die erste Flasche sich ausmessen und den Wert einstellen, der gilt eben heute für diesen Aufbau.


Heiko76

Hallo,

weiß jemand warum mein LCD Display nicht geht??

Er sagt folgende fehlermeldung!

Arduino: 1.6.12 (Windows 10), Board: "Arduino/Genuino Uno"

C:\Users\Heiko\Documents\Arduino\LCD_2\LCD_2.ino:2:29: fatal error: NewliquidCrystal.h: No such file or directory

 #include<NewliquidCrystal.h>

                             ^

compilation terminated.

exit status 1
Fehler beim Kompilieren für das Board Arduino/Genuino Uno.

Dieser Bericht wäre detaillierter, wenn die Option
"Ausführliche Ausgabe während der Kompilierung"
in Datei -> Voreinstellungen aktiviert wäre.


Das ding ist ja auch das meins 4 anschlüsse hat und nicht 16.
Fehlt da was in der Libary?

LG Heiko


ElEspanol

Da musst du die entsprechende I2C Lib installieren

agmue

#22
Nov 11, 2016, 10:45 am Last Edit: Nov 11, 2016, 11:34 am by agmue
Für LCD mit I2C verwende ich LiquidCrystal_I2C.

Code: [Select]
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 16, 2); // set the LCD address to 0x20 or 0x27 for a 16 chars and 2 line display

void setup()
{
  lcd.begin();                      // initialize the lcd
  lcd.backlight();
...
}
Die Vorstellungskraft ist wichtiger als Wissen, denn Wissen ist begrenzt. (Albert Einstein)

Heiko76

Hallo,

Ja danke, aber der bleibt beim raufladen bei lcd.init stehen!

Arduino: 1.6.12 (Windows 10), Board: "Arduino/Genuino Uno"

C:\Users\Heiko\Documents\Arduino\LCD_2\LCD_2.ino:10:32: warning: invalid conversion from 'int' to 't_backlighPol' [-fpermissive]

 LiquidCrystal_I2C lcd(0x27,16,2);

                                ^

In file included from C:\Users\Heiko\Documents\Arduino\LCD_2\LCD_2.ino:2:0:

C:\Users\Heiko\Documents\Arduino\libraries\NewliquidCrystal/LiquidCrystal_I2C.h:53:4: note: initializing argument 3 of 'LiquidCrystal_I2C::LiquidCrystal_I2C(uint8_t, uint8_t, t_backlighPol)'

    LiquidCrystal_I2C (uint8_t lcd_Addr, uint8_t backlighPin, t_backlighPol pol);

    ^

C:\Users\Heiko\Documents\Arduino\libraries\NewliquidCrystal/LiquidCrystal_I2C.h: In function 'void setup()':

C:\Users\Heiko\Documents\Arduino\libraries\NewliquidCrystal/LiquidCrystal_I2C.h:154:9: error: 'int LiquidCrystal_I2C::init()' is private

    int  init();

         ^

LCD_2:14: error: within this context

   lcd.init();

            ^

C:\Users\Heiko\Documents\Arduino\LCD_2\LCD_2.ino: In function 'void loop()':

LCD_2:22: error: expected ')' before ':' token

   for(int positionCounter1=0:positionCounter1<26:positionCounter1++)

                                                 ^

LCD_2:22: error: expected primary-expression before ':' token

LCD_2:28: error: expected ')' before ':' token

    for (int positionCounter=0:positionCounter<26:positionCounter++)

                                                 ^

LCD_2:28: error: expected primary-expression before ':' token

Mehrere Bibliotheken wurden für "LiquidCrystal_I2C.h" gefunden
 Benutzt: C:\Users\Heiko\Documents\Arduino\libraries\NewliquidCrystal
 Nicht benutzt: C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\NewliquidCrystal
 Nicht benutzt: C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\NewliquidCrystal
 Nicht benutzt: C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\NewliquidCrystal
 Nicht benutzt: C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\NewliquidCrystal
exit status 1
within this context

Dieser Bericht wäre detaillierter, wenn die Option
"Ausführliche Ausgabe während der Kompilierung"
in Datei -> Voreinstellungen aktiviert wäre.


LG Heiko

agmue

#24
Nov 11, 2016, 11:20 am Last Edit: Nov 11, 2016, 11:54 am by agmue
Ich glaube, da ist mir was durcheinender geraten Moment ...

Wenn Du "lcd.init();" durch "lcd.begin();" ersetzt, funktioniert es. Habe ich in #22 korrigiert.

Muß jetzt nur mal sehen, warum ich da zwei Bibliotheken habe ...
Die Vorstellungskraft ist wichtiger als Wissen, denn Wissen ist begrenzt. (Albert Einstein)

Heiko76

Hmmm,

funktioniert immer noch nicht!

Das komische ist ja auch das LiquidCrystal_I2C.h in #include<LiquidCrystal_I2C.h> nicht rot geschrieben ist so wie "Wire.h" da drüber!?

LG Heiko

agmue

#26
Nov 11, 2016, 02:11 pm Last Edit: Nov 11, 2016, 02:19 pm by agmue
Das komische ist ja auch das LiquidCrystal_I2C.h in #include<LiquidCrystal_I2C.h> nicht rot geschrieben ist so wie "Wire.h" da drüber!?
Bei mir sieht das so aus:



Code: [Select]
// Funktioniert mit Bibliothek von https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-Library
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 16, 2); // set the LCD address to 0x20 for a 16 chars and 2 line display

void setup()
{
  Serial.begin(9600);
  Serial.println("Anfang LCD");
  lcd.begin();                      // initialize the lcd

  // Print a message to the LCD.
  lcd.backlight();
  Serial.println("print 'A'");
  lcd.print("A");
  Serial.println("print 'B'");
  lcd.print("B");
  lcd.setCursor(0, 1);
  lcd.print("Hallo Welt!");
}

void loop()
{
}


Das deutet auf eine fehlerhafte Installation der Bibliothek bei Dir. Oder Du hast zwei Bibliotheken installiert und der Compiler erwischt die falsche. Dazu gibt der Compiler eine Meldung raus.

Meine Bibliothek steckt in Arduino-LiquidCrystal-I2C-library-master.zip mit 9181 Bytes.
Die Vorstellungskraft ist wichtiger als Wissen, denn Wissen ist begrenzt. (Albert Einstein)

Heiko76

Habe jetzt die Arduino software nochmal deinstalliert und wieder installiert!

Jetzt ist #include <LiquidCrystal_I2C.h>  auch rot   ! :)

Mit dem Sketch Code (vorheriger beitrag) ist jetzt das display schwarz geworde!

habe GND und 5V auf der Powerseite
SDA und SCL habe ich an A4 und A5

LG Heiko

agmue

Hast Du irgendwo geschrieben, was für ein LCD Du nutzt? Kann ich nicht finden. Der Kontrastregler ist immer ein heißer Kandidat.
Die Vorstellungskraft ist wichtiger als Wissen, denn Wissen ist begrenzt. (Albert Einstein)

Heiko76

Na das 16x2 oder wie das heisst!
L2c halt, oder?


Go Up