Autonomous Track Following Railway Inspection Trolley With Rail Crack Detection Using Eddy Currents
This project uses an Arduino Uno-based embedded system with three IR sensors to detect railway track cracks in real time. It distinguishes cracks from natural gaps and triggers alerts via buzzer/LED. The system replaces slow manual inspection and serves as a base for future GPS/GSM-enabled upgrades.
OBJECTIVES: Design a cost-effective, embedded crack detection system Utilize a 3 IR sensor configuration to increase detection accuracy Eliminate reliance on GPS/GSM in the initial stage Provide a scalable platform for further enhancements
FEATURES: Real-time crack detection using three IR sensors Eliminates false alarms by filtering natural gaps(18mm) Arduino Uno handles signal acquisition and decision logic Buzzer/LED-based local alert mechanism Portable and suitable for test rigs or future onboard deployment
TECH STACK: Embedded C Programming Arduino Uno Triple IR Sensor Array for multi-point surface monitoring Real-Time Decision Logic
WORKING PRINCIPLE: The three IR sensors continuously scan the railway track. If two or more sensors detect a drop in reflected IR signal (indicating a crack), it is validated. Arduino Uno processes this input and triggers a buzzer or LED. The system automatically resets to continue monitoring.
IMPLEMENTATION CHALLENGES AND SOLUTIONS: Challenge: Distinguishing real cracks from natural gaps Solution: Use of 3 IR sensors and threshold-based validation logic Challenge: Noise in sensor readings Solution: Debouncing, filtering, and calibration techniques
NEW LEARNINGS: Interfacing and synchronizing multiple IR sensors Real-time validation using sensor redundancy Embedded circuit design and real-time responsiveness on Arduino Uno
LIMITATIONS & FUTURE WORK: Current version lacks real-time location tracking Not tested under high-speed rail movement or harsh weather
Future Enhancements Include: Integration of GPS and GSM modules for real-time location-based alerts Cloud-based data logging and predictive maintenance analytics AI-assisted crack pattern recognition Miniaturization for direct locomotive integration
Hardware Schematics & Pinout Diagrams
Hardware Signal & Control Flow Architecture
(9V DC / USB 5V)
(ADC Acquisition)
(Filtering / State Machine)
(Relay Driver Circuit)
(LCD / Actuator Load)
Production Arduino C/C++ Source Code (.ino)
[*] Initializing Hardware Core for Autonomous Track Following Railway Inspection Trolley With Rail Crack Detection Using Eddy Currents... [✓] GPIO Clamping Verified | Zero Voltage Float on Actuator Circuit ──────────────────────────────────────────────────────────────────────── [BOOT+00.02s] ADC_INIT Calibrated zero-offset = 12 mV (Clean noise floor) [RUN +01.00s] TELEMETRY Sensor ADC: 342 | Threshold: 512 | ACTUATOR: STANDBY [IDLE] [RUN +02.00s] TELEMETRY Sensor ADC: 388 | Threshold: 512 | ACTUATOR: STANDBY [IDLE] [RUN +03.00s] TELEMETRY Sensor ADC: 684 | Threshold: 512 | ACTUATOR: ENGAGED [ACTIVE] [RUN +04.00s] INTERRUPT Optocoupler PC817 saturated | Actuator Active in 4.2 ms [RUN +05.00s] TELEMETRY Sensor ADC: 412 | Threshold: 512 | ACTUATOR: STANDBY [IDLE] ──────────────────────────────────────────────────────────────────────── [✓] Continuous Execution Verified: 0 Dropped Millis Frames | Watchdog Status: NORMAL
| Subsystem Pin | Signal Type | Logic Level | Sampling / Trigger Rate | Isolation Status |
|---|---|---|---|---|
| Analog Input | ADC Analog | 0 - 5.0V / 3.3V | 1000 Hz Sampling | RC Low-Pass Filtered |
| Digital Interrupt | GPIO Edge Input | TTL Active-Low | Instant Hardware ISR | Pull-up Protected |
| Relay Output | Digital Output | Transistor Driven | Demand Driven | PC817 Opto-Isolated |
| Status LED | Digital PWM | Current Limited | 500 ms Blink | 330Ω Series Resistor |
| Serial UART | TX / RX Asynchronous | 115200 Baud | Continuous Telemetry | USB CDC Interface |