LEGO® MINDSTORMS® and Technic®MINDSTORMS® EV3/NXTMINDSTORMS SensorsLEGO® technical dataLDrawMiscellaneous LEGO®LEGO® & PhotographyPanoramic PhotographyPhoto GalleryHome

 

 


    Wire guidance sensor

    When I visited Legoland Deutchland, I wondered how vehicles circulating in Miniland were guided. Though I don't know the exact method used by Lego, I figured out that they could use inductive guidance. And I began experimentations to create an RCX wire guidance sensor...

    For another very cute guidance system, based on magnets and iron track, see Pascal Breard Brickshelf Gallery.

    Principle
    An AC current flowing in a wire generates a magnetic field, stronger near the wire. This field is picked up by two coils, the difference is amplified and adapted to RCX.

    Wire guided vehicles are used for years in industry, so a quick search on the Web returns lots of information on this technique. For example, AGV Electronics has a detailed description of inductive guidance.

    Generator

    The creation of the current requires an AC generator. Its frequency is chosen high enough to be easy to pick up with small coils, but low enough to use low cost components and not to generate electro-magnetic interferences in the vicinity. A 50 KHz frequency gave fine results. This generator is powered by a 9V battery pack, and its low power consumption (about 20mA) provides a good autonomy.

     

    Circuit analysis
    This circuit is very simple: a NE555 timer generates a square wave which is converted to a sinusoidal wave with L1/C1 tuned circuit. R2 is used to trim frequency. I added R1 to ajust wave level, but setting R1=0 works fine so you can omit it. D1 protects the circuit from reversed power supply. Note that you can use L1=10mH, C1=1nF (same values used for the detector), the values I used for my prototype were chosen before building the detector, where I discovered that the higher inductor value (which provides beter sensitivity) was really a boon.

    You can see here a simulation of this circuit operation, obtained with Circuit Maker Student.

    Construction


    The circuit is built on 0.1" perfboard.


    Bottom of circuit - a bit messy but quite simple.


    Everything is housed in 4 hollowed 2x4 bricks. 


    Generator is connected to a battery box through my usual in-between Molex connector, connection to the wire track is done with a screw-type electrical domino

     

    Sensor

     

    Circuit analysis
    Electromagnetic field generated by guidance wire is picked-up by left and right coils L1 and L2. L1 and C1 are tuned on generator frequency (50kHZ). IC1B and D1 forms a no-threshold rectifier and amplifies signal. R3 and C2 filters output, so we get here the amplitude of input signal.

    The other side is processed identically with IC1C, D2, R4 and C3. Left and right amplitude signal are then substracted by IC1D and converted to a variable current with Q1 and R14. IC1A and D3 creates a 0.6V virtual ground for IC1B and IC1C, and an offset voltage to shift output of substractor IC1D.

    D4, D5 and C5 creates the filtered power supply from RCX sensor port.

    You can see here a simulation of this circuit operation, obtained with Circuit Maker Student.

    Construction
    To challenge my soldering capabilities, I assembled sensor using SMD components... This was a really tough job, but I was able to fit everything (except the inductors bulging out) in a single hollowed 2x4 brick !


    The circuit is built on 0.05" perfboard.


    As perfboard holes are metallized, components on both sides are automatically connected.


    The circuit is housed in a single hollowed 2x4 brick, with pickup coils outside.


    The prototype...

    Component selection
    No component is really critical here, LM324 is a very common quad op-amp, any NPN small signal transistor (BC548, 2N2222...) will be OK for Q1, and 1N4148 can be used for all diodes. Inductors may be slightly more difficult to find, I used 22R106 inductors I got from RS-components (ref. 173-5915).

    Sensor testing
    This sensor can be used as a light sensor, to test it simply program the RCX sensor port as "light sensor" and display its output on LCD screen using "view" button. Without generator, RCX should read about 65. Fix a small loop of wire (30cm or so) between generator terminals, and move the wire near coils. The wire must be perpendicular to coil axis (case 2 on figure below. Position 1 yields a weaker signal. There is no field collected at all in case 3).

     

    With wire near one coil, reading should be lower than no-field value, and it should raise above when over the other coil. Now adjust R2 on the generator to get maximum variation. With loop wire in close contact with coils, it should be easy to saturate sensor (value=0 on one coil, value=100 on the other). The sensor works well with a distance between sensor and wire of more than 1 cm, allowing to hide track below a short pile carpet or some other decoration.

    The sensor detects nothing when the wire is parallel to coils (case 3 above). This may cause problems with very tight turns, but can be used to create self-crossing wire tracks. This works very well provided that the cross makes a 90° angle.

    Test robot

    A simple roverbot equipped with the wire guidance sensor follows a track made with a thin wire taped on a table.

    • Get NQC program for the wire-guided roverbot.
    • See two Quicktime video clips:



      Complete circuit, 4x accelerated movie (330K).



      Closer look, real time (230K).

       

LEGO® MINDSTORMS® and Technic®MINDSTORMS® EV3/NXTMINDSTORMS SensorsLEGO® technical dataLDrawMiscellaneous LEGO®LEGO® & PhotographyPanoramic PhotographyPhoto GalleryHome