Controller ins and outs

Controller ins and outs

Now I would like to return back to home automation and control.  There are basically three components of the system; these are input devices, controllers, and output devices.  Lets start by covering the heart of the system, the controllers.

In this section I’ll cover the controllers.  They fall into three categories, device, communications, and central.

The central controller will be the Raspberry Pi.  It is Rome and all roads lead to it.  It takes input, produces output, and is what I’ll interface with directly.

The device controllers are micro controllers of varying flavors of Atmel chips.  These interface directly with sensors.  They will perform math functions based on variables and constance.  Some of the sensors are so rudimentary that they provide no ability to directly interface with the Raspberry Pi.  The Atmel devices will provide that bridging function.  I’ll be using two flavors of Atmel chips, the ATiny85 and ATmega328.  The ATmega328 chips will be part of a larger board in either the Arduino Pro Mini or Uno form.

Wiring the device controllers directly to the central controller might not be feasible.  To solve this, I’ll be using communication controllers.  These are XBee wireless modules that will perform point to point links.  The devices can also operate on a mesh network.  This is useful since it can extend device distance without extending radio broadcast range, I’ll cover more about that later.

Now lets take a closer look at the inputs and outputs supported on each device.  Here is a list of devices and there IO specs.

ATiny85
8KB program space flash
512B eeprom
512B sram
5 digital ports
3 analog inputs
2 analog outputs (PWM)

ATmega328
Arduino Pro Mini
32KB program space
1KB eeprom
KB sram
22 digital ports
6 analog inputs
6 analog outputs (PWM)

ATmega328 –
Arduino Uno
32KB program space
1KB eeprom
2KB sram
14 digital ports
6 analog inputs
6 analog outputs (PWM)

Raspberry Pi 3
CPU: 4× ARM Cortex-A53, 1.2GHz
GPU: Broadcom VideoCore IV
RAM: 1GB LPDDR2 (900 MHz)
Networking: 10/100 Ethernet, 2.4GHz 802.11n wireless
Bluetooth: Bluetooth 4.1 Classic, Bluetooth Low Energy
Storage: microSD
GPIO: 40-pin header, populated
Ports:
HDMI
3.5mm analogue audio-video jack
4× USB 2.0, Ethernet
Camera Serial Interface (CSI)
Display Serial Interface (DSI)
26 digital / analog ports
2 I2C ports

XBee Series 1
data rate: 250kbps
range: 300′
8 digital ports
6 10-bit analog ports
128-bit encryption

The interesting item to point out about the digital ports is they are more than just on off states.  These ports can be combined so that protocols like UART, I2C, and SPI are utilized.  Be mindful of the throughput limits of the XBee, again I’ll cover that later.  The serialization of data and device addressing protocols let us use less wiring and wireless connections.  This cuts costs and decreases the complexity of the entire system.

In the next post I’ll cover some specifics about digital, analog inputs, and PWM outputs.  This will lay the foundation for the sections that follow.  I hope to see you on the flip side.

Comments are closed.