113 lines
3.0 KiB
Markdown
113 lines
3.0 KiB
Markdown
|
|
# NEO-6M GPS Module Setup Guide
|
||
|
|
|
||
|
|
## Overview
|
||
|
|
The NEO-6M is a cost-effective GPS module that provides reliable positioning data for the Aniker anchor alarm system. This guide covers the basic setup and configuration of the NEO-6M with the ESP32.
|
||
|
|
|
||
|
|
## Module Features
|
||
|
|
- High sensitivity: -161 dBm tracking
|
||
|
|
- Time-To-First-Fix:
|
||
|
|
- Cold start: 27s
|
||
|
|
- Hot start: 1s
|
||
|
|
- Position accuracy: 2.5m CEP (Circular Error Probable)
|
||
|
|
- Velocity accuracy: 0.1m/s
|
||
|
|
- Operating temperature: -40°C to 85°C
|
||
|
|
|
||
|
|
## Physical Setup
|
||
|
|
|
||
|
|
### Power Requirements
|
||
|
|
- Input voltage: 3.3V DC
|
||
|
|
- Current consumption: ~45mA at continuous operation
|
||
|
|
- Backup power (optional): 2.0V to 3.6V for faster satellite acquisition
|
||
|
|
|
||
|
|
### Pin Connections
|
||
|
|
1. **Power Pins**
|
||
|
|
- VCC → ESP32 3.3V
|
||
|
|
- GND → ESP32 GND
|
||
|
|
|
||
|
|
2. **Communication Pins**
|
||
|
|
- TX → ESP32 GPIO16 (RX)
|
||
|
|
- RX → ESP32 GPIO17 (TX)
|
||
|
|
|
||
|
|
### Antenna Considerations
|
||
|
|
- The module comes with a ceramic patch antenna
|
||
|
|
- Place the antenna facing upward with clear view of the sky
|
||
|
|
- Avoid metal objects directly above the antenna
|
||
|
|
- Keep antenna away from sources of interference
|
||
|
|
|
||
|
|
## Initial Testing
|
||
|
|
|
||
|
|
### LED Indicators
|
||
|
|
- Power LED: Should be constantly on
|
||
|
|
- Signal LED: Will blink when receiving data from satellites
|
||
|
|
|
||
|
|
### Expected Behavior
|
||
|
|
1. When first powered on, the module will begin searching for satellites
|
||
|
|
2. Initial position fix may take 30-60 seconds in optimal conditions
|
||
|
|
3. Signal LED will begin blinking once satellites are acquired
|
||
|
|
|
||
|
|
## Troubleshooting
|
||
|
|
|
||
|
|
### Common Issues
|
||
|
|
|
||
|
|
1. **No Power LED**
|
||
|
|
- Check 3.3V power connection
|
||
|
|
- Verify ground connection
|
||
|
|
- Check for short circuits
|
||
|
|
|
||
|
|
2. **No Signal Reception**
|
||
|
|
- Ensure clear view of sky
|
||
|
|
- Check antenna connection
|
||
|
|
- Move away from sources of interference
|
||
|
|
- Try outdoor testing first
|
||
|
|
|
||
|
|
3. **Intermittent Data**
|
||
|
|
- Check wire connections
|
||
|
|
- Verify baud rate settings
|
||
|
|
- Check for interference sources
|
||
|
|
|
||
|
|
### Testing Tips
|
||
|
|
- First test outdoors with clear sky view
|
||
|
|
- Allow up to 5 minutes for first fix
|
||
|
|
- Use serial monitor to verify data reception
|
||
|
|
- Verify correct UART configuration
|
||
|
|
|
||
|
|
## Software Configuration
|
||
|
|
|
||
|
|
### Default Settings
|
||
|
|
- Baud rate: 9600bps
|
||
|
|
- Update rate: 1Hz
|
||
|
|
- NMEA messages: GGA, RMC, GSA, GSV
|
||
|
|
|
||
|
|
### Serial Communication
|
||
|
|
```rust
|
||
|
|
// Example configuration in Rust
|
||
|
|
let config = uart::config::Config {
|
||
|
|
baudrate: 9600,
|
||
|
|
data_bits: uart::config::DataBits::DataBits8,
|
||
|
|
parity: uart::config::Parity::ParityNone,
|
||
|
|
stop_bits: uart::config::StopBits::STOP1,
|
||
|
|
};
|
||
|
|
```
|
||
|
|
|
||
|
|
## Performance Expectations
|
||
|
|
|
||
|
|
### Typical Performance
|
||
|
|
- Time to first fix: 30-60 seconds
|
||
|
|
- Position accuracy: 2.5m (open sky)
|
||
|
|
- Update rate: 1Hz
|
||
|
|
- Operating temperature: -40°C to 85°C
|
||
|
|
|
||
|
|
### Environmental Factors
|
||
|
|
- Performance degrades under cloud cover
|
||
|
|
- Indoor operation is not reliable
|
||
|
|
- Metal objects can cause interference
|
||
|
|
- Marine environment considerations:
|
||
|
|
- Salt spray protection needed
|
||
|
|
- Weatherproofing recommended
|
||
|
|
- Stable mounting required
|
||
|
|
|
||
|
|
## Future Improvements
|
||
|
|
- [ ] Add power saving modes
|
||
|
|
- [ ] Implement faster update rates
|
||
|
|
- [ ] Add configuration interface
|
||
|
|
- [ ] Optimize for marine use
|