The Development Log


 
That first link the guy is saying 50% voltage threshold, which would be 2.5V given the 5V drive operation, but I see what you're saying. I don't think there's space on the PCB for a level shifter but if there is I'll bump the servo drive to 5V. If not, I'll make sure the trace is on the top of the board so it can easily be cut and a booster added.
 
A little more information as to why ET-732 probes drop off at room temperature


The top graph shows a period sampling of the ET-732 probe. As you can see it is pretty noisy, there should be at most a 1 unit peak to peak variation in the value and this is closer to 20. The existing version of HeaterMeter will discard the entire period if just 1 sample is reported to be max (1023) which is what detects that nothing is plugged in. As you can see, there are two samples in the graph that are 1023 so therefore this probe would read as "off" even though the average is closer to 1014.

In the bottom graph it compares the output temperature with a thermocouple output. As you can see it is much noisier. 90% of that graph is actually smoothed, and only the right part (where it goes all over) is real time. The real-time spread is about 3F which is pretty bad considering that's as large as the range I'd like to be in control over. If you touch the probe sheaths it gets even worse. I haven't tested with grounding it though.
 
Knocked a couple things off my list tonight:
-- Added firmware support for switching between constant voltage (FFEEDVOLT / TruVolt) and the old open loop low frequency PWM. Still no webui!
-- Lower latency acquisition of output voltage. Now get within 10% of target inside of 1 second (worst case).
-- Dynamic range for thermocouples to triple precision (1 LSB = 0.214C) for low temperatures (0C - 210C)

Also did some looking into pulling the wifi configuration from the config.txt you can edit from another computer. It works ok but keeping it synced with the settings from the webui is a little bit of a chore.
 
Last edited:
I just heard back from Thermoworks about the thermocouple I was thinking of using, which I posted about the other day. Model: 113-420/425
They said it is an isolated thermocouple, so I think it might work out OK...
I stuck this in the spot the normal dial thermometer goes last night and set the HeaterMeter for 225F, 375F, 500F, 600F, and 700F. HeaterMeter had no problem holding any of these temperatures and there was no noise to speak of. 1 LSB above 400F is 1.16F (before oversampling) so you don't see smooth 0.1F degree changes, but I think there are enough variations in heat that you might not get those anyway. I had to open the top to get to 600F, and slide open the bottom damper about an inch to get to 700F.

Oddly the Thermoworks page for that probe says the cable is good up to 500F but the specs below that say "Cable: 14 to 221F" and "Transition (SST): Max temp 221F". What's the SST transition? Does that mean the plug? Anyway it works great and is well put together except the probe is 7" long, which may be a too long for most grills depending on installation. On the v4.2.2 board, every thermocouple I've tested has worked flawlessly so that really opens up the possibilities.

Other things I did last night
-- webui to switch blower output between "Pulse" and "Voltage". That's the best description I could come up with for the selection box.
-- Fixed some strict XHTML compliance in the conf page which took me for-friggin-ever to find and was causing Chrome to fail to render the page.
-- Added a hotkey (Alt-S on windows, Ctrl-S on Mac?) to the save button on the conf page so you don't have to scroll down to it any more.

This morning I'm working on the 4.2 PCB and going to do a cross comparison of output % to fan speeds between Pulse and Voltage modes. Spoiler: at 50% on the existing v4.0/v4.1 designs you're getting roughly 10V, compared to 8.5V with the new TruVolt(tm) design (which 50% of the way between 5V and 12V). So the blower is a lot more precise now and expect to see it running more but maintaining temperatures better.

EDIT: Output comparison
 
Last edited:
Awesome Bryan...
So does this ThermoWorks thermocouple freak out if your touch it or touch it to the grill? Also keep in mind they say it is bendable which may help in mounting it.
 
No they're all stable no matter what you do. I solved that by lowering the impedance of the thermocouple negative to ground. You can still mess with it by having a bare thermocouple and grounding the tip though!
 
I spent all yesterday and today working on the v4.2.3 board, taking brief breaks just to eat. It was really tough to come up with a design I was happy with and was physically able to connect the components.


  • Swapped the barrel jack and blower RJ45 jacks. Based on my measurements, the blower jack should not contact the Pi like the RJ45 does now. I'm pretty bad at measuring things though. :/
  • Removed the RFM12 - this will have to be installed via a second board. I'm not sure anyone else uses RF modules for lmremote or IT+ ambient sensors but the module was just too big and because it was surface mounted it created too much restriction on what traces could go where.
  • The ICSP header is back because there was a free pin on the RF connector so I just made the pinouts compatible
  • LCD moved up 0.2" and board moved "down" 0.1" to compensate. This moves the button up as well to 0.65" from the bottom edge which is nice because it felt awkwardly low in v4.2.2. I think it is still awkwardly low, just less so now.
  • Ralph's servo booster circuit integrated. I used a N-MOSFET instead of the NPN transistor because v4.2 uses mosfets so I figure there was no use just having 1 NPN. Should also boost the voltage closer to 5V than the NPN would too.
  • Noise filters on all probe inputs. Holy $#%# I managed to squeeze in low pass RC filters onto each and every probe jack. There's not enough space to label the components so I tried to indicate it with a sort of pictogram. This will hopefully absorb enough noise to make Thermoworks TX-1001s and ET-732s work acceptably without grounding their braids.

I had some other things to fix but Windows Update was kind enough to reboot my computer for me while I was grabbing a drink and lose all my notes, as well as my shopping cart of parts I needed to order for the next build. Thanks, Redmond!
emot-argh.gif


I'm going to stare at this design for a couple more hours before I send it to OSH Park. If anyone sees any "You idiot!" flaws, let me know. (EDIT: Other than the 1-2-7-8 numbers being backward on the Ethernet port)
 
Last edited:
Awesome Bryan, I am really stoked to see that you fit the RC filters onto the board and the servo booster too!
On several occasions I had thought to suggest you remove the RFM12, cause it seemed to take up so much space and I'm not really sure anyone was using it, but I know you use it so I was reluctant to make that suggestion. Glad you made the decision to make that an external option in favor of fitting in the extra components mentioned above which should improve the core functions of the Heater Meter.
 
Awesome Bryan, I am really stoked to see that you fit the RC filters onto the board and the servo booster too!
On several occasions I had thought to suggest you remove the RFM12, cause it seemed to take up so much space and I'm not really sure anyone was using it, but I know you use it so I was reluctant to make that suggestion. Glad you made the decision to make that an external option in favor of fitting in the extra components mentioned above which should improve the core functions of the Heater Meter.


I too was wondering about why the RFM12 was still on the board. I have one from when I first started the HM on version 2 and I have never had the need to install it on any of the HMs
 
I like what you did with the RJ45 jack, the further away from the rPi LAN port the better... Having it down below the power cord makes it more apparent that this is the Heater Meter output rather than the LAN port.
 
The original v4.1 design used an RJ11 6 pin jack because we only need 2 wires, or 4 for servo. However, several people requested that it be switched to RJ45 for a couple reasons:
-- Ethernet cables and connectors are more ubiquitous that landline phone connectors, as landlines in general are on their way out. A phone cord can still be used, so this doubles the options a user has.
-- Extra conductors in the cable means you can run your probes over it as well and bring the HeaterMeter inside, safe from the elements.


I preferred the 6 pin jack because you can't plug an ethernet cable into it by mistake, but that was my only argument so I didn't want to be stubborn about it.
 
I want to also say thank you for the rj45.. Minnesota is the winter is cold... I just wanted to ask, do you have the wiring for the rj45 plug sorted out yet? I was going to modify my current setup and want to make sure my fan/servo/probe connection will be forward compatible.
 
I want to also say thank you for the rj45.. Minnesota is the winter is cold... I just wanted to ask, do you have the wiring for the rj45 plug sorted out yet? I was going to modify my current setup and want to make sure my fan/servo/probe connection will be forward compatible.

The HMv4.1.X has the rj45 on it, so the standard HM RJ45 wiring has been defined since then. It is shown on the v4.1 schematic.
Here is a pic of that part of the schematic:

HMv4.1_BlowerCircuit_CAT5Pinout.jpg


Included in this pic is also the blower driver section, which I posted in the thread about how I converted my HMv4.0 blower driver circuit over to the blower driver used on the HMv4.1 and later. Reason being, V4.0 driver pulsed the ground rather than the positive lead on the blower, so the servo and blower can not share the same ground with that blower driver circuit, so the RJ45 on a HMv4.0 cannot be wired exactly like the above standard. The HMv4.1X driver pulses the positive leg of the blower and uses a regular ground and so the blower can share a ground with the servo as shown above.

If you run a HMv4.0 or older you must dedicate an extra wire for the +12v for the blower. I edited the above image to include an example of what you might use for the HMv4.0 and older and probes:

HMv4.0-1_BlowerCircuit_CAT5Pinout.jpg


Everything that is not on the end of a green lead in the diagram is somewhat subjective, but it's a good idea to run the pit probe on the same twisted pair as the probe ground rather in the same twisted pair as the power leads or something that is pulsed like the blower or servo signal leads to prevent instability in the pit probe.

If you want to make your HMv4.0 or older run the standard HM RJ45 wiring (so you can use your damper devices on both HMv4.0 and 4.1 units) you would have to convert your HMv4.0 blower driver circuit over to the new HM4.1 style like I detailed in this thread. It was cheap and easy for me to do and has been working great for me. This was important to me cause I work with all kinds of dampers and wanted them to all to run the standard HM RJ45 wiring. If you have a one-off HMv4.0 and a single damper, and are happy with having just the pit probe and one food probe in the CAT5 cable then you could just run the HMv4.0 wiring shown above or something similar....
 
Last edited:
-- Did a bunch of optimization last night to shrink the firmware down, saving about 500 bytes
-- wifi-client now can take other parameters to allow setting AP mode with DHCP server in one command
-- HeaterMeter can now output why probes are "off": Unplugged, Noise, High, Low, or OK. linkmeterd and we webui need to be updated to show this so it is turned off for now

Regarding running the probe wires on the ethernet cable, v4.2's "voltage" output mode for the blower means that you probably won't need probe ground any more. Because there's no high speed pulsing it should be pretty clean. Not that you'd probably want to change it though, on account of compatibility.
 
-- Add support for switching to and from AP mode from wifi-client utility
-- Store selected graph range, showfan, probelines on index page across sessions (requires a browser with localstorage support, which is Chrome, Firefox, Opera, Safari, IE8+)
-- Allow setting of 'XX%' for a manual fan percentange from conf and index
 

 

Back
Top