Version 2 of my homebrew controller


 
Just an update for those keeping track of this project.

The Halloween holiday weekend kept me away from my projects for a bit. Getting back on this now. I have all of my parts. Hopefully getting started this week.

- John
 
I have a great deal of experience designing electronic controls for industrial equipment, but more significantly, designing automatic temperature controls for pellet grills and charcoal cookers. There’s a great deal of discussion on using Arudinos and clones and one can make a sophisticated controller this way. I’m wondering if there would be any interest in getting a dialog going for building a super simple, bang-bang temperature controller for WSMs? I would like to base it on a low-cost Microchip demo board. Any interest? (I'm fairly new to forums - should this post be elsewhere?)
 
Originally posted by John Kennington:
I have a great deal of experience designing electronic controls for industrial equipment, but more significantly, designing automatic temperature controls for pellet grills and charcoal cookers. There’s a great deal of discussion on using Arudinos and clones and one can make a sophisticated controller this way. I’m wondering if there would be any interest in getting a dialog going for building a super simple, bang-bang temperature controller for WSMs? I would like to base it on a low-cost Microchip demo board. Any interest? (I'm fairly new to forums - should this post be elsewhere?)

I am working on an Arduino based controller now. It is not PID based but adding PID logic would be fairly easy. My orientation is software so a collaboration with hardware experts would be very useful.

Curt
 
I'll just reply then move to a new thread. The Analog part's a good choice, especially if you already have it. Otherwise, look at the MAX6675. Super simple, digital SPI output, and about the same $$.
 
FYI, I almost have the whole thing built. I just need to connect the LCD and I'll be ready to load the code.

bbqtempphoto.JPG


- John
 
I'm doing a low and slow pork butt today using HeaterMeter v39...Bryan, you nailed it! I've got the upper vent closed off to the barest (toothpick-sized or smaller) opening, monitoring the temp at the grille, my setpoint is 250, cooking over the plate setter (indirect heat, no water pan this time, Minion method). It came right up to 250 and it's been rock-steady at 250 for the last 2 1/2 hours.
Aww yeah! That is excellent news. I was wondering if somehow I had built a controller that could only reliably control *my* egg. I'm glad to hear it is working as advertised now.

What did you use for your PID constants? I've found in a couple recent cooks your suggested lower values produce smaller oscillations than my original values. I use the defaults now { 5.0f, 5.0f, 0.002f, 5.0f }.

I've got another 15lb cook coming next week too. Apparently when you tell people how easy it is with a computer-controlled grill, everyone wants you to bring the pulled pork!
 
Originally posted by Ed Pinnell:
Of course, if there is any further development, I want to join and contribute, if I can, but at this point, John, I think it's ready for public consumption.

After I get this version up and running, I'm immediately jumping in to a more advanced version with some of the features mentioned in my Instructable draft. I'm going to publish the Instructable based on this current version though. A 2nd version will come at a later date, probably early next year.

Again, I thank the people responsible for bringing this project along to its current state, and specifically, a shout out to Bryan Mayland for his efforts.

Bryan saved us a TON of time on this project, especially on the coding front. Thank you VERY MUCH Bryan, once again!


Be sure not to let the link get lost in all the pages of dialogue! Maybe you can attach it to your sig?

I still have a lot of work ahead of me wrapping this project up in a nice package and putting a bow on it. My goal is to make the Instructable very comprehensive so there is no need to dig through the 13+ pages of comments in this thread to figure out how to build one of these things. I'll definitely publicizing it all over the place including here once it is done.

- John
 
Bryan / Ed,

As I review my circuit tonight to make sure it is all wired up correctly, I have a couple quick questions regarding the power source that you guys used.

1.) Since the Arduino can handle it, are you using one 12v power source for the whole thing? If so, the shift register (74HC164N) requires 5v, so how are you handling that? Are you using the Arduino 5V pin?

2.) If you're using two power sources, one for the Arduino and one for the fan, are you tying all grounds together to avoid ground loops or keeping them separate?

Sorry for the elementary questions. I just want to make sure I have this right before I attempt to power up. Better safe than sorry!

- John
 
1.) Since the Arduino can handle it, are you using one 12v power source for the whole thing? If so, the shift register (74HC164N) requires 5v, so how are you handling that? Are you using the Arduino 5V pin?
Yeah I just plug 12V in to the Arduino, run the 5V for both the shift register and the LCD right from the 5V pinout of the shield. This comes right from the voltage regulator so it should support them both easily (ie they are not bound by the 20mA output pins of the processor). The fan power I plug into the Vin pin on the shield. This is directly connected to a diode past the barrel jack so as far as I am concerned it is completely safe even if you plug in a tip-negative power supply.
 
Thanks guys for the advice! Hopefully I'll get to fire mine up tonight (kids activities have been keeping me busy since I finished assembling the hardware on Saturday).

I'll keep ya posted on how it goes.

- John
 
Ed / Bryan,

OK, I checked and double checked my wiring tonight and just fired everything up.

Problems:

1.) LCD backlight is on, but no text
The backlight is lit and when I tweak the trimmer pot, I can see the rectangle "blocks" used to make up letters. Yet no text is on the screen.

2.) WiSheld 2
WiShield 2 connects to my network just fine, but when I pull up the IP, I see a boatload (probably 100's if not 1000's) of the character "ÿ" on a single line. Nothing else.

Conditions:
I have 1 pit probe and 1 food probe plugged in. I tried using a wall wart (12VDC output, 500mA) and have the same results if I just use the USB power from my PC with the exception of the Fan which won't run without the wall wart.

When I first plug in, the fan runs very slow. When the WiShield connects to my network, the fan stops. The first time I plugged in this was a bit different. The fan started slow, but quickly ramped up to a fast speed. It seemed like the code was doing it's thing, but it only did this the 1s time I tried with power. Now it just runs at a slow speed and when WiShield connects, it stops running.

I should note that I had to get a Red on Black LCD because they were out of stock on the one that Bryan originally specified. The specs are the same though.

Any ideas? I'm continuing to troubleshoot. More to come soon...

Thanks,
John
 
Originally posted by John Mangan:
2.) WiSheld 2
WiShield 2 connects to my network just fine, but when I pull up the IP, I see a boatload (probably 100's if not 1000's) of the character "ÿ" on a single line. Nothing else.

Note: I get exactly 6612 "ÿ"'s when I pull up the IP of the WiShield every time. Doubt this means anything but posting just in case.

Do I need to do something special to get mockup.html loaded?

- John
 
Ed,

I forgot to mention that I did try commenting out the networking section but had the same results on the LCD.

Few other things:

The outer "shields" of my probes are wired to ground.

I tried with no probes plugged in, and also just the pit probe.

I've tweaked the trim pot quite a bit in both directions (10 or more turns) and still don't see any words. While the backlight on the LCD can be seen from the side of the board, the LCD is totally black. I can get it to show lit blocks by adjusting the pot, but no letters.

I didn't use a 2x5 header for the LCD like Bryan did. I went straight to the LCD pins and used his "JP1 Pin to LCD Pin" chart to get the numbers right. The only thing I thought was a little weird was both pins 1 an 16 being tied to ground.

I have not tried using earlier versions of Bryan's code yet, but that is a good idea worth trying. I'm betting it's going to come down to something being wired wrong, so I'm going to triple check the wiring now.

John
 
Ed,

Thank you so much for the troubleshooting ideas! I'm going to try these things this morning. I'll report back on how it goes.

- John
 
Originally posted by Ed Pinnell:
EDIT: Oh, wow! If you've installed the ShiftRegLCD library properly, you will see some example code in the Arduino IDE (File>Examples>ShiftRegLCD...) Load that into your Arduino to see if your display is working...

Ok, tried a "HelloWorld" example from that sketch folder and I'm getting similar results. This time I can get the bottom row of "blocks" to show up by adjusting the pot, but nothing shows on top. That tells me that the blocks show up when the code is attempting to write to the LCD. Bryan's code writes to both lines which is why I see 2 rows of blocks. I'm guessing that Hello World writes just to the bottom row, because that is the only row of lit blocks I can get.

So it has to be something with my LCD wiring or the shift register. Diving in to the wiring now and trying some of the other things you suggested.

- John
 
Originally posted by Ed Pinnell:
One other thing that might need to be done is the R/W select pin might need to be grounded (pin5 on my display). One of my displays won't display if it is not tied to ground, but the other one doesn't care either way.

Pin 16 is the LED- for the backlight . Pin 1 Vss (GND) is the display itself. Pin 5 is the R/W pin (check your datasheet), low to write, high to read. You want it low. All three pins (1,5,16) are grounded on my display.

Try connecting/disconnecting the probes before and after powering up. Like I said, I couldn't get it to initialize last night because of foodprobe1, but I only had one blood-shot eye open. Use the 22k resistor between Vcc and ground for the foodprobe1 [probes]...should give you 0 deg on the display. Is the diode on the shift register oriented properly? This is the Enable line for the display.

Getting closer!

Ed, you were right about grounding pin 5 on the LCD. I noticed that also on Bryan's blog picture on Myke Predko's 2-wire LCD Controller, but it wasn't on the schematic so I missed it. Thanks for pointing that out! Anyway, after grounding pin 5 I'm getting gibberish characters on the screen. I also re-tried the ShiftRegLCD examples with slightly different results, but still not readable characters on the screen.

I confirmed that the diode coming off the shift register is oriented correctly.

I also tried plugging the probes in before and after everything has been booted up without any different results.
 
Ed, FYI, here is a closeup look at how I have my 74HC164N Shift Register wired. Note: I used a meter to check the connections to the LCD rather than just checking by eye.

debug1.png
 

 

Back
Top