LinkMeter v2 Homebrew BBQ Controller - Part 2


 
Thank you! I wasn't sure if the Trimmer needed to be adjusted for the LCD to display. That was the fix. I wanted to get a suggestion before I messed with it! All is good now. SMOKE ON!
Originally posted by RJ Riememsnider:
<BLOCKQUOTE class="ip-ubbcode-quote"><div class="ip-ubbcode-quote-title">quote:</div><div class="ip-ubbcode-quote-content">Originally posted by Daniel Schoonover:
I'm at work right now messing around with it, don't have any extra pin headers with me. Only have my VOM meter and the boards. I did swap around the sets of wires and still getting the same response (which would make me assume the wires aren't the issue, since if it was one wire I would think there would be a change in response if I moved them). Voltage on pin 15 is 5v pin 16 seems to be around 1.6-2.3 or so...

<BLOCKQUOTE class="ip-ubbcode-quote"><div class="ip-ubbcode-quote-title">quote:</div><div class="ip-ubbcode-quote-content">Originally posted by Neil Mager:
Did you verify that all your wires & connections are good using the continuity setting on the ohm meter...unplug from the board and use an extra pin header plugged into it.

<BLOCKQUOTE class="ip-ubbcode-quote"><div class="ip-ubbcode-quote-title">quote:</div><div class="ip-ubbcode-quote-content">Originally posted by Daniel Schoonover:
I'm really stumped on the LCD screen. I'm getting power to it and it lights up but I'm getting no text. We've fixed the issue with R7 but it still doesn't work.

I guess I'll just get things in there the way it is and work without a working LCD screen for now, but any input is appreciated.
</div></BLOCKQUOTE> </div></BLOCKQUOTE>

Does the HM led blink twice when you power it on or hit the reset? When you adjust the trimmer pot, do you see all the pixels go on to look like blocks? </div></BLOCKQUOTE>
 
Originally posted by J. Winn:
I am assuming that D1 in the schematic is used as a flyback diode correct? When using a larger blower would it be a good idea to up size this to a 1N4004 perhaps? Also, it's probably safe to assume I wouldn't be using a blower that would draw anything more than 1A, but is there any harm in using a 2A diode instead just to be safe? Any advantage to using a Schottky instead or no point? Thanks!
D1 is the flyback diode, yes. The current of the blower doesn't pass through the diode though, and as far as I understand it, it is the high voltage spike from the inductor shutoff that the diode is there to absorb. You can replace it with a beefier diode if you feel like it, 1N4002 through 7. Any current is also non-continuous, and the 1A rating is continuous so I think we're well below that.
 
Ok cool thanks. I thought that the diode should be current rated for at least what the inductive load is. Due to the fact that when you stop applying voltage to the load the induced current will then be flowing through that diode.

Also, I am assuming that the fan speed is voltage controlled or am I wrong. Given this, a fan with a a greater voltage range should have a wider range of airflows that it can provide correct? For instance, the fan I'm looking at is 19.1CFM @ 12V with a voltage range of 4V-13.8V. So the lowest this fan can go is 4/12=.33*19.1=6.37CFM right, and technically as high as 21.965CFM if we had a supply greater than 12V that is? If I'm right, the reason I like this blower is because it can push a good amount of air but with its voltage range it can still get pretty low if need be. I imagine that there is a parameter that can be set to tell the system not to go any lower than 33% (33.5% to be safe) and in turn around 4V right? Thanks again!
 
Originally posted by J. Winn:
Also, I am assuming that the fan speed is voltage controlled or am I wrong.
I wish it were truly voltage controlled but it is actually ~500Hz PWM controlled and fed through a capacitor to smooth it out a bit. The capacitor size greatly affects the controllable voltage range.
fanvoltages.png


The curves would be different for each fan. You can change the value of C1 to give you the best controllable range. The code limits the low end to 10% PWM, but can be changed via the MINIMUM_FAN_SPEED define at the top of grillpid.cpp. You'd have to build your own HeaterMeter firmware though, because this isn't something you'd be able to modify at runtime.

EDIT: If you want to do your own experiments with capacitor sizing, the easiest way is to run the fan at fixed speed. This can be done through the button interface (Manual Fan Mode) or by setting the setpoint from the web interface to zero through -100 for 0%-100%.
 
I see, Im guessing then that you picked the 22uF cap then because the volatge range of the suggested blower goes down to 5V. Is V1 without a cap then? So if I wanted to drop the bottom range of the blower I guess I would need a smaller cap; somewhere between a 10uF and a 22uF? The cap provides more of an on/off action at the begining of the curve rather than a ramp up right? Thanks!
 
Honestly, I can't remember the v1 design. I think it had a capacitor but the configuration was different. There was only 1 v1 ever made and it doesn't exist any more! I selected the 22uF because it was the right balance of smoothing the PWM to a somewhat more linear voltage and still allowed the fan to be controlled with a good amount of granularity.

If your blower isn't the default blower, the graphs will be completely different though so you'll have to experiment what gives you the best range. Higher power draw fans will need more capacitance to maintain the same voltage.
 
Originally posted by Bryan Mayland:
Honestly, I can't remember the v1 design. I think it had a capacitor but the configuration was different. There was only 1 v1 ever made and it doesn't exist any more! I selected the 22uF because it was the right balance of smoothing the PWM to a somewhat more linear voltage and still allowed the fan to be controlled with a good amount of granularity.

If your blower isn't the default blower, the graphs will be completely different though so you'll have to experiment what gives you the best range. Higher power draw fans will need more capacitance to maintain the same voltage.

Ok, cool. I ordered a range of caps to try. I assume when in manual mode I shouldn't set it any lower than 10% though since thats as low as it will go in auto mode right?
 
No iiii think you can go as low as you want in manual mode. You're the boss! I think the button-based UI might adjust it in steps though. I can't remember but you can't really hurt anything. The minimum is just to avoid possible damage long-term and to make the fan actually run at low percentages.
 
Ok, I am too tired and frustrated to go any further for this evening. I got a 54GSv4 in today and it is doing the same thing as the other one. I am receiving from HM but can't send. I can put the HM into a different router and it works fine, all of my HM boards I put into this new router won't work.

What is going on?????

I get temps reporting to the browser and even HM firmware version but I can't change any settings or do firmware updates, reboot, etc...
 
I don't know what could really be going wrong without seeing it myself on a scope (which may not show anything at all either).

You can try maybe flashing the ATmega chip with this loopback sketch to see if it is the HeaterMeter software that is causing problem, but if jumpering Rx/Tx together didn't do anything I doubt this would either.
<pre class="ip-ubbcode-code-pre">
void setup() {
Serial.begin(115200);
}
void loop() {
if (Serial.available()) Serial.write(Serial.read());
}
</pre>
Put that on the ATmega on the HeaterMeter board then try the `cat /dev/ttyS1` in one terminal and `echo XXX > /dev/ttyS1` in another?

You can also try checking your tty settings to see if for some reason we have something different with `stty -F /dev/ttyS1 -a` (mine is obviously ttyS0 instead of ttyS1)
<pre class="ip-ubbcode-code-pre">
speed 115200 baud;stty: /dev/ttyS0
line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 hupcl -cstopb cread clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon ixoff
-iuclc -ixany -imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke
</pre>
 
I am beginning to wonder if this HM board has an issue with TX voltages. The ATMEL is a 5v and the linksys is 3.3 for serial, correct?

When I switched to ttyS0 I did see about 6 output strings from the HM, then nothing.

Well, now not nothing, garbage....

þ­¥þ­¤þ@

þþ
¥þª¦þ

þm(Xã

þÿ

þ

þ
 
Originally posted by RJ Riememsnider:
By baud rate on S1 is set to 9600.....

Check the bootloader on your Atmega, I had an issue where I had burned the bootloader with the baud rate set too slowly so I got gibberish like that.
 
Originally posted by Kyle Christensen:
<BLOCKQUOTE class="ip-ubbcode-quote"><div class="ip-ubbcode-quote-title">quote:</div><div class="ip-ubbcode-quote-content">Originally posted by RJ Riememsnider:
By baud rate on S1 is set to 9600.....

Check the bootloader on your Atmega, I had an issue where I had burned the bootloader with the baud rate set too slowly so I got gibberish like that. </div></BLOCKQUOTE>

Thanks! but I bought them from sparkfun preloaded.
 
Just like before... I reset the baud rate to 115200 and now linkmeter gets data from the HM, I can see temps returned but I can't send any data to the HM.
 
I am totally lost here. I can take another HM board and plug it into this router and it does the same. It seems to be this router.

I haven't been able to get loopbacks to work at all. I must be doing something wrong.

I kill -9 the lua lucid process
connect TX to RX
cat into the same tty in 2 ssh sessions

I should see twhat I type in one session on the other, correct?
 
Originally posted by RJ Riememsnider:
I kill -9 the lua lucid process
connect TX to RX
cat into the same tty in 2 ssh sessions

I should see twhat I type in one session on the other, correct?
Yeah if you `cat /dev/ttyS1` you should see whatever you echo to it from another terminal `echo XXX > /dev/ttyS1`. I don't know if there's a way to check the underlying serial system to see if it is transmitting or not. I know flow control can prevent it from sending if it thinks the other side isn't ready, but this would require software flow control due to the lack of hardware lines. Can you post the `stty -F /dev/ttyS1 -a` output?

The ATmega is 5V output on the UART TX line which is reduced to 3.3V by the voltage divider. The RX line is just fed straight in driven from the router at 3.3V, which should be higher than the 3V required by the ATmega to qualify as a high.
 
Ok, something is using ttyS0

when I ls -lR 2>/dev/null | grep /dev/ttyS0
I get nothing
But If I echo "HELLO" > /dev/ttyS0
the console just sits and I have to ctrl C to get back to a prompt

No combination of loops 0-0, 0-1, 1-0, 1-1 give me nay output

But the HM generates the following just fine
$HMSU,230,U,U,U,261.8,0,0,0
 

 

Back
Top