Hi Leute,
habe nun so ziemlich alles versucht um von der ublox-Applikation von
CONRAD (Artikel-Nr.: 989777) reines NMEA-Protokoll zu erhalten. Weder
mit HyperTerminal, noch mit meiem Atmega128 board bekomme ich
ordentliche Daten. Habe eine "Kalibrierung" mit
"http://forum.xufo.net/bb/download.php?id=4956&sid=6652b6ec54002acc39b37bb63f761005"
vorgenommen. Eigentlich da ganz einfach !?!
Schließe ich ublox-TX an Controller bzw. PC - RX, erhalte ich nur wirres
Zeug!
Ich bitte euch mir zu helfen da ich das für meine Diplomarbeit sehr
wichtig brauche ... DANKE !!!
P.S.: programmiere mit BASIC AVR ... viell. habe ich ja da Deklarationen
vergessen oder so ... viell. hat kan mal jemand gute manuals schreiben,
wäre echt toll !!!
Hoffe Ihr könnt mir einige Fragen beantworten.
Ein Kollege und ich planen ein Projekt das uns einiges abverlangt. Wir
wollen mit einem GPS gesteuertes Boot Bodenstrukturen über ein Echolot
ausmessen lassen.
Nun ist die VB-Applikationen und sonstige Steuerungen weitgehend
fertiggestellt. Ein großes Problem bereitet uns die serielle Übertragung
(RS232 bzw. UART) von ublox auf unsere VB-Anwendung.
Ich gehe wie folgt vor:
.) u-blox – TX --> Mikrokontroller – RX
.) Über u-center weitgehend Einstellungen vorgenommen
.) Werden Daten im Puffer gefunden, wird ein Interrupt aufgerufen und
Daten werden über RS-232 ausgegeben
Nun habe ich schon viele Stunden rein in die Datenübertragung von GPS
auf Computer gesetzt. Das Problem ist nun das ich zwar im Sekundentakt
(meine Einstellung: 1 Hz) Daten erhalte, jedoch nicht mal annähernd das
erwartete NMEA-Protokoll. Nachdem ich dieses Problem möglichst schnell
lösen sollte, bitte ich euch vielmals mir Hilfestellung, egal in welcher
Form leisten zu können.
Großen Dank im Voraus!
Sorry, aber mit diesen "Angaben" kann man mal grad ebent so garnix
anfangen:
>.) u-blox – TX --> Mikrokontroller – RX
Was fuer ein Controller?
Welches u-blox Modul?
>.) Über u-center weitgehend Einstellungen vorgenommen
Welche genau und wie?
>.) Werden Daten im Puffer gefunden, wird ein Interrupt aufgerufen und>Daten werden über RS-232 ausgegeben
Ueber RS-232 wohin ausgegeben?
Mit welchem Programmcode?
Welcher Pegelwandler?
Wie sieht die Hardware/Schaltung aus?
etc....
>Nun habe ich schon viele Stunden rein in die Datenübertragung von GPS>auf Computer gesetzt. Das Problem ist nun das ich zwar im Sekundentakt>(meine Einstellung: 1 Hz) Daten erhalte, jedoch nicht mal annähernd das>erwartete NMEA-Protokoll.
Was genau wird denn ausgegeben?
Wie waers mit einem Screenshot?
Ohne den genauen Hardwareaufbau und die verwendete Software zu kennen
kann man da garnix zu sagen.
juergen
Hi,
folgend findest du mal einige Infos...
Controller: Atmega128 Funk
("http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=76&products_id=158")
GPS-Modul: ublox CR4 von CONRAD (Art.Nr.: 989777) mit LEA-4H
vorgenommenen Eintsellungen: Grundsätzlich habe ich die Konfigurationen
laut einer Beschreibung eines Quadrokopters vorgenommen ... Baudrate auf
9600 (auch andere versucht), USART1/USART2 auf NMEA-Output, Messperioden
auf alle 1s gestellt, ...
So, nun zum Aufbau:
Den u-blox Ausgang (TX) hänge ich auf einen am Board dafür vorgesehenen
Pin (RX). Über die RS232-Schnittstelle kommunieziere ich mit einem PC
bzw. einer VisualBasic-Anwendung.
Programmcode wie beschrieben: Arbeite in BASIC und löse sofern Daten vom
u-blox - Modul (auf UART) kommen, einen Interrupt aus und schicke die
kommenden Zeichensätze gleich weiter an den PC.
Die Doku zum genauen Aufbau findet man unter
"http://www.robotikhardware.de/download/rnmega128funk.pdf".
Dieses Funk-Modul kann ich übrigens an alle weiterempfehlen!
Zeichensätze gleichen nicht wirklich NMEA gg ...
[
}
Å
Å
õ
—
‘
“
“
§
—
£
›
§
Ÿ
Ÿ
‘
•
§
£
e
«
å
q
w
§
§
§
«
å
Ich bitte Dich, und natürlich auch alle anderen mir zu helfen, da ich
ich verzweifelt bin und ich das unbedingt schaffen muss.
Großen Dank wieder im Voraus ... bis auf baldiges !!!
>Controller: Atmega128 Funk>("http://www.shop.robotikhardware.de/shop/catalog/pr...)
Fein, nur hilft das ueberhaupt nicht weiter.
Wie sieht denn das Programm dafuer aus?
>GPS-Modul: ublox CR4 von CONRAD (Art.Nr.: 989777) mit LEA-4H
Ach die Story...
Sicher dass das Teil nach den Umloetaktionen noch funktioniert?
>vorgenommenen Eintsellungen: Grundsätzlich habe ich die Konfigurationen>laut einer Beschreibung eines Quadrokopters vorgenommen ... Baudrate auf>9600 (auch andere versucht), USART1/USART2 auf NMEA-Output, Messperioden>auf alle 1s gestellt, ...
1. Die LEA-4x Module haben nur einen UART...
Der 2. Port ist USB.
Und noch mal:
Was genau hast Du konfiguriert?
Ausser Baudrate und Port bzw. Protokoll kann man ja noch ein wenig mehr
einstellen.
Hast Du Dir mal die Antaris Protocol Specifications angesehen damit Du
weisst was Du da einstellst?
2. Ich wuerde es mal systematisch/strukturiert angehen:
Wenn Du das Teil wie Du sagst per u-center konfiguriert hast dann musst
Du es ja via Pegelwandler (Max 232 o.ae.) an der seriellen Schnittstelle
des PC gehabt haben.
Also lass mal den Controller weg und haeng das GPS Modul wieder genau so
an den PC und schau Dir mal mit einem Terminalprogramm an was es tut.
Dann kannst Du wenigstens schon mal festellen ob Deine Konfiguration ok
ist bzw. das Modul ueberhaupt arbeitet. Bevor das nicht geht brauchst Du
gar nicht erst weiter zu suchen.
juergen
juergen
Guten Tag!
Vorerst mal mein vereinfachter Code:
********************************************************************
$regfile = "m128def.dat"
$framesize = 32
$swstack = 32
$hwstack = 32
$crystal = 16000000
Open "com2:" For Binary As #2
Dim X As String * 1
Enable Urxc1
Enable Interrupts
On Urxc1 Send
Do
Loop
Send:
X = Chr(udr1)
Print #2 , X
Return
********************************************************************
Im Anhabg findest du Infos zu den Softwareeinstellungen die ich über
ublox-Applications vorgenommen habe. Meine mal das USART1 der richtige
ist, habe dann dort Baudrate auf 9600 gesetzt, Protocol IN = none und
Protocol OUT = NMEA. UART0 kann ich nichtmal anwählen, da wenn ich es
selektiert habe das Pop-up Menü sofort wieder auf USART1 springt - meine
mal das das kein all zu großes Problem sein sollte.
Nen Max232 habe ich nicht, bin mir aber ziemlich sicher das das Modul in
Ordnung ist - jedoch ... was weiß ich schon ?!?!
Will mir nicht wirklich extra ned Max232 zulegen und bitte dich daher
mir anders weiter zu helfen. Ich mach bestimmt irgendwo nen blöden
Fehler.
Bitte um Hilfe, bis auf baldiges !!!
>Will mir nicht wirklich extra ned Max232 zulegen und bitte dich daher>mir anders weiter zu helfen. Ich mach bestimmt irgendwo nen blöden>Fehler.
Dein Modul kommuniziert also am PC ?
Kommen dort NMEA Meldungen an ?
Mit Terminalprogramm kontrollieren !
Wenn du keinen MAX232 benutzt wird dein RS232 Signal vom GPS
nicht invertiert. Das musst du aber wenn du es an einen
uC anschliessen willst. Ausserdem musst du eine Pegelwandlung
der RS232 Signale durchführen. Sonst könnte es dir den uC
abschiessen.
Also MAX232 kaufen. Der erledigt beides zusammen.
Ich glaub jetzt hab ichs ;)
Du hast an der 9pol Buchse deinen PC hängen.
An der dreipoligen Buchse dein GPS.
Ist dir schon mal aufgefallen das die im Schaltplan
parallel geschaltet sind ? D.h. PC und GPS arbeiten auf
EINEM Anschluss !
Grüße!
Jaja ALLES KLAR !!!
Hast eh recht ... die arbeiten bestimmt mit dem selben UART bzw. Buffer,
aber das darf doch kein Problem sein oder ? Schau dir mal meinen Code an
... da dürfte sich nichts überschneiden oder so, oder doch ???
Bitte um Hilfestellung !!! DANKE !!!
@ Holger
Er hat das Teil doch an einem Controllerboard das via MAX 232 am PC
haengt ;)
@ Norbi et. al.
>Vorerst mal mein vereinfachter Code:
Mit vereinfachtem Code kann man natuerlich nix anfangen.
Ich hatte danach gefragt weil ich wissen wollte ob der Code von Dir ist
oder von irgendwo kopiert...
>Im Anhabg findest du Infos zu den Softwareeinstellungen. ...
Das sollte erst mal prinzipiell passen.
Welche NMEA Messages hast Du denn aktiviert?
>Nen Max232 habe ich nicht, bin mir aber ziemlich sicher das das Modul in>Ordnung ist - jedoch ... was weiß ich schon ?!?!
Noch mal:
Das Geheimnis heisst systematische Fehlersuche und nicht mehrere
Baustellen zugleich.
1.Dazu solltest Du sicher sein dass das Modul funktioniert, erst dann
wuerde ich beim Controllerboard weitermachen.
Wenn Du das Modul konfiguriert hast und eben nicht via MAX232 o.ae. am
PC hattest dann bleibt ja wohl nur USB uebrig.
Hast Du also das Teil vor der Umloetaktion per USB am PC gehabt und
konfiguriert oder wie sonst hast Du das gemacht?
Falls per USB, dann musst Du das Teil wieder in diesen Zustand
zurueckbauen und dann am PC testen. Alternativ eben per MAX 232 an den
PC haengen. Anders wird es wohl kaum gehen.
2. Ob ein Fehler in Deiner Software oder dem Controllerboard steckt
findest Du raus wenn Du dem Board vom PC aus ein Zeichen in den NMEA
Buffer schickst und es von dort wieder ausliest bzw. an den PC
zurueckschickst. Oder Du nimmst die Navilock Maus die Du frueher mal
erwaehnt hast zum Testen des Boards.
3. Was Grundsaetzliches zu diesem Projekt:
Ich hab mir mal Deinen alten Thread zu diesem Thema durchgelesen.
Was soll das denn nun eigentlich werden, Fishfinder oder Bodenvermessung
oder was?
Ich gehe jedenfalls dabei mal vom Einsatz eines Bootes in
Modellbaugroesse aus. Da ist IMO das Conrad-Modul nicht gerade 1. Wahl:
Das Teil hat eine fixe Patchantenne, d.h. bereits leichte Schwankungen
des Bootes (etwa bei Kurskorrekturen) lassen den Antennenhorizont
erheblich kippen und das fuehrt zu Verbindungsabrissen zu tieffliegenden
Sats. (Das Modul arbeitet per default vermutlich mit dem
u-blox-typischen cut-off Winkel von 5 Grad. Laut Antaris Protocol Spec
kann man den dummerweise auch nicht aendern. 10 Grad waeren am Wasser
sinnvoller.)
Eine Wasseroberflaeche ist zudem eine perfekte Umgebung fuer
Reflektionen, Stichwort Multipath, insbesondere in Verbindung mit einer
Patchantenne wenn das Teil Richtung Wasseroberflaeche kippt.
Da wuerde ich mal optimistisch mit Genauigkeiten um 10-15m oder
schlechter rechnen.
Mit wenigen Worten, ich haette fuer so einen Verwendungszweck dieses
Modul sicher nicht gewaehlt.
Was aus den Specs auch nicht hervorgeht ist ob das Teil mit Static
Navigation arbeitet, also bei niedrigen Geschwindigkeiten bzw.
Stillstand die Position einfriert. (Muesstest Du bei u-blox nachfragen).
Falls Static Navigation implementiert ist taugt das Teil fuer diesen
Anwendungszweck (langsame Positionsdrift) ohnehin nicht.
juergen
>Hast eh recht ... die arbeiten bestimmt mit dem selben UART bzw. Buffer,>aber das darf doch kein Problem sein oder ? Schau dir mal meinen Code an>... da dürfte sich nichts überschneiden oder so, oder doch ???
Doch, natürlich überschneidet sich da was. Der Sendeausgang
von deinem PC hängt parallel zum Sendeausgang vom GPS. Das
ist schon mal problematisch. Das zweite Problem ist das das
GPS scheinbar keine RS232 Pegel überträgt und für den PC wohl
noch einen Konverter braucht. Hab ich mal schnell so zusammengelesen.
Das heisst im GPS hängt KEIN MAX232 auf der Sendeleitung.
Das heisst aber auch das das Sendesignal nicht invertiert wird.
Du brauchst also einen Inverter auf der Sendeleitung. Deshalb
kommt so ein Schrott bei dir an.
>Jaja ALLES KLAR !!!>Hast eh recht ... die arbeiten bestimmt mit dem selben UART bzw. Buffer,>aber das darf doch kein Problem sein oder ? Schau dir mal meinen Code an>... da dürfte sich nichts überschneiden oder so, oder doch ???
Ja was denn nun?
Der Atmega 128 hat doch 2 serielle Schnittstellen. Da geh ich doch mal
davon aus dass das Board ueber eine davon via MAX 232 am PC haengt und
das GPS Modul an der anderen.
Oder etwa nicht?
juergen
@jjk
>Oder etwa nicht?
Genau, etwa nicht ;)
Am UART0 hängt das EasyRadio.
An UART1 die 9pol Sub-D, und PARALLEL dazu
eine interne dreipolige RS232 Stiftleiste.
Kleiner Nachtrag:
>Was aus den Specs auch nicht hervorgeht ist ob das Teil mit Static>Navigation arbeitet, also bei niedrigen Geschwindigkeiten bzw.>Stillstand die Position einfriert. (Muesstest Du bei u-blox nachfragen).>Falls Static Navigation implementiert ist taugt das Teil fuer diesen>Anwendungszweck (langsame Positionsdrift) ohnehin nicht.
Hab's inzwischen rausgefunden:
Je nach Firmware hat das Teil static navigation, u-blox nennt das static
hold, aktiviert. Das muesste man in jedem Fall per u-center
deaktivieren, allerdings mit dem Nachteil dass es dann bei Stillstand zu
Positionsspruengen kommt.
Fuer den angestrebten Verwendungszweck gibt es eben besser geeignete
Module.
juergen
Und welche wenn man fragen darf ???
Hab ebenfalls so ein Projekt am laufen ... wär super wenn du mir
geeignetere Methoden statt µblox sagen könntest ... DANKE
>Und welche wenn man fragen darf ???>Hab ebenfalls so ein Projekt am laufen ... wär super wenn du mir>geeignetere Methoden statt µblox sagen könntest ... DANKE
Was fuer ein Projekt und welche Anforderungen werden denn dabei an das
GPS gestellt?
Vorher kann ich gar nix empfehlen.
Ohne jetzt detailliert auf die Driftproblematik sog. indoor oder high
sensitivity Sensoren im Stillstand einzugehen.... kann man nur
grundsaetzlich sagen dass fuer "quasi-stationaere" Anwendungen oder
solche mit sehr niedriger Geschwindigkeit die etwas aelteren klassischen
12-Kanalgeraete geigneter sind.
Da sollte man sich aber vorher nicht nur die Specs anschauen sondern vor
Allem die Manuals!, sofern es die gibt:
Wie sieht das proprietaere Protokoll aus mit dem ich den Sensor
konfigurieren kann?
Weche Konfigurationsmoeglichkeiten bietet das Teil?
Kann man z.B. Elevation/Antenna Mask Angle einstellen?
Welche Positionsfilter nutzt das Teil?
Sind die konfigurierbar?
usw.
Ich wuerde auch immer eine abgesetzte Aktivantenne verwenden, also kein
Modul wie das U-blox Teil bzw. eine GPS Maus, insbesondere am Wasser.
Es kommt aber halt drauf an was man genau braucht, also Einsatzweck und
Anforderungen.
Entsprechende Sensoren gab/gibt es von u-blox, Rockwell, Trimble,
Motorola, i-lotus...
juergen
Ich selbst verwende Motorola Sensoren, aber die sind teuer und nicht
leicht beschaffbar.
Hi north ggg
Ich kenne north, er ist noch immer dran mir mein Projekt abuzukupfern
... hoffe das bist du Alex ... sonst natürlich vielmals um
entschuldigung !!!
Also jetzt mal zu dir Juergen ...
Anscheinend bist du ein schlauer Kopf was GPS angeht !!!
Ich habe da fast kA von was du da genau redest. Kannst du bitte kongrete
Infos geben, für mein Projekt ... und nicht so ein technischer Schmafu.
Also grob besteht die Aufgabestellung in dem, dass ein am Wasser
fahrendes Boot über GPS Daten, Position halten sollen kann. Und das
ganze, möglichst einfach ... also stelle mir das so vor:
.)Stromversorgung + und - anschließen
.)GPS TX an µc RX
Bitte gib mir einfache Lösungen für das Projekt, die auch nicht ALL zu
teuer sind wenns geht.
Am liebsten wär mir mal ´n Link oder der Gleichen um mir sowas mal
anzusehen!
DANKE bereits jetzt für deine Hilfe !!!
Grüß Gott!
Ich bin neu hier. Habe mich mal durch eure Diskussionen durchgelesen.
Wie norbi scho erwähnt hat (sofern ich das richtig verstanden habe). Ich
bräuchte Informationen wie man eine möglichst exakte Positionsbestimmung
und das ganze möglichst einfach machen kann. Habe 2xAtmega128Funk bei
mir zu Hause. Habe da was lustiges für meinen Garten vor. Im groben wird
es ein Art Amphibienfahrzeug. Die Positionsbestimmung muss nicht all
zu genau sein aber +- 1-2m sollten schon mindestens drinn sein.
Bitte um genaue Informationen. Danke!
Brächte auch so ne GPS-Steuerung! Sehe der Betrag ist recht neu! Kann
sich dieser Jürgen mal zu Wort melden wär ja echt super. Also mit
welchem System komm ich möglichst einfach und kstengünstig auf exakte
Postionen ?
THANKS
Hallo, habe mir heute ein Gerät von Wintec und zwar den Wintec WGM-302
in PS2 Version besorgt. Dieser hat einen RS232 Uasgang und man muss
nichts umlöten. Falls es jemanden interessiert:
http://shop.wintec-gps.de/
Gruß
Anton