Oct 5

First off, WHIA v1 code is in the WHIA FAQ. It sucks, I know. that’s why I’m doing v2. Here is an outline of what I’m doing for v2.

  • Communication is now query/response based instead of the arduino constantly chattering.
  • Individual sensors can be queried or all sensors.
  • No  more pressure sensors.  Too variable, instead my safety gear focuses on the number of registers open and inlet/outlet temperature. I’m considering a hot wire anemometer.
  • I went back and forth on it, but I’m using two Arduinos talking I2C. One controls the inputs, one controls the outputs.
  • Thanks to I2C, we have lots and lots of blinky lights this go around. Two for each sensor and one for each servo.
  • I’ve stubbed in support for controlling the mini-blinds in each room via xbee or cheap 900mhz radio.
  • I actually control registers instead of dampers in some of the rooms, chiefly the basement.
  • Water sensors have been added in the basement and under the washing machine (long story).
  • The big one, a web based gui for feedback and control this time.

It’ll be well into winter before this one is done and a few more weeks before I’m even at a stage where I can post code, but I’m going to stand up the v2 page anyways and just start putting everything out there. I did a really poor job of getting my code and schematics in shape and online for v1, so I figure the best way to remedy that is just to hang it all out for v2.

Thanks again all of you google ads clickers, you bought me servos and micros and are funding the work on v2!

Jun 5

Christmas has come early! Fedex brought me a whole bunch of packages today stuffed full of pressure sensors, audio amplifiers, LED controllers and all sorts of  geek candy.  I’m playing with the freescale MPX5999D right now and the MPX4250.  I thought the 5999 was going to be my sensor of choice, but it looks lke the 4250 will be better.  Its more sensitive and it has a nice port connector so I dont have to mount the sensor in the plenum.  More to come!

May 17

To update the last post..

Port 8 seems to be dead.

Yeah, port 8 wasn’t hooked up. I accidentally connected port 9. It works much better now that it’s connected.

Need to find a new home for the board somewhere in the basement

Home has been found in the basement next to where the upstairs data and phone lines come in.

Need to add another sensor connection

Added, plus I tacked an onboard sensor into the mix. It’s serving as the basement probe.

I need to recover port 4 and remap it…

I haven’t done this yet. I’m looking into whether or not i2c is even in the this boards future or if that is going to hold off until I get a PCB made.

PC code seems to have gone squirrely…

This one has been fun.  It seems that the process consumes more and more CPU, slowly, over time. It starts off at .1%, then .2%, then .3% etc, all of the time getting a larger and larger back log of temperature updates. It’s obviously something with how Im using Perl’s Serial::Device module.  So running with that, I added a flush routine in to clear out the serial buffers after each read and I altered the update time to only look at the serial port every 1 second.  So far, it seems to be working well and the process is now showing as using 0% cpu. We’ll see.

May 15

I’ve switched my arduino from bus powered to an external power supply in an effort to get the darn thing to stop reseting it’s FTDI Serial->USB adapter.  Every time it does that, my code loses it’s connection to the arduino and I get big holes in my data. Not cool.  I made the swap this morning, if it can run 24 hours without reseting, I’m calling this one done.

May 14

I ran into a small problem with WHIA recently that seemed to be fairly serious.  I could only attach two sensors at a time without the whole 1-wire network going dark.  After doing some research and being pointed by Maxim to app note 148 I found that my trouble was based on using a star type topology and parasitic powered sensors. The star topology was necessary simply due to the layout of the sensors. I guess I could have done some weird loop with the cables once they were in the basement, but that was far from ideal. The parasitic power was a requirement because, well, those sensors are free from maxim and it’s what I had on hand.  In the end, I decided to go with a switched 1-wire network. What this means is that currently, each sensor is on it’s own isolated 1-wire network. I tell the arduino to do a 1-wire discovery, read the sensor it finds, then disconnect that sensor and move on to the next network. The whole process only takes 1 second, so not problem at all there.  I wanted to use a common source analog switch of some sort, but had a hard time finding one cheaply that would do what I wanted, so instead I chose to use 1 digital IO pin on the arduino for each network.  My sensor read loop then simply moves from one pin to the next looking for 1-wire devices.  It’s not great and it won’t scale like a true 1-wire network will, but it’s doing a darn fine job at the moment.  I am having one lingering problem. The boarduino that Im using seems to like to reset its usb bus and change what device it’s attached to, so my update script stops working. I think that is just power related though and Im going to try to address it tomorrow.

« Previous Entries