ロガー続き。3端子レギュレータは、表についているのは足を切って、裏から新
しくつけました。配線をまきこみながら両面テープで基板に固定。これなら
しばらくもつんじゃないかな。

秋月で買ってきたGPSレシーバモジュールキット(GPS-52)をつけてみました。 GPS用のバックアップ電源にCR2032用のホルダもつけました。これはGPSの衛星 の位置を記憶しておきたいため。GPS-52のピン番号は付属のCD-ROMの中のデー タシートにあった。

ピンがハーフピッチでどうしようか迷ったのだけど、基板に穴あけてピンに直 接ハンダ付け。なんかまた走行中の振動で外れそうな感じ。早く動かしてみた かったんだ。
秋月のキットにはRS232Cレベルに変換するチップも同梱だけれど、それは使わ ずに直接LPC2388のUART3に直結。

こんなプログラムで。
やっぱり50x50mm以上のGND層を作らなかったのがいけなかったのかな...
と暗澹たる気持ちでそのまましばらく机の上に放置していたら(ここで窓を開け ていたのがよかった)、

受信できた!

このGPSモジュール、更新間隔が1秒。1秒は長い。これじゃ統計的なラインしか わからないな...。緯度経度の精度は10^-4分、一秒が30mくらいなので 30*60/10000*100で18cmくらい。本当???

秋月で買ってきたGPSレシーバモジュールキット(GPS-52)をつけてみました。 GPS用のバックアップ電源にCR2032用のホルダもつけました。これはGPSの衛星 の位置を記憶しておきたいため。GPS-52のピン番号は付属のCD-ROMの中のデー タシートにあった。

ピンがハーフピッチでどうしようか迷ったのだけど、基板に穴あけてピンに直 接ハンダ付け。なんかまた走行中の振動で外れそうな感じ。早く動かしてみた かったんだ。
秋月のキットにはRS232Cレベルに変換するチップも同梱だけれど、それは使わ ずに直接LPC2388のUART3に直結。

こんなプログラムで。
uint32_t
test (int32_t argc __attribute__((unused)),
const char *argv[] __attribute__((unused)))
{
struct uart_clock_conf uart3 = { 0, 78, 1 | (2 << 4), CCLK4 };
uart_init (UART3, &uart3);
while (/*CONSTCOND*/1)
iputc (uart_getc (UART3), SERIAL);
//NOTREACHED
return 0;
}
いざ電源を入れてテストしてみると...
$GPGSA,A,1,,,,,,,,,,,,,99.9,99.9,99.9*09 $GPRMC,000756.970,V,3600.0000,N,13600.0000,E,9999.99,999.99,251009,,*29 $GPVTG,999.99,T,,M,9999.99,N,9999.99,K*59 $GPZDA,000757.970,25,10,2009,,*50 $GPGGA,000757.970,3600.0000,N,13600.0000,E,0,00,99.9,00000.0,M,0000.0,M,000.0,0000*40 $GPGSA,A,1,,,,,,,,,,,,,99.9,99.9,99.9*09 $GPRMC,000757.970,V,3600.0000,N,13600.0000,E,9999.99,999.99,251009,,*28 $GPVTG,999.99,T,,M,9999.99,N,9999.99,K*59 $GPZDA,000758.970,25,10,2009,,*5F $GPGGA,000758.970,3600.0000,N,13600.0000,E,0,00,99.9,00000.0,M,0000.0,M,000.0,0000*4FこれはNMEA-183フォーマット。$GPGSA,A,1の部分が受信不能を示している。こ の基板とノートをつなげて庭をうろうろしてみるも、変わらず。
やっぱり50x50mm以上のGND層を作らなかったのがいけなかったのかな...
と暗澹たる気持ちでそのまましばらく机の上に放置していたら(ここで窓を開け ていたのがよかった)、
$GPGSA,A,1,,,,,,,,,,,,,99.9,99.9,99.9*09 $GPGSV,3,1,12,27,56,000,00,23,50,000,00,28,47,000,00,17,23,000,37*70 $GPGSV,3,2,12,13,22,000,33,04,18,000,00,15,10,000,00,08,10,000,00*78 $GPGSV,3,3,12,21,08,000,00,03,08,000,00,10,08,000,,19,04,000,00*7F $GPRMC,081335.791,V,3600.0000,N,13600.0000,E,9999.99,999.99,251009,,*20 $GPVTG,999.99,T,,M,9999.99,N,9999.99,K*59 $GPZDA,081336.791,25,10,2009,,*5B $GPGGA,081336.791,3600.0000,N,13600.0000,E,0,00,99.9,00000.0,M,0000.0,M,000.0,0000*4B受信はできていないけれど、
$GPGSV,3,1,12,27,56,000,00,23,50,000,00,28,47,000,00,17,23,000,37*70 $GPGSV,3,2,12,13,22,000,33,04,18,000,00,15,10,000,00,08,10,000,00*78 $GPGSV,3,3,12,21,08,000,00,03,08,000,00,10,08,000,,19,04,000,00*7Fの情報が増えた。これは衛星の位置情報だ。気をよくして窓際に置いておくと...

受信できた!
0,0000*40 $GPGSA,A,3,23,20,11,13,,,,,,,,,07.3,04.2,05.9*0D $GPGSV,3,1,09,17,83,311,00,20,42,046,42,04,39,294,26,23,38,099,41*76 $GPGSV,3,2,09,13,27,143,38,28,23,203,00,11,18,092,41,32,17,043,*76 $GPGSV,3,3,09,02,09,280,00*41 $GPRMC,084249.695,A,3539.4058,N,13939.2779,E,0000.00,344.21,251009,,*3A $GPVTG,344.21,T,,M,0000.00,N,0000.00,K*50 $GPZDA,084250.695,25,10,2009,,*5A $GPGGA,084250.694,3539.4058,N,13939.2779,E,1,04,04.2,00039.2,M,0039.4,M,000.0,0000*49 $GPGSA,A,3,23,20,11,13,,,,,,,,,07.3,04.2,05.9*0D $GPGSV,3,1,09,17,83,311,00,20,42,046,42,04,39,294,00,23,38,099,41*72 $GPGSV,3,2,09,13,27,143,38,28,23,203,00,11,18,092,41,32,17,043,*76 $GPGSV,3,3,09,02,09,280,00*41 $GPRMC,084250.694,A,3539.4058,N,13939.2779,E,0000.00,344.21,251009,,*33 $GPVTG,344.21,T,,M,0000.00,N,0000.00,K*50 $GPZDA,084251.694,25,10,2009,,*5A $GPGGA,084251.694,3539.4058,N,13939.2779,E,1,04,04.2,00039.2,M,0039.4,M,000.0,0000*48GPSって衛星探すのに結構手間がかかるのね。部屋で窓を閉めてしまうと受信不 能。これはGND層を作らなかったのもあるかも。

このGPSモジュール、更新間隔が1秒。1秒は長い。これじゃ統計的なラインしか わからないな...。緯度経度の精度は10^-4分、一秒が30mくらいなので 30*60/10000*100で18cmくらい。本当???
