• ベストアンサー

PICを用いてパルスを・・・

PICを用いてパルスを作っていたんですが、 PAUSESの値を変えることにより、 周期を大きくしたり小さくしたりをして これによりステッピングモータの速度調整の実験をしていたのですが、 周期の理論値と実験値に誤差がでており、 その原因がわからないので、 誤差をなくすための改善ができません。 だれか、経験ある方や。 わかるかも、情報をしっているという方がいれば、 お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • rabbit_cat
  • ベストアンサー率40% (829/2062)
回答No.1

まず、PICからの出力のパルスの周期は正しいでしょうか?もし可能であれば、周波数カウンタなどで、PICの出力を直接測定して、PIC側の問題なのか、モータ側の問題なのかの切り分けをするとよいです。 PICの出力がおかしいとなると、一番考えられるのは、サイクル数の計算が間違っている可能性でしょうかね。 空ループでパルス列を作っているということでしょうか? ループ終端の比較命令やジャンプ命令などのサイクル数の計算はあっていますか?(たいてい2重ループで作っていると思いますが、ループの最後ではこれらの命令はサイクル数が変わることがあります)

05236067
質問者

お礼

なんとなく理解できました。 周期が理論値と実験値でずれているのが原因のようです。 ポーズ値(μS)はほぼパルス幅と同じだけども、 やはり、PICがそのプログラムを演算する際、演算時間分、時間を 消費してしまうため、その消費した時間ぶん、ポーズ値で 指定したパルス幅がずれてしまい、それが原因のようですね。 ありがとうございます。 このサイト初めてなんでなかなか使い方分からず、 遅れてすいませんでした。約にたってよかったです。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • PICでUSARTとステッパのドライブ方法について

    PIC16F873を使用して、USARTでデータを送受信しながら、ステッピングモータをドライブしたい。 ステッピングモータのドライブ用にTIMER0の割込みを使用すると、USARTの割込みができず。   USARTで送受信しながら、ステッピングモータドライブ用に一定周期のパルスを 出力したいのですが、いい方法を教えてください。  ちなみにUSARTはステッピングモータをドライブするパラメータを送受信します。  PIC-Cを使用していますのでプログラムベース 大歓迎です。

  • picを用いた周波数の発生回路

    現在,ステッピングモータを回すために,picを用いてパルス発生回路を作成しています。 PWM機能を用いて作成しているのですが,100Hz・1200Hzのようなきっちりとした値の周波数を作成することは可能なのでしょうか? picは18F4680 コンパイラはC18を使用しています。 以上,ご教授よろしくお願い致します。

  • PICマイコンによる制御

    大学3年女子です. PICマイコンを使ってエンジンの点火時期を制御するという実験をしたいのですが, PICに具体的にどのようなプログラミングを書き込めばよいかわかりません.(C言語ではなく機械語です) エンジンにはエンコーダがついています.パルスを用いて制御します. 他に足りない情報がありましたら補足いたします. 教えて頂けたらと思います.

  • 相対的な誤差(厳密には違い?)について質問があります。

    相対的な誤差(厳密には違い?)について質問があります。 先日、とある実験を行いました。 その結果として真数グラフにおいて、ある直線Aを得ることができました。 最小二乗法を用いて傾きも求めることができました。 その傾きが-0.21でした。(添付画像参照) 横軸も縦軸も目盛に一致してはいない中途半端な数字です。 しかし、理論式は傾きが-0.27であります。 この理論式は横軸は目盛に一致している数字です。(縦軸は中途半端) この場合、理論式との誤差(本来の使い方と間違っているのは承知の上あえて使います・・・) を求めたいのですがどうすれば正しい評価ができるでしょうか? 考えた方法は2つあります。 1つは2つの傾きから誤差を出す方法です。 その場合、 (1-((-0.21)/(-0.27)) )×100 =20 となり、20%程度の誤差ってことになってしまいます。 しかし、あまりにも大きい誤差です。 もう一つの方法が相対誤差を用いる方法です。 実験値X―理論値Y = W のWを求め、理論値Yで割り ( W ÷ Y )×100 = G とする式より相対誤差を1つ1つの値で求めてみました。 すべての値で0.1~0.6%ほどとなりました。 どちらの誤差が正しいのでしょうか? 傾きで誤差を求めるのはやや抵抗があります。 というか、正しい気がしません。 一方、相対誤差で求める方法にも納得できていません。 理論値と実験値で、縦軸の値を使って相対誤差を求めました。 しかし、理論値は目盛にぴったりですが、実験値はそうではありません。 つまり、相対誤差を求めるには横軸の値が 実験値と理論値では違いがあります。 したがって、この相対誤差の方法も正しいとは思えません。 まあ、実験値は理論値になるようになるべく横軸を目盛にあうような 整数にしようとして測定したので、(ほとんど整数にはならず、近い値を取った) 横軸は近い値なのですが・・・・ どのようにして誤差を求めたらよいのでしょうか?

  • 誤差率 理論値が0の時

    誤差率は(理論値ー実験値)÷理論値×100で求めると思うんですが理論値が0の時は分母が0になって値がでないんですが理論値が0の時はどうやって誤差率を出せばいいんですか?

  • PIC16F84でデジタルスピードメーターを作る

    PIC16F84Aでスピードメーターを作ろうと思います。 条件は ・タイヤ1回転で4回のパルス。 ・1パルスあたり50cm(タイヤ外周2m) 測定方法は ・各パルスの間隔をタイマーで計測 ・タイマーは0.009秒のタイマー(Aと名付ける) ・パルスを検出するとタイマーAを繰り返し、Wレジスタに1ずつ加算。 ・次にパルスを検出したらWレジスタの値(Aを繰り返した回数)に応じて速度をダイナミック点灯表示させるプログラムを呼び出す。 速度の表示方法(ダイナミック点灯) ・パルス回数>200なら時速0kmと表示 ・パルス回数=200なら時速1km、パルス回数=199・・時速2km、パルス回数=1なら時速200kmと表示 各パルスの間隔をAを何回繰り返したかによって測定し、それに応じて7セグに3桁表示するものとする。 接続 ・RB0~RB6・・・7セグLED ・RA0~RA2・・・7セグLED(カソード) Wレジスタの値に応じて速度を表示するプログラムを呼び出すまではプログラム書けそうなのですが、 「ダイナミック点灯のプログラムの実行」と「パルスを検出し、タイマーAの回数をカウント」という2つの動作を同時にさせなければなりませんよね? 16F84Aでこのようなことは可能なのでしょうか? だとしたらどのような考え方でプログラミングすれば良いでしょうか?ど素人なので分かりやすい説明をお願いします。

  • 同軸ケーブルのαとβの算出

    大学の実験で同軸ケーブルに対して3つの測定法(Qメータ、電圧伝達比、矩形波及びパルス波)を用いてαとβの算出を試みました。 αとβの理論値をそれぞれ出し実験結果と比較すると、αについてはQメータの実験結果βについては矩形波及びパルス波の実験結果と近い値になりました。なのでαを求めるにはQメータによる測定が最も良く、βを求めるには矩形波及びパルス波による測定が良いとレポートに書きました。 ところが、何故それぞれその測定方法が良いのか考察してきなさいと言われてしまいました。友人に尋ねると、実は最も適しているのは電圧伝達比らしいのです。 理由は理論的な値が出るための周波数を計算で求めることが出来るかららしいのですが、私の実験結果と理論値では3桁ずれているので最も適しているとは書けませんでした。 そこでQメータと矩形波及びパルス波測定についての特性を是非教えていただきたいです。教科書やネットで調べてもQメータの使い方等が載っているだけで、αβ算出に向いている向いていないは載っていません。 どなたか助けてください。お願いいたします。

  • 相対誤差について

    相対誤差について 相対誤差が実験値から理論値を引いて、理論値で割ったものだというのは分かりますが、その正負は必要なんでしょうか? 例えば 実験値 理論値 相対誤差[%] 相対誤差'[%]  90   100    -10       10  160   150    6.67      6.67  190   200     -5      5 であったとき、相対誤差は正負の判断をつけずに出せば良いのか、それとも正負をつけて出した方が良いのでしょうか? よろしくお願いします。

  • 計算値と理論値の誤差について

    交流回路の実験をする前に、ある回路のインピーダンスZ(理論値)を計算で求めたあと、実験をしたあとの測定値を利用して、同じ所のインピーダンスZ(計算値)を求めると理論値と計算値の間で誤差が生じました。 そこでふと思ったのですが、なぜ理論値と計算値の間で誤差が生じるのでしょうか?また、その誤差を無くすことはできるのでしょうか? できるのなら、その方法を教えてください。 あと、その誤差が原因で何か困る事はあるのでしょうか? 教えてください。

  • アドミタンスの周波数特性(理論値との比較)

    物理の実験でアドミタンスの周波数特性をRC直列回路について調べました。 片対数表を用いてアドミタンスの振幅と位相差を求めました。理論値はそれぞれ wc/√1+(wcR)^2 tan^(-1)1/wcR を用いて計算して理論値を出しました。この値と実験のデータのグラフを比較するとグラフの形は似ているのですが値はあまり一致していないです。wの範囲は10Hzから10000Hz,C=1μF,R=1kΩで実験しました。 位相差についてはオシロスコープに表示されるリサージュ図形により求めました。 この誤差の原因は何なんでしょうか?目盛りを読み取るのときの誤差のような小さな誤差ではないと思います。またオシロスコープなどの抵抗など考えなければならないのでしょうか?ご回答よろしくお願いします。