Sainsmart Ublox GPS mit I2C

#2
Hm also ich sehe nicht das da ein I2C anschluss dran sein sollte, wo hast du die Infos her das das Modul I2C hat?

Gruß
Thomas
 

noname-18

Neuer Benutzer
#3
hi apolo,
ich schließe es daruas, dass
1. die Anschlüsse SDA und SCL aufweisen, und
2. auf der SaintSmart-Seite I2C aufgelistet ist.. (http://www.sainsmart.com/sainsmart-ublox-neo-6m-uart-iic-gps-module-for-arduino.html)
3. im Datenblatt auch die rede von I2C ist..

daher ja auch meine Frage ob sich damit jemand besser auskennt ob das der I2C ist, den die Multiwii software nutzt, ist.
aber da der GPS-Empfänger ja extra für den Arduino ist, denke ich mir das muss doch irgendwie funktionieren. :-/

Datenblätter sind auch auf der Ebay seite hinterlegt, inder die I2C-Adresse von 0xA0 angegeben ist.. ist die in der Multiwii auch 0xA0??
 
#4
Hallo...

Um I2C GPS mit Multiwii nutzen zu können ist der i2c-gps-nav "Adapter" von EOSBandi notwendig. Siehe hier:
http://code.google.com/p/i2c-gps-nav/

Der "Adapter" übernimmt bereits einige GPS-Funktionen wie z.B. Positionsberechnungen (wenn ichs richtig verstanden habe).

Auf dem Saintsmart ist kein Microcontroller drauf. Deswegen wird der nicht mit Multiwii funktionieren.
Du brauchst das hier:
http://www.rctimer.com/product_762.html

in Verbindung mit einem GPS-Modul... z.B. dem Crius cn-06

http://www.rctimer.com/product_984.html

Nenno
 

noname-18

Neuer Benutzer
#5
Hi Nenno,
danke für dich antwort.
Also kann ich I2c mit meinem 32U4 ausschließlich mit einem NAV-Modul benutzen. Das ist ja blöd... schade, dachte den kann ich mir sparen.
würde ja gerne auf den Mega2560 umsteigen, nur hat der zu kleine beinchen, da ich meinen 32u4 selber auf die Platine bringe..

gib es irgendwo die Firmware von dem Nav-Modul und einen kleinen schaltplan? dann könnte ich mir den ja fix selber zusammen basteln...

Danke


Gruß noname
 
Zuletzt bearbeitet:
#6
Hallo...

Firmware: http://code.google.com/p/i2c-gps-nav/

Schaltplan braucht man nicht. Ist halt n Atmel 328 mit Standartbeschaltung. An Seriell hängt das GPS. I2C wird genauso angeschlossen wie bei Multiwii... aber für 6.99$ würde ich mir das Dingen lieber kaufen. Der Atmel kostet ja schon 2.50€.

Nenno
 

noname-18

Neuer Benutzer
#7
Hallo,

danke für die freundlichen Antworten. Ich werds mir noch überlegen ob ich das Modul bestelle oder selbst herstelle, da ich dann weniger einzelne platinen habe..


Danke
Gruß Noname
 

noname-18

Neuer Benutzer
#9
Hallo,

also ich hab mir heute mal ein Steckboard genommen und einen Atmega328 mit meinem 32u4 FC und dem GPS-Modul verbunden. Software drauf in Multiwii "i2c gps" ausgewählt und mal geguckt was passiert. und natürlich geht es nicht.. hab jetzt schon paar sachen ausprobier aber weiß nicht weiter.. Ich bekomme immer ohne ende I2c errors in MultiwiiConf.

Hab das GPs mal seriell ausgewertet, da funktioniert alles.. hab das modul auch auf 38400 gestellt und in der Software natürlich nach der korrekten Baud-rate geprüft.
allerdings müsste mir das GPS-Modul solange egal sein bis ich keine I2c errors mehr bekomme oder? Also "nur" Sensor und den Atmega328 an den I2c dürfen doch keine Errors kommen oder?

ich weiß grad nicht was ich machen soll... :-(

die Software fürs Nav-modul Version R62 kann ich doch nehmen oder?
 
#10
Hi,

wichtig ist daß in der config.h die Zeile #define I2C_ADDRESS 0x20 vorhanden ist.

Wenn du die Nav-Software aufgespielt hast darfst du am 32u4 keine i2c-Fehler mehr bekommen,

egal ob GPS angeschlossen ist oder nicht.

Also erstmal hier den Fehler suchen, ggf. die i2c-Adresse anpassen!

Vielleicht SDA & SCL vertauscht, der Chinese verdruckt sich auch mal gerne bei solchen Platinen!

Gruß Stephan
 

noname-18

Neuer Benutzer
#11
hi Stephan, vielen dank für deine antwort.

Da ich ja einen Atmega328 (ohne P) chip auf einem Steckboard hab und ich nach dem Datenblatt angeschlossen habe, fällt vertauschen leider schonmal weg. SDA und SCL ist ja im Datenblatt eindeutig...

meine nav sieht so aus: (R62)

#define I2C_ADDRESS 0x20 ist ja standartmäßig schon drin, und hab ich auch überprüft
//#define INIT_MTK_GPS hab ich rausgenommen da ich glaube hat nix mit meinem Ublox zu tun
//#define SONAR raus, da ich es nicht angeschlossen habe

in Multiwii folgendes angepasst (2.3):

#define QUADX
#define GY_521
#define I2C_SPEED 400000L
//#define INTERNAL_I2C_PULLUPS
#define GPS_BAUD 57600 sollte hier ja irrelevant sein weil Seriell ja nicht benutz wird
#define NMEA oder UBLOX hab ich einfach mal probehalber ausprobiert, sollte aber auch in MW irrelevant sein oder?
#define I2C_GPS


so ich hoffe ich hab von der Programmierung nicht vergessen.. wenn das alles richtig ist, kann es ja eigentlich nur am Chip liegen, muss ich bei dem chip noch bestimmte fuse-bytes setzen? hab nur das Nav-Programm mit einem ISP-Programmer auf den 328 gebracht.

Vielleicht weiß noch einen einen Tipp wie ich prüfen kann was hier falsch ist..
hab erst gedacht es könnte am Steckboard liegen aber "nur" der Sensor ohne Gps funktioniert gut übers steckboard.

Danke euch
LG Christian
 
#12
Hallo Christian,

die Programme Multiwii, i2c-Nav sind für Arduino-Boards vorgesehen, das ist ganz kurz gesagt

ein ATMega-Chip mit einem Bootloader, der das oben genannte Programm ausführt.

Du hast jetzt das Nav-programm per ISP übertragen, der Chip kann es aber nicht ausführen.

Bitte dich hier mal zu den Themen Arduino Bootloader flashen und Arduino FTDI im Internet

informieren. Das von mir oben genannte 328er Board hätte den Bootloader schon

draufgehabt. Ist ja Wochenende, Wetter ist eh schlecht, kannst dir also richtig schon

dein Gehirn mit vielen neuen Infos vollstopfen!

Oder einen Nano kaufen, den kannst du direkt an USB anschließen:

http://www.ebay.de/itm/Nano-V3-boar...=Wissenschaftliche_Geräte&hash=item5af45116b2

Und gleich mal die Software von Arduino.cc herunterladen!

Gruß Stephan
 

noname-18

Neuer Benutzer
#13
Hi.
also so ist das ja nicht richtig. die in arduino programmierten sketche laufen auch auf anderen microcontrollern ohne bootloader vom arduino. hab bei meine Ätzgerät einen mega8 mit der ide programmiert und mit isp bespielt. das ging ja auch ohne probleme und ohne bootloader.
hier steht das auch soweit http://wkla.dyndns.org/ArduinoWiki/...e:arduino-als-platform-fuer-andere-controller

aber um später auch über die uart schnittstelle programmieren zu können hab ich den bootloader beim 328 auch installiert. also ist das jetzt jedenfalls nach deiner definition ein vollwertiger arduino.
also könnte das ja eigentlich nicht der fehler sein.

was meinst du mit software von arduino.cc runterladen? meinst du die ide? die hab ich doch bereits. wie sollte ich sonst meine multiwii anpassen?

ich werd mir das aber nochmal genauer angucken und dann berichten. irgendwas muss dann ja mit dem uc sein, wenn ich i2c fehler bekomme. :-/
 
Zuletzt bearbeitet:
#14
Durchlaufende I2C Fehler gibts bei: Verbindungsproblemen (Kabel vertauscht, Wackelkontakt, etc ...) oder falschen Einstellungen im GPS oder Nav Board. Wichtig ist es muss die Baudrate in der Navboard Software identisch zu der in der GPS eingestellten sein. Und es muss dass passende Protokoll aktiviert werden. Am einfachsten "#define UBLOX" auswählen und die beiliegende Textdatei aus dem Zip archiv der Firmware auf das GPS übertragen. Damit werden alle Einstellungen im GPS so vorgenommen das es dann eigentlich passen sollte.
 
#15
Schade, ich dachte das könnte der Fehler gewesen sein, weil dafür die Lösung relativ einfach gewesen wäre.

Ich habe neulich meinen Teksumo fertiggestellt, und probehalber das GPS-Modul nicht angeschlossen, so war halt

nur der Pro mini mit der Nav-Software mit der MPU6050 usw. am i2c-Bus der Flugsteuerung, und da hatte ich

KEINE i2c-Fehler... Ich bin allerdings auch kein Profi auf diesem Gebiet, mein Wissen reicht aber aus um die Kopter

und Flugzeuge erfolgreich in die Luft zu bekommen!

Gruß Stephan
 

noname-18

Neuer Benutzer
#16
hi danke,

also kommen i2c fehler auch wenn das gps falsch eingestellt ist?! dachte ich könnte das erstmal aussen vorlassen und nur den controller ohne fehler anschließen und dann erst um die richtigen gps daten kümmern.
allerdings hatte ich den gps am anfang mit dran und auch beides auf nmea protokoll eingestellt. und da kamen auch i2c fehler :-/

danke euch. ich probier nochmal rum und meld mich dann.
kann ich zum testen auch einen nano benutzen?

ist die geschwindigkeit richtig?
#define I2C_SPEED 400000L
muss ich die im nav modul auch ändern?
 
Zuletzt bearbeitet:
#17
Besser erstmal #define I2C_SPEED 100000L benutzen!

Sollte das der Fehler gewesen sein!?! :confused:

Falls dein UBlox die Konfiguration nicht speichert, bitte

#define NEO6_NOT_CONFIGURED_AT_POWERON

in der Nav-Software, dann wird das GPS bei jedem Start eingestellt!

Gruß Stephan
 

noname-18

Neuer Benutzer
#19
Hallo, also ich hab den ATmega328 am I2C zum laufen bekommen.. hab einen anderen genommen und wieder mit ISP programmiert und dann waren keine I2c fehler mehr da.. hhmm.. vllt war der uc defekt..oder verstellt.

jetzt hab ich auch schon das nächste problem.. mein GPS... direkt am PC bekomme ich einen fix und alles läuft wie es soll (gps auf 9600 und NMEA)
wenn ich jetz im NAV-Modul 9600 und NMEA auswähle und den GPS an den UC anschließe zeigt er in Multiwii nix an..wie kann ich jetzt vorgehen um dieses problem zu beheben?
geht das nav-modul mit GPS mit 9600 Baud?

#define NEO6_NOT_CONFIGURED_AT_POWERON
das hab ich auch schon in der "config" eingefügt aber hat irgendwie keine auswirkung.. wo im NAv- Programm wir auf die configuration drauf eingegangen??
hab grad gesehen dass das in 2.2 nicht mehr nötig zu sein scheint, da der teil wohl bei aktivierung des Ublox protokolls angestoßen wird..

aber geht trotzdem noch nicht ;-(
Danke
 
Zuletzt bearbeitet:
#20
Moin,

leuchtet die grüne LED auf der GPS-Platine? Bei meiner geht die LED auf grün wenn Satelliten gefunden worden.

Multiwii zeigt einige Zeit später dann die Anzahl der Sats auf'm OSD an.

Hast du RX und TX vertauscht? Bei mir waren die Bezeichnungen falsch aufgedruckt...

Gruß Stephan
 
FPV1

Banggood

Oben Unten