サーボ信号をアナログ電圧に変換
ラジコン用サーボの信号はパルスの幅によってその強弱が表現されるので、それを直接計測するためにはタイマの機能の一つであるインプットキャプチャを使う必要があり、チャンネル数が増えると大変やっかいです。実際オートパイロットシステム Super Sylphideでは、FPGAを用いてタイマを多数構成しこの信号を計測しました。
マイコンでこの計測を簡易的に行うにはどうしたらいいでしょうか? マイコンに搭載されている機能を思い浮かべてみると、多くのマイコンではA/D変換機のチャンネル数が8chと、比較的多く搭載されていると思います。そこで、サーボに指令値を与えるパルスの幅に応じたアナログ電圧を生成できれば、マイコンでも簡易的にこの指令値が計測できることになります。
そこでPIC16F88と12bits D/Aコンバータ MCP4921を使って、サーボ用信号をアナログ電圧に置き換える装置を作ってみました。できあがりは写真の通りで、1台で1ch分ですが、非常にコンパクトになりました。
夏休み前のOlimex最終便
Eagleの回路図とレイアウト図をおいておきます。16F88は表面実装品を使っていますが、秋月のPICライタ等で書き込めるように、関係端子のみDIPと同形状のサブ基板に引き出してあります。
上がメイン、下がサブ。
PICのプログラムは無償コンビのsdcc + gputilsで開発しました。sdccのPICのサポートもかなり充実してきているようなので、有償コンパイラがそれなりの値段をすることを考えると有難い限りです。プログラムはpwm2acディレクトリの中にあります。開発環境を整えた上でmakeをしてください。開発環境の構築は『PICマイコン開発環境 (SDCCのインストール)』等が参考になると思います。
最後にPIC16F88を選んだ利用ですが、PIC16F88にはA/D変換機が入っています。ということは、逆の機能も、という魂胆が見え見えということです。
コメント
>yasudaさん
コメントありがとうございます。知る限りだとそのような製品がなかったので、当時作りました。あとアナログ電圧で制御とは変わったモータドライバですね。ラジコン用品でモータードライバの代用品があるのなら、それと組み合わせた方が簡単だと思います。
たびたびすみません。
可能であれば製品状態でのお売り頂く事は出来ませんでしょうか。
可能の場合で申し訳ないのですが、アナログ電圧の出力の仕様を教えて頂けますでしょうか、色々すみません。
理想はニュートラルで2.5V、Min0v、Max5vの仕様なのですが、お忙しいと思いますがお願いいたします。
やはり当方では対処できなく可能であれば助かります。
モータードライバはプロポを使用してRC信号でコントロールが出来るのですが、操作上どうしてもアナログ入力でのでコントロールしたいもので。
ちなみにモータードライバの仕様です。
http://www.pololu.com/docs/pdf/0J38/jrk_motor_controller.pdf
大変申し訳ありません。よろしくお願いいたします。
>yasudaさん
fenrirです。基板や部品など、当時の余剰資材をかき集めて作れないか検討してみたのですが、1台作る分もありませんでした。また作るとなると、これから基板や部品を発注して組み上げる、という工程になりますので、納期や金額で満足いただけないと思います。
申し訳ないのですが、どうしても同等品がほしいようでしたら、全ての設計資料は公開していますので、ご自身で同じものを作っていただけるよう、お願いいたします。
ありがとう御座います。
畏まりました、チャレンジしてみます。
色々すみません。
コメントする
- 匿名でのコメントは受け付けておりません。
- お名前(ハンドル名可)とメールアドレスは必ず入力してください。
- メールアドレスを表示されたくないときはURLも必ず記入してください。
- コメント欄でHTMLタグは使用できません。
- コメント本文に日本語(全角文字)がある程度多く含まれている必要があります。
- コメント欄内のURLと思われる文字列は自動的にリンクに変換されます。
- 投稿ボタンを押してエラーがでなければ、投稿は成功しています。反映されるまでには少し時間がかかります。
はじめまして、恐れ入ります検索でここへたどり着きました。
Posted by: yasuda : June 2, 2011 12:16 PM当方防振のカメラマウントを製作しており、RCジャイロを使用し防振効果を得ようと考えています。
そこでRC信号をモータードライバのアナログ電圧入力(0~5V、2.5V中立)へ変換するものを探しております。こちらの商品は販売されているものでしょうか。失礼ですが何か良い物をがあればお教え頂ければ助かります。PIC等は素人なもので…
よろしくお願いいたします。