Git Product home page Git Product logo

openbeerfiller's People

Contributors

adamzsite avatar baggylala avatar harrybrew69 avatar kloon avatar n3mis15 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openbeerfiller's Issues

Filled cans remain in the filling area after process is complete

Filled cans remain in the filling area after the process has finished, relying on the movebeerbelt routine to be called on the next start button press, so that the cans are pushed clear.

  • Alter the can push routine, so the can push is only triggered once at the start of the production run.
  • Add a can push call to the end of the filling process.

The only drawback from this approach is to remove the empty/unfilled cans when the production is started up again.

Backfill as filler tubes are raised

When the filler tubes are raised the volume they displaced while being inserted will need to be topped up.

An idea would be to reopen the filler tubes after x amount of retraction for a short period. We might be in luck here to get away with not doing anything is the beer left in the tube is sufficient to top of the can/bottle as it retracts.

Add LCD/OLED display support

Add support for LCD/LED displays with menu functionality. This will be used for basic configuration and information display.

All stop feature

I recommend implementing a "all stop" feature. This would be a button (you can use the start button for this) to stop machine at any point.

Based on earlier concepts I designed a state machine which will allow the can filler to stop from any state. I'll attached the code here for reference purposes.

can_filler_state_maching_example.txt

Use interrupts for beer sensing

The current code utilises a while loop for sensing when a bottle/can has reached its full capacity, the problem with this is that it causes a block in the main program loop which is not ideal.

Using interrupts we can eliminate this while loop block in the main loop allowing for other critical functionality that relies on the main loop to execute flawlessly.

The problem we need to solve is that there's only two interrupt pins on the Uno and we require a lot more to monitor the three filling solenoids as well as a kill switch.

The solution would be to look at ways we can utilise a single pin and attach multiple interrupts and inputs on that pin.

This issue is only present with the Arduino Uno, the ESP8266 supports interrupts on all its digital pins.

Use millis instead of delay

Currently, there are still some blocking function calls running that relies on using delay() for waiting before another function/event fires.

Using mills() combined with more program states instead of delay() we can eliminate all these blocking calls ensuring the main loops stays non-blocking.

See this tutorial for more details on millis() benefit over delay() and how to use it.

Wiring guide

There seems to be no actual wiring guide or layout for the mosfets.

Add ESP8266 specific support

While the current program works on the ESP8266 it does not utilise the features of the ESP8266 to it's full potential.

Would be great to add conditional support for the ESP8266 for features like a Web Server with monitoring capabilities, utilising interrupts on all digital pins, OTA updates, logging, and many more.

Fill Sensor trigger - x3

Since there are three fill sensors we may need to have slightly different trigger levels experimenting with my test setup has shown slightly different levels on each sensor.

Add support for an inductive can counting sensor

Introduce an inductive sensor placed beneath the first can filling tube that can count cans as they pass the sensor. Having a sensor in place we can prevent opening the filling tubes when there are no cans underneath them.

ESP32 - MicroPython

I would like to have support for ESP32 for coding OpenBeerFiller in MicroPython.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.