• ベストアンサー

PICでのモータ制御

駄文で申し訳ありません。 今PICを介してDCモータ(エンコーダ付)を制御しているのですが、値を送り任意の回転をさせることはできるのですが、キーボードを押している間ずっと動作する、ということができません。 現在、キーボードの「A」を押すと距離1cm分回転するんですが、Aを押している間ずっと回転させるには、プログラムをどのようにすればよいでしょうか? 詳しい方是非ご教授お願いします。

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

  • ベストアンサー
  • techa
  • ベストアンサー率60% (41/68)
回答No.1

PICとPCはRS232Cによる通信でつながれていると想定して返答します。 通信の監視ルーチンとモータコントロールルーチンを動かしておいて、通信バッファを一定時間でクリアします。 モータをオフするタイミングの一定時間前までに通信でAがきていれば継続、そうでなければ停止、というようにすればできそうですね。 ということで、通信とタイマーとがあればよさそうです。

関連するQ&A

  • マウスによるモータ制御

    駄文で申し訳ありません。 現在PICを介してサーボモータの制御を行っているのですが、マウスを左に動かせば左回転、右に動かせば右回転するようなプログラムを作りたいのですが、いまいち方法が分かりません。 どなたか詳しい方教えて頂けないでしょうか? ちなみに、言語はJavaで、現在はキーボードより文字を送り、PICによりその文字に対応した信号をモータに送信し動作させています。 よろしくお願いいたします。

    • ベストアンサー
    • Java
  • モーターとPIC用の電源

    電子工作でPICを用いてモーターを動作させる回路を作成しています。 モータードライバIC(TA7291P)をPICで制御してモーター(FA-130)を回転させようとしています。 (最終的には3つドライバを使用して3つのモータを制御するつもりです。) 9Vの006P電池を5Vのレギュレータを用いてPICとモータードライバの電源にしたのはいいのですが、この5Vの電源をモーターの電源にしたところ、回転速度が非常に遅くて、PICにつないだLEDが点滅(電流が足りていない?)して上手く動作しませんでした。 調べてみるとIC側の電源とモーターの電源を別にしないといけないことを知りました。 そこで、IC側はそのままでモーター側の電源をスイッチングACアダプタに変えることにしましたが、出力電圧と出力電流はどのようなものを選べばよいでしょうか。 これは希望なんですが、ACアダプタ一つでモーターとIC用の電源にすることはできないでしょうか。

  • DCモーター回転制御装置

    電源を入れる。 ↓ リセットボタンによりPIC内カウントクリア (PICマイコン PIC16F84A / SSCI-010641 BD6211F搭載モータードライバモジュール使用) ↓ カウント「60」までタクトボタンでモーター正回転(1秒/1回転) (モーターの回転数はホール素子 IC (スイッチタイプ) / 松下 DN838Aにより検知) ↓ カウント「60」からタクトボタンでモーター逆回転(1秒/1回転) ↓ カウント「10」になったら3秒/1回転 ↓ カウント「0」で停止。 使用モーターは、マブチ FA130RA この様なDCモーター制御装置を作ろうとしています。 様々なサイト・書籍等で今まで勉強してきましたが 壁にぶつかりました。 C言語の書き方です。 C言語について初心者でも分かりやすい「書籍」ありましたら教えて頂けないでしょうか?

  • パソコンでDCモータ制御

    こんにちは。 制御初心者です。 パソコンでDCモータの速度、位置制御を行いたいのですが、パソコンでモータを制御するには、何が必要なのでしょうか?基本から教えてください。宜しくお願いします。 私の知識では、ネットで調べて、パソコンでPIC回路を制御する?位のことしかわかりませんでした。PIC回路ってどんなもので、パソコンとどうやってつなぐのだろう?と頭の中は??マークだらけです。 具体的に、こんな製品があるよ、という情報もいただけるとたすかります。 宜しくお願いします。

  • DCモータ制御について

    質問です。  複数のDCモータ(PC用ファン)をPWMで制御したいと思っています。 以下のような製品を見つけました。 http://www.robotsfx.com/robot/AGB_SC_01.html が、RCサーボモータのコントロールを行うようです。 RCサーボモータの制御信号でDCモータを回転(速度調整)させることは 可能でしょうか? また、複数のDCモータを簡単にシリアル接続で制御できる方法などありましたら、お教えください。 よろしくお願いします。

  • DCモーターの角度制御

    DCモーターを角度制御したいのですがどのようにしたら良いのかわかりません.(どういったものが必要なのかなど) 角度制御は,例えばモーターが時計回りにθ1回転したら,スイッチなど外部からの入力をしないで反時計回りにθ2回転する,というようにしたいです. 宜しくお願いします.

  • アルディーノマイコンでのモーター制御について

    アルディーノマイコンでDCモーターを制御したいのですが、上手くいきません。モータードライバーは、BTS7960というものを使用しています。スイッチを押すとモーターが30秒正転すると言う制御をしたいのですが、モータードライバーへの配線とプログラムスケッチを教えて頂きたいです

  • アルディーノでのモーター制御について

    アルディーノマイコンでDCモーターを制御したいのですが、上手くいきません。モータードライバーは、BTS7960というものを使用しています。スイッチを押すとモーターが30秒正転すると言う制御をしたいのですが、モータードライバーへの配線とプログラムスケッチを教えて頂きたいです。

  • DCモータをDIOボードで制御できますか?

    <目的> DCモータの回転速度をノートPCで制御したい <利用できる物> 6Vのバッテリー DC5V・10Aの電源 DC24V・5Aの電源 DCモータ(6Vのバッテリーと接続して、無負荷状態で回転させた時2A、モータを強制停止させた時15A流れました) TTLオープンコレクタ出力のDIOボード(interface社:CSI-293166) <質問> 6VのバッテリーとDIOボードでDCモータを制御 したいのですが、可能でしょうか? 可能にするために必要な物などがあれば教えて下さい。 よろしくお願いします。

  • DCモータのトルク制御とは?

    DCモータの回転数を制御する場合、モータに印加する電圧の大きさを調整しますよね。 DCモータのトルクを制御する場合は、何を調整しているのでしょうか? もちろん、トルクの大きさを変えるということは電流の大きさを変えるということだと思いますが、電流の大きさはどうやって変えるのでしょうか?電流の大きさというのは、モータに掛かる負荷によって決定されてしまうのではないのでしょうか? 一定の負荷が掛かる負荷器にDCモータを繋いでトルク(電流値)を制御する場合、その電流の大きさはどのようにして調整されるのでしょうか?

専門家に質問してみよう