|
|
This is a simple Remote IO module that I made for a home automation project. The hardware is based on a 8051 microcontroller from Atmel (89C51). The device has 16 digital inputs and 16 digital outputs. All these I/Os are non-isolated. The outputs are open collector outputs that are capable of sinking about 300mA of current (@ 6V) . The module has a RS-485 interface running MODBUS RTU protocol. 256 modules can be connected in parallel and each module shall be assigned an unique address using the DIP switches. The modules shall be connected in a network and the master, usually PC running an application software shall send commands to every module by their unique address. The following diagram shows the network topology for the I/O modules.
The PC can read any digital inputs or set/reset any digital outputs by addressing the particular module using the module's unique address. Its a convenient way to monitor and output digital signals. The block diagram of the hardware architecture is shown below.
Here is the picture of my remote I/O module hardware that I made. Note the DIP switch for setting the unique module address.
This module shall be powered by a wide supply voltage - 9V to 24V. The firmware is written using C programming language. I used Small Device C Compiler (SDCC) developing the firmware. You can download the complete project files below. Download the project files (Schematics, Gerber and the firmware) If you need more information on this project you can always contact me
|