PICAXE a GPS modul PA6B

Mimco

PICAXE a GPS modul PA6B

Příspěvek od Mimco » 31 bře 2013, 17:14

Dobrý den,

jsem rád, že opět existuje fórum týkající se i PICAXE.

Občas si pohrávám s GPS modulem v kombinaci s picaxe-20x2 a rád bych se podělil o jeden (funkční) kód na získání a výpis souřadnic:

Kód: Vybrat vše

symbol GPS = C.6
start:			'popis $GPGGA věty najdete v NMEA protokolu na googlu
serin GPS,t4800_8,("$GPGGA,"), b0,b1,b2,b3,b4,b5,b6,b6,b6,b6,b6,b6,b7,b8,b9,b10,b10,b11,b12,b13,b14,b14,b15,b15,b16,b17,b18,b19,b20,b20,b21,b22,b23,b24,b24,b25,b25,b26,b26,b27,b28,b28,b28,b28,b28,b28,b29,b30,b31,b32,b33,b34,b35,b36,b36,b37,b38,b39
sertxd ("GMT: ",b0,b1,"h",b2,b3,"m",b4,b5,"s ",b6,b7,"°",b8,b9,",",b10,b11,b12,b13,b14," ",b15,b16,b17,"°",b18,b19,",",b20,b21,b22,b23,b24," Validita dat: ",b25," Pocet satelitu: ",b26," Nadmorska vyska: ",b28,b29,b30,b31,b32,"m ",b33,b34,b35,b36,b36,b37,b38,b39, cr,lf)
pause 1000
goto start
PICAXE získává polohu z GPS modulu GPS-PA6B (http://www.soselectronic.cz/?str=371&ar ... s-gps-pa6b).

Snad tento kód někomu pomůže. Mě nejdéle trvalo zjištění nastavení příjmu dat (přepnutí N a T). Toto zjištění bylo na dlouho :lol:

Výpis $GPGGA věty vypadá pak takto:
GMT: 16h00m03s 49°12,3456N 014°12,3456E Validita dat: 1 Pocet satelitu: 5 Nadmorska vyska: 432.0m ,M,55.4,
Naposledy upravil(a) Mimco dne 24 dub 2013, 19:53, celkem upraveno 1 x.

fin
Příspěvky: 37
Registrován: 19 dub 2013, 15:24

Re: PICAXE a GPS modul PA6B

Příspěvek od fin » 19 dub 2013, 19:35

Dobrý den,

jsem také rád, že opět existuje fórum týkající se i PICAXE. Nebylo by možné uvést podrobnosti
od "Mimca" - spojení PICAXE a GPS modul PA6B? fin

Mimco

Re: PICAXE a GPS modul PA6B

Příspěvek od Mimco » 23 dub 2013, 22:24

Zdravím ve spolek :)

delší dobu jsem zde nebyl, takže se omlouvám za delší čekání na odpověď. Podrobnosti ohledně zapojení (a snad i foto) se pokusím uploadnout v průběhu zítřka.

S přáním pěkného dne všem PICAXE kutilům,
Mimčo.

Mimco

Re: PICAXE a GPS modul PA6B

Příspěvek od Mimco » 24 dub 2013, 20:35

Zapojení PICAXE a GPS-PA6B:

Inspiraci jsem nalezl zde: http://www.picaxeforum.co.uk/showthread ... obot-boat/

Moje zapojení byl jen pokus z kategorie "Proof of concept". Neměl jsem v úmyslu postavit nějaký funkční model lodě/letadla/auta; šlo jen o to, sestavit funkční obvod a získat z něj data. V tomto případě čas, souřadnice a nadmořskou výšku.

Zapojení vzniklo podle datasheetu http://www.soselectronic.cz/a_info/reso ... S-A07a.pdf (strana 10).
Zapojení pinů GPS-PA6B:
1 - Napájení +5V
2 - Zapnutí/vypnutí modulu (uzemnění = vypnutí), já mám připojeno +5V
3 - Zem (je zde 2×, mám propojeno s pinem 8)
4 - Baterie pro RTC (3V), používám CR123 (bez kladného napětí v rozmezí 2,0 - 4,3V na tomto pinu zapojení fungovat NEBUDE)
5 - Výstup (3D-Fix), zde mám signalizační LEDku
6 - USB - nezapojeno
7 - USB - nezapojeno
8 - Zem (je zde 2×, mám propojeno s pinem 3)
9 - TX Výstup dat z modulu - připojen na PICAXE 20X2 (konkrétně na C.6)
10 - RX pin pro firmware (nezapojen)

Řídící program (mimochodem děkuji za pomoc "AlesH" se slučováním proměnných (viz viewtopic.php?f=14&t=58)):

Kód: Vybrat vše

#picaxe 20x2
#terminal 9600
setfreq M8
#com 7

symbol GPS = C.6		'vstup z GPS senzoru
symbol hodiny = b30	'proměnná pro převod hodin
symbol minuty = b31	'proměnná pro převod minut
symbol sekundy = b32	'proměnná pro převod sekund
symbol stupneN = b33	'proměnná pro převod stupňů zeměpisné šířky
symbol minutyN0 = b34	'proměnná pro převod minut
symbol minutyN1 = b35	'proměnná pro převod minut
symbol minutyN2 = b36	'proměnná pro převod minut
symbol zemsirka = b14	'proměnná se zeměpisnou šířkou
symbol stupneE = b37	'proměnná pro převod stupňů zeměpisné délky
symbol stupneE2 = b43	'proměnná pro převod stovek stupňů zeměpisné délky
symbol minutyE0 = b38	'proměnná pro převod minut
symbol minutyE1 = b39	'proměnná pro převod minut
symbol minutyE2 = b40	'proměnná pro převod minut
symbol zemdelka = b24	'proměnná se zeměpisnou délkou
symbol validita = b25	'validita dat přicházejících ze satelitního přijímače
symbol satelity = b26	'počet satelitů zachycených satelitním přijímačem

pause 100

start:
serin GPS,t4800_8,("$GPGGA,"), b0,b1,b2,b3,b4,b5,b6,b6,b6,b6,b6,b6,b7,b8,b9,b10,b10,b11,b12,b13,b14,b14,b15,b15,b16,b17,b18,b19,b20,b20,b21,b22,b23,b24,b24,b25,b25,b26,b26,b27,b28,b28,b28,b28,b28,b28,b29,b30,b31,b32,b33,b34,b35,b36,b36,b37,b38,b39
sertxd ("GMT: ",b0,b1,"h",b2,b3,"m",b4,b5,"s ",b6,b7,"°",b8,b9,",",b10,b11,b12,b13,b14," ",b15,b16,b17,"°",b18,b19,",",b20,b21,b22,b23,b24," Validita dat: ",b25," Pocet satelitu: ",b26," Nadmorska vyska: ",b28,b29,b30,b31,b32,"m ",b33,b34,b35,b36,b36,b37,b38,b39, cr,lf)

'Zpracování dat z GPS (převod z jednotlivých proměnných na dvouciferná čísla)
b0 = b0 - 48 : b1 = b1 - 48 : hodiny = b0 * 10 + b1
b2 = b2 - 48 : b3 = b3 - 48 : minuty = b2 * 10 + b3
b4 = b4 - 48 : b5 = b5 - 48 : sekundy = b4 * 10 + b5
b6 = b6 - 48 : b7 = b7 - 48 : stupneN = b6 * 10 + b7
b8 = b8 - 48 : b9 = b9 - 48 : minutyN0 = b8 * 10 + b9
b10 = b10 - 48 : b11 = b11 - 48 : minutyN1 = b10 * 10 + b11
b12 = b12 - 48 : b13 = b13 - 48 : minutyN2 = b12 * 10 + b13
b15 = b15 - 48 : b16 = b16 - 48 : b17 = b17 - 48
stupneE2 = b15 * 100 : stupneE = b16 * 10 + b17 + stupneE2
b18 = b18 - 48 : b19 = b19 - 48 : minutyE0 = b18 * 10 + b19
b20 = b20 - 48 : b21 = b21 - 48 : minutyE1 = b20 * 10 + b21
b22 = b22 - 48 : b23 = b23 - 48 : minutyE2 = b22 * 10 + b23

'Výpis dat z GPS po seriové lince
sertxd ("GMT: ",#hodiny,"h",#minuty,"m",#sekundy,"s ",13,10)
sertxd (#stupneN,"°",#minutyN0,",",#minutyN1,#minutyN2,b14,13,10)
sertxd (#stupneE,"°",#minutyE0,",",#minutyE1,#minutyE2,b24,13,10)
sertxd ("Validita dat:",validita," Počet satelitů:",satelity,13,10,13,10)

pause 750
goto start
V řídícím programu jde vidět potřebné nastavení PICAXE (frekvence a hlavně klidová úroveň, rychlost a parita).

Oživení je velice snadné. Jediným zádrhelem, během oživování projektu, byla právě klidová úroveň a rychlost. Trvalo mi neuvěřitelně dlouho, než mě napadlo zkusit klidovou úroveň T na místo N... Pak už vše fungovalo na výbornou.
Takže pamatujte serin C.6, t4800_8
Pokud jako "qualifier" použijete $GPGGA (tak, jako já), obdržíte stejný výstup. Pokud máte zájem o jiné GPS věty, tak doporučiju vygooglit si NMEA komunikační protokol (a patřičně si pak "pohrát" s proměnnými (b0 až b39)).

S přáním pěkného dne všem PICAXE kutilům,
Mimčo.

fin
Příspěvky: 37
Registrován: 19 dub 2013, 15:24

Re: PICAXE a GPS modul PA6B

Příspěvek od fin » 02 kvě 2013, 13:45

Dobrý den,
Děkuji za příspěvek "Mimča". Cíl bych měl také pouze získání a výpis souřadnic na PC nebo raději na displeji.
Protože moje znalosti z elekroniky jsou vemi malé (ale jsem snaživý žák) byl bych velice vděčný dozvědět se další podrobnosti. Řídící program a zapojení pinů GPS modulu PA6B jsou dobře popsaný ,omlouvám se, že budu vlezlý a prosím o zapojení (schema,hodnota použitých součástek) případně fotku nepájivé desky nebo plošného spoje.
Hezký den přeje fin

Mimco

Re: PICAXE a GPS modul PA6B

Příspěvek od Mimco » 03 kvě 2013, 22:10

fin píše:Dobrý den,
Děkuji za příspěvek "Mimča". Cíl bych měl také pouze získání a výpis souřadnic na PC nebo raději na displeji.
Protože moje znalosti z elekroniky jsou vemi malé (ale jsem snaživý žák) byl bych velice vděčný dozvědět se další podrobnosti. Řídící program a zapojení pinů GPS modulu PA6B jsou dobře popsaný ,omlouvám se, že budu vlezlý a prosím o zapojení (schema,hodnota použitých součástek) případně fotku nepájivé desky nebo plošného spoje.
Hezký den přeje fin
Není zač. Fórum je od toho, abychom si tu navzájem pomáhali :)

V příloze je schema, ale pro zobrazení je nutný program ExpressPCB. Oproti mému zkušebnímu zapojení je pár věcí smazaných, ale i takto je zapojení plně funkční, bez žádných omezení. Hodnoty součástek jsou zapsány ve schematu (hlavně rezistorů; jedná se o 10R0, 100R, 330R, 4k70, 10k0 a 22k0; dále je v zapojený stabilizátor napětí (7805) a u něj dvě dvojice kondenzátorů (jako je tomu v datasheetu picaxe - 100nF a 100uF/16V)). Jako signalizační LED používám bipolární L-937IGW*G (viz http://www.ges.cz) u kterých je rezistor 330R.

Ještě jsem se nezmínil o paměti 24C16 pro možné logování zaznamenaných dat (zatím nepoužito, takže to v ovládacím programu nehledejte). U ní se nachází pouze dva pull-up rezistory 4k70 a jeden 10k0 (připojení WP vstupu na 24C16), takže nic složitého.

V předchozím příspěvku jsem se zmínil o připojení LED na pin 5 GPS modulu PA6B. Také se jedná o bipolární LED s rezistorem 330R. Pokud si dobře pamatuji, jiné součástky už použité nejsou.

Předem se omlouvám všem profesionálům z oboru za možný infarktový stav po otevření přílohy. Je mi jasné, že byste to udělali jinak, lépe, logičtěji, ale vězte - jen si hraji a "náhodou to funguje" ;) :lol:
Přílohy
_GPS_2013-0305_.zip
Pro zobrazení je potřeba program ExpressPCB.
(18.57 KiB) Staženo 232 x

fin
Příspěvky: 37
Registrován: 19 dub 2013, 15:24

Re: PICAXE a GPS modul PA6B

Příspěvek od fin » 06 kvě 2013, 09:37

Dostal jsem soubor GPS_2013-0305_zip (přdchozí příspěvek). a nedaří se mi ho otevřít. Nemám prog. ExpressPCB. Jde mi jen o to, vidět to schema, v samotném programu kreslit nemusím. Prosím , zda by to někdo nepřevedl do jiného formátu (třeba jako fotku nebo s příponou .dwg ).

AlesH
Příspěvky: 322
Registrován: 25 úno 2013, 09:18

Re: PICAXE a GPS modul PA6B

Příspěvek od AlesH » 06 kvě 2013, 13:05

Aplikaci ExpressPCB jsem si stáhnul a nainstaloval. V ZIP souboru od "Mimca" je ale zřejmě jen deska plošných spojů (včetně rozložení součástek na desce), ale ne čisté schema zapojení. PNG screenshot desky z programu ExpressPCB dávám do přílohy.
_GPS_2013-0305_.png

Mimco

Re: PICAXE a GPS modul PA6B

Příspěvek od Mimco » 06 kvě 2013, 22:09

Ano, máte pravdu - zip soubor obsahoval pouze DPS (aplikaci ExpressPCB používám pro návrh DPS a následný tisk), schema jako takové jsem v elektronické podobě nedělal, ale až budu mít chvilku volný čas, tak to rád napravím ;)

petr-kubac
Příspěvky: 91
Registrován: 24 úno 2013, 15:43
Bydliště: Frydek - Mistek
Kontaktovat uživatele:

Re: PICAXE a GPS modul PA6B

Příspěvek od petr-kubac » 09 kvě 2013, 13:18

Hluboce se omlouvám, ale ta deska se mi vůbec nelíbí - ten veliký obdélník tvořený cestičkou 5V a GND - to bude dokonalá anténa vyzařující rušení z procesoru a kdyby to náhodou nestačilo tak máme kolem dokola desky závit, tvořený okraji desky a to dokonce z obou stran - a to dokonce tak že výše zmíněný "obdélník" a cestička GND tvoří to, co radioamatéžři nazývají gama match - tedy jistá forma VF transformátoru ke zlepšení přenosu VF signálu - kdybyste chtěl úmylsně naroutovat DPS anténu - tak jak to máte - by to bylo na jedničku. Ale to jste patrně nechtěl

(opravdu se omlouvám, a nechci odvrátit nikoho od experimentování, ale viděl jsem příliš mnoho stávkujících desek tohoto druhu konstrukce)
"The best computer language is a solder" - "Nejlepší programovací jazyk je pájka" - Bob Pease
http://petr-kubac.blog.cz/

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 1 host