[chbot] Lego Minstorms nxt open information

Charles Manning manningc2 at actrix.gen.nz
Tue Sep 2 23:53:14 BST 2008


On Wednesday 03 September 2008 10:09:42 QtuTrains wrote:
> On 3/09/2008, at 8:32 , Richard Jones wrote:
> > I've attached the mindstorms light sensor schematic and I've not
> > made much
> > sense of it yet, anyone understand how it works? It appears to use
> > current
> > mirrors and a 3.1ms time constant. I'm not even certain whether the
> > output
> > to the nxt brick is current or voltage.
>
> The wild speculation of one who understands little and fumbles in the
> dark might suggest:
>
> Q1A & Q1B appear to be a PNP current mirror, BUT R2 damages that
> function.
> As light increases, current in Q1A increases, increasing Vbe. This
> increases Ic in Q1B but this increases voltdrop on R2, thus reducing
> its Vbe relative to Vbe on Q1A. My guess is this has a logarithmic
> effect - thus increasing dynamic range for the sensor.

The logarithmic effect would make a lot of sense. Our perception of light is 
logarithmic. When we say "twice as bright", the actual light power has 
probably changes by a factor of ten or so. The logarithmic circuit would help 
change light power levels to perceived levels.


>
> Q2A and Q2B appear to be another (NPN) current mirror, but with
> emitter resistors in both sides. R5/C2 will act as a filter (changes
> in Q1B/Q2A Ic will mostly be absorbed by C2, thus reducing
> instantaneous current change in Q2B. R5/R6 would appear to give 12x
> current gain and when taken in conjunction with the 10K pullup inside
> the NXT they appear to provide some negative feedback effect
> (otherwise R4 would saturate Q2B).
>
> Q4 drives a light emitter and is controlled by the ARM and one could
> speculate that it might be driven at some frequency (perhaps 1KHz) so
> that the received analogue signal can be filtered (in software) to
> remove the effect of ambient lighting.

Some data points:
The sensor can use ambient light too.
The ARM only retrieves the ADC measurements from the ADC at 1kHz or so which 
would limit the software filtering frequency somewhat. 

>
> It looks like a nice circuit to give to a simulator package, then
> perhaps we can understand it better.
>
> Or maybe someone here actually understands these things...
>
> Howard





More information about the Chchrobotics mailing list