HeaterMeter Homebrew Controller


 
Originally posted by gerry m.:
What do I need to do to
a) web interface
b) graph results
Without the WiShield, I used a pair of XBee adapters to make a point-to-point connection to a Linux box running Apache. It used bash shell scripts to read the serial data and write it to the database. What sort of infrastructure do you have available?
 
Originally posted by Bryan Mayland:
<BLOCKQUOTE class="ip-ubbcode-quote"><div class="ip-ubbcode-quote-title">quote:</div><div class="ip-ubbcode-quote-content">Originally posted by gerry m.:
What do I need to do to
a) web interface
b) graph results
Without the WiShield, I used a pair of XBee adapters to make a point-to-point connection to a Linux box running Apache. It used bash shell scripts to read the serial data and write it to the database. What sort of infrastructure do you have available? </div></BLOCKQUOTE>

I have all Windows XP machines the all have the office.
I have tried the following http://dev.emcelettronica.com/...munication-excel-vba and can get the info to excel but it not clean. by this I mean I can get anywhere from a partial line of info to hundreds of lines in one cell

for the moment I want to place a laptop a few feet away from the smoker and am most interested in the graphing for tuning the pid.

at the moment I am running it with no external power (Just the USB) I am not sure if I can run a usb line with only the RX/TX lines connected or if I need to go to a RS232 when I run the 12v Wall wart.
the Arduino Uno doesnt have a External/usb jumper that I can see.
 
Yeah Iiii don't know what to do about that. There's no really good toolset available on windows, or at least I don't know enough about it because when I need something done I always jump right to Linux.

You might be able to use this app I just threw together.
http://capnbry.net/~bmayland/f...terSerialGraph-1.zip

Problem being that you'll have to run USB and 12V at the same time. This was somewhat safe on the Deulmilanove but heard that some of the Unos are built defectively and can possibly feed 12V right up your USB port.
 
Originally posted by Bryan Mayland:
Yeah Iiii don't know what to do about that. There's no really good toolset available on windows, or at least I don't know enough about it because when I need something done I always jump right to Linux.

You might be able to use this app I just threw together.
http://capnbry.net/~bmayland/f...terSerialGraph-1.zip

Problem being that you'll have to run USB and 12V at the same time. This was somewhat safe on the Deulmilanove but heard that some of the Unos are built defectively and can possibly feed 12V right up your USB port.
hey this is cool
I am seeing a graph!!!!
are the PID values settable?
thanks so much
I am thinking of providing my own 12v to the mofset and 5v to the arduino uno with both grounds together.
If I let the magic smoke out of this uno Ill have to start making my own.
 
Originally posted by gerry m.:
are the PID values settable?
Oh yeah I guess I should have mentioned that. Just edit the values to whatever you want (the value should turn red) and when you press ENTER in the box it sends them to the HeaterMeter which saves them in the eeeeeeeeeprom (and they'll turn black again).

Pretty nice app for 15kb right?
icon_biggrin.gif
 
yea this is perfect for what I want to do.

only thing I can point out is that on the red line (food 1) is actually pit average, maybe, its the way my serial CSV output is setup.

I think my C programming skills are good enough to to find the serial output and rearrange them to graph what I want
I think graphing set point, pit temp and fan are what I want right now.

Ha! I thought you said you didn't do windows programming.
Thanks again.
 
Originally posted by gerry m.:
only thing I can point out is that on the red line (food 1) is actually pit average, maybe, its the way my serial CSV output is setup.
Oops, is it? That is very possible. I threw this together as a 15 minute challenge to myself during lunch. I'll take a look and post a fixed version.

I actually mainly do windows programming for a living but when it comes to not having to write a program to do something, that's when I switch to Linux. They just have literally 1000 command line utilities that are so powerful.

EDIT: And you are right, sir. Fixed Food1 value:
http://capnbry.net/~bmayland/f...terSerialGraph-2.zip
 
Originally posted by gerry m.:
15 min vs 6 hours of trying to figure out how to do this in Excel with limited success.
I say it all the time, I don't know how non-programmers use computers. There's so many frustrating, tedious goals that can be achieved with just a little simple programming.

Good luck with your tuning!
 
I'm working my way through the schematic and am trying to wire up the LCD. I'm quite inexperienced with schematic readings, so please excuse the noob question.

Can someone please clarify the JP1-10 -> LCD 1/5/16 wiring? Do I make a series as follows (LCD1, LCD5, LCD16, GND, 10K resistor?

Also, what's the meaning of JP8 (contrast)? I can't quite figure out what it's supposed to be wired to.

I appreciate any help. This project looks great!

Thank you.
 
Originally posted by Clint Ricker:
Can someone please clarify the JP1-10 -> LCD 1/5/16 wiring? Do I make a series as follows (LCD1, LCD5, LCD16, GND, 10K resistor?

Also, what's the meaning of JP8 (contrast)? I can't quite figure out what it's supposed to be wired to.

Pins 1, 5, and 16 on the LCD are all ground. Just run them to your ground bus.

JP8, or LCD pin 3, is the contrast pin. The 10K resistor is actually a trim pot. The trim pot allows you to adjust contrast on the LCD. The trim pot is a square little resistor with a screw on top. You have to manually adjust the contrast by adjusting this screw.

Hope this helps and enjoy the ride!

EDIT:
Also, let me clarify. JP1 is just a schematic representation of the LCD pins. The little chart with JP1 & LCD columns on the schematic show you which pins on the LCD that JP1 refers to. So JP1 pin 10 is referring to 3 different LCD pins (pins 1, 5, and 16). It took me a while to figure that out as I'm a noob at reading schematics too.
 
Also a little more about the CONTR pot. R6 is a potentiometer, a variable resistor. The package has 3 pins on it. If you measure the resistance between the two furthest apart pins, you should get about 10k ohms. One of these you connect to power, the other to ground.

The resistance at the pin in the middle is controlled by the little screw on the potentiometer. This one goes to LCD3 and allows you to use the screw to adjust the contrast of the LCD.

Using a header for JP1 is optional, I wired the first HeaterMeter directly to the respective points. I included it on the schematic because it is cleaner looking than trying to get them to connect them directly to the LCD.
 
Hi everyone.

I am also new to these forums, and have been enthralled with the HeaterMeter project. It is really amazing!! I read the full 25 pages of the other thread.
icon_smile.gif

Good work everyone involved!


I was hoping someone might be able to give me some guidance. I ordered most the parts for the project, and decided that the first thing I would work on is to get the LCD portion working.
I wired that portion of the schematic up, tripled checked all my connections, setup the software, uploaded to the Arduino, but no luck. Sometimes I see garbage characters, but most times the first row of the display is completely lit up.

I then followed a tutorial on the Arduino site for hooking directly up to the LCD interface and not using the shift register IC, which worked. I then re-wired the HeaterMeter circuit and it still did not work.
I found the source of the shift register LCD library code on Google Code and decided to try the 3 wire mode (removing the resistor and diode and hooking up the E pin of the LCD directly to a third pin on the Arduino and that also worked!

My problems seem to be related to the resistor/diode/2-wire mode, but I am not sure how to try and figure out why it is not working.

As I am new to electronics (or maybe born again, I did some stuff in University years ago), I was hoping for some guidance on how to proceed figuring out what is going wrong.

I would greatly appreciate anyones thoughts!

TIA, Mike
 
Hi Ed, thanks for the reply!

Originally posted by Ed Pinnell:
The LCD display seems to be the most common stumbling block in the build and it's hard to nail down because the only time I personally have had a problem has been when I've mis-wired something. It's interesting to see that you have the 3-wire version working but not the 2-wire, which seems to point the finger at the AND gate, or the current implementation of using a resistor/diode pair to emulate a true AND gate, with the assumption on my part that the only difference in your wiring of the two is that the Arduino uses another output pin to wiggle the [E] line of the LCD in the 3-wire instance and the resistor/diode pair does the wiggling in the 2-wire instance.

Correct, I used an additional output pin on the Arduino to interface with the E line of the LCD directly.


Originally posted by Ed Pinnell:
The obvious thing to check is to make sure that the 1N914 diode is biased correctly. The band that encircles the diode should be on the end of the diode closest to the 74xx164 shift register. If that is correct, then you could try lowering the resistance value of the resistor to around 0.8k as shown here and see if that helps. Other than that, I have read where the HC version of the shift register is more difficult to get working so the LS version may be easier to work with, but I have used both successfully without any problems other than noted above. A true AND gate might ultimately solve the problem once and for all, assuming it is a hardware issue and not a timing issue.

The diode is biased correctly, the band is closest to the shift register.
I am using the LS version of the shift register.
I tried using the 0.8k idea, but no luck.

Originally posted by Ed Pinnell:
EDIT: Oh, yeah, note that a basic requirement is that the LCD display in question needs to be Hitachi HD 44780 compatible, which most of them seem to be.

It is the one listed on Bryan's part list on the second post of this thread. All the parts I ordered are directly from that parts list, I used the links to Mouser.

Thanks again for the reply, I appreciate the help!

Any other takers on this one?
icon_smile.gif


Thanks,
Mike
 
I believe I to am having the same issue with the linkmeter.

I am never able to get the lcd screen to initallize and just get the first row of squares. Everything I seem to try i have never been able to get it to do anything and its very furstrating, to say the least.

Would there be a easier way to wire up the lcd without having to use a Shiftregister.
 
Originally posted by John Bostwick:
I believe I to am having the same issue with the linkmeter.

I am never able to get the lcd screen to initallize and just get the first row of squares. Everything I seem to try i have never been able to get it to do anything and its very furstrating, to say the least.

Would there be a easier way to wire up the lcd without having to use a Shiftregister.

Have you tried using the 3-wire mode?
Essentially you remove the resistor and diode from the circuit, and just connect your data out pin from the Arduino to the A and B pin on the shift register. That line ends there.
Then connect another output pin on the Arduino directly to pin 6 (E) on the LCD. That leaves pin 13 on the shift register unconnected.
You then have to change the line in the code that creates an instance of the ShiftRegLCD class.
The line would look something like:
ShiftRegLCD lcd(7, 2, TWO_WIRE, 2);
(You may have different numbers for the first 2 parameters.)
You need to change TWO_WIRE to the pin number on the Arduino you connected to pin 6 of the LCD.

You can see a schematic of the "Three-wire method" here: ArduinoShiftregLCD LIbrary


I am able to get this mode working, but I too am frustrated and want to get the 2 wire mode working, even though there should be enough pins to use the 3-wire mode. It's the principal of it!!
icon_smile.gif


Mike
 
Originally posted by MPAClark:
My problems seem to be related to the resistor/diode/2-wire mode, but I am not sure how to try and figure out why it is not working.
Like Ed said, the shift-LCD seems to be the most difficult part of this project. It is ironic that now that the WiShield isn't used, the shift register isn't needed at all.

If you have a spare 1N4001 diode, you could try swapping it in for the 1N914. I built my original breadboard in this configuration and it worked just fine. I substituted the signalling diode when doing my final build because I think it is the appropriate part. You might have more luck with the original part.

Aside from that, I can't offer much advice. I haven't had any trouble with the 4 other builds I've done with that exact LCD, shift register, diode and resistor from the parts list.
 
Originally posted by Bryan Mayland:
If you have a spare 1N4001 diode, you could try swapping it in for the 1N914. I built my original breadboard in this configuration and it worked just fine. I substituted the signalling diode when doing my final build because I think it is the appropriate part. You might have more luck with the original part.

I did have a spare 1N4001 diode, and tried it.
ZOMG, it worked!!

Thanks so much for the suggestion!

Is it worth trying to understand why the other diode didn't want to work for me? Is it a worry that you feel the 1N914 is the right part for this job?
icon_confused.gif


Also Bryan, glad to see you put the project on GitHub!
icon_smile.gif


Thanks again,
Mike
 
Originally posted by Ed Pinnell:
Mike, do you have another 1N914 you could try? Maybe the diode is bad or out of spec somehow.

I, too, used a 1N4001 in my first build...a diode is a diode is a diode...except when it's not, as apparently is the case in this instance.

Now I'm going to have to compare datasheets. I sure hope this is the cure for this seemingly common problem.

I do have an extra 1N914 and I did try it. No luck with it either.

Hopefully if this is the cure and works more consistently others can avoid the frustrations.

My next task is going to be the button array.
icon_smile.gif


Thanks again for the help.
Mike
 

 

Back
Top