昨日はRS-232C経由でPCと接続しGT-720Fの動作確認をしたので、今日は本命のLVTTL側の端子を使ってマイコンでデータを扱うことに挑戦。
実は今回のGT-720Fを使う前に、一度秋月からGPS-52を購入し、同じようなGPSロガーを作ろうとしていました。
しかし端子を逆差ししてしまい、GPS-52はあえなくご臨終。4800円が一瞬で吹き飛びました(泣)
今回はそのテストに使っていた回路を再利用してGPS-52のテストを行うことにしました。
GPSモジュールから受け取るプロトコルはNMEA-0183で同じなので、プログラムもほとんどそのまま再利用。
GT-720からの出力を液晶モジュールSC1602にそのまま出力する安直なプログラムです。
とりあえずつないでみよう。えいっ。
・・・文字化け。
テストパターンの”Hello, world!"はちゃんと出力されるから、LCDへの出力プログラムミスではないらしい。となるとUARTがうまく受信できていないらしい。
とりあえずGT-720(9600bps出力)からの信号にうまく同期できていないのだろう、と当たりを付けて、
・baud rateはちゃんと9600bpsになっているか。
・1byte=8bitの受信になっているか。
ということを確認。問題なし。
・・・困った。UARTを扱うのが初めてだからどう対処すべきかわからない。
UARTはクロックにうるさいとどこかで聞いたので、内臓クロックを使ってるのがまずいのかと思って内臓クロックの精度を見てみた。
tiny2313のデータシートによると、
内臓RC発振器:誤差2%
UARTの精度は5%絶対必要でできれば3%といっているので結構大きい。面倒くさがらず、外部クロックにしよう。
買ってあったまま使っていない8MHzセラロックを使う。
これまた使うのは初めてなので、極性がないこととか、ちゃんと調べながらw
回路図上の記号が対称だから、極性なんてないとは思っていたけど、やっぱりないようですねw

セラロックをつけたところ。
コネクタは赤いコネクタから右回りに、電源、ISP、GPSモジュール、LCD。
外部クロックに切り替えようとヒューズビットを書き込んだところ。
まったく入力を受け付けなくなりました。
お約束ですね~
間違ったヒューズビットを焼いてしまったようです。
AVRはヒューズビットという、電源が切れてもAVR自身の設定を覚えておくビットがあります。
クロックの部分やリセットの条件についてなど、AVR動く条件がそのヒューズビットで決められています。
ですので、意図しないヒューズビットを書き込んでしまった場合、AVRを動かしてやれる条件を満たすことができず、AVRは動きません。
AVRが動かないとヒューズビットの書き換えもできないので、誤ったヒューズビットを書き込んでしまうと、手持ちの機材ではAVRは一切動いてくれなくなる、という地雷のような設定があるのです。
今回はその地雷を見事に踏み抜いてしまったらしいです。
ATtiny2313のヒューズビットはクロック選択の部分だけ抜き出すと、
となっているようなのですが、誤って0110を焼いてしまったようなのです。(今となっては確認すらできません)
表によれば128kHz内部発振器が働くはずなのですが、SPIでプログラミングできません。これまたよくわかりません。
使っているプログラマはディジットのAVR WRTなので高電圧プログラミングによるヒューズビットの書き換えもできず、お手上げです。
クロック周りの設定は気をつけなければならないとわかってはいたのですが、今回は外部発振器を持っていたので楽観していました。
油断大敵です。
ということで、ATtiny2313を一つ封印してしまいました。1個100円なのでたいしたことはないですが、予備が一個もないので今日は作業中止。
結局UARTがうまく働かなかったのは、内臓クロックを使ったせいなのかどうかも検証できずじまいでした。ヒューズビットを直すか、新しい2313で成功したら、内臓クロックでも試してみたいです。
実は今回のGT-720Fを使う前に、一度秋月からGPS-52を購入し、同じようなGPSロガーを作ろうとしていました。
しかし端子を逆差ししてしまい、GPS-52はあえなくご臨終。4800円が一瞬で吹き飛びました(泣)
今回はそのテストに使っていた回路を再利用してGPS-52のテストを行うことにしました。
GPSモジュールから受け取るプロトコルはNMEA-0183で同じなので、プログラムもほとんどそのまま再利用。
GT-720からの出力を液晶モジュールSC1602にそのまま出力する安直なプログラムです。
とりあえずつないでみよう。えいっ。
・・・文字化け。
テストパターンの”Hello, world!"はちゃんと出力されるから、LCDへの出力プログラムミスではないらしい。となるとUARTがうまく受信できていないらしい。
とりあえずGT-720(9600bps出力)からの信号にうまく同期できていないのだろう、と当たりを付けて、
・baud rateはちゃんと9600bpsになっているか。
・1byte=8bitの受信になっているか。
ということを確認。問題なし。
・・・困った。UARTを扱うのが初めてだからどう対処すべきかわからない。
UARTはクロックにうるさいとどこかで聞いたので、内臓クロックを使ってるのがまずいのかと思って内臓クロックの精度を見てみた。
tiny2313のデータシートによると、
内臓RC発振器:誤差2%
UARTの精度は5%絶対必要でできれば3%といっているので結構大きい。面倒くさがらず、外部クロックにしよう。
これまた使うのは初めてなので、極性がないこととか、ちゃんと調べながらw
回路図上の記号が対称だから、極性なんてないとは思っていたけど、やっぱりないようですねw
セラロックをつけたところ。
コネクタは赤いコネクタから右回りに、電源、ISP、GPSモジュール、LCD。
外部クロックに切り替えようとヒューズビットを書き込んだところ。
まったく入力を受け付けなくなりました。
お約束ですね~
間違ったヒューズビットを焼いてしまったようです。
AVRはヒューズビットという、電源が切れてもAVR自身の設定を覚えておくビットがあります。
クロックの部分やリセットの条件についてなど、AVR動く条件がそのヒューズビットで決められています。
ですので、意図しないヒューズビットを書き込んでしまった場合、AVRを動かしてやれる条件を満たすことができず、AVRは動きません。
AVRが動かないとヒューズビットの書き換えもできないので、誤ったヒューズビットを書き込んでしまうと、手持ちの機材ではAVRは一切動いてくれなくなる、という地雷のような設定があるのです。
今回はその地雷を見事に踏み抜いてしまったらしいです。
ATtiny2313のヒューズビットはクロック選択の部分だけ抜き出すと、
外部クリスタル/セラミック発振子 | 1111~1000 |
128kHz内部(WDT)発振器 | 0110 |
8MHz校正付き内蔵RC発振器 | 0100 |
4MHz校正付き内蔵RC発振器 | 0010 |
外部クロック信号 | 0000 |
(予約) | 0xx1 |
となっているようなのですが、誤って0110を焼いてしまったようなのです。(今となっては確認すらできません)
表によれば128kHz内部発振器が働くはずなのですが、SPIでプログラミングできません。これまたよくわかりません。
使っているプログラマはディジットのAVR WRTなので高電圧プログラミングによるヒューズビットの書き換えもできず、お手上げです。
クロック周りの設定は気をつけなければならないとわかってはいたのですが、今回は外部発振器を持っていたので楽観していました。
油断大敵です。
ということで、ATtiny2313を一つ封印してしまいました。1個100円なのでたいしたことはないですが、予備が一個もないので今日は作業中止。
結局UARTがうまく働かなかったのは、内臓クロックを使ったせいなのかどうかも検証できずじまいでした。ヒューズビットを直すか、新しい2313で成功したら、内臓クロックでも試してみたいです。
PR
2009年2月現在、秋月で扱っているGPSレシーバは
Position製 GPS-52D
CanMore製 GT-720F
の2種類しかないのですが、CanMoreのほうはつい最近出たばかりです。
そのせいか、この手の製品には多い「使ってみたよ!」という報告がなかなか少ないです。
電子工作初心者のクセに道しるべがあんまりないという冒険をしなければなりません(笑)
知られていないということなので、GT-720Fのスペックを書いておきます。
GT-720Fについて
まずはCanMoreのデータシートから
Sensitivity 感度
Cold Start 初回起動での衛星捕捉 -147dBm
Re-acquisition 2回目以降の衛星捕捉 -155dBm
Signal detection 衛星追尾 -160dBm
Accuracy 精度
位置 CEP5m
速度 0.1m/s
サイズ
34 x 34 x 9.35[mm]
おそらくCold Startとは「GPSモジュールが記憶している衛星の情報がまったく当てにならないぐらい時間がたった後起動したら」ということだと思います。
まずは感度ですが、部屋の中(鉄筋アパート)からは衛星捕捉は不可能でした。
ベランダに出しておくと1分弱で追尾をはじめ、20分ほど放置したら7つぐらい衛星をキャッチしてくれました。

使用目的から言えば満足できる感度です。
精度は期待通り。下宿の位置ぴったりの値を出してくれました。
少数以下4桁分まで出してくれます。
住所が十分ばれるくらい精度が良いのでモザイクを。
で、消費電力です。
なんと
衛星追尾時でも常時130mA、衛星捕捉時なんて200mAも食いやがります。
入力を3.3、5Vどちらにしても同じだけ食います。
5V駆動したら衛星捕捉時1W。お前はヒーターか何かか。
実際に連続稼動しているとほんのり暖かくなってきやがります。まさかGPS扱ってて放熱を考えなきゃならんとは。
参考までに
衛星捕捉時:200mA
2次元測位状態(3衛星捕捉状態):170mA
3次元測位状態(4衛星以上捕捉):130mA
何よりも問題は、GT-720のデータシートには
「<135mW」
「Power Consumption <42mA」
とかかいてあることです。大嘘です。135mWじゃなく<135mAの間違いじゃないかなと思います。しかも<135mAになるのも衛星をちゃんと追尾できているときだけ。
GT-720のデータシートの間違いはまだあります。
これを間違ってどうするといいたくなりますが、ピン配置です
データシートにはピン番号順に
1 Serial Data Out1(LVTTL)
2 Serial Data In1(LVTTL)
3 Serial Data Out2(RS-232 level)
4 Serial Data In2(RS-232 level)
5 Power
6 GND
であると書いてあります。
しかし秋月から送られてきた資料には
1 GND
2 Power
3 RS-232 IN
4 RS-232 OUT
5 NC
6 NC
逆じゃねぇか
ちなみにピンの番号付けの方向が間違ってるわけじゃなく、正真正銘逆です。
先にネタバレしているのですが、秋月が正解です。
まさか秋月のピン説明とデータシートが食い違っているなんて夢にも思わず、ただそのときたまたま手元にあったからという理由だけで秋月の資料をみて動作確認をしていました。
データシート見てなくてよかった。
いったい何の冗談なのか。
データシートが間違ってるって、いったい何を信じて設計をすりゃ良いんでしょう?
5,6がNon Connectになってるのは秋月からの資料がRS-232C経由でPCとつなぐことを意図した説明だからです。LVTTLの入出力があるんだから、秋月もピンの内容ぐらい説明してやれば良いのに。
ちなみにGT-720Fにはコネクタのついている面の一つ左の側面にチップLEDが装備されており、電源が入ると光ります。光り方は2種類あり、

点灯:衛星捕捉中(200mA食ってる状態)
点滅:最低3つの衛星を捕捉(170/130mAの状態)
という意味のようです。
Position製 GPS-52D
CanMore製 GT-720F
の2種類しかないのですが、CanMoreのほうはつい最近出たばかりです。
そのせいか、この手の製品には多い「使ってみたよ!」という報告がなかなか少ないです。
電子工作初心者のクセに道しるべがあんまりないという冒険をしなければなりません(笑)
知られていないということなので、GT-720Fのスペックを書いておきます。
GT-720Fについて
まずはCanMoreのデータシートから
Sensitivity 感度
Cold Start 初回起動での衛星捕捉 -147dBm
Re-acquisition 2回目以降の衛星捕捉 -155dBm
Signal detection 衛星追尾 -160dBm
Accuracy 精度
位置 CEP5m
速度 0.1m/s
サイズ
34 x 34 x 9.35[mm]
おそらくCold Startとは「GPSモジュールが記憶している衛星の情報がまったく当てにならないぐらい時間がたった後起動したら」ということだと思います。
まずは感度ですが、部屋の中(鉄筋アパート)からは衛星捕捉は不可能でした。
ベランダに出しておくと1分弱で追尾をはじめ、20分ほど放置したら7つぐらい衛星をキャッチしてくれました。
使用目的から言えば満足できる感度です。
精度は期待通り。下宿の位置ぴったりの値を出してくれました。
少数以下4桁分まで出してくれます。
住所が十分ばれるくらい精度が良いのでモザイクを。
で、消費電力です。
なんと
衛星追尾時でも常時130mA、衛星捕捉時なんて200mAも食いやがります。
入力を3.3、5Vどちらにしても同じだけ食います。
5V駆動したら衛星捕捉時1W。お前はヒーターか何かか。
実際に連続稼動しているとほんのり暖かくなってきやがります。まさかGPS扱ってて放熱を考えなきゃならんとは。
参考までに
衛星捕捉時:200mA
2次元測位状態(3衛星捕捉状態):170mA
3次元測位状態(4衛星以上捕捉):130mA
何よりも問題は、GT-720のデータシートには
「<135mW」
「Power Consumption <42mA」
とかかいてあることです。大嘘です。135mWじゃなく<135mAの間違いじゃないかなと思います。しかも<135mAになるのも衛星をちゃんと追尾できているときだけ。
GT-720のデータシートの間違いはまだあります。
これを間違ってどうするといいたくなりますが、ピン配置です
データシートにはピン番号順に
1 Serial Data Out1(LVTTL)
2 Serial Data In1(LVTTL)
3 Serial Data Out2(RS-232 level)
4 Serial Data In2(RS-232 level)
5 Power
6 GND
であると書いてあります。
しかし秋月から送られてきた資料には
1 GND
2 Power
3 RS-232 IN
4 RS-232 OUT
5 NC
6 NC
逆じゃねぇか
ちなみにピンの番号付けの方向が間違ってるわけじゃなく、正真正銘逆です。
先にネタバレしているのですが、秋月が正解です。
まさか秋月のピン説明とデータシートが食い違っているなんて夢にも思わず、ただそのときたまたま手元にあったからという理由だけで秋月の資料をみて動作確認をしていました。
データシート見てなくてよかった。
いったい何の冗談なのか。
データシートが間違ってるって、いったい何を信じて設計をすりゃ良いんでしょう?
5,6がNon Connectになってるのは秋月からの資料がRS-232C経由でPCとつなぐことを意図した説明だからです。LVTTLの入出力があるんだから、秋月もピンの内容ぐらい説明してやれば良いのに。
ちなみにGT-720Fにはコネクタのついている面の一つ左の側面にチップLEDが装備されており、電源が入ると光ります。光り方は2種類あり、
点灯:衛星捕捉中(200mA食ってる状態)
点滅:最低3つの衛星を捕捉(170/130mAの状態)
という意味のようです。
Garminとかが出している走行速度計を作りたい!ということで、作り始めました。
自転車の速度計とはちがって、マラソン中に持って走るということから、必要用件などを
・リアルタイムで現在の速度がわかること
・腕時計型や、腰に巻くなど、走行中に見やすいこと
・最低5時間(フルマラソンの完走)の間は電池交換なしで動くこと
・ある程度の耐衝撃性をもつこと
・ある程度の防滴性をもつこと
続いて目標を
・200g以下
・腕に巻くならさらに軽量に
・走行後、PCでデータの編集が容易であること
速度計だけなら、GPSのデータをロギングする必要はないのですが、
「PCで走行経路とかわかったらたのしいんじゃね?」
という野望をかなえるために、データをロギングすることに決定。普段は自転車に乗せてたら楽しそう。
調子に乗ってさらに野望を
・グラフィックLCD/OLEDを積んで、カーナビのようなナビを表示
部品
・GPSレシーバ GT-720F

これがなければ始まらない。教科書の電磁気学程度では無線の知識とはいえない。自作はさすがに難しいでしょう。
CanMore製。秋月にて3500円。

裏面はこんな感じ。
続いて使用するマイコン
野望の実現のためにはかなり高性能かつピンの多いマイコンが必要。ということで
ATmega644

プログラムの入る領域は64KBとすばらしくでかい。
出力のできるピン数は32ピンとこれまた多いこと多いこと
それにしても図体がでかい。「俺はmega644だ。なんか文句あるか」っていいたげな存在感です。
tiny2313とならべると

こんな感じ。
自転車の速度計とはちがって、マラソン中に持って走るということから、必要用件などを
・リアルタイムで現在の速度がわかること
・腕時計型や、腰に巻くなど、走行中に見やすいこと
・最低5時間(フルマラソンの完走)の間は電池交換なしで動くこと
・ある程度の耐衝撃性をもつこと
・ある程度の防滴性をもつこと
続いて目標を
・200g以下
・腕に巻くならさらに軽量に
・走行後、PCでデータの編集が容易であること
速度計だけなら、GPSのデータをロギングする必要はないのですが、
「PCで走行経路とかわかったらたのしいんじゃね?」
という野望をかなえるために、データをロギングすることに決定。普段は自転車に乗せてたら楽しそう。
調子に乗ってさらに野望を
・グラフィックLCD/OLEDを積んで、カーナビのようなナビを表示
部品
・GPSレシーバ GT-720F
これがなければ始まらない。教科書の電磁気学程度では無線の知識とはいえない。自作はさすがに難しいでしょう。
CanMore製。秋月にて3500円。
裏面はこんな感じ。
続いて使用するマイコン
野望の実現のためにはかなり高性能かつピンの多いマイコンが必要。ということで
ATmega644
プログラムの入る領域は64KBとすばらしくでかい。
出力のできるピン数は32ピンとこれまた多いこと多いこと
それにしても図体がでかい。「俺はmega644だ。なんか文句あるか」っていいたげな存在感です。
tiny2313とならべると
こんな感じ。
いやタイトルのまま。怖いですね~。
今回の風邪はウィルス性胃腸炎だそうな。風邪って言う病気はないからこっちが正しいですね。
それにしても、すでに発熱から三日目ですが、下痢が止まりません。体のほうはブログつけようかってくらいに回復しているのに、腹はどうにもならんなぁ。
今回の風邪はウィルス性胃腸炎だそうな。風邪って言う病気はないからこっちが正しいですね。
それにしても、すでに発熱から三日目ですが、下痢が止まりません。体のほうはブログつけようかってくらいに回復しているのに、腹はどうにもならんなぁ。
熱いよ~~っ!
やっぱり最高だね。スクランは。
恋する気持ちをひたすら丁寧に丁寧に描くところがたまりません。
ギャグもかなりぶっ飛んだ勢いのギャグだし、笑いあり、熱さありってのが私のツボらしいです。
正直3期をやってくれなかったのは残念無念なのですが、最終話だけでもやってくれてよかった。
スクランの漫画を購入することに決定w
やっぱり最高だね。スクランは。
恋する気持ちをひたすら丁寧に丁寧に描くところがたまりません。
ギャグもかなりぶっ飛んだ勢いのギャグだし、笑いあり、熱さありってのが私のツボらしいです。
正直3期をやってくれなかったのは残念無念なのですが、最終話だけでもやってくれてよかった。
スクランの漫画を購入することに決定w