« 2009年11月 | トップページ | 2010年1月 »

2009年12月の記事

GPSモジュールをテストする

STM32 Primer2への組み込み用として購入したGPSモジュールの試験を行いました。Primer2側の準備ができていないため、今回はPCと接続して動作確認を行いました。

使用したGPSモジュール

秋月電子さん、スイッチサイエンスさんでも色々なGPSモジュールを販売していますが、SparkFunさんから”32 Channel LS20031 GPS 5Hz Receiver”を購入しました。この製品を選んだポイントは以下です:

  • 動作電圧範囲が3.0~4.2Vとなっており、Li-ionバッテリー駆動に適している
  • 特殊コネクターを使用しておらず配線が行いやすい(モジュール裏面のパッドにケーブルを直接半田付けできる)
  • 消費電力が41mAと小さい部類に入る

簡易動作試験

先ずはGPSモジュールのシリアル端子をUSB-シリアル変換アダプターにつないで、PCで動作を確認しました。

GPS_test

PCでの動作確認には、SparkFunのサイトからダウンロードできる、Mini GPSを使用しました。屋外で動作させた際の画面キャプチャーを以下に示します(経度・緯度は自宅位置がばれるのでモザイクしてあります、、)。

MiniGPS_mod 

このソフト、なかなか画面がかっこよいです。補足したGPS衛星の位置関係をレーダーのように表示してくれます。上記の画面では、10機の衛星を補足していますが、内8機から有効なデーターが得られているということでしょうか。一度衛星を補足しPosition Fix状態になると、最後の状態を保持するようで(マイクロバッテリーでバックアップ)、Hot Startをかけても数秒でPosition Fixしてくれました。

室内ですと格段に感度が落ち、窓際でも1分程度かかってやっと衛星3個を補足してPosition Fix状態になるかどうかというレベルでした。

誤差は、Google Mapに測位した位置を表示させると5m前後という感じでで、なかなか立派な精度です(Data sheetでは誤差3m)。

Primer2への組み込み

LS2031 GPSモジュールはケースがアンテナの役割を果たすタイプのモジュールです。外付けアンテナが不要というのも購入時のポイントだったのですが、よく考えてみると、GPSモジュールをPrimer2の拡張エリアに組み込むと、GPSモジュールの位置はメイン基盤の裏側になります。そのため、メイン基盤が障害物になって電波が弱まりそうです、、早く気づけよこんな初歩的なこと!!

下の写真のようにPrimer2に仮組込みをして、MiniGPSにて受信感度を測ってみました。

GPSinPrimer2

外が小雨になったため、自宅マンションのベランダからの測位ですが、以下の結果となりました:

  • 写真の状態(モジュールが露出)から、Primer2の裏面カバーをつけても感度は変わらず → プラスチックカバー一枚なら電波をほとんど遮らない
  • Primer2をひっくり返して液晶画面が上面になるようにすると(GPSモジュールがメイン基盤の裏側に隠れる)、MiniGPSのCNR値が5~10程度落ちる。補足している衛星の数は減りませんでしたが、全体的に感度が低下します
  • 本体上向きの状態でPrimer2を起動しても感度はほとんど変わらず → MCU動作ノイズ等の影響はあまりない模様

上記より使えなくはなさそうですが、アンテナを外に出せるタイプのモジュールの方がよさそうです。。。
とりあえずこいつを使って、行けるところまで行きましょうか。

STM32 Primer2 レギュレーター死亡(その後)

長らくブログの更新をお休みしてしまいました。理由は、本業のトラブル対応で死にそうな日々だったのと、ネタ切れ状態の2つでした。。。

今回は、「STM32 Primer2 U17レギュレーター死亡」の後日談でつなぎをさせていただきます。何とか修理はできたのですが、拡張コネクタのピンを剥がしたりで満身創痍です。
ネタ切れは相変わらずでして、恥を忍んで今回のネタとさせていただきます、、、

レギュレーターの代替品選定

お亡くなりになったU17レギュレーターは、3.1V出力で、LCDバックライトとオーディオチップ(3.1Vと2.8Vの2電源)に電源を供給しています。アマチュアが手軽に利用できる(単品で部品を購入できる)お店では3.1V出力のLDOを発見できなかったため、3.3V出力のLinear Technology LT1129-3.3をマルツさんで購入しました。オーディオチップは3.3Vまで許容しているため耐圧的には問題ありません。

絶縁用のポリイミドテープ購入

故障したU17(L6928D)を引っぺがして、跡地にLT1129を搭載します。既存の配線パターンにLT1129の端子がショートしないようにポリイミドテープ(半田の熱に耐え、かつ絶縁性が高いテープ)を下地に張って、その上で空中配線を行いました。マルツさんで3Mのポリイミドテープを販売しているのですが、8000円近い代物でちょっと手が出ません。色々と探すとAmazonでお手ごろな製品が見つかりました。私が探した際は、中興化成工業さんの製品が一番安かったのですが、今ではもっと安い製品がありました。

PolyimideTape

Amazon恐るべしです。ポリイミドテープはオフィス用品として売っているようですが、そのうち、電子工作パーツもAmazonで買えるようになったりして(Arduinoはすでにスイッチサイエンスさんの出展品が買えます)。

レギュレーターの交換

ここからが難関でした。空中配線になるため、拡張コネクタの2番ピン(GND)にLT1129のグランド端子を半田付けして固定しようとしたのですが、うまく半田付けができず、ピンの間隔を広げて半田付けしやすいようにしようとした際に、1,3番ピンをパターンから剥がしてしまいました。今のところ使う予定がない点が不幸中の幸い、、

無残な写真を以下に示します(バッテリーは大容量品に交換しています)。ねむいさんのぶろぐの修理方法を真似たのですが、腕の差が歴然です。

LODrep

部品交換中はJP3のショートピンを抜いてバッテリーを切り離していたのですが、半田コテが拡張コネクタの電源ピンに触れた際に火花がパチッと。いやな予感が。。。
なんとかLT1129を固定して電源を入れると、起動しません。MCUなどに電源を供給しているメインのレギュレーター(U9)の出力電圧を測ると0Vです。もうひとつのレギュレーターもしっかりと壊してしまいました。

U9は2.8V出力になっており、やっぱりぴったりはまるLDOは見つかりません。LT1129の出力は700mAあり、Primer2全体を給電する余力があるため、U9もひっぺがして、LT11291個で全体を給電することにしました。MEMSなど主要な部品のデーターシートを見ると、3.3Vでの動作は問題なさそうです。

上記の措置で何とか復活したのですがひとつ問題がありました。バッテリーの電圧監視にMCUのADCを使っているのですが、リファレンス電圧が2.8Vから3.3Vに上がってしまうため測定値が狂ってしまいます。対策として、CircleOSのcircle.hで定義しているVDD_VOLTAGE_MVを3300に変更することで問題を回避しました。

おわりに

なんとか動いていますが、かなりのつぎはぎ状態です。そもそもPrimer2を買った目的はGPSモジュールの実験ですが、まだ果たせていません(GPSモジュールは、実は買ってあります)。もう1個新品を買おうかと思っているのですが、現状のレギュレーターだとまた壊しそうです。stm32circle.comのkown issueを見ると、次ロットからレギュレーターの入力保護をつける予定とあるため、次ロットが出回るまで待とうかと思っています。秋月さんやストロベリーリナックスさんで一時期売り切れ状態になっていたため、ひょっとして新ロットになっていないかしら。

« 2009年11月 | トップページ | 2010年1月 »

2018年10月
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      
無料ブログはココログ