2015年5月21日木曜日

LPC810でLチカ / JIS D 5601準拠の車速パルス発生器

 1年以上前のトラ技付録に付いてきたLPC810を使ってLチカしてみました。

 単純にLEDを点滅させても何の役にも立たないので、JIS D 5601:1992(自動車用スピードメータ)に準拠した車速パルスを出せるように周期を調整し、パルス周期の時速換算値をLCDに表示するようにしました。LPC810の出力はFET(2SK4017)のゲートにつながっていて、車載電源と同じ電圧のパルスを発生できるようになっています。デフォルトの設定ではメーター1回転毎に4パルスですが、リセット時にUP/DOWNキーを押しておくと、2pulse/rev., 8pulse/rev., 16pulse/rev.に切り替えることができます。
 この信号をカーナビの車速信号ラインに流すと、時速300kmの世界をナビ上で再現できます。


 こんなの作っても、何の役にも立ちませんけどね。

 参考にした書籍は「挿すだけ! ARM32ビット・マイコンのはじめ方」です。サンプルのソースコードがコンパクトで理解しやすかったです。

 ソースコードと回路データは、githubの公開リポジトリに置いてあります。

10 件のコメント:

  1. このコメントは投稿者によって削除されました。

    返信削除
    返信
    1. すみません。興味あって、NXPでHEXを作ろうと頑張ってみましたがうまく出来ません。ご教授いただけないかなと、書き込みました。よろしくお願いします。

      削除
    2. githubからcloneしたコードに加えて、LPCXpresso IDEに含まれているCMSIS_CORE_LPC8xxとlpc_chip_8xxが必要です。
      LPC810は既に供給が停止されており、LPCXpressoの後継であるMCUXpressoにはLPC810用のライブラリが含まれていません。
      上記のようにLPC810は既に過去のものとなっていますので、私が公開したコードを自身の作品の参考とするために読む事は否定しませんが、今からビルドする事は時間の無駄だと思います。

      削除
  2. アドバイス。ありがとうございました。無事に書き込み出来ました。これからハード作成してみたいと思います。picでは、色々作って遊んでましたが、lpc810 は初めてなもので戸惑いました。
    ソースを参考に、今後はarduino で色々やってみたいなぁと。本当にありがとうございました。

    返信削除
  3. 私は今既にLPC810の手持ちが無いので、今から作るとしたらLPC812で再設計したいところです。
    ところで、これを作って何に使うのか少し興味があります。カーナビ開発以外でこれが役に立つとは思えないのですが。

    返信削除
  4. picで、デジタルスピードメーターを作りました。
    計算上では、ちゃんと表示するつもりだったのですが、実車に繋ぐと実車より遅く表示します。
    まぁ。実車が少し早めの設定にしてるのだと思いますが、その辺を正確な車速パルス発生器が有ればなぁと思ってたところです。これで正確に速度が判断出来るかなぁと。

    返信削除
  5. 私が作った回路はLPC810の内蔵CR発振器を使うので、最大1.5%の誤差があるはずです。
    トレッキング用GPSでスピードを表示しながら走行した経験では、メーターは40km/h位では正確ですが、100km/hの時にGPSは90km/h位を表示していました。安全側に振っているのか、車のメーターはやや高めに表示されるようですね。

    返信削除
  6. 対応。色々ありがとうございました。ハード制作して、動作確認出来ました。感動物でした。コントラストが、私の装置では濃いすぎなので、ソースを見て変更しようと試みましたが、どこを修正すれば良いのかわかりませんでした。おヒマな時にでもご教授頂ければなあと。すみません。よろしくお願いします。ありがとうございました。
    ソースを見たのですが、

    返信削除
  7. I2C LCDの初期化コマンドは、main.cのinitSeq[]です。コントラストは、2個のコマンドにまたがっており、現在は 0x70, 0x57 となっています。
    具体的な調整方法は、データシートを参照してください。「■使い方■」の7、に書かれています。
    http://akizukidenshi.com/download/ds/xiamen/AQM0802.pdf

    返信削除
  8. 返信遅くなって、申し訳ありません。
    今日、やっと時間が取れたので、早々に変更してみました。コントラストバッチリになりました。
    ついでに、デフォルトパルスを2pに変更してみたり、maxスピードを999km/hにしてみたり。色々遊ばしてもらいました。試しにmaxスピード9999km/hにしてみたら、流石に表示は3桁ですが、パルスはちゃんと出てるみたいで、ヤフオクで購入した、タクシーメーターに繋いでみたところ、9600km/hまでは、ちゃんと反応して、凄まじい金額の上がり方が面白かったです。
    こんな素晴らしい、ソフトを無償で提供してくださり、とても感謝しています。今後も、ブログ楽しみに拝見させてください。ありがとうございました。

    返信削除