Best way to read analog voltages

Mr Spock

Active Member
Wondering the best product to currently do this. Ideally something with a 4 or 8 input MUX and 10 bit ADC should do the job. Of course we want this easily accessible for automation (Homeseer, MainLobby, CQC, etc.). It appears the best way to interface to automation is to input to the COM ports. Still true?

I'd prefer to buy something that works instead of building up a kit. i can solder fine, but don't have the time.

I saw this post from Dan in 2005 where someone did a home build PCB project.

http://www.cocoontech.com/forums/index.php?showtopic=2827

Follow on question, does the Elk M1G and Omni Pro II have auxiliary ADCs?
 
An Ocelot and IO expansion module will do 8 bit voltages 0-5VDC and has serial comms capability.
I know it will interface with an HAI Omni.
 
If you have the time and interest, I would take a look at an Arduino kit, you can build your own I/O controller with just a few lines of code, very easy to learn. The CAI web controller is very popular (really good bang for the buck), plus the manufacturer hangs out on the forums here, so it's easy to get support.
 
What about this one, it has 3 10 bit A/D, and 8 TTL in and 8TTL out:
http://www.amazon.co.../dp/B001H4JXLU/

I have several of these. You can poll the values of the three analog inputs (or any of the inputs/outputs/variables) using simple http get commands. You can also set the values of the variables and outputs similarly. A member by the name of io_guy on the universal devices forum wrote a program which synchronizes this unit to an isy. If you are familiar with writing code in a .net application, you could probably use his example to synchronize the cai unit with other devices if they aren't capable of directly polling.
 
Did they ever fix that power supply/temperature error problem with that CAI unit? I don't know the specifics but remember reading a LOT of posts about that. ^_^
 
For CQC the Elk obviously would be one choice if you already have one. We also support the Barix Barionet. And there's also a driver for the Koyo Click PLC. It's not been added to the product officiall yet, but it probably will soon and you can certainly use it in the meantime. Here's a thread:

http://www.charmedquark.com/vb_forum/showthread.php?t=10010

From what I understand of it it's inexpensive and you can add low level logic at the PLC level and such.
 
Did they ever fix that power supply/temperature error problem with that CAI unit? I don't know the specifics but remember reading a LOT of posts about that. ^_^
I brought a new one lately, PCB labeled HW 2.2.2, that one uses 5V powering the 1-wire bus. My older one labeled HW 2.0.2 that using 3V power. I don't have problem with the new one.
 
Thanks for the replies.

Regarding the CAI product. Any chance it can do pulse counting? One of my inputs maybe pulses from a water meter. Probably no faster than 1 pulse/sec. Don't think a TTL input can do that. But if it had a several Hz sampling rate and the ability to do a little math it might...

Appears the same is true for the Arduino UNO.
 
Thanks for the replies.

Regarding the CAI product. Any chance it can do pulse counting? One of my inputs maybe pulses from a water meter. Probably no faster than 1 pulse/sec. Don't think a TTL input can do that. But if it had a several Hz sampling rate and the ability to do a little math it might...

Appears the same is true for the Arduino UNO.

Great question. At 1 hz you should not have any trouble. I tried to get it to count at 40hz and it could not. But based on my experience trying to get 40hz to work I am pretty sure you won't have any trouble with 1hz.

You will need to write a "flip flop" program. What you want is for each time the input goes from off to on, it adds one to your counter. In order to do that you write plc code that adds 1 to your counter whenever the input is on. But your pulse will probably stay on for a while, thus each pulse may result in the cai adding way more than just 1 to the counter. So you need a "blocking" variable. It only will add one to the counter if the blocking variable is 0, and at the same time it adds one to the counter, it sets the blocking variable to 1. So it won't add to the counter again until the blocking variable gets set back to 0. The blocking variable gets set back to 0 as soon as you input goes back to off, thus allowing the next "on" to get counted, just once. It's hard to put this into words, so I hope you get the jist of what I am saying. My guess is that this would probably work up to about 10hz on the cai, provided you didn't have massive amounts of other code in there.

With just a few lines of code, the plc engine runs start to end at about 200 hz based on my experience. The polling of the input values is where I believe the limitation existed, and I think it is more like 20hz.
 
For 'analog' inputs?
Yes. I use an input card with the resistors removed to get a 4-20mA signal from transmitters around the property. So you can use a M1 for analog inputs.

I also use a Click PLC that was mentioned and it is a great little PLC for the money. Little short on alanlog inputs, but will do the job none the less.

Have a look at some of the industrial stuff that has a serial (or IP) modbus conenction. Modbus is not that hard to work with and I have been working on a modbus driver for CQC.
 
Back
Top