Git Product home page Git Product logo

aog_gps_esp32's Introduction

AOG_GPS_ESP32

Single and DUAL GPS supported!!

Bridge between GPS receiver and AgOpenGPS: transmit GPS Signal via WiFi or USB.

Works with 1 or 2 UBlox receivers to calculate heading+roll. Corrects position by using roll and filters, depends on GPS signal quality. With 1 receiver: filters and transmits position to AOG and NTRIP from AOG to UBlox

for ESP32 or Arduino Mega

you can use WiFi connection or USB

you can change the settings via webinterface: x.x.x.79 when access to your network fails, an accesspoint is created. Webinterface: 192.168.1.1

for easier setup use webinterface, turn debugmessageUBX on and change PIN allignment until you get data from the receivers

Config via UCenter: First set on both boards UART1 speed to 115200, UART2 speed to 460800 and activate NMEA+UBX+RTCM3 to inputs and UBX +RTCM3 to output on UART1+2. Then set Nav Rate to 100ms (10Hz). In the messages I deactivated everything expect of (UBX) NavPVT and (NMEA) GSV on UART1 at one board and NavRelPosNED on UART1 at the other board. At the right (position) F9P activate the RTCM messages 1077/1087/1097/1127/1230/4072.0/4072.1 on UART2.

Don’t forget to save the config!

Wireing the receiver boards: Connect Tx2 and Rx2 from one board to the other to get RTCM over (1x). Connect RX1 and TX1 from both boards to ESP32 GPIOs (not #6-12) (IOref to 3.3V!!!) The ESP32 is connected to both boards UART1 separately (2x2 pins, RX/TX crossed (setup zone in code)). From one board you get UBX NavPVT and from the other UBX NavRelPosNED.

Also see UBlox PDFs

!!When using a new Version, set EEPROM_clear = true; (line 109) - flash - boot reset to EEPROM_clear = false; and flash again to reset settings!!

aog_gps_esp32's People

Contributors

mtz8302 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

aog_gps_esp32's Issues

Working config stops after reboot

Strange problem, I setup the hardware and make the config work with the webinterface. Turned the debug + ubx on and everything works ok.

When I make a total reboot (ESP + 2x F9P) the configuration is not coming back functional and debug is off in the serial monitor.

First I was thinking of power problems, but I found out, when I simple hit the button 'Apply and Save' on the webinterface within the GPIO section (without change anything) the setup is working again.

Hope this can fixed.

Heading error at slow to stop speed. Roll filtering, and sway elimination.

On stopping, the heading sticks at the last random value due to VTG. One advantage of dual antenna is to get correct heading on stop. I think the heading output should revert solely to RelPosNED values at dead slow to stop speeds and ignore VTG. Also maybe if antenna distance is extremely good say within 1-2cm maybe heading should not rely on VTG as much if at all. VTG is basically a derivative and can introduce unnecessary noise to the system. I am guessing VTG is just used to take out yaw due to crabbing?
Roll is very severely filtered. One advantage of using roll is to correct instantaneous antenna sway due to roll when driving over ruts and bumps. This looks like noise, but it can be taken out by correcting to virtual antenna position rather than filtering, provided the roll is not first filtered.
Again maybe if antenna distance is extremely good say within 1-2 cm ( should be so for dual f9p) use unfiltered roll and heading to get instantaneous virtual antenna position, then filter that position if absolutely necessary.
I could play with the code a bit and test. Ideally a rapid roll ( due to bump) should give no lateral movement to the virtual antenna position. and heading should be true at stop.
Another related question is if the IMU, if used, should it be integrated into the dual antenna system.
If it was, and was fitted at the antenna this could help take out apparent noise due to lateral motion of the antenna during bumps.
Just my thoughts.

DGNSS gives false positive RTK-FIXED

In the U-Center I have a 3D / DGNSS-Fix (no DGPS) with a 3D quality of approximately 0.5 m. This is without NTRIP or RTCM from the BASE, but AOG indicates that there is an RTK-FIX . RTK-FIX is cm accurate in my experience, so something is not going well in the translation from MTZ to AG.

RelPosNED message too long on F9P startup

In doing some F9P stress/consistency testing, I discovered the RelPosNED F9P is sending a message that is too long when starting up and it doesn't have a stable position yet. I am checking for bad checksum and wrong length on both NavPVT and RelPosNED.

A sample of the code I added to Line 141

if (UBXDigit2 > (108)) {
  UBXDigit2 = 0;
  UBXLength2 = 100;
  diagnostics.wrongLengthRelPosNEDCount += 1;
  saveDiagnostics();
}

The RelPosNED wrong length is the only one making problems, for about 100 messages. Since the count is being saved - to load on power up, it would be nice to ignore or fix the bootup wrong length messages. Any ideas?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.