• working on DNS.. links may break temporarily.

DIY: UDS temp controller using Android

The controller box is done. Pics at http://www.instructables.com/id/E5X914VH7UR7LEK/ This baby can handle up to 6 thermometers (I'm a data junkie). While working on it I realized that there's no technical reason the controller can't handle more than one pit but I'll leave that for someone else to implement.

Software is moving forward and I hope to test out the PID part in the next week or so. I'm still working on a scheme to attach the blower to the UDS and haven't hit upon an idea that I like yet.

I got a new drum and spent a very boring weekend removing all the paint. Now I know why you guys say it's worth $40 to have it sandblasted.
 
This is great progress Deeg. Curious, have you considered integrating with one of the super cheap "mini computers" being offered (ie http://www.raspberrypi.org/)? Thought being you could then hook a cheap wireless router up to it and have your data available wirelessly. Not sure how complicated it would be but I imagine if you have your controller talking to android, you could probably get it to talk to another linux dist relatively easily.

Then if you can provide XML from controller via http or a web service, I have an Android app which would hook seamlessly into it and provide a bunch of features out of box (ie alarm, charting, timers, archives, etc .. see signature for details).

Might be a bit ambitious at this point but something to consider if you get to a point where you are thinking what else could I do :)
 
I looked into the Raspberry Pi (and Arduino, of course) but the Android+IOIO is currently the cheapest and simplest way to implement a wireless connection (IOIO is $45 plus a bluetooth dongle for $5-10).

The controller is communicating wirelessly with my phone via bluetooth, so theoretically your app could do the same thing. Once I get things running the way I'd like I can look into adding some sort of plug-in so that external apps have access to the data (or maybe help you write a plug-in for your own app). The code is at https://sourceforge.net/projects/udssupervisor/ if you're curious.

What would be cool is someone with experience designing circuit boards could create one using my design that could then be ordered online. Then people could order a board and parts; the hardest thing would then be just soldering a few components to the board.
 
Ah, I saw the pic with the phone hooked direct to the controller so assumed that it was wired. Bluetooth would not be an issue if you'd like to try integrating at some point. Just let me know.
 
The rasberry PI methrod is not that much more expensive. The Heatermeter/PI is also wreless and can be set up with email.

Rasberry PI $35
Heatermeter $12(components About $15)
Wifi adapter $10
 
Update: I got stuck for a long time on figuring out a way to attach the blower to the smoker. I started out with an overly complicated design that failed. I've now housed the blower in a plastic box and it works great. Here's the blower and controller assembly (minus the phone): http://www.instructables.com/files/deriv/FK6/87OH/HE7D9GM8/FK687OHHE7D9GM8.LARGE.jpg

At this point all the electronic hardware should be finished. My next step is to put a ball valve on a drum and test the controller without any food. I hope to have my first test done by the end of the month.
 
I am definitely going to look at building this.

Does the coding support 6 temp probes and 2 fans?
 
The current iteration supports 6 probes but only one fan. There's no technical reason the controller can't operate more than one fan (and more probes). I'd probably be able to help you update the software once I get it all working with one fan.

I plan on writing up step-by-step instructions on Instructables.com and it'd be great to have a guinea pig to help me iron them out. :D
 
Deeg, I will help you iron the instructions out. Happen to have any extra parts laying around? hehe :)
 
Does anyone have an extra heatmeter or know where to order just one?
 
I have built a Raspberry Pi controller for my UDS following Bryan Mayland's Step by Step.

The Raspberry Pi is a credit-card sized computer- a Broadcom BCM2835 SoC, which includes an ARM1176JZF-S 700 MHz processor, VideoCore IV GPU, and 256 Megabytes of RAM



The complete project is actually very easy, the soldering is the hardest part.

The cost is about 110 dollars for everything

A case is still in the works but the design is being 3d printed and the files will be available to order if they fit correctly.


The complete Pi-Hetermeter. You can see a spot on the board for a wireless receiver(below the "NO" on the display), when used you can add wireless probes
117uyj4.jpg


This pic shows the Hetermeter(top) and the Raspberry PI(bottom)
rqxcup.jpg


More info
http://tvwbb.com/forumdisplay.php?85-LinkMeter-v2-Homebrew-BBQ-Controller

Raspberry Pi Heatermeter
http://tvwbb.com/showthread.php?35674-HeaterMeter-v4-0-for-RaspberyPi-Standalone

A list with links to all the needed components
https://github.com/CapnBry/HeaterMeter/wiki/HeaterMeter-4.0-Hardware

A Step by Step
https://github.com/CapnBry/HeaterMeter/wiki/HeaterMeter-4.0-Assembly

Anybody can build one without experience. The WRT54G/heatermeter was my my first project and I have learned alot doing it myself. Bryan Mayland over at www.tvwbb.com will answer every question and is very helpful. He also continuosly upgrades the software putting in around 30 hours a week on it.

Here is a link to my still in use linkmeter and it also has a link to my older thread

http://www.bbq-brethren.com/forum/showthread.php?t=139243&highlight=heatermeter

I would like to try this out possibly Any idea on when the cases will be done for it?
 
Do you still have the wrt54g mod one that you wanted to give away?
 
The current iteration supports 6 probes but only one fan. There's no technical reason the controller can't operate more than one fan (and more probes). I'd probably be able to help you update the software once I get it all working with one fan.

I plan on writing up step-by-step instructions on Instructables.com and it'd be great to have a guinea pig to help me iron them out. :D

I would definitely be willing to give you a hand. If you start writing them I will give you feedback.
 
Thanks for the offers, all. I will definitely take you up on it once I verify that this contraption actually works. :)
 
Here's what works so far (confirmed with testing):

  • Android phone connects to controller via bluetooth and starts the software.
  • Phone displays temps from all 6 probes.
  • Software monitors "pit" probe and sets blower speed.
  • Blower turns on and is adjusted by controller. (Verified last night. Yay!)
  • Software saves smoking session (e.g. temps and blower speed) to a DB and can chart them.

Not tested (yet):

  • Can controller keep a steady temp? I.e. is the PID algorithm set correctly? Getting this to work "well enough" could take a while. This is the big one.
  • What's battery life like?
  • Currently requires Android Version 4.0 or greater because I use some SQL code that requires it. I've put in a request for the SQL code to support 3.7. They say they've made the change but I haven't downloaded it to a 3.7 phone to verify.
Not supported (yet):

  • Open-lid monitoring.
  • Automatic pit adjustment. E.g. when food probe hits 190, drop pit temp to 200.
Some day I'd like to add the ability to monitor the smoker outside the range of bluetooth. This will involve setting up a web server and having the phone connect via the web server but I have no idea how I will implement this (if at all).


I'll post some screen shots of the phone software when I can. Just a warning: my UI skills are nowhere near those of Moontz and they will look ugly in comparison. They work great, though!


I have no plans on ever supporting the iPhone. My suggestion would be to buy a used Android phone on CL. A data plan isn't required, just a bluetooth connection.


How much will this cost? My best guess is that the cheapest would be ~ $60 + $10 per probe (not including the phone of course). This assumes you don't screw up and have to buy multiple parts (ahem) and don't spend a lot on shipping. Most people will spend more especially if one needs to buy tools. I've been trying to keep a close watch on my costs so I can give a firm estimate when I'm done.
 
Do you know if the PID library you are using has an "autolearn" function that will set the P, I and D parameters for you.

I have a standalone PID controller that will do this. It will overshoot the temp the first 2 or 3 cycles and then will be dead on from there on out. You might see if someone has already written this coding.
 
Thanks for the suggestion jcm2m9. I did look into auto tune but there doesn't appear to be one written in Java. The PID algorithm I'm using is one that I converted from the Arduino library to Java (with the help of the author of the Arduino version). It is well beyond my means to add autotuning. However, I've set up my controller to easily use another PID algorithm if one becomes available.
 
Perhaps this info will help you program the PID portion of the controller. First the Proportion calc, then the Integral calc, then the Derivative Calc, then how they are summed, and finally, an explanation of the variables involved. Gain, TI, and TD are the parameter adjusted to tune the PID loop. Take out the TD_LAG if you don't want to include lag. SP is the Setpoint (target temperature in this case) and PV is the Process Variable (the measured temperature in this case).

PIDProportional_zpsc22bdedd.jpg


PIDIntegral_zpsb282f2db.jpg


PIDDerivative_zps9ed40e3f.jpg


PIDY-OutputSummation_zps43d16f10.jpg


PIDVarExplanation_zps30a1a8f4.jpg
 
Perhaps this info will help you program the PID portion of the controller. First the Proportion calc, then the Integral calc, then the Derivative Calc, then how they are summed, and finally, an explanation of the variables involved. Gain, TI, and TD are the parameter adjusted to tune the PID loop. Take out the TD_LAG if you don't want to include lag. SP is the Setpoint (target temperature in this case) and PV is the Process Variable (the measured temperature in this case).

PIDProportional_zpsc22bdedd.jpg


PIDIntegral_zpsb282f2db.jpg


PIDDerivative_zps9ed40e3f.jpg


PIDY-OutputSummation_zps43d16f10.jpg


PIDVarExplanation_zps30a1a8f4.jpg

UGH, I have flash backs of my Control Theory class in college.
 
I set up the software to make the PID settings configurable. That way I (and others) can try different values. I'm guessing different builds will require slightly different values.
 
Back
Top