Self-contained TED receiver

My previous entry introduced a homebrew receiver for the powerline-based data protocol used by The Energy Detective. I just designed a second revision of that receiver. This one is self-contained: It gets power and modulated data from a 9V AC wall-wart transformer, and decoded data leaves via an RS-232 serial port at 9600 baud. Best of all the circuit is very simple: Just an 8-pin microcontroller and a single op-amp.

Major changes in this version:

  • DC power for the circuit is now provided by the 9V AC input, instead of a separate power supply. Previously this would have caused unacceptable levels of harmonic distortion in the input signal. In the new design, this is mitigated by an inductor (which forms an LC low-pass filter), and by the lower power consumption of a single modern op-amp versus three ancient op-amps.
  • By using a simpler filter design and a modern op-amp with a gain-bandwidth product of at least 10 MHz, the bandpass filter and amplifier can be built using only a single op-amp.

Note that the MAX475 op-amp I’m using has been discontinued by the manufacturer, and it’s now hard to find. I just used it because I had one handy in my junk drawer. I’ll verify this design with other op-amps as soon as I can, but it should work with just about any op-amp which can operate on a single-ended 5V supply, and which has a high enough GBW.

Firmware and schematics (PNG and EAGLE formats) are in Subversion and more info on the theory of operation was presented in my previous blog entry.

Comments
10 Responses to “Self-contained TED receiver”
  1. Anonymous says:

    Another sweet project

    I really like these projects you write about; small, simple yet incredible results.
    As a (very fresh) student in computer engineering I just can’t wait until I am given the equipment to build some of your work!

    Please, for the love of god – do not stop posting about your projects! :-)

    Greetings,
    Christian

  2. Anonymous says:

    ATTiny Programming

    Hi,

    Can you tell me what you’re using to program the ATTiny’s? I’ve seen the modified AVR Dragon online but am not sure if this is the best solution for small volume (i.e. 1 off).

    Thanks,
    Peter

  3. Micah says:

    Re: ATTiny Programming

    It’s a bit embarassing, but I’ve been using a Xilinx JTAG cable that came with one of my FPGA development boards, plus a tiny breadboarded adapter that breaks it out to a few DIP sockets. It’s supported using the “xil” cable type in avrdude.

    This Xilinx cable is really just a parallel port plug with a couple of buffers attached. You could make an equivalent cable pretty trivially, but the Dragon does look pretty cool. I should pick one up at some point :)

    –Micah

  4. Anonymous says:

    TDA5051A

    Thanks a lot for this great information!

    I’m interested in using the TDA5051A chip from Philips. Do you have any information/insight for how the TDA5051A would work in conjunction with TED?

  5. Micah says:

    Re: TDA5051A

    Sorry I didn’t reply to this earlier.. I already responded to your e-mail, but in case anyone else had the same question I’ll copy it below.

    Hi Lennon,

    I’m pretty sure the TDA5051A would work fine, since IIRC it’s the same
    chip that the TED RDU itself uses :)

    The only thing I would worry about with the TDA5051 is that it
    requires either (a) direct connection to (non-isolated) line voltages,
    or (b) both a high-frequency signal transformer for the data, and a
    normal power transformer. One of the goals I had in mind when
    designing my homebrew receiver was to have no special-purpose parts
    (like application-specific ICs or high-frequency transformers) and to
    have a design which is 100% isolated from line voltage, to make it
    very safe to develop.

    If you want to try the TDA5051A, let me know how it goes (and be sure
    to take appropriate precautions with the line-level components in this
    circuit)! If you have a couple of op-amps handy, though, you might
    give my analog front-end a try. It could be easier than setting up a
    TDA5051A. In either case, you should be able to use the same AVR
    firmware I posted, if you like.

    Good luck!

    –Micah

  6. Anonymous says:

    Replacement OpAmp

    You were correct. It is very difficult to find that OpAmp. Could you recommend a replacement I can purchase from Digikey or Mouser?

    Thanks,
    Adam

  7. Micah says:

    Re: Replacement OpAmp

    Hi,

    I did a later revision of this design (http://scanwidget.livejournal.com/36469.html) where I had good luck with the MCP6292, from Microchip. Last time I checked it was cheap and plentiful on Digi-key.

    I think you’ll be fine with just about anything that’s 5V, rail-to-rail, and about 10 MHz GBW.

    Good luck!
    –Micah

  8. Anonymous says:

    Any Chance?

    Any chance that you would sell me one of these devices, It looks like I could then use a serial to USB adapter to get the data into my MAC. I am lousy with electronic schematics, but am a pretty darn good programmer of Macintosh computers and would love to build an energy system up on that platform.

    I would need 3 TED CT as I have a 400 amp service (200 X 2) and a 10.4 KW solar system to monitor.

  9. stazeii says:

    love it!

    I’d love to build one of these for my TED, but I don’t really have any experience with circuit design/programming microcontrollers. I’m a competent solderer, and builder however, so I could build this, I’m just not sure if I could program the microcontroller.

    Do you have any suggestions on where to start?

  10. serisman says:

    This is an awesome project.

    Has anyone tried using this with the newer TED 5000 MTUs? They are supposedly sensitive down to 1 watt instead of 10 watts, and are the same price as the TED 1000 MTU. According to the tear-down on this website (http://nuxx.net/blog/2011/02/02/the-energy-detective-ted-5000-g-teardown/) they have the same NXP TD5051AT PLC chip, so logic would dictate they are at least similar. But, the TED website does say that the MTUs are not interchangeable. Maybe it has a different size or format packet?

Leave A Comment