Sous-vide controller powered by Arduino - The SousViduino!Created by Bill EarlLast updated on 2015-01-03 06:45:16 AM EST
Install the SensorDrill or enlarge the steam vent opening so thatthe sensor wire can be routed through the lid.Position the sensor so that it extends
Terminate the Sensor WiresWe'll use a servo extension cable as a way ofmaking a detachable sensor. Its not arequirement but it makes it easier to
Stack them up!Plug the Wing Shield into the Uno and the RGBLCD Shield into the Wing Shield. Attach thestack on top of the PowerSwitch Tail and addsome
Put it all together:Connect the male and female ends of the servo extension cable.Connect the male and female JST cables together.Plug the cooker into
© Adafruit Industrieshttps://learn.adafruit.com/sous-vide-powered-by-arduino-the-sous-viduinoPage 14 of 49
Control SoftwareThe following pages walk you through various aspects of the controller code, explaining howeach one works. The final page of this sec
PIDBefore we can get cooking we have to solve a simple-sounding problem: how to keep thetemperature of the water in the cooker at a set temperature fo
These gotchas have been expertly addressed by Brett Beauregard in his Arduino PIDLibrary (http://adafru.it/ceR). And clearly documented in his blog p
AutotuneYou might have heard of "Auto Tuning" as a way to filter a singing voice to hit perfectpitches. Auto-tuning a PID controller is not
User InterfaceThe sous vide user interface allows you to set cooking temperatures and make adjustmentsto the PID tuning parameters. It is implemented
246666668888910111112121315161618192224264141Guide ContentsGuide ContentsWhat is Sous Vide?MaterialsThe ControllerCooker SelectionTypeCapacityControls
Each state function is responsible for updating the display and monitoring button presses. Inaddition to navigating between screens, buttons presses a
// RIGHT for tuning parameters// LEFT for OFF// SHIFT for 10x tuning// ************************************************void Tune_Sp(){ lcd.setBackl
Persistent DataSo you don't have to hard-code the tuning parameters or enter them every time you use thecontroller, we save them in the Arduino&a
{ Kp = 500; } if (isnan(Ki)) { Ki = 0.5; } if (isnan(Kd)) { Kd = 0.1; } }// *******************************************
Time Proportional OutputSince the cooker's heater is controlled by a relay, we can't use a standard PWM output tocontrol it. PWM is a very e
if(now - windowStartTime>WindowSize) { //time to shift the Relay Window windowStartTime += WindowSize; } if((onTime > 100) &&
Putting it all together!Here is the complete sketch for the Adafruit Sous Vide ControllerYou can also get the latest code (which may have updates or i
double Input;double Output;volatile long onTime = 0;// pid tuning parametersdouble Kp;double Ki;double Kd;// EEPROM addresses for persisted dataconst
byte degree[8] = // define the degree symbol { B00110, B01001, B01001, B00110, B00000, B00000, B00000, B00000 }; const int logInterval = 10000;
digitalWrite(ONE_WIRE_PWR, HIGH); // Initialize LCD DiSplay lcd.begin(16, 2); lcd.createChar(1, degree); // create degree symbol from the bi
4141424343444547474747474949Auto TuningManual TuningManual Tuning HintCook with it!Cook a 'perfect' egg!Cook a steak!Cook a Fish!Downloads a
}// ************************************************// Main Control Loop//// All state changes pass through here// ***********************************
} // Prepare to transition to the RUN state sensors.requestTemperatures(); // Start an asynchronous temperature reading //turn the PID on m
{ opState = RUN; return; } lcd.setCursor(0,1); lcd.print(Setpoint); lcd.print(" "); DoControl
if ((millis() - lastInput) > 3000) // return to RUN after 3 seconds idle { opState = RUN; return; } lcd.setCu
} if ((millis() - lastInput) > 3000) // return to RUN after 3 seconds idle { opState = RUN; return; } lc
} if ((millis() - lastInput) > 3000) // return to RUN after 3 seconds idle { opState = RUN; return; } lc
DoControl(); lcd.setCursor(0,1); lcd.print(Input); lcd.write(1); lcd.print(F("C : ")); float pct
FinishAutoTune(); } } else // Execute control algorithm { myPID.Compute(); } // Time Proportional relay state is updated regula
lcd.setBacklight(WHITE); // We're on target! }}// ************************************************// Start the Auto-Tuning cycle// *****
// ************************************************// Save any parameter changes to EEPROM// ************************************************void Save
What is Sous Vide?© Adafruit Industrieshttps://learn.adafruit.com/sous-vide-powered-by-arduino-the-sous-viduinoPage 4 of 49
// ************************************************// Write floating point values to EEPROM// ************************************************void EE
TuningDiagram from Wikipedia entry: PID Controller (http://adafru.it/ceV)Default TuningThe default tuning parameters in the controller sketch are aver
Simple PID tuning rules (http://adafru.it/ceX)To tune the Kp, Ki and Kd parameters, use the RIGHT button to navigate between the tuningscreens. The U
Cook with it!The best part of making your own sous vide setup is the testing portion, yum!Sous vide uses lower than normal cooking temperatures. If no
Cook a steak!As with an egg, the precise temperature control of your cooker will allow you to cook steaksto the right level of doneness with 100% repe
Sirloin Tip-Strip with Grilled ZucciniCooked 90 minutes @ 57C.Cook a Fish!Fish can be tricky to cook. Just a few seconds too long in the skillet and g
Haddock Fillets with haricots verts and orange saffron sauce. (one ofour favorites!)Cooked 20 minutes @ 54.5C© Adafruit Industrieshttps://learn.adafr
Downloads and LinksSous Viduino Arduino CodeYou can get the latest code from the github repository athttps://github.com/adafruit/Sous_Viduino (http://
© Adafruit Industrieshttps://learn.adafruit.com/sous-vide-powered-by-arduino-the-sous-viduinoPage 48 of 49
For Leonardo Users:Leonardo Timer DIfferencesCustomer and forum member ytoff57 (http://adafru.it/aMD) (http://adafru.it/aMD)hassuccessfully ported t
"...far from being some passing high-tech fad, sous vide is a lasting contribution tofine cooking, a technique that makes it possible to cook f
MaterialsThe ControllerYou don't need a powerful microcomputer to drive this setup. We selected the Arduino forthis project because of the excell
can find. One with a simple switch or control knob is best. We will just turn it on at the highestsetting and plug it into our controller. (Here at A
Build the ControllerPrepare the Sensor.Most sous vide cooking is done in sealed plastic bags. One exception to this is eggs, whichare cooked in their
Prepare the sensorOur waterproof DS18B20 sensors are great forimmersing in liquid and measuring temperature,but they are not food safe on their own. I
Commentaires sur ces manuels