The Development Log


 
The LCDs are electrically the same, but the v4.1 parts list version is transreflective black on green, the v4.0 is transmissive white on black. The transreflective are visible in full sunlight so I changed to that as the default but they are interchangeable. Any of the 80x36 displays from NewHaven are acceptable apart from the RGB (18 pin) versions and the version with the connector on the top.
 
Bryan, hope this is the right place to post this suggestion....

Looking at the HM graph it struck me that you have the blower percentage listed on the right and the temperature on the left. I would like to suggest that you reverse that, having the temperature scale on the right. Reason being, the pit and food probe lines on the graph all terminate on the right side, it would be nice to have the temp scale on the right side for quick visual reference there. Right now the blower scale is over there and it has no real relation to the temp graphs...
 
Last edited:
Putting the temp on the right would make sense, as the graph would be visually drawn by the bar going up and down, etc. Almost as if the graph line is a trail coming off the bar graph.
 
I agree, it does seem to make more sense having the temps on the right side, so I guess count my vote that way.
 
To the right it is! Committed to git. The temperature is now on the right and the PID output is on the left.

After seeing it, I kinda wanted to throw out the fan speed and put the temperature on both sides. Unfortunately the flot graphing library doesn't seem to support that so right side only it is.
 
While using the servo / fan combo this past weekend, I came up with a few feature requests while sitting and watching things.

Here they are:

a) For the blower "On at max only" option, I think it would be nice to change the max variable from something other than 100%. This would allow the servo to get the temps up, but allow the fan to kick in sooner than waiting for the PID loop to wait until it reaches the call for 100% blower.

b) On the main HM graph display, have both a "servo open %" and "blower speed %" horizontal bar between the pit temp and the 3 other probe temps or maybe as another data point being plotted on the main graph. It would be neat to see the correlation between servo and fan use.

c) In the PID pop-up display that shows up when you press P ( or somewhere else that's easily visible without going into the config ), display the servo and fan config options ie: The status of the servo mode selected "fully open/close only", the fan min/max value and the status of the fan mode selected "on at max only"
 
This is starting to derail, so this shouldn't be a wishlist thread. If you have a feature request it should get its own thread from now on.

A) this has been suggested already but not sure if this will be implemented because it would mean the configuration eeprom would need to be wiped

B and C are part of the home page redesign, eta infinity (because each time I start it, I end up hating the design and restarting from scratch)
 
I've been spending most of my time trying to get the thermocouple interface nailed down. Frank is working on a better addon board which uses a proper thermocouple connector.

Working with Tom to resolve his "lid detect" issue, which I can also now reproduce easily, I found that there is a ton of noise on the HM v4.1 board's ground plane. I believe there is less on the v4.0 board because the blower ground wasn't directly connected to ground and the Rds(on) of the MOSFET served to absorb enough that it wasn't a problem.

To help quantify the problem I've worked up a version of HeaterMeter that outputs an indicator of the noise level as the FOOD3 probe value, on a scale of 0-1023 (which would be 3.3V of noise).
Test device running 2x standard blowers simultaneously (10% min speed, 100% max speed):
Idle: 5
5% blower: 5 when off, 53-72 when on
10% blower: 53-72
50% blower: 49-56
100% blower: 8

Noise like this can cause small shifts on standard thermistor probes or even dropouts (around room temperature on ET-732 probes). It also makes thermocouples useless, as that much noise can affect the reading by +/40F or more. I'm working on seeing there's some sort of decoupling that can be used to reduce the noise to usable levels.

The alternative being that the HM board would have to be redesigned to have separate analog power lines, I think anyway. I'm so terrible with hardware.
 
So... can you quantify how much real-world impact this has with standard thermistor probes? I guess what I'm really asking is "what is a small shift?" I am sitting on 3 sets of components and 3 4.1.2 boards (one for me, 2 for guys I work with) and was planning to start assembly of mine this weekend. Is the impact significant enough that I/we would be better off going back to 4.0 boards and ordering the parts which differ between 4.0 and 4.1? I don't have any immediate plans to use thermocouples, and really only decided to build a v 4.1 for myself to get the fan and servo control lines onto a single cat5 w/o the cobbled together solution I'm using now.
 
The work-around that I am using right now is to jumper the blower ground directly to the blower ground. This has eliminated my lid detect problem and in my initial test last night, was able to measure RTD probe temp very stably. When I get home from work tonight, I am going to test the code Bryan wrote and see what sort of noise results I get.
 
It helps that the probes are high impedance to ground, so they're not as affected as the pulldown on the button. I saw a theoretical difference of about 10F, however, because the probes are 8-sample averaged, the average disparity you'll see is closer to 1F.

After four nights of experimentation, trying various decoupling methods, and comparisons to v4.0 (which shows noise on the order of 2-4) it seems the quickest fix is to move the ground feed point. After moving the ground input, my test system (on a Model B Pi) dropped to
Idle: 0
5% blower: 0 when off, 4 when on
10% blower: 4
50% blower: 2
100% blower: 0

I'll make another thread about it but here's how to move the ground. Step 1: Remove the barrel jack and cut the 4 connections to the ground plane with a razor. You don't have to be gentle, just look and see the 4 shiny lines going in each direction and score them.



Step 2: Check continuity between that hole and any pin labeled Gnd (probe header or FTDI header, etc). You should get nothing.

Step 3: Resolder in the barrel jack and run a wire from the pin where you just cut the leads to the center pin of the 5V regulator. The regulator creates a good deal of noise itself due to driving the Pi. Model A Pis have less noise than Model B and they're $10 cheaper to boot.



My test setup has 2x of the standard blower. Using my lab power supply with the modified configuration, I got 0 noise at any blower percentage. However, I found it interesting that two blowers rated at 0.2A each pull greater than 1A combined (in pulses) when running at low speeds.
 
New thermocouple boards! Photo is of 0.4" surface mount section, my first time using solder paste and a toaster oven. I think it worked pretty well although all the paste under the amp didn't melt (despite the connections all checking out as good) so I had to send it for a second ride through. Checked it out with my new $40 USB microscope.


Tonight I'll give it a test and see how the noise is on the new HeaterMeter board, which already needs a new revision due to having one bad connection. Just another chance to make it better!
 
Last edited:
Blower Off vs Blower On - the scale for the Y axis is 3.22265625mV per unit or 1.16F degrees for the thermocouple (less for the thermistors)


Note that the noise is effectively masked by both the average and the median (on HM 4.0's average as well). The first graph is what I want the input to look like all the time, where the average is the most accurate reading. The noise on the second graph is at the blower PWM "turn on" edge. While I can sample around this issue, that won't solve the overall problem of noise rejection in general which is the more important issue to solve.
 
Last edited:
Spent another 5 hours last night working on the PCB, removing traces, cutting out sections, adding more components. I've managed an improvement (now 7 ADC from peak to peak instead of 17) but it's still not as good as I'd like it to be so I'll be continuing on tonight. I've also considered a complete do-over but I wouldn't be happy with where the output connector would need to be placed, and there's no guarantee it would even be an improvement.
 
Just when I finally got a V4.1 pcb on its way to me we've come off the rails! LOL
I am wondering if I should build it up or save the components? TBHWY its not that much of an expense so I am glad to build it up if I can help you nail down this noise in any way. If there is something I could do to assist in this process just let me know....
 

 

Back
Top