SamRich
100 W
I commute daily on my ebike in Western NY and...
and I don't want to charge by batteries indoors this winter.
I have an unheated, detached garage where I store my ebikes and I have been wanting to build an insulated, heated, fireproof-ish, charging solution that I can use in that garage.
Sort of like a reverse refrigerator with a charger inside.
So here's what I built and plan to test in the upcoming months:
I picked up an old school galvanized garbage can at Home Despot:
Some pink insulation:
a roll of metal sheeting and a heating blanket:
I placed a layer of insulation at the bottom of the can.
Placed a metal plate on top of that and rolled the blanket around the metal sheeting and placed that on the metal plate.
I then insulated the remaining gap and made an insulation bag cover to put on top but under the lid.
And voila! An insulated, heated, fireproof-ish, charging station:
I also wanted to insure that the battery doesn't charge below freezing, in case the heating blanket fails or can't keep up with the cold, and that the heater doesn't overheat the battery on warmer days.
So I used an Arduino that I had laying around and hooked it up to a DHT11 temperature sensor and a relay board to control the heater and charger separately based on temp.
The logic goes as folllows:
If Temp <3C/35F: Turn off charger and turn on heater.
If 3C/35F<Temp <15C/65F: Turn on charger and turn on heater.
If 15C/65F<Temp <45C/110F: Turn on charger and turn off heater.
If Temp> 45C/110F: Turn off charger and turn off heater.
Also added an I2C 2x16 diplay for info.
Here's the actual code:
Note the ambiguous ONF setting (a bug)
Here it is in the garage with the DHT11 sensor in the garbage can..ahem, I mean, in the temperature-controlled charging system:
For remote monitoring, I placed one of my Notion sensors that is part of my wireless home monitoring system, at the bottom of the can.
I can use the puck to monitor temperature, sound (detect smoke alarms), water and motion (for doors and windows) and send alerts to my phone. https://getnotion.com/
I tested the heater yesterday in 10C/50F weather and it performed well.
But might need to add another 60W heating blanket in February when it hits -20C/5F.
Here's a screenshot of the Notion app showing the internal temp of the unit rising after I turned the system on:
So tell me what could go wrong?

and I don't want to charge by batteries indoors this winter.
I have an unheated, detached garage where I store my ebikes and I have been wanting to build an insulated, heated, fireproof-ish, charging solution that I can use in that garage.
Sort of like a reverse refrigerator with a charger inside.
So here's what I built and plan to test in the upcoming months:
I picked up an old school galvanized garbage can at Home Despot:
Some pink insulation:
a roll of metal sheeting and a heating blanket:
I placed a layer of insulation at the bottom of the can.
Placed a metal plate on top of that and rolled the blanket around the metal sheeting and placed that on the metal plate.
I then insulated the remaining gap and made an insulation bag cover to put on top but under the lid.
And voila! An insulated, heated, fireproof-ish, charging station:
I also wanted to insure that the battery doesn't charge below freezing, in case the heating blanket fails or can't keep up with the cold, and that the heater doesn't overheat the battery on warmer days.
So I used an Arduino that I had laying around and hooked it up to a DHT11 temperature sensor and a relay board to control the heater and charger separately based on temp.
The logic goes as folllows:
If Temp <3C/35F: Turn off charger and turn on heater.
If 3C/35F<Temp <15C/65F: Turn on charger and turn on heater.
If 15C/65F<Temp <45C/110F: Turn on charger and turn off heater.
If Temp> 45C/110F: Turn off charger and turn off heater.
Also added an I2C 2x16 diplay for info.
Here's the actual code:
Code:
#include <LiquidCrystal_I2C.h>
#include <dht.h>
int tim = 500; //the value of delay time
LiquidCrystal_I2C lcd(0x27, 16, 2);
int Charger_PIN = 11;
int Heater_PIN = 12;
int PWR_PIN = 13;
int Freeze_temp = 3;
int OP_temp = 15;
int MAX_temp = 45;
dht DHT;
#define DHT11_PIN 2
void setup() {
Serial.begin(9600);
Serial.println("DHTxx test!");
lcd.init(); //initialize the lcd
lcd.backlight(); //open the backlight
pinMode(Charger_PIN, OUTPUT);
pinMode(Heater_PIN, OUTPUT);
pinMode(PWR_PIN, OUTPUT);
digitalWrite(PWR_PIN, HIGH);
digitalWrite(Heater_PIN, LOW);
digitalWrite(Charger_PIN, LOW);
}
void loop()
{
// Wait a few seconds between measurements.
int chk = DHT.read11(DHT11_PIN);
lcd.setCursor(0, 0);
lcd.print("Temp: ");
lcd.print(DHT.temperature);
lcd.print((char)223);
lcd.print("C");
if (DHT.temperature >= MAX_temp)
{
lcd.setCursor(0, 1);
lcd.print("Chgr:OFF");
lcd.print(" Heat:OFF");
digitalWrite(Charger_PIN, HIGH);
digitalWrite(Heater_PIN, HIGH);
}
if (DHT.temperature >= OP_temp & DHT.temperature < MAX_temp )
{
lcd.setCursor(0, 1);
lcd.print("Chgr:ON");
lcd.print(" Heat:OFF");
digitalWrite(Charger_PIN, LOW);
digitalWrite(Heater_PIN, HIGH);
}
if (DHT.temperature <= OP_temp & DHT.temperature >= Freeze_temp )
{
lcd.setCursor(0, 1);
lcd.print("Chgr:ON");
lcd.print(" Heat:ON ");
digitalWrite(Charger_PIN, LOW);
digitalWrite(Heater_PIN, LOW);
}
if (DHT.temperature < Freeze_temp)
{
lcd.setCursor(0, 1);
lcd.print("Chgr:OFF");1
lcd.print(" Heat:ON");
digitalWrite(Charger_PIN, HIGH);
digitalWrite(Heater_PIN, LOW);
}
delay(1000);
Note the ambiguous ONF setting (a bug)
Here it is in the garage with the DHT11 sensor in the garbage can..ahem, I mean, in the temperature-controlled charging system:
For remote monitoring, I placed one of my Notion sensors that is part of my wireless home monitoring system, at the bottom of the can.
I can use the puck to monitor temperature, sound (detect smoke alarms), water and motion (for doors and windows) and send alerts to my phone. https://getnotion.com/
I tested the heater yesterday in 10C/50F weather and it performed well.
But might need to add another 60W heating blanket in February when it hits -20C/5F.
Here's a screenshot of the Notion app showing the internal temp of the unit rising after I turned the system on:
So tell me what could go wrong?