GPS Module
Verschiedene GPS Module habe ich im Einsatz:
GPS Modul ST32F
Die Firma Perthold Engineering bietet recht günstige GPS Module an. Diese habe eine Update Rate von bis zu 20Hz. Da das ST22 gerade nicht lieferbar war, habe ich mich für das grössere ST32F (privat). entschieden. Es hat Flash und einen Venus V6 Chipsatz. Der Spannungsversorgungsbereich ist von 3.2V - 6V. Der Logikpegel liegt bei 3.3V bzw. RS232. Datenblatt und Infos gibt es bei Sparkfun (privat). Mit der GPS Viewer Software kann man das Ding konfigurieren (privat). Die Protokoll Kommandos sind im "Binary Command Set" (privat) beschrieben. Aufpassen sollte man bei Firmware Updates. Das hat mir schon ein Modul zerschossen.
Datenblatt ST32F | |
---|---|
Chipsatz | Skytraq Venus 634 |
Empfindlichkeit | -161dBm |
Cold/Warm/Hot Startzeit | 29/28/1sec |
Versorgungsspannung | 3.2V - 6V |
Stromaufnahme | 65mA |
UART Pegel | 3.3V |
Link | Perthold Engineering |
Weiterführende Links gibt's hier:
GPS Modul MediaTek MT3329
Bei DIYDrones gibt es das MediaTek MT3329 Modul auf einer Adapter Platine. Die einzelnen Module ('PA6E') gibt es bei Trenz Elektronic recht günstig. Hersteller der Module ist die Firma GlobalTop. Der MediaTek Chipsatz ist sehr empfindlich und funktioniert gut.
Das Datenblatt gibt es z.B. hier (privat).
Die Beschreibung der PMTK Kommandos gibt es z.B. hier (privat).
Aus dem Schaltplan ergibt sich folgende Anschlussreihenfolge:
Anschlüsse MT3329 Adapter | |
---|---|
1 | NC |
2 | GND |
3 | TX |
4 | RX |
5 | 5V |
6 | GND |
Das Modul hat keine Backup Batterie. Diese lässt sich wie hier beschrieben nachrüsten. Alternativ könnte man sicher auch einen Goldcap über eine Schottkydiode (z.B. BAS70) an 3.3V anschliessen. Bei Gelegenheit werde ich das mal ausprobieren.
Zum Testen der Parameter kann man das MiniGPSTool (privat) verwenden. Das klappt auch auf Linux mit Wine. Die dazu notwendigen Einstellungen sind beim CN-06 beschrieben. Laut Handbuch gibt es eigentlich auch die Möglichkeit mit im "Setup" Dialog Einstellungen vorzunehmen. Bei meinem Versuch war dies aber nur mit der alten MiniGPS_Tool Version 1.4 möglich, auch damit konnte ich aber nicht permanent etwas speichern.
Für das ändern der permanenten Einstellungen bleibt also nur das Flashen der gesamten Firmware. Hierfür habe ich im Netz die folgnden Stellen gefunden:
Der letzte Link enthält ein Zip File mit dem Flashtool v1.0.0 und der Firmware 'AXN1.51_2776_3329_384.1151100.5_v19.bin' sowie dem passenden Loader 'MTK_AllInOne_DA_MT3329_v4.02.bin'. Das Flashen klappt leider nicht mit Wine (?). Auch konnte ich mit diesen Firmware keine Werte dauerhaft ändern. Die Default Werte sind hier bei 38400Baud 5Hz.
Datenblatt MT3329 | |
---|---|
Chipsatz | MediaTek |
Empfindlichkeit | -165dBm |
Cold/Warm/Hot Startzeit | 35/34/1sec |
Versorgungsspannung | 5V |
Stromaufnahme | 48mA |
UART Pegel | 5V |
Modul | diydrones.com |
Platine | diydrones.com |
.
Crius GPS CN-06 V2.0 mit ublox NEO6M
Das Crius CN06 Module V2.0 basiert auf dem NEO 6M Chipsatz von ublox. Das Modul enthält eine Bufferbatterie. Dadurch sollten die Satelliten Daten ein paar Tage gespeichert bleiben und man spart sich den aufwendigen "Kalt"-Start. Ausserdem ist ein externes eeprom vorhanden sodass die Konfigurationseinstellungen auch nach einem Neustart erhalten bleiben. Das erspart einem den Hack, der die Konfiguration bei jedem Start auf das NEO-6 hochlädt. Oder das selber dran basteln eines externen SPI flashs.
Datenblatt CN-06 V2.0 | |
---|---|
Chipsatz | ublox NEO6M |
Empfindlichkeit | -162dBm |
Cold/Warm/Hot Startzeit | 27/27/1sec |
Versorgungsspannung | 3.3V..5V |
Stromaufnahme | 65mA |
UART Pegel | 3.3V |
JST 1.25 4Pin | ebay sammylam |
Link | rctimer.com |
Konfiguration
Zur Konfiguration verbindet man das Modul über ein Serial USB Adapter (z.B. FTDI Pro) mit dem Rechner. Bei diesem Adapter kann man 3.3V und die Verbindungen vin Tx/Rx mit Rx/Tx per Schalter richtig einstellen.
Die ublox Software U-Center< kann auch unter Linux verwendet werden. Entweder man verwendet VMware oder man startet das Programm einfach mit Wine. Für Wine muss man das COM device noch auf eine Unix TTY mappen:
ln -s /dev/ttyUSB0 ~/.wine/dosdevices/com1
In u-center stellt man COM1 und Autobaud ein. Alternativ die "richtige" Baudraute. Default ist 9600. Für die einzelnen Einstellungen öffnet man "Configure View", wählt den gewünschten Parameter und klickt anschliessend auf "Send":
- prt(ports) - uart1 115200 baud
- rate(rates) - 200msec 1 cyc
Verwendet man das binäre UBX Protokoll kann man stattdesen diese Einstellungen vornehmen:
- nmea - rechte maus "disable child messages"
- ubx-cfg-nav - pedestrian
- ubx-cfg-nav2 - pedestrian
- ubx-cfg-nav5 - predestrian
- ubx-cfg-prt - uart1 38400
- ubx-cfg-rate - 200msec 1cyc
- ubx-cfg-sbas - disable
- ubx-nav - posllh,sol,status,svinfo,velned grau->schwarz
Zum endgültigen Speichern im 'battery buffered ram' (BBR) und eeprom wählt man:
- ubx-cfg-cfg(config) - save current BBR + EEPROM
Ist bei der Konfiguration alles richtig gelaufen, kann man mit einem Terminal Programm, wie z.B. cutecom, nochmal kontrollieren, ob auf der seriellen Schnittstelle auch nach einem Aus/Einschalten die MNEA Daten ankommen.
Weiterführende Links gibt's hier:
Empfangsempfindlichkeit
Die Empfindlichkeit der Empfänger wird in dBm angegeben. Das ist ein logarithmisches Verhältnis zweier Leistungspegel. Der Bezugspegel ist hier mWatt. Je negativer der Wert desto empfindlicher. -165dBm entspricht z.B. 3*10-20 Watt. WLAN Empfänger haben typisch nur rund -95dBm.