MillControl - Arduino Mühlensteuerung mit Timer, Gewichtsautomatik, Waagensteuerung und Brew Timer

Diskutiere MillControl - Arduino Mühlensteuerung mit Timer, Gewichtsautomatik, Waagensteuerung und Brew Timer im Mühlen Forum im Bereich Maschinen und Technik; Hallo Roman, vielen vielen Dank für Deine Mühe. Endlich geklappt :) Frag mich nicht, was ich bis jetzt anders gemacht habe, eigentlich nichts. Ich...

?

Welche Features sind / wären wichtig?

  1. Gewichtsautomatik

    83 Stimme(n)
    83,0%
  2. Brew Timer

    20 Stimme(n)
    20,0%
  3. Temperaturanzeige

    11 Stimme(n)
    11,0%
  4. Funkverbindung zur Espressomaschine

    9 Stimme(n)
    9,0%
  5. Waage

    60 Stimme(n)
    60,0%
  6. Mehr / andere Displays

    12 Stimme(n)
    12,0%
Eine Auswahl mehrerer Antworten ist erlaubt.
  1. Segler

    Segler Mitglied

    Dabei seit:
    05.02.2013
    Beiträge:
    119
    Zustimmungen:
    34
    Hallo Roman,
    vielen vielen Dank für Deine Mühe. Endlich geklappt :)
    Frag mich nicht, was ich bis jetzt anders gemacht habe, eigentlich nichts. Ich habe Bibliotheken noch mal neu instaliert, wieder Fehlermeldung. Dann habe ich Deinen Code noch mal runtergeladen, entpackt und aufgemacht. Sieh da, keine Fehlermeldung. Ich verstehe nicht, warum, aber schön ist das.
    Danke noch mal.
    Schöne Grüße
    Eray
     
  2. #42 super0650, 22.12.2015
    Zuletzt bearbeitet: 22.12.2015
    super0650

    super0650 Mitglied

    Dabei seit:
    26.02.2015
    Beiträge:
    159
    Zustimmungen:
    62
    Freut mich, dass es jetzt geht.

    Seltsam bleibts. Naja die Welt der Software ist immer ein wenig komplex, da kann alles passieren.
     
  3. #43 arlecchino, 22.12.2015
    arlecchino

    arlecchino Mitglied

    Dabei seit:
    11.02.2015
    Beiträge:
    228
    Zustimmungen:
    162
    Roman, respekt! Was du hier leistest ist wirklich der Wahnsinn - sogar mir "How2Install" Video, mit dem es sogar meine Mutter fertig bringen würde sich deinen Code auf den Arduino zu schieben.
    DANKE!!!
     
  4. Segler

    Segler Mitglied

    Dabei seit:
    05.02.2013
    Beiträge:
    119
    Zustimmungen:
    34
    Hallo arlecchino,
    Du solltest Mütter nicht unterschätzen, die können mehr, als man denkt :)
     
  5. #45 XeniaEspresso, 22.12.2015
    XeniaEspresso

    XeniaEspresso Mitglied

    Dabei seit:
    13.07.2007
    Beiträge:
    18.319
    Zustimmungen:
    22.334
    super0650 gefällt das.
  6. #46 arlecchino, 22.12.2015
    arlecchino

    arlecchino Mitglied

    Dabei seit:
    11.02.2015
    Beiträge:
    228
    Zustimmungen:
    162
    Grundsätzlich bestimmt - IT-technisch (in meinem Fall) aber definitv nicht :-D
     
  7. #47 super0650, 29.12.2015
    Zuletzt bearbeitet: 29.12.2015
    super0650

    super0650 Mitglied

    Dabei seit:
    26.02.2015
    Beiträge:
    159
    Zustimmungen:
    62
    Ich habe nun endlich folgende Anregung umsetzen können:
    Das war ein wenig komplexer als gedacht. Ich habe eine einfache State Engine die etwa folgendermaßen funktioniert hat:
    Code:
    +--------------+    +--------------+    +--------------+
    |   Selector   | -> |  Brew Timer  | -> |     Run      |
    +--------------+    +--------------+    +--------------+
            ^---------------------------------------'
    
    Es waren also alle States nebeneinander und es wurde nur umgeschalten.

    Ich habe nun einen Stack implementiert. Damit kann der BrewTimer in den Hintergrund geschoben werden und von dort wieder auftauchen.
    Code:
    +--------------+
    |     Run      |
    +--------------+
        ^      |
        |      v
    +--------------+
    |  Brew Timer  |
    +--------------+
        ^      |
        |      v
    +--------------+
    |   Selector   |
    +--------------+
    
    Es wird nun immer ein BrewTimer gestartet, auch wenn er nicht sofort sichtbar ist (etwa weil man gerade mahlt). Er wird wenn er noch aktiv ist nachher angezeigt. Das gleiche gilt für Unterbrechungen des BrewTimers im Selector (Auswahlmenü) oder im Editor.

    Manchmal ist er erstaunlich aufdringlich, weil er jedesmal wenn man wo zurück geht wiederkommt. Keine Ahnung ob das so gut ist, vielleicht ist es noch sinnvoll das anzupassen.

    Im Auswahlmenü kommt er wenn er läuft nach 3 Sekunden inaktivität wieder, auch wenn man ihn unterbrochen hat.

    Das sieht etwa so aus:
    Code:
    +--------------+  e    +--------------+  3    +--------------+
    |  Brew Timer  |  n    |   Selector   |  s    |  Brew Timer  |
    +--------------+  c    +--------------+  e    +--------------+
                      o ->                   c ->
    +--------------+  d    +--------------+  o    +--------------+
    |   Selector   |  e    |  Brew Timer  |  n    |   Selector   |
    +--------------+  r    +--------------+  s    +--------------+
    
    Das neue Release ist im Git und damit ist es ganz normal runterzuladen.
     
  8. #48 krizzziz, 04.01.2016
    krizzziz

    krizzziz Mitglied

    Dabei seit:
    03.01.2016
    Beiträge:
    6
    Zustimmungen:
    1
    Hallo @super0650. Durch ihre Antwort in dem anderen thread zu einem Arduino kaffemühlen, bin ich zu hier gekommen. Ich laufe eigentlich sofort gegen ein Problem an, wenn ich das Skript zu meinem Arduino Nano wollte uploaden. Das compilen / Uploaden erfolgreich war geschieht, aber ich bekomme kein Bild auf meinen OLED-Bildschirm. Ich verband auch excact Bildschirm, wie in der Abbildung dargestellt. Ich brachte auch die entsprechenden Bibliotheken. Nicht ganz zu sehen, was schief gehen könnte. Was kann ich schreiben, so dass sie wissen wie es richtig muss machen :). Ich habe eine viele hinweise in Arduino was ich glaube das er "Fehler" seine nach des Compilen des Arduino Skripts.

    Und bitte verzeihen Sie mir für meine niederländischen-deutsch.Ich versuche es trotzdem!
     
  9. #49 super0650, 04.01.2016
    super0650

    super0650 Mitglied

    Dabei seit:
    26.02.2015
    Beiträge:
    159
    Zustimmungen:
    62
    Sind Sie sicher, dass das Programm auch auf den Arduino geladen wurde?

    Könnten Sie den Text den die Arduino IDE ausgibt hier reinkopieren:
    http://pastebin.com/

    Und mir dann den link schicken?
     
  10. #50 krizzziz, 04.01.2016
    krizzziz

    krizzziz Mitglied

    Dabei seit:
    03.01.2016
    Beiträge:
    6
    Zustimmungen:
    1
    Kein problem, http://pastebin.com/AAyRECSq
     
  11. #51 super0650, 04.01.2016
    super0650

    super0650 Mitglied

    Dabei seit:
    26.02.2015
    Beiträge:
    159
    Zustimmungen:
    62
    Das sind nur Warnungen, das Programm wurde korrekt kompiliert.

    Aber ich kann hier keinen Upload sehen. Der Sketch wurde nur kompiliert, aber nicht auf den Arduino geladen. Das geht mit "Schets"-> "Uploaden" oder Strg-U.

    Was für ein Display haben Sie genau? Ist das i2c oder SPI?
     
  12. #52 krizzziz, 04.01.2016
    krizzziz

    krizzziz Mitglied

    Dabei seit:
    03.01.2016
    Beiträge:
    6
    Zustimmungen:
    1
    Auf Zeile 555 sieht man dass das Skript auf den Arduino geladen wurde? Nicht?
    Oder mein OLED-Bildschirm SPI oder I2C ist, das ist eine gute Frage. Ich habe diesen Ole LCD:
    http://de.aliexpress.com/item/0-96-...lay-Module-for-Arduino-white/32323887550.html
     
  13. #53 super0650, 04.01.2016
    super0650

    super0650 Mitglied

    Dabei seit:
    26.02.2015
    Beiträge:
    159
    Zustimmungen:
    62
    Nein, die Zeile 555 sagt nur wie groß das Programm ist. Versuche es mal mit Ctrl-U oder mit "Schets"-> "Uploaden"

    Das Display ist ein I2C Display - wenn es so aussieht wie auf dem Foto?

    Dann musst Du es so verbinden:
    SDA -> A4
    SCL -> A5
    GND -> GND
    VCC -> 5V

    Für den I2C muss man zwei Zeilen im MillControl.ino ändern. Und zwar muss den Abschnitt Display folgendermaßen ändern:

    Vorher sieht es so aus:
    Code:
    //=================================================
    // SSD 1306 Display
    
    // Uncomment this if you are using the SSD1306
    #define DISPLAY_128x64
    
    // You can either connect a SPI or a I2C display. SPI is much faster but may be a bit annoying to find th right pinout
    
    // i2c
    // U8GLIB UI::u8g = *new U8GLIB_SSD1306_128X64_2X(U8G_I2C_OPT_NO_ACK);
    
    // Software SPI
    //U8GLIB UI::u8g = *new U8GLIB_SSD1306_128X64_2X(OLED_SCK, OLED_MOSI, OLED_CS, OLED_MISO, OLED_RESET);
    
    // Hardware SPI (recommended, if not working try software spi)
    U8GLIB UI::u8g = *new U8GLIB_SSD1306_128X64_2X(OLED_CS, OLED_MISO, OLED_RESET);
    
    Nachher sollte es so aussehen:
    Code:
    //=================================================
    // SSD 1306 Display
    
    // Uncomment this if you are using the SSD1306
    #define DISPLAY_128x64
    
    // You can either connect a SPI or a I2C display. SPI is much faster but may be a bit annoying to find th right pinout
    
    // i2c
    U8GLIB UI::u8g = *new U8GLIB_SSD1306_128X64_2X(U8G_I2C_OPT_NO_ACK);
    
    // Software SPI
    //U8GLIB UI::u8g = *new U8GLIB_SSD1306_128X64_2X(OLED_SCK, OLED_MOSI, OLED_CS, OLED_MISO, OLED_RESET);
    
    // Hardware SPI (recommended, if not working try software spi)
    //U8GLIB UI::u8g = *new U8GLIB_SSD1306_128X64_2X(OLED_CS, OLED_MISO, OLED_RESET);
    
    Du kannst auch folgende Version herunterladen, da habe ich das angepasst:
    https://github.com/romanseidl/MillControl/archive/i2c.zip
     
  14. #54 krizzziz, 04.01.2016
    krizzziz

    krizzziz Mitglied

    Dabei seit:
    03.01.2016
    Beiträge:
    6
    Zustimmungen:
    1
    Super, es klappt! :). Danke für Ihre Hilfe, ich werde schnell alles versuchen.
     
    super0650 gefällt das.
  15. #55 super0650, 04.01.2016
    super0650

    super0650 Mitglied

    Dabei seit:
    26.02.2015
    Beiträge:
    159
    Zustimmungen:
    62
    Hast Du nur den Drehknopf? Dann müsstest Du noch eine Zeile in der Datei UI.h ändern:

    Von dem hier
    Code:
    // BUTTONS
    
    // Comment out this line if there is no mill button
    // Change the Pin if you want it to be somewhere else
    #define MILL_BUTTON 5
    
    auf das:
    Code:
    // BUTTONS
    
    // Comment out this line if there is no mill button
    // Change the Pin if you want it to be somewhere else
    //#define MILL_BUTTON 5
    
    Wenn Du willst, dass das Display statt Hochformat Querformat ist, dann kann Du das ändern indem Du auch in der Datei UI.h folgendes änderst:

    Von:
    Code:
    //=================================================
    // SCREEN ORIENTATION
    
    // Uncomment this to change the orientation to portrait mode
    #define PORTRAIT_DISPLAY
    
    Auf:
    Code:
    //=================================================
    // SCREEN ORIENTATION
    
    // Uncomment this to change the orientation to portrait mode
    //#define PORTRAIT_DISPLAY
    
    Wenn Du da etwas änderst musst Du das Programm neu auf den Arduino laden (Strg-U oder Schets->Uploaden)
     
    krizzziz und hobbes_II gefällt das.
  16. #56 arlecchino, 11.01.2016
    arlecchino

    arlecchino Mitglied

    Dabei seit:
    11.02.2015
    Beiträge:
    228
    Zustimmungen:
    162

    Hi,
    Hier nochmal ein leider etwas verspätetes feedback zur Version vom 29.12. - wollte mich eigentlich nur nochmal bedanken!
    Der Code läuft seit Jahresanfang absolut problemlos an meiner M700 auf dem Arduino Nano und der Brew Timer funktioniert auch top!

    VIELEN DANK für dieses tolle Projekt!!!!

    Noch ein Hinweis für Apple User, da ich dieses Versionsupgrade erstmals am MacBook gemacht hab:
    Ich hab hier schon ein paar mal Hinweise auf Treiberprobleme (In der aktuellen OSX Version lassen standardmäßig nur zertifizierte Treiber installieren) gesehen, nach denen man angeblich nur durch Änderungen in der OS-X Sicherheitskonfig die nötigen Treiber zur Kommunikation mit den Boards installieren kann oder ein ca. 10€ Treiberpaket verwenden muss.

    So gehts for free:
    Ich hab einmal die Setups von codebender.cc (quasi eine kostenlose Online Arduino Programmiersuite) durchlaufen lassen - dabei werden Treiber installiert, nach deren Installation ich auch problemlos mit der normalen OSX Arduino-IDE auf Arduino Uno und Nano zugreifen konnte.

    Grüße Max
     
    super0650 gefällt das.
  17. #57 super0650, 11.01.2016
    Zuletzt bearbeitet: 11.01.2016
    super0650

    super0650 Mitglied

    Dabei seit:
    26.02.2015
    Beiträge:
    159
    Zustimmungen:
    62
    Freut mich!

    Ich hab gerade nicht so viel Zeit und ich habe wieder mal Probleme mit der Projektgröße, aber es sind gerade zwei Dinge halbfertig:
    Ein "Flat Mode", der por Seite eine Zeit anzeigt (ist dann eher wie das ursprüngliche Projekt von a1exandros) und der Einbau einer Waage.

    Vielleicht wirds ja was in der nächsten Woche oder so mit dem nächsten Release.
     
    hobbes_II gefällt das.
  18. #58 christoph_s, 11.01.2016
    christoph_s

    christoph_s Mitglied

    Dabei seit:
    22.08.2014
    Beiträge:
    19
    Zustimmungen:
    2
    Hi! Vielen Dank für das Projekt! Funktioniert super!
    Bei mir ist das Problem, das von Zeit zu Zeit sich der Bildschirm "aufhängt". Vor allem, wenn der Motor anspringt.
    Kann man das irgendwie lösen? Der Display läuft über I2C.
     
    super0650 gefällt das.
  19. #59 super0650, 11.01.2016
    Zuletzt bearbeitet: 13.01.2016
    super0650

    super0650 Mitglied

    Dabei seit:
    26.02.2015
    Beiträge:
    159
    Zustimmungen:
    62
    Grundsätzlich liegt das an Spannungsspitzen, die der Motor beim Abschalten generiert. Das kann man auch elektrisch verbessern, soweit mir das klar ist vor allem indem man einen Kondensator paralell zu Mühle hängt. Ich bin mir aber nicht sicher, ich bin wirklich kein Elektriker/Elektroniker. Die Frage ist auch, ob die Spannung rauf oder runter geht. Wenn sie runter geht würde ein Kondensator paralell zur Stromversorgung am Arduino helfen.

    Ich habe das versucht zu lösen, indem ich das Display neu initialisiere wenn die Mühle gestoppt wurde. Ich hatte vergessen das zu tun wenn eine Pause gestartet wird, vielleicht liegt es daran, dass Du noch Störungen hattest. Ich habe eine neue Version raufgeladen, versuchs mal mit der neuen Verison oder ändere folgendes in Run.cpp.

    Wenn das nichts hilft muss man noch ein kleines Delay dazwischen einfügen.
     
  20. mamu

    mamu Mitglied

    Dabei seit:
    25.04.2011
    Beiträge:
    3.294
    Zustimmungen:
    726
    Habe es zwar noch nicht getestet, aber vielen Dank für den Tipp!
     
    arlecchino gefällt das.
Thema:

MillControl - Arduino Mühlensteuerung mit Timer, Gewichtsautomatik, Waagensteuerung und Brew Timer

Die Seite wird geladen...

MillControl - Arduino Mühlensteuerung mit Timer, Gewichtsautomatik, Waagensteuerung und Brew Timer - Ähnliche Themen

  1. [Verkauft] Bezzera BB005 TM Timer MillControl

    Bezzera BB005 TM Timer MillControl: Hallo, ich verkaufe hier meine gebrauchte Bezzera BB005 mit Timer. Die Mühle habe ich Schätzungsweise seit ca. 5 Jahren, wurde ca. die letzten...
  2. [Verkaufe] Victoria Arduino (Nuova Simonelli) Mythos One Clima Pro

    Victoria Arduino (Nuova Simonelli) Mythos One Clima Pro: Gekauft 2010 nur im Heimgebrauch bei ca. 2 Espressi täglich. Die Original Mahlscheiben (Titanbeschichtet) wurden Ende September in SSP RED SPEED...
  3. Arduino Projekte

    Arduino Projekte: Moin! Mich würde mal interessieren, ob hier jemand schon mal irgendwelche witzigen Projekte mit seiner Kaffeemaschine und nem Arduino gemacht hat....
  4. [Verkaufe] Victoria Arduino Mythos MYG 75

    Victoria Arduino Mythos MYG 75: Liebe Kaffee Community, ich verkaufe eine quasi neue/makellose MYG 75 (weiß) mit grind by weight Technologie. Gekauft im Dezember 2023 - kaum...
  5. Felicita Arc, Bluetooth, Arduino

    Felicita Arc, Bluetooth, Arduino: Hoi zäme Nachdem Tate Mazer ein Video und eine Bibliothek veröffentlicht hat, um die Acaia Lunar mittels einem Arduino über BLE abzufragen:...