[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]

Re: Understanding X10 Dims???



I am going to take the liberty of repeating a Dave Houston post from a while
back to hopefully free a little more time for him to design the "killer"
powerline analyzer.  :-)

----------------------------------------------------------------------------
----

Re: CM11A Protocol Question -- Posted by Dave Houston on 09-06-04 06:03

It's been several years since I worked on this so the details are a bit hazy
and it's early AM (I'm only on my first dose of caffiene) so you might want
to look at my VB source code (cm11a.zip) for the CM11A at...

http://www.mbx-usa.com/files.htm

You cannot dim TO a specific value (unless you track the level of each
address). You can only dim BY a specific increment.

Standard dim & bright use approximately 6% steps (i.e. 16 steps between min
& max). The CM11A documentation says there are 210 discrete levels. (It's
hard to discern more than about 150.) As best I recall, I used a little
trial and error to decide on the increments to use with the CM11A as the
CM11A converts them to standard steps. If you send an increment less than
3-4% to the CM11A, you'll get a microstep (also demonstrated in the VB
source) of about 0.6% (i.e. 1/210).

You really need to study the PLC documentation to understand what's actually
sent to the powerline for Dim/Bright - noting the fact that there's no gap
between multiple commands. Phil Kingery's articles (see the Home Toys
archives) also help but I never fully understood them (if I FULLY understand
them now) until Dan Lanciani explained them using the following simple
notation.

DIM = 1 PLC dim command (Bright works the same)

Sending a single DIM results in a microstep. Sending n contiguous DIMs
results in n-1 standard 6% steps. Below, I use _ to represent no GAP between
PLC commands.

DIM_DIM = 6%
DIM_DIM_DIM = 12%
DIM_DIM_DIM_DIM = 18%
...
17 gapless DIMs = 100%

But, using a space to indicate more than 3 idle cycles...

DIM DIM = two microdims

This is further complicated by the fact that a GAP is defined as 3 or more
idle cycles (6 or more idle half cycles) so a smaller gap between DIMs is
still seen as a contiguous stream.

Another complication (for grasping the details) is that the CM11A only
reports the cumulative result for Dim/Bright - it doesn't report the number
of PLC commands. Those with the latest firmware wait for the end of the
stream (or until it's seen 100% worth) to report. You really need something
that gives you each bit at the PLC level to understand.

Clear? ;)


"Charles Sullivan" <cwsulliv@xxxxxxxxxxxx> wrote in message
news:pan.2005.08.08.15.46.56.590079@xxxxxxxxxxxxxxx
> Using a CM11A to monitor dims (brights) on the power line, I notice
> that most X10 transmitters, e.g., CM11A, Mini/Maxi-controllers,
> RR501, send dims (brights) according to the formula:
>   dims = 11*N + X
> where N >= 0 and X varies randomly - usually 2 or 3, sometimes 4.
> The CM11A reports a maximum of 210 dims.
>
> The variation in X does not appear to be an imprecision in the
> monitoring interface circuitry - two CM11As on line simultaneously
> always report identical received values.
>
> A strange thing about X is that a value of 3 or 4 produces _less_
> actual dimming than 2.  The effect is difficult to see with a
> standard X10 lamp module (and digital RMS multimeter) because of
> short term fluctuations in line voltage, but is very dramatic
> with X10's LM14A 2-way lamp module.  With the LM14A, a plot of
> either extended level (0-63) or output voltage versus received
> dims (2-210 dims from the fully ON state) looks like a sawtooth
> curve with "tooth height" of as many as 6 extended levels or
> almost 10 percent.  (There's a similar sawtooth curve from the
> fully OFF state when brights are received.)
>
> Can any of the X10 hardware/firmware gurus on this newsgroup
> explain the reason for the variability of X in the transmitted
> dims and the strange retro effect of X = 3,4 versus X = 2 on X10
> modules?  Thanks for your help.
>
> Regards,
> Charles Sullivan
>
>
>
>
>
>
>




comp.home.automation Main Index | comp.home.automation Thread Index | comp.home.automation Home | Archives Home