[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]
Re: Water heater eating X-10 signal
"Robert Green" <ROBERT_GREEN1963@xxxxxxxxx> wrote:
>I see. IIUC, the X-10 signal's frequency (120KHz?) is way outside the
>normal audio range so eventual success is going to depend a lot on the
>characteristics of the sound card and recording software. Are there any
>electronic tricks that can bring the frequency down? Halving the playback
>speed would reduce the frequency of a normal audio signal but that wouldn't
>work here because the card may not be able to capture the higher frequency
>to begin with. No magic frequency divider in a IC package or does that mean
>lots of additional support circuitry and isolation issues?
No, no, no. Look at the oscilloscope screenshot. The ESM1 demodulates the
120kHz X10 bursts and we see a ~1mS, 5V baseband pulse on pin 18 with a
maximum frequency of 60Hz. This and the 60Hz ZC signal on pin 13 are well
within the frequency response of the soundcard. I have frequently recorded
the baseband output of RF and IR receivers and the soundcard has no problem
with the 8.8mS X-10 RF start pulse (and about the same as the 60Hz on pin
13) nor with the less than 1mS pulses used in the bitstream so we should
have no problems with ZC of the 1mS X-10 pulse. Look at the bottom picture
here...
http://davehouston.net/rf-noise.htm
Pin 18 is an ADC pin and the amplitude of the pulse in the X-10 window is
approximately proportional to the signal level on the powerline. The
soundcard will record differences in this level but we have no fixed
reference and will have to make comparisons between the recorded amplitude
and number of ESM1 bars to "calibrate" the .WAV file. And, it's possible to
edit the .WAV file to increase/decrease amplitude, filter out noise, etc. so
it really depends on the desired end result.
You might also look at...
http://en.wikipedia.org/wiki/Line_level
bearing in mind that peak-to-peak levels are ~2.8 times the RMS levels
given.
We need to limit the amplitude at the input to the soundcard (the resistors
lower it to ~1V MAX) to avoid clipping which will remove any amplitude
information. We need to make sure that we still have some headroom when pin
18 is @ 5V.
I'm not sure why the 140kHz noise signal is showing up on my scope _OUTSIDE_
of the 1mS window but suspect the firmware sets pin 18 low to drain the
capacitor that is part of the peak detector that demodulates the 120kHz.
It's only that noise outside the 1mS window (which I'm not sure I
understand) that I'm not sure the soundcard will "hear". If it makes it past
any input filters, it will be sampled and aliased so we'll see something
similar to the oscilloscope screenshot (where the sampling rate is only
20Kb/s). I'll try to build a prototype today or tomorrow and test
everything.
IOW, the .WAV file should be a reliable way to record/analyze X-10 codes but
may not be as useful to analyze any high frequency noise that may be
present. What do you expect from adding a bit of wire and two resistors? ;)
I'm still not 100% sure where those 2V, 140kHz noise bursts are coming from
but the pre-ELK ESM1 shows 1 bar while my monitor is awake and no bars when
it goes into standby. I'm fairly certain it's on the powerline as I left the
ESM1 in the exact same location but used an extension cord to power it from
another circuit and the noise disappears even with the monitor awake. Until
proven otherwise I'll blame it on the usual suspect but I'm not ruling out a
ground-loop.
Here's a picture of the 3.5mm cable...
http://www.allelectronics.com/cgi-bin/item/CB-333/117/6%22#39;_3.5MM_M-F_EXTENSION_CORD_.html
A few inches of the female end will hang out of the ESM1. An adapter with
the resistors will plug into it and into the line-in input. When unplugged
the ESM1 operates as it always did. (I expect it to operate just as well
when connected to a soundcard but this way plays safe.)
comp.home.automation Main Index |
comp.home.automation Thread Index |
comp.home.automation Home |
Archives Home