Aug
27th

 toppic1.jpg


Design Overview

The electricity monitoring system consists of two major components. The first component is the utility meter reading device, the second is the data server. The utility meter reader monitors electricity usage and sends the latest value to the data server via TCP/IP sockets. The data server stores this value and serves the historical data through custom Perl scripts for web page display or RSS feed.

utilitymeterreader.jpg 

Utility meter reading in the electrical closet.

 

Overview

overview.jpg 

The Elster A3 Alpha utility meter has a blinking box (called Kh in the manual) on the LCD display with a blink frequency proportional to the instantaneous power use (marked by A in the above image). Every time the box changes state, this indicates .9kWh have been used. This will be our method of monitoring instantaneous power use. 

 In short this is an Embedded Linux device centered upon a Freescale iMx21 processor. It optically reads power usage from the utility meter and feeds the latest power consumption data to the server through a custom TCP/IP socket.

 The main requirement for the meter reader was flexibility. Some other requirements are video input/output and Ethernet. As a result I decided to use an ARM based processor that could run embedded Linux. This would allow me to develop software in a flexible Linux setting using GNU libraries and I would have a greater array of compatible hardware peripherals should I need them. 

Freescale iMX

We have worked with Freescale iMX processors on a few previous projects before so I knew they would be sufficient for my needs.  The iMX21 micro has an Enhanced Multi-Media Acceleration (EMMA) peripheral built in which frees the ARM processor from some of the intensive video manipulation tasks. The M9328MX21ADS development board from Freescale comes with an Embedded Linux BSP making it a very attractive platform for its “out of the box” quality.  Plus Gerry Vahe the FAE at Freescale is an Embedded Linux buff and he is a great resource because if you have ever built an embedded Linux development environment you know it can be a headache at times!

Freescale M9328MX21ADS development board, some notable features: 

·     IMX21 Arm Processor

·      Video Camera

·     3.5″ TGT QVGA LCD module 

·        Ethernet Interface, RS232

·     Hardware based RS232 bootloader ensuring I can never “brick” my device. 

Freescale Linux BSP with LTIB

·     Powerful kernel containing drivers for hardware included with the ADS dev. board

·      Blob TCP/IP bootloader featuring NFS capabilities & RS232 shell terminal

·      Includes GNU arm compilers and libraries

·      Includes a large array of demonstration applications and utilities.

I especially like the flexibility of deleloping an embedded device using NFS (Network File System). With NFS I don’t need to flash the device with new firmware for each build, I just recompile and reboot the device. The bootloader is setup with the proper IPs to fetch the kernel and file system image from my Linux development machine.

Tune in next week for a description of the software.  

 

  • Digg
  • del.icio.us
  • Facebook
  • Technorati
  • Google Bookmarks
  • StumbleUpon

Leave a Reply

(required)
(will not be published) (required)
  • Subscribe

  • Categories