A repository for all files related to the building of a cup with heating capabilities.
Built by: Megan Davisson, Greg Rummel, and Bo Smith/Spring 2018/BAE 305
The purpose of the thermal cup was to allow for sustained heating of beverages while drinking. Warm drinks cool quickly in cool conditions without the application of heat. With the Thermal Cup, the beverage will be sustained at a specified temperature of 104° F. This system could be useful in other applications when applied at a different scale, such as heating of a home aquarium, swimming pool, or bathtub.
To see a short video about the thermal cup, please go to: https://youtu.be/ryDpx3QG2QU
Circuit:
Design:
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(18, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
int Temp = analogRead(18);
float Voltage = Temp * (5/2048.0);
float Kelvin = Voltage* (1/.01);
float Celsius = Kelvin - 303.15;
Serial.println(Celsius);
delay(1000);
{
if (Celsius > 10)
digitalWrite(18,HIGH);
Serial.println("H");
else
{
digitalWrite(18, LOW);
Serial.println("L");
}
}
In building the cup, we opted to purchase a cheap metal travel mug for its insulating properties. Our thinking was that the better insulated mug would lose much less heat than a poorly insulated plastic cup. To meet this criteria, the Ozark Trail mug from Walmart was selected.
We also required a heating element for the project, and had to decide between more powerful semiconductor elements or a highly resistant heating blanket. The semiconductor element required a battery that was larger than our intended travel design, therefore leading us to using the Ultra Heating Fabric. This blanket required a slightly larger battery than we intended, and the voltage had to be stepped down to 5V to run the ESP32 Thing from Sparkfun. This lead to our inclusion of the voltage regulator. However, because the board was not at the voltage needed to run the blanket element, a MOSFET was required to bring the voltage back up to the value necessary to heat at an appropriate level.
Finally, there existed many complications with our intended temperature sensor. The Waterproof DS18B20 OneWire sensor was our intended sensor to determine the temperature of the liquid. However, the sensor was not compatible with our existing circuit. In the end, we switched to the National Semiconductor line of Precision Temperature Sensor currently in our circuit. This sensor is not waterproof, and is not as accurate as the DS18B20 was to be, but it drastically simplified the code and could be attached to the copper insert of the travel mug to read a similar temperature to that of the liquid.
Below are the test results from the measurements of the thermal blanket with a voltage source of 6V.
There are no results to be shown for the testing with the multimeter. We did this simply to ensure the actual function of the circuit components.
The cup functioned and water was heated from 75.2°F to 105.8°F
Arduino. (2018). ReadAnalogVoltage. Retrieved from: www.arduino.cc/en/Tutorial/ReadAnalogVoltage
Arduino Project Hub. (2016). Arduino Thermometer with DS18B20. Retrieved from: https://create.arduino.cc/projecthub/TheGadgetBoy/ds18b20-digital-temperature-sensor-and-arduino-9cc806
Fairchild Semiconductor. (2004). RFP30N06LE, RF1S30N06LESM Data Sheet. Retrieved from: www.sparkfun.com/datasheets/Components/General/RFP30N06LE.pdf
WireKinetics, CO., LTD. Ultra Heating Fabric Data Sheet. Retrieved from: cdn-https://shop.adafruit.com/datasheets/Ultra+Heating+Fabric.pdf