Bulk bin is being delivered as this is posted! I'm stuck (.... well not really stuck....) down in Nassau Bahamas for work this week. I did do a brief write up and a block diagram of how I will interface the furnace and bulk bin, as well as the Amazon Echo:
Here is a block diagram of the outside furnace, bulk bin that feeds the furnace, Arduino controller, web server, Alexa, and Amazon Web Services interfacing.
Firstly, the main goal I am after is to have limit switches mounted inside the Central Boiler M250 furnace that controls the filling of the 7 bushel hopper of the furnace from the 200 bushel bulk bin. There are a total of 4 switches inside the hopper (I wanted robust redundancy) that send a 5 volt signal to the pins on the Arduino. Under the proper conditions those switch inputs will allow the Arduino to send out a 5 volt signal to a high current (power) relay, which will turn on the motor of the auger on the bulk bin, filling the hopper on the furnace. The high limit switches then activate and the Arduino turns off the bulk bin auger motor relay pin. This automates the filling of the furnace from the bulk bin.
Here is a code snippet that lives in the Arduino that does the logic control for all 4 limit switches, and turning off (low) or on (high) the auger relay pin:
// Hopper limit switch logic, engages and disengages bulk bin auger:
if (high1val == HIGH || high2val == HIGH)
{
digitalWrite(augerrelayPin, LOW);
}
if (high1val == LOW && high2val == LOW && low1val == LOW && low2val == LOW)
{
digitalWrite(augerrelayPin, HIGH);
}
https://www.arduino.cc/en/Reference/BooleanSecondly, I am harvesting many physical points of the M250 furnace for monitoring purposes, mainly I care about the burn chamber temperature thermocouple, the water temperature thermocouple, and the water level switch.
The burn chamber thermocouple is installed in the furnace so that the furnace's built in Firestar controller:
https://www.youtube.com/embed/y8FcxUCI9w4?rel=0&modestbranding=1&autoplay=1 can tell if the fire has burned out, and will then go though it's process for relighting. The controller is looking for a 300 degree or so signal from the thermocouple. Obviously I wish to harvest this data from the thermocouple and put it into the arduino so that I can also monitor if the fire is out in the furnace.
The water temperature thermocouple is there to control the mode/level that the furnace runs at. This outside furnace is a little unique in that it does not care what the call from the house thermostat is doing, the furnace simply cares to keep it's water temperature at the set level. That is done in the Firestar controller, which I have presently set at 180 degrees. The water temperature thermocouple also provides the controller with the over limit and warning temperatures for the water. We DO NOT want the water in the furnace to boil, we want to keep it was hot as possible while not melting down. As such the controller cycles the speed of the auger that feeds the wood/corn into the burn chamber, as well as the speed of the positive draft fan. The faster the auger goes, the more fuel is available, the faster the fan blows the hotter the fire. The controller cycles through the modes to keep the fuel and fan at the appropriate levels to keep the water at 180 degrees (how that all happens is in the above posted video, if you are really bored...). This is probably the most critical item that I want to be able to access from the Amazon Echo interface. I wish to be able to ask Alexa what the present water temperature is, and if possible (not sure on this yet) have Alexa verbally warn if the water is above a certain level. This is where the Amazon development system seems to be a bit ahead/better than the Google system, I can have Alexa deploy a new skill such that it will trigger an Amazon Lambda function, which will be coded to go get the water temperature variable from the web server that is connected to the Arduino, then pass that info back to the Alexa skill. Next I will have to see if Alexa can be triggered to speak from an Amazon Lambda function. I will have a function that will poll the web server every minute or so and trigger a verbal response from Alexa if the water temperature is in an alarm condition.
Lastly, I would like to code in all the arduino pin conditions and OAS software data that is published to the web server, into Alexa's skills, such that I can ask: "Alexa, what is the furnace's __________ status." I am intending to add some sonic distance sensors, such that I can get a level status of the bulk bin, as well as the hopper.
Any thoughts, suggestions, ideas, or concerns?
Neal