The MANCO Autonomous Layout Mapper (ALaM) provides the capability of generating a 3-dimensional map of an 0-gauge 3-rail train layout. The device is rolled around the layout manually or with a pushing locomotive to sample all of the available trackage. Data from the ALaM is wirelessly transmitted to the host computer. The host computer renders the data into a table of X-Y coordinates describing the entire layout.
Since the ALaM senses actual curvature and slope, there are no restrictions on track radius or grade. Variable curvature such as easements into curves or flex-track custom curves will be accurately plotted.
The ALaM sense the rotations of independent left and right wheels to determine distance traveled and curvature. Each wheel sensor outputs two quadrature pulse streams that can be
First Breadboard of Mapper
decoded to provide distance and direction of each wheel. (A simple 8-pin chip provides the quadrature decoding and can output data as either Up-clock/Down-clock or Up/Down Direction Flag and pulse count.)
The pulse data is read, processed and formatted by a PIC microcontroller. The data processing determines the distance and curvature using the following relationships:
Distance traveled along centerline = (Left pulse total + right pulse total)/2
Curvature from Differential count = left count – right count
This data is formatted as a serial stream and transmitted from the ALaM to the host computer via a wireless link.
The host computer determines the absolute X and Y coordinates of the ALaM using the Distance and Curvature data and plots the data as a drawing of the layout. The coordinate data is also formatted for export as a file compatible with commercially available layout planning programs.
As an additional feature, the ALaM also contains an inclinometer that measures any uphill or downhill track segments. This allows the software to distinguish multiple levels of track and to determine if crossings are at the same level or overhead/under via tunnels and bridges.
A pair of orthogonal accelerometers, mounted off-axis by 45 degrees, detects the difference in gravitational pull angle as the track rises and falls. The accelerometer outputs are lowpass filtered and differenced, then A/D encoded for transmission to the host computer. In the host computer, the tilt angle is integrated with respect to the distance traveled to determine net height change.
1. Conceptualize Autonomous Layout Mapper (ALaM)
2. Breadboard dual-tachometer setup with gates – worked, but too complex
3. Add Inclinometer to concept
4. Build and test inclinometer – good output
5. Simulate data and build Excel spreadsheet that turns data into a layout drawing
6. Design GIZMO mechanics with dual tachometers and bi-directional readouts
7. Construct GIZMO
8. Construct operating chassis with GIZMO, power pickup trucks and circuit board provisions
9. Implement test circuitry with dual bi-directional biphase chips and 4-digit left and right (up-count only) readouts
10. Build new Excel spreadsheet that plots actual data points
July 7, 2006
11. Revise GIZMO design to provide better wheel contact for sensor wheels
12. Design Version 2 circuit board with PIC to provide 4 registers – 2 up- and 2 down-counters and RS232 or similar output and inclinometer with 12-bit A/D input to PIC that connects to computer via tether. Add backup battery/ultracap to sustain memory voltage during track voltage dropouts.
13. Build test circuit board with biphase chips, PIC, inclinometer, serial output
14. Write PIC microcode for registers, A/D and serial output
15. Write (C?) program to automatically plot data using techniques of Excel test in #9. Provide data export in a file that is compatible with track layout planning programs.
16. System testing
1. Count inputs from wheel sensors (two versions possible)
a. Four inputs from two quadrature decoders (http://www.lsicsi.com/pdfs/Data_Sheets/LS7183_LS7184.pdf ) that provides either
1. Up-count and down-count for each wheel, or
2. Up/down direction flag and non-directional pulse count
At 256 ticks per revolutions, a scale speed of 100 MPH would be about 1500 counts/second. Speed could probably be limited to 30 MPH if required (<500 cps)
2. One differential accelerometer analog input
a. Range nominal 0-5V
b. Analog gain determines volts/degree factor
c. +/- 10 degrees for 0-5V would yield .25V/degree
d. A 10-bit A/D would yield 20/1024 = .02 deg/count
e. Signal is heavily lowpass filtered to remove noise. No sample/hold required.
3. RESET input
a. Contact closure to ground resets internal counters to zero after device is positioned at a physical reference point.
4. Serial data output
a. Data payload is 4 bytes of distance, 1 byte of curvature and 1.5 bytes of slope
b. Data rate – at least every 50 counts of distance 10-30 Hz? 80-bit word x 30 Hz = 2400 bits/second
c. Data format – self-synchronizing and self-clocking
1. Accumulate net count for each wheel
Using 12-bit counters would require counter rollover after 55.3”; 16-bit is 73.7’. Longer counters minimize chance for accumulated errors in the host computer’s data after RF transmission?
2. Process wheel data to yield centerline distance and curvature:
a. Distance traveled along centerline = (Left pulse total + right pulse total)/2
b. Curvature from Differential count = left count – right count
3. A/D conversion of inclinometer info – 10-bit minimum With the truncation and noise errors, a 12-bit A/D would have a better chance of actually delivering 10 bits accurately.
4. RESET pushbutton contact closure to ground
The uC could also be used to perform:
1. The quadrature decoding, and
2. The inclinometer signal differencing (requires 2 A/D inputs instead of 1)
a. 5V regulated supply derived from track AC voltage.
Halfwave rectified to maintain ground reference to AC track Common
b. Short-term (30 seconds?) ultracapacitor backup
LEDs in wheel sensors are the major current load – 2 x 10 mA
Test system with 4-digit LED readouts for each wheel
Chassis with power pickup
Closeup of the tachometer disks and sensors