プロが教えるわが家の防犯対策術!

マイコンのC言語プログラムのソースについての質問です。

マイコンを使い自由落下の時間差を測定しようと考えています。使用するマイコンはH8SX/1655です。ソフトウェアとしてHEWを使用しています。
システムとしてはマイコンのクロックを使い 、マイコンに2箇所から光の信号を入力して、物体を自由落下させ、物体が光を遮ったときを参考にして、その差分から時間を計測するというシステムを考えています。

具体的には
(1)フリーランタイマーを走らせるプログラム
(2)オペアンプからの入力を一定間隔でA/D変換するプログラム
(3)A/D値が定常状態から動いていたら、「レーザーが遮られた」ということなのでそのタイミングでフリーランタイマーのカウンタを取得するプログラムを
作ればいいということを教えていただいたのですが、プログラムの書き方がわかりませんでした。

この3つのプログラムのソースの書き方について解答・解説・指摘お願いします。
また、参考になるサイトがあれば紹介お願いします。

A 回答 (3件)

先の質問への回答でも書きましたが、一足飛びに最終目的を考えるのではなく、段階を踏みましょう。


まずは「タイマを扱えるようになること」と「A/D変換を扱えるようになること」を考えるべきです。

ルネサスには必ず行きましょう。ダウンロードには登録が必要ですが、たいした事を書く訳でもありません。
http://japan.renesas.com/products/mpumcu/h8sx/h8 …

「スキャンモードによるA/D変換」は必ず読みましょう。今回の目的に必須です。
タイマの方は、ハードウェアマニュアルで16bitタイマの仕様をよーく読みこめばどこを操作したらフリーランで動作して、タイマ値を取るにはどのレジスタを読めばいいかがわかります。

それを踏まえた上で「パルス幅測定」も読みましょう。
そのままだとむしろフォトインタラプタ向きになっていますが、タイマの扱い方自体のサンプルではありますし少し改造すれば簡単にフリーランタイマで走るようになります。
    • good
    • 0
この回答へのお礼

何回も回答ありがとうございます。
また、参考サイトの紹介ありがとうございます。
早速サイトからマニュアルダウンロードしました。
じっくり日にちをかけてマニュアルを読み込んでみたいと思います。

お礼日時:2010/11/30 10:31

プログラムの書き方がわからない?



CQ出版のH8基盤と記事にまさる解説は難しいように思います。
CQ出版のHPにも情報があるので、そこもチェックしてみましょう。

それでできないのであれば、方法を変えてみるのも手です。

全くの初心者で、CQ出版の本からでもステップを踏めない人は少なからず
いると思います。

ある意味H8+Hewは全くの素人からはじめるには理解しなければならない情報が
多くて大変だと個人的に思います。

無駄になるかもしれませんが、pic18あたりを使ってみるのも手です。
タイマとAD変換とPCへの通信ですね。結構定番の処理のように思います。

C言語によるPICプログラミング入門 (単行本) あたりにサンプルソースがあるので
AD変換あたりを中心にコピーすればできるように思います。
    • good
    • 0

直接の回答ではないですが……。



そもそも、開発の順序からいえば、まず、「自由落下の時間計測」の事前検証は終わっていますか?
入力にどんな素子を使うにしろ、その素子の出力を、オシロスコープなどで計測して、時間をはかって確認しておくことが大切です。

それから、デジタル的なパルスなら、どの程度のパルス幅なのか?(そのパルス幅で捕まえられるのか?)計測すべき時間(二つのパルスの時間差)はどのくらいなのか?
そのあたりを確認しておくべきです。

少なくとも、「オスロスコープで確認できた」=「マイコンへの入力は間違いない」ということをはっきりさせて、それから、マイコンを扱うという未知の領域に入るべきですが、この前段は確認できているのでしょうか?

ソフトを作成したとして、おそらく一発では動きません。
そのときに、オペアンプの出力はそもそも正しいのか? マイコンのプログラムはそもそも正しいのか? と、不確定要素が増えると、手に負えなくなります。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
結果ばかりを追い求めていました。
まずは、おっしゃるとおりオシロスコープで信号の波形を確認してみたいと思います。

お礼日時:2010/11/30 10:32

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!