Fast Beverage & BeerCooler

This is a cooler to bring your beer or beverage to the correct temperature after a short time of 1–2 minutes. Why?
11h 28m
1× print file
0.30 mm
0.40 mm
191.00 g
In the contest Beach Necessities
31
24
0
1433
updated July 27, 2024

Description

PDF

What is this? This is a cooler to bring your beer or beverage to the correct temperature after a short time of 2–3 minutes.  Why should you build it? You forgot to put the beer in the fridge and have a really hot day and don't want to wait long and want to have it now, then the Beer-cooler is the right choice for you. 

Why did I build this machine? I was always interested in the concept of cooling beverages really fast and saw a video from luisengineering. He made a DIY version of this design first, but his design had a 3D printed container for the ice-water. So I wanted to rebuild the design completely, but inside an Eurobox

How does it work:

The main idea of this concept is mixing the already cooled water inside the bottle with the warmer water. So that the cooled water doesn't build an isolation layer and slows down the process of cooling. This also results in a slight changes from glass bottles to cans. Aluminum can conduct heat much better than glass, so your soda from a can be cold down much faster. There are also some commercial products you can buy that use this concept. We are using ice to cool down water that we let flow over the bottle or can.

Assembly:

This instruction is intended for all people who know a little bit about soldering and 3D printing and are already used to program an Arduino. I will not specifically explain every step.

If you have all the mechanical components on hand, all the electrical components like Arduino, motor, pump, relay and motor controller the project will cost around €40.

3D Printing:

You can print all the parts from PLA besides the electricalBoxDecoTop that should be transparent. I printed all the components out of PETG to have a coherent look. The only part you have to be careful to print is the axel. Here you can use tree support and print on the smallest side. The tree support will be easy to remove and you have a nice bottom surface.

Wiring:

Here is the wiring plan for the cables. I sadly couldn't find the DC-Speed-Controler with a Potentiometer in the Fritzing library, so please don't be scared the wiring is written on the PCB. So you need two build two voltage lines, one with 5V and one from the DC jack with 12V.

For the low power voltage supply(5V), I build a special board with all digital pins available with VIN and GND. I also added a screw terminal for convenient power input.

Software:

You have only one button, but 3 LEDs that will show you the selected time. You can change the runtime in the code if you noticed that they didn't work for your beverage.

Program the Arduino with the Arduino IDE

/*
  Beer-Cooler Code from MaxSiebenschläfer
  You press the button and one LED will light up and increase the cooling duration. You can press the button three times 
  ,but after five seconds of idle the selection process ends and the machine will start the cooling process with the seleced time.
  After the cooling was finshed you can use the cooler again.
*/

#include <ezButton.h>

//functions
void setup();
void loop();
void selection();
void coolingProcess();
void reset();

//Perepherie 
int relay_motor = 2;
int relay_pumpe = 4;
ezButton button(13);
int LED1 = 11;
int LED2 = 10;
int LED3 = 9;
int buzzer = 9;
const int WAIT_TIME = 5000; // 5000 milliseconds
int turningTime[] = {20000,40000,60000};

// Variables will change:
int lastState = LOW;  
int currentState;     
unsigned long pressedTime  = 0;
unsigned long releasedTime = 0;
int buttonPressed = 0;
unsigned long waitTime  = 0;
unsigned long endTime = 0;
bool selectionMode = false;

void setup() {
  Serial.begin(9600);
  button.setDebounceTime(50);
  pinMode(relay_motor, OUTPUT);
  pinMode(relay_pumpe, OUTPUT);
  pinMode(LED1, OUTPUT);
  pinMode(LED2, OUTPUT);
  pinMode(LED3, OUTPUT);
  //pinMode(buzzer, OUTPUT);
  digitalWrite(LED2, HIGH);
  delay(500);
  digitalWrite(LED3, HIGH);
  delay(500);
  digitalWrite(LED1, HIGH);
  delay(1000);
  reset();
}

void loop() {
  button.loop();
  if(!selectionMode) {
    selection();
  } else {
    coolingProcess();
    reset();
  }
}

void selection(){
  if( button.isPressed()) {
    buttonPressed++;
    Serial.println((String)"Button"+buttonPressed);
    waitTime = millis();
    if(buttonPressed == 1) {
      digitalWrite(LED2, HIGH);
    } else if(buttonPressed == 2) {
      digitalWrite(LED3, HIGH);
    } else if(buttonPressed == 3) {
      digitalWrite(LED1, HIGH);
    }
  }
  lastState = currentState;
  if(buttonPressed > 0) {
    endTime = millis();
    long waitingTime = endTime - waitTime;
    if(waitingTime > WAIT_TIME || buttonPressed > 3) {
      selectionMode = true;
    }
  }
}

void coolingProcess() {
  digitalWrite(relay_pumpe, HIGH);
  delay(1000);
  digitalWrite(relay_motor, HIGH);
  delay(turningTime[buttonPressed-1]);
}

void reset() {
  digitalWrite(relay_motor, LOW);
  digitalWrite(relay_pumpe, LOW);
  digitalWrite(LED1, LOW);
  digitalWrite(LED2, LOW);
  digitalWrite(LED3, LOW);
  selectionMode = false;
  buttonPressed = 0;
  lastState = LOW;
  currentState = LOW;

Use the BeerCooler and have fun, but not too much alcohol is still a drug, so be careful! If you want, you can add more features like a 7 Segment display that shows the time, a temperature sensor for the water and beer or a buzzer to hear more clearly when the cooling is finished. Also, a way to improve the cooling time for the ice, you could insulate the box, to prevent the ice from melting.

If you like to, check out my other designs too!

Tags



Model origin

The author marked this model as their own original creation.

License


Highlighted models from creator

View more