LinkMeter v2 Homebrew BBQ Controller - Part 1


 
Status
Not open for further replies.
Originally posted by Dave S (GeoDave):
It would be great if you could check it out.

Do you have another suggestion other than grounding A0? It could probably be fixed in software but probably not worth the extra work.

I tried the new Lid Open button...awesome! It didn't work at first on my MiniLink v1.0 board. I had to switch out the Atmega328 chip. It was hanging on toggle for some reason. Maybe a bad flash?
It looks fine to me, other than C2 (the 3.3V power cap) not having a value. Something you may want to mull over because I'm not sure about it, does the ATmega need a decoupling capacitor? I've heard that it has an internal 0.1uF capacitor on AVCC but I've never seen anything on the datasheet about it. The v3.1/v3.2 boards don't really have one but they do have a "spare" 0.1uF capacitor by the power section which may be acting somewhat as a decoupling capacitor.

I don't know what else you'd do for A0. I mean fixing it in code means custom compiled firmware, which becomes a pain to maintain. You could do a solder jumper to allow the trace to be cut more easily but really I don't think it matters because these boards are so easy to make, it isn't terribly hard to just make something custom.

I don't know what the lid toggle would hang. That would just mean a new status update has never been received after you click on it? It could take up to 10 seconds to reflect the new state if your browser is polling.
 
Originally posted by Arwin:
Well thanks for the advice on the voltage divider, pretty sure I would have connected them directly to each other...

Isn't it strange that there are different voltages for the serial lines? Always thought that computers were standarized..

I also have another question:

Here in europe, we use degrees Celsius instead of Fahrenheit; therefore my current controllers show Celsius. Is there an easy way to let linkmeter show Celsius? I know how to change the code in the heatermeter but I don't think that will be enough for the linkmeter...
Ah I wondered when this was going to finally come up! It is subtle but have you noticed that LinkMeter doesn't have units anywhere? The only thing that is Fahrenheit-specific is the "degrees per hour" countdown, which is something that I'd like to be more configurable anyway.

So basically if you change HeaterMeter, nothing else will display any units so you should be good to go. In fact I just pushed some code to github which may or may not work. If you look in strings.h now there's a define and you can set to CELSIUS and it updates the display and the calculation. I haven't tested it though so let me know how it goes. Ideally I'd like to be able to switch back and forth via config but that isn't a quick fix.

Serial lines are all over the place with regards to standards because the term "serial" is just generally used now to refer to asynchronous communication. The RS232 standard which is what most people think of when they think of 1980s-2000s era serial is standardized that devices must be able to tolerate -25V to +25V, and the signals will be 5, 10, 12, or 15V (negative V would be a 1, positive V would be a 0). Low voltage chips would have go through a lot of work to withstand those sort of input ranges so they came up with a similar protocol except where 0V is 0 and positive voltage was a 1, this is referred to as TTL serial. The amount of positive voltage is determined by the VCC of the communicating chips.

The nice thing about a 5V ATmega is that 3.3V is high enough to be considered a 1 (it requires 0.6 * VCC for VCC > 2.4V) so you don't need to "boost" the routers voltage to talk from it to the ATmega.
 
Thanks!

In fact I didn't notice that there are no units in the linkmeter, just changing heatermeter will be enough... I'll try with your latest version of heatermeter and let you know how it works!

I've made some progress; using the voltage divider I managed to make a seria connection between the arduino and the linksys
icon_smile.gif
just pulled out the arduino out off my "old" controller and reflashed it with the heatermeter code (i believe i just downloaded it before you updated with the Celsius stuff...).
Now when I go to 192.168.200.1 I see the heatermeter status screen showing the temperature of the connected probe so this seems to work ok
icon_smile.gif


But..... when i go to the configuration screen i can change the parameters, but there's no possibility to send them to the arduino. As far as I understand this should work with the "update url", but this is just a text and no link..

Edit: now I'm trying with firefox and something happens: when I edit the setpoint, I see a link under "update url" with the new setpoint, however clicking it gives me a screen that tells me te setpoint has been changed but the homescreen of heatermeter still keeps displaying the old value...
In the homescreen I can click on the set temp and change that but a little later it also goes back to the old value..

What can I be doing wrong??????

Can it be the wiring of the serial connection? I made: tx arduino -> voltage divider -> rx linksys and rx arduino -> tx linksys. Do I have to connect GND and +3.3 from the linksys to the arduino?? Arduino is powered via the barrel connector (12 V).
 
Arwin,

I use FireFox as well and cannot get the LM to update the HM. I get exactly what you describe so instead I telnet into HM and use the echo command to get it to work. The echo way has always worked for me, but it also reaffirmed that it is LM not my serial connection that is having issue.

dave

Originally posted by Arwin:
Thanks!

In fact I didn't notice that there are no units in the linkmeter, just changing heatermeter will be enough... I'll try with your latest version of heatermeter and let you know how it works!

I've made some progress; using the voltage divider I managed to make a seria connection between the arduino and the linksys
icon_smile.gif
just pulled out the arduino out off my "old" controller and reflashed it with the heatermeter code (i believe i just downloaded it before you updated with the Celsius stuff...).
Now when I go to 192.168.200.1 I see the heatermeter status screen showing the temperature of the connected probe so this seems to work ok
icon_smile.gif


But..... when i go to the configuration screen i can change the parameters, but there's no possibility to send them to the arduino. As far as I understand this should work with the "update url", but this is just a text and no link..

Edit: now I'm trying with firefox and something happens: when I edit the setpoint, I see a link under "update url" with the new setpoint, however clicking it gives me a screen that tells me te setpoint has been changed but the homescreen of heatermeter still keeps displaying the old value...
In the homescreen I can click on the set temp and change that but a little later it also goes back to the old value..

What can I be doing wrong??????

Can it be the wiring of the serial connection? I made: tx arduino -> voltage divider -> rx linksys and rx arduino -> tx linksys. Do I have to connect GND and +3.3 from the linksys to the arduino?? Arduino is powered via the barrel connector (12 V).
 
Dave, thanks for your reply!

Can you explain how exactly you telnet into hm and do the echo thing?

Thanks,

Arwin
 
Originally posted by D Peart:
I use FireFox as well and cannot get the LM to update the HM. I get exactly what you describe so instead I telnet into HM and use the echo command to get it to work. The echo way has always worked for me, but it also reaffirmed that it is LM not my serial connection that is having issue.
I can't figure out how this *doesn't* work. I test on Chrome and Firefox and then get it to passably work in IE before I commit it. Try turning on the web console (Tools -> Web Developer -> Web Console) then doing one of the sets and see what comes out in the log.

Did you say lmclient doesn't work either? (This should set the setpoint to 100)
lmclient LMST,sp,100

I mean I can't even fathom how that wouldn't work if the echo does. If at any point you want to let me SSH into that thing and see if I can figure it out, I'd be happy to.
 
Hi Bryan,

If you want to ssh into my LM, you're more than welcome! But... I'll have to set it up so you can see it from "outside" and I don't know how to do that... So may be you can tell me in an email how to do that?

arwin2 gmail.com

Edit: I installed "teamviewer" so if you want, I can give you an ID to operate my computer and see what happens...

Arwin.
 
Finally, things seem to work now.
After all the answer was very simple : just connecting RX and TX wasn't enough, after connecting GND and GND the magic began
icon_smile.gif
 
Bryan,

I haven't tried lmclient. Just used echo because it was what I knew and it worked.

I'll give lmclient a shot when I can. Will be sometime next week before I can get to it.

dave

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 D Peart:
I use FireFox as well and cannot get the LM to update the HM. I get exactly what you describe so instead I telnet into HM and use the echo command to get it to work. The echo way has always worked for me, but it also reaffirmed that it is LM not my serial connection that is having issue.
I can't figure out how this *doesn't* work. I test on Chrome and Firefox and then get it to passably work in IE before I commit it. Try turning on the web console (Tools -> Web Developer -> Web Console) then doing one of the sets and see what comes out in the log.

Did you say lmclient doesn't work either? (This should set the setpoint to 100)
lmclient LMST,sp,100

I mean I can't even fathom how that wouldn't work if the echo does. If at any point you want to let me SSH into that thing and see if I can figure it out, I'd be happy to. </div></BLOCKQUOTE>
 
I figured out what locked up the router, whenever I go to the wifi tab and try to enable the wireless the little cricle just spins and spins while it waits on the router to reconfigure. I let it sit for 15 minutes last night before rebooting it because I couldnt do anything else. After the reboot the white and orange LED's came back on, I can get to the homepage and log in but everything after that gives a page unavailable.

Am I enableing the wifi in the correct way? Is there a way to enable the wireless through ssh? I want to be able to connect to the router wireless with my iphone, then I dont have to worry so much about getting the LCD to work.

Quick question about the LCD though, is pin 16 supposed to be a ground or is it something else? When I connect pin 16 on the lcd to ground instead of the lcd pin my backlight turns on. When I connect it to pin 16 I get nothing. I still dont get any text but at least it lights up.
 
Originally posted by Arwin:
Here in europe, we use degrees Celsius instead of Fahrenheit; therefore my current controllers show Celsius. Is there an easy way to let linkmeter show Celsius?
The 201202150 build of HeaterMeter now supports dynamic switching between C and F. On the config page (not the home page) enter a setpoint with C or F suffix and HeaterMeter will switch units. Example: 100C switches to Celsius and sets the setpoint to 100C.

NOTE! Because the PID constants are basically "percent fan speed per degree", you'll want to scale them appropriately when you switch. I didn't do it automatically because of the precision error which would cause them to slowly decay every time you switched.
 
Originally posted by Ben B.:
Quick question about the LCD though, is pin 16 supposed to be a ground or is it something else? When I connect pin 16 on the lcd to ground instead of the lcd pin my backlight turns on. When I connect it to pin 16 I get nothing. I still dont get any text but at least it lights up.
It is the backlight ground, yes. The backlight intensity however is adjustable so the ground is actually PWMed through the BC337 transistor right next to pin 16. The backlight brightness is an incredibly simple circuit, so if that's not working you've got some serious problems on that board. I doubt it but it could have been turned off, you can turn the brightness to 100% with
lmclient LMST,lb,255

The wifi can be configured by editing /etc/config/wireless then rebooting (easiest way). I've never tried making the LinkMeter an AP, I always just make it a wifi client on my network. I'll have to try that.
 
Originally posted by Bryan Mayland:
The wifi can be configured by editing /etc/config/wireless then rebooting (easiest way). I've never tried making the LinkMeter an AP, I always just make it a wifi client on my network. I'll have to try that.

If you make it a client on your network how do you go about accessing it from a mobile device like an iphone.
 
Originally posted by Ben B.:
If you make it a client on your network how do you go about accessing it from a mobile device like an iphone.

No differently than you would if it were acting as a router. It still has an IP address, it's just using the radios to connect to your wifi network, vs you connecting to the router via wifi.
 
Originally posted by Ben B.:
If you make it a client on your network how do you go about accessing it from a mobile device like an iphone.
Yeah as Kyle mentioned if you just "join" your existing network, it gets an IP address from your regular router and then you can just go to http://openwrt/ on your iPhone and BAM there you are. You can change the hostname used to access it from the System -> System configuration page (after the first time it refreshes its IP address / reboot).
 
Got it connected, thanks. I was thinking it worked as an access point that you connected to. Now to figure out this LCD.
 
I got my linkmeter up and running, when I first powered it up every thing was perfect. However after a few minutes the words on the lcd started to turn to gibberish. When I power off for a bit and power up again its back to normal. Any ideas?

From this:
IMG_20120215_232415.jpg


to this:
IMG_20120215_232120.jpg
 
Great job Bryan!

I just tried it and it works perfectly... (one minor thing however: the setpointfield doesn't accept more than 3 characters so to change between C and F there must be a setpoint lower than 100 be entered).
When I fire up my smoker I'll play around with the PID settings to see what happens...

Arwin

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 Arwin:
Here in europe, we use degrees Celsius instead of Fahrenheit; therefore my current controllers show Celsius. Is there an easy way to let linkmeter show Celsius?
The 201202150 build of HeaterMeter now supports dynamic switching between C and F. On the config page (not the home page) enter a setpoint with C or F suffix and HeaterMeter will switch units. Example: 100C switches to Celsius and sets the setpoint to 100C.

NOTE! Because the PID constants are basically "percent fan speed per degree", you'll want to scale them appropriately when you switch. I didn't do it automatically because of the precision error which would cause them to slowly decay every time you switched. </div></BLOCKQUOTE>
 
To add to my predicament; I am unable to set a root password so I am attempting to tftp the new bin and reflash the router. However no matter how many times I try (using a switch between computer and router) I cannot get the router on 192.168.1.1. I have tried catching it during the bootwait and also setting the router in failsafe mode and no luck. The UI loads and I can see probe temps etc. but I cannot set the password or access any of the linkmeter configuration items.
 
Originally posted by Arwin:
I just tried it and it works perfectly... (one minor thing however: the setpointfield doesn't accept more than 3 characters so to change between C and F there must be a setpoint lower than 100 be entered).
Yeah this was modified when I added the ability to switch it, but you'd have to upgrade the linkmeter package for the conf page to allow 4 characters. It also has some help text about changing units. Thanks for pointing this out though, some times I do forget details like this.
 
Status
Not open for further replies.

 

Back
Top