HeaterMeter Homebrew Controller


 
so I finally did some back tracking on mine. Turns out I was using 1/4w resistors, and after I desoldered them off, sure enough the came out to be 22k still. Its just so strange...

the whole story is that during testing and the build, my temp probes tracked out perfectly. During the 'test run' they tracked out perfectly as far as I could tell.

Then on the maiden voyage, I noticed they were off by about 10*. I adjusted and proceeded with the cook, but for some reason as the cook went on, the gap widened to the point where 10 hours later they were 40* off.

I agree with Brian that measuring stuff in circuit is tricky at best. What I figured is that whatever I measured on the PIT line, I should measure the same thing on my PROBE1 line. Whether its voltage across the resistor, voltage before the resistor, etc. they were NOT the same.

So I desoldered them and verified everything, and it all checked out. So then I put everything back together again, and gosh darn it the temp probes were accurate again.

So then it sat for about 2 weeks and I'm planning to give it another go... tonight i decided to check on the accuracy, and now I'm 10* off again :-(

Going on a dry run tonight to see what happens. I have a diff q for those of you that have one built. What is your measured voltage across the 22k resistors when the system is live? Also, if you don't plug in all your probes, does it affect the ones that are plugged in? For example if I leave my PROBE1 unhooked (but not grounded) I get a super funky reading on my PIT temp (even though that one is hooked up fine).

I gotta figure out whats going on, the easter brisky depends on it! :)
 
I've done probe swappin and it doesn't seem to be a bad probe. I've got loads of them to play with too since I've got a Maverick to compare too.

To be explicit, the HM is reading higher than the Maverick. The results of my dry run were interesting too. Started out 10* too high. The dry run was leaving everything at room temperature all night and seeing what happens... when I woke up this morning the temp probes were back about where I'd like them to be (only 1 or 2* higher than Mav).

I bought enough components to do another board... I may give it a whirl just to see what happens. But the way the probes are separate from everything else that seems a little overkill.

V=IR right? what are the odds I've got some fluctuation in I coming out of the ardiuno?
 
Originally posted by Daniel Pittard:
My question is: how much modification to Bryan's code needs to happen to get it to run with my "lite" version? Anyone willing to post a "lite" version of the code?
To get to this version, comment out at the top of hmcore.h:
#define HEATERMETER_NETWORKING

And... and I think if you take out near the bottom of hmcore.cpp
Menus.doWork();

That should disable all the buttons and most of the LCD. It will still write to the LCD on those pins but because the communication is unidirectional, it shouldn't notice that it isn't there.
 
After playing around with it for a long while, its *got* to be how I've got it together. I don't think I've got anything explicitly hooked up incorrect, because I CAN get correct values.

I'll need to spend some time thinking about how i've currently got things layed out. Every piece I took out tested out correct, and layed back on a breadboard also functioned correct. The blame goes to the most likely suspect (amateur soldering skills)

thanks for the thoughts they helped me figure it out!
 
Please excuse my confusion here, but on the schematic linked on Bryan's first post on this tread shows 10k resistors for the probes, but Ed, your drawing shows 22k resistors for the probes.

I ordered 10k resistors based off of Bryan's schematic. Should I have purchased 22k resistors instead?
 
Originally posted by Ed Pinnell:
Bryan's latest code for the LinkMeter has a variable that needs to be set for the resistance value used...I can't speak to the question as to at what version he implemented this change. You will be ok with either value as long as you set the variable correctly...I'm still using the 22k resistors myself...and the early versions of the HeaterMeter code assume a 22k value.
It has been a variable since the first release but it it was hidden away near the place it was used. I think the version in the first post has it at the top of grillpid.cpp. The README file points out the location of all the tweaks.

But yes, 10k resistors are the default as of when that first post is made. I hope you got 1% tolerance ones. I just checked a handful of my "grab bag" resistors and they ranged anywhere from 9.6k to 8.9k, which can skew your probes by a few degrees.

I feel your pain too, JD. I spent 2 hours last night and then 4 hours this morning trying to figure out why my LinkMeter didn't work at all (which is actually pretty hard to tell because it has no lights and no code on the chip). Turns out I had wired the ICSP header in reverse. 6 hours of staring it and desoldering parts. I was about to give up. The only thing that kept me going was that if I just put 5V and ground to the chip directly, it would toggle SCK indicating that the blink sketch was actually running.

Then was greeted with just a dark LCD. Oops I had the backlight pin set incorrectly (LinkMeter can dim the LCD backlight from software). There, now it has a backlight but it is still black. Hey wait the contrast knob does nothing, aha the crimp connector isn't crimp connecting. Hey there's contrast but no words... looks like the RS line isn't strobing... connector not pushed in all the way. Eureka!
 
Ever since I fried my Arduino Ive been thinking of "rolling my own" and adding the WiFi chip while I am at it.
on one hand
There is a possible replacement for the wishield. I found the seeduino stalker with "WiFibee" http://garden.seeedstudio.com/...eeduino_Stalker_v2.0
Its a bit higher than the wifi was

on the other hand I thought:
Did Bryan did you ever get anywhere with the WIFI chip? if not will the schematic for the WIFI bee help?
 
So after a little thought, I decided to add in the LCD and buttons. It's really not that much in the grand scheme of things. I only had one question, though. Will this capacitor work for C2 on Bryan's schematic? I couldn't find it on the Google Docs part sheet.
 
Originally posted by Daniel Pittard:
I only had one question, though. Will this capacitor work for C2 on Bryan's schematic? I couldn't find it on the Google Docs part sheet.
Ah yes because it was something I had forgotten in the original design. Actually, electrolytic capacitors aren't great for this application.

I used one of these from mouser. The closest they have at Digikey is the same thing except on cut tape instead of bulk. The price difference is enormous for some reason though. I got 50 from mouser for what 7 cost at Digikey. I can't find any old school ceramic capacitors on Digikey; you know, the kind that would cost like 1 cent each. The specs you're looking for are 0.1uF ceramic through-hole with somewhere around 0.1" lead spacing. RadioShack has them for 90 cents each. Geez! I guess the Digikey ones I linked aren't so expensive after all.
 
Originally posted by gerry m.:
Did Bryan did you ever get anywhere with the WIFI chip? if not will the schematic for the WIFI bee help?
Oh had no problem with designing my own wifi addon, the datasheet shows a reference implementation that is all you need. The WiShield schematic is very similar. The execution turned out to be a bit of a problem though. After I soldered the whole thing together with one row of pins mirrored I put it aside.

The problem was that the contacts for the little wifi chip thing are on the bottom so you have to solder all the wires on first, flip it over and mount it to the breadboard, then run all your components. Soldering one side wrong meant I had to disassemble the entire thing to fix it. It had taken me two nights to put it together so I was pretty frustrated. I'm thinking next time I'll just solder it upside down with the antenna hanging off the edge of the breadboard.

Unlike the Master Builder Ed, it takes me forever to build things. Like the linkmeter I built last weekend took probably 20 hours to assemble. It is all those gorram little wires!

But yeah that appears to be the same wifi chip mounted on a 2mm pin header.
 
I'm running into some issues that I can't seem to figure out. Hoping you guys can help me here.

I had the very basics running yesterday. Pit probe, Arduino, and fan. I could hold a lighter up to the pit probe and watch the temp climb on the serial monitor. The fan would turn on and off based off of the temp on the pit probe. I started to hook up the buttons and the lcd and I'm still trying to figure that out (I can get the back light on the LCD to light up but not display anything), but I think I changed something in the process.

Even if I go back to the very basics, I can't get the fan to spin. On the serial monitor, the first number in the CSV string is reading 240 instead of 225 like it was earlier. The pit probe is still reading correctly, but the last 4 numbers in the CSV string all read 0.

I've tried reloading the software MANY times on a few different computers, but nothing changes.

Can anyone offer any help here?
 
Well the first thing in the list is the setpoint, but it sounds like all of the other values are probes being grounded out possibly?
 
Thanks so much for both of your replies, Bryan and Ed!

Good news is, I got the basics working again! Add desoldering to the list of things I'm learning through this project. I had everything working on a breadboard. When I transfered it to a PCB, I stupidly soldered the fan diode backwards. The transistor got REALLY hot too, luckily it's not broken.

I guess I really need to figure out how Bryan's code works. I think when I plug it in, it stay's in "lid open" mode. I think this because of the 240 as the first number in the CSV report from the serial monitor.

I think I may go fire up some <STRIKE>charcoal</STRIKE> really crappy charcoal someone left at my house to see to really see how this works. I still have my maverick, so I can monitor temps that way since I don't have my LCD screen or buttons working. And yes, Ed. I am kinda of falling into the trap you described. It should work on a grill since it is working on my kitchen table.

And to directly answer your question, Bryan. I did have the other two food probes grounded out. I was more interested in why the first CSV value is 240 and not 225.
 
Originally posted by Ed Pinnell:
EDIT: And don't you have some diapers that need changing right about now?

This is one big reason why I'm trying to finish it up. Doing a test run on the smoker and it's working fine, completely as expected. I'm going to have to figure out how to set my smoker up right and how to maintain it.

The LCD and buttons are my next task.

Ed, I REALLY appreciate how much you're helping me here. I can't say that enough!
 
Originally posted by Daniel Pittard:
I guess I really need to figure out how Bryan's code works. I think when I plug it in, it stay's in "lid open" mode. I think this because of the 240 as the first number in the CSV report from the serial monitor.

And to directly answer your question, Bryan. I did have the other two food probes grounded out. I was more interested in why the first CSV value is 240 and not 225.
Is your button pin "floating" currently? I know you mentioned you haven't done the LCD and buttons. If you leave the button pin ungrounded while you're playing around, some static or something might cause it to fall into the range of a valid button value which would cause it to scroll through the menus or something.

Your setpoint could have gotten set to 240 because it is the first thing you get to when you go into the menus. You can set it back from the serial monitor by selecting any line ending from the combobox on the bottom of the serial monitor, anything besides "No line ending" works. Then type
/set?sp=225
and hit enter. It should change to 225 in the next output.

The lid detect can also trigger from pressing a button. Pressing LEFT while on the Home screen enters a manual lid timer.

Analog 0 is the button pin. Just tie it to ground until you're ready to do the buttons and it should take care of the Lid problem, and not change your setpoint on you.
 
So I'm looking at the LCD part of the schematic and two questions come to mind. One in regards to the shift-register. I ordered the one that is listed in the Google Docs parts list. The other is a question about a note on Bryan's schematic.

1. The schematic for the shift register shows pin 9 (if I'm not mistaken) connects to the Vcc. The data sheet shows pin 14 as the Vcc connection and pin 7 as the ground. Should I wire this ignoring the data sheet and only focus on what Bryan has documented?

2. The schematic shows pins 1, 5, and 16 as ground and R/w. What is meant by R/W and how should this be wired?
 
Ah good questions.

1. Vcc goes to pin 9, and then also to 14. Ground goes to 7. In Eagle schematics they don't show Power/Ground that would normally be run to the chip. Turns out you have to right click the part and select "Invoke" and then it shows them, but it shows them as a separate thing. See above IC1, there's ICP1? That's is what Eagle adds to show the power and ground connections for IC1, I guess IC Power?

2. R/W Is a pin on the LCD that tells it if you're going to write to it or read from it. Yeah for some reason you can read from the LCD. +5V for Read, 0V for Write. However, because we don't need to Read from it, we tie it to Ground, which is Write. So because pin 1 is LCD logic ground, and 16 is the backlight ground, all three 1,5,16 can all be tied together and then just run 1 wire for ground to one of them.
 
Again, thanks for your response, Bryan!

I've finally got everything working! At least, on a breadboard on my kitchen table. I'm gonna get this soldered and installed into my project box tomorrow (hopefully) and give it a proper test soon. I'm glad I've already taken care of the fan mount fabrication and project box prep. I really am excited to see this finished!
 
hey Bryan
I can see this on the serial monitor hooked up via USB (only one probe is connected)

70,67.6,67.6,0.0,-1.0,0.0,-1.0,0.0,-1.0,14,14,0
70,67.6,67.6,0.0,-1.0,0.0,-1.0,0.0,-1.0,14,14,0
70,67.6,67.6,0.0,-1.0,0.0,-1.0,0.0,-1.0,14,14,0
I want to see what is happening over time and tune the pid

What do I need to do to
a) web interface
b) graph results
 
So I finally got everything together and this thing works like a charm! The only time the smoker got too cold was when it ran out of fuel. Making a charcoal basket is my next addition/modification to my smoker. And for those wondering, I'm using this on a offset smoker (el cheapo brand :/ ). I've essentially copied the Stoker mount system for the blower. It works great!

Lastly, for those curious, my daughter was born last Wednesday! Everyone is doing great! Being a father is the most fulfilling reward in life!
 

 

Back
Top