This USB Relay Controller / Data Acquisition Module, from Cana Kit, allows computer controlled switching of external devices as well as full bi-directional communication with the external world (ideal for Data Acquisition applications) using the USB port of your computer. The controller is very flexible and can be used in many custom applications including weather stations as well as temperature monitoring, logging and control as it can be easily connected to temperature and other types of sensors.
The controller provides four relay outputs with a current rating of 5A each. In addition, it provides a 6-channel Input/Output interface, with each channel individually configurable as Digital Input, Digital Output, Analog Input (10-bit Resolution), or Temperature Sensor (Dallas/Maxim 1-Wire Series).
In Digital Input/Output modes, each channel can support a TTL compatible or ST (Schmitt Trigger) input (depending on the channel) or a 5V output signal.
In Analog Input mode, each channel can convert a voltage of between 0 to 5V (or higher voltage using a voltage-divider) into a 10-bit digital representation.
Finally, in Temperature Sensor mode, each channel can be connected to a Maxim/Dallas 1-Wire Digital Temperature Sensor device (sold separately) such as the DS1822, DS18S20, DS18B20 or DS1821 and provides temperature readings in both Degree Celsius or Degree Fahrenheit.
It is compatible with both Windows and Apple OS X, as well as various Linux flavors and appears as a USB CDC (Communications Device Class) device which creates a Virtual Serial (COM) port allowing easy communication with the board through any programming language that supports serial communications (VB, VB.NET, C#, C, C++, Perl, Java, etc). A complete set of easy to use commands are available for complete control of all relays, I/O channels and sensors.
Whether it's for assembling a kit, hacking an enclosure, or creating your own parts; the DIY skill is all about knowing how to use tools and the techniques associated with them.
Skill Level: Noob - Basic assembly is required. You may need to provide your own basic tools like a screwdriver, hammer or scissors. Power tools or custom parts are not required. Instructions will be included and easy to follow. Sewing may be required, but only with included patterns.
See all skill levels
If a board needs code or communicates somehow, you're going to need to know how to program or interface with it. The programming skill is all about communication and code.
Skill Level: Rookie - You will need a better fundamental understand of what code is, and how it works. You will be using beginner-level software and development tools like Arduino. You will be dealing directly with code, but numerous examples and libraries are available. Sensors or shields will communicate with serial or TTL.
See all skill levels
If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.
Skill Level: Rookie - You may be required to know a bit more about the component, such as orientation, or how to hook it up, in addition to power requirements. You will need to understand polarized components.
See all skill levels
Based on 3 ratings:
2 of 2 found this helpful:
The controller works exactly as advertise but there's little or no documentation on how it works under Linux. A little more documentation and examples would sure cut your development time.
Easy to handle with Linux and it is stable reading with good accuracy on the analog ports.I like direct temperature reading from the 1-Wire Digital Temperature Sensor. However, would like an option even with optoisolated semiconductor relays.
First tried it out with a VISA test panel (like a terminal emulator) in NI MAX. Could never get it to respond with the : (hex 3A) prompt the way the instructions say it should. I could turn individual relays and port bits on/off as outputs, but could never read anything sensible back from the unit like relay or bit status. Kept getting part of a command string back, like it was stuck in a buffer somewhere. Tried observing I/O as both ascii and hex, in case MAX was sending some whitespace character not visible in ascii.
Since all I really wanted was relay outputs, went ahead an placed it in our system, which has 2 chillers and a vacuum gauge, all using serial comms. They all work fine, but when written to in a loop with poll times between 1-5 seconds, this unit would eventually fail, throw a VISA error, and stops responding. Maybe we just got a bad one, don't know.
A couple other beefs: The relays and bits can't be written using a single byte. While there are ALL ON, ALL OFF commands, if one wants each relay set a different way, you have to loop and write to them all individually.
When I went to mount the board on standoffs, found that that there is very little clearance around the holes. Even a 3/16" standoff has to be carefully placed to avoid touching a live pad.