System Overview
What Is ESP-GUARDX?
ESP-GUARDX is an embedded monitoring and control system designed for Electric Submersible Pump (ESP) installations in oil and gas fields. It runs on a dedicated industrial touchscreen device and provides:
- Real-time electrical and mechanical parameter monitoring
- Automatic fault detection and event recording
- Pump performance analysis and optimization
- Motor health assessment
- Well production tracking
- Remote access via network
System Architecture
The system consists of three main layers:
1. Data Acquisition Layer
ESP-GUARDX samples electrical signals at up to 40 MHz through a high-speed SPI (Serial Peripheral Interface) bus. The ADC captures 8 channels simultaneously:
- 3 voltage channels (Phase A, B, C)
- 3 current channels (Phase A, B, C)
- 2 auxiliary channels (configurable)
Each data packet contains:
| Data Type | Samples per Packet |
|---|---|
| Waveform (graph) data | 4,096 samples |
| Harmonic data | 808 values |
| Power measurements | 24 parameters |
Data packets are processed at a rate of 5--10 Hz (every 100--200 ms), providing continuous real-time updates.
2. Processing Layer
The processing layer runs on an ARM Cortex-A processor (Toradex iMX6/iMX8) and handles:
- Signal Processing -- RMS calculation, harmonic decomposition, phasor analysis
- Event Detection -- Real-time threshold comparison against user-defined warn and trip levels
- Data Logging -- SQLite database storage and binary event file recording
- Pump Calculations -- Affinity law computations, polynomial curve fitting
- Motor Analysis -- Load factor, efficiency, power factor interpolation
3. Display Layer
The QML-based touchscreen interface provides:
- Interactive dashboard with live gauges and indicators
- 8-channel oscilloscope waveform display at 60 FPS
- Pump performance curve charts
- Motor efficiency plots
- Event list and waveform replay
- Settings and configuration screens
Supported Communication Protocols
| Protocol | Use Case |
|---|---|
| SPI | High-speed ADC data acquisition (40 MHz) |
| UART | Serial sensor communication (9600 baud) |
| Modbus RTU | Industrial device communication over RS-485 |
| Modbus TCP | Industrial device communication over Ethernet |
| Wi-Fi | Wireless network access and remote monitoring |
| Ethernet | Wired network access |
| Bluetooth | Short-range wireless communication |
Software Stack
| Component | Technology |
|---|---|
| Language | C++17, QML, JavaScript |
| Framework | Qt 6.x |
| Database | SQLite |
| OS | Embedded Linux (Boot2Qt) |
| Build System | CMake 3.16+ |