PWM信号をエンコーダ信号に変換する方法とは?

このQ&Aのポイント
  • PWM信号をエンコーダ信号に変換する方法を検討しています。
  • PWM信号はモータ駆動用の信号であり、エンコーダ信号に変換する方法を知りたいです。
  • DCモータ駆動用のPWM信号をエンコーダ信号に変換する回路の実現方法を教えてください。
回答を見る
  • 締切済み

PWM信号を、エンコーダ信号に変換したいのです。

ある基板から、DCモータ駆動用のPWM信号が出力されています。 この信号を、エンコーダ信号(PWMに応じて周波数が変化し、位相が90度 ずれた2つのパルス)に変換する回路を検討しております。 (可能な限り、ハードだけで実現したいと考えております) どなたか、知恵を授けてください。 PWM信号はモータ駆動の信号ですので、CW/CCW両方の信号が出てきます。 (+側がPWMの時は、-側はH固定、-側がPWMの時は、+側はH固定) エンコーダ信号パルスは、PWMに応じて、位相が変化する必要があります。 PWMの周波数は約22KHzです。エンコーダ側は最速で6KHz程度が必要です。 よろしくお願いします。

noname#230358
noname#230358

みんなの回答

noname#230359
noname#230359
回答No.2

明確な回答で無く申し訳ありません。 PWM信号をパルスに直してもあなたの考え道理に動かないのでは? DCモーターの駆動回路は低速時にPWMの幅を変えても素直に比例して動き 出さないし、減速時にはオーバーラン傾向を示しモーターが先行しますよ。 そのためにエンコーダーを外付けしてフィードバックをかけます。 回路としては最高速のときに6KHZの8倍した発信周波数となるVFをつけ バイナリーカウンターと正逆の信号をつき合わせれば? 回路は自信なし。

noname#230358
質問者

お礼

かめせんにん様 ご回答、ありがとうございます。 ご指摘の通り、モータの制御においては、立ち上がりの遅れや、 惰性回転があると思います。 今回は、仮想モータ+仮想エンコーダ とでも言いましょうか、 「ある基板」に対して、あたかもモータとエンコーダが接続されている かの如く、騙すための回路を検討しております。 「ある基板」から取り出したモータ駆動信号(PWM)を加工して、 エンコーダ信号として、「ある基板に返す」事を目的にしております。 「ある基板」からは、「超理想的モータが接続されている」という風に 見えるかも知れません。 回路のご提案、ありがとうございます。 早速、試してみたいと思います。

noname#230359
noname#230359
回答No.1

毎度JOです。 高速なマイコンであれば、簡単な回路(ソフトウエアはそこそこ重い)で実現できそうですが、ハードウエアのみで実現するとなると、 PWMの正転・逆転で出てくる信号でPWMのパルスの幅に応じて、 エンコーダのA相・B相に対応する信号に変換する事でしょうか? そこで質問なのですが、 例えば、 1)PWMが正転時(+側がH固定 -側がLO固定)の場合、エンコーダに対応する信号は、A相・B相は加算側に6KHzのパルス 2)PWMが逆転時(+側がLO固定 -側がH固定)の場合、エンコーダに対応する信号は、A相・B相は減算側に6KHzのパルス 上記のような動作でよろしいのでしょうか?? 追加の質問 >>ある基板から、DCモータ駆動用のPWM信号が出力されています 1)この電圧は最大何Vでしょうか? 2)PWMのLO電圧(GNDに接続??)とエンコーダ回路のGNDは共通と考えて差し支えありませんか?? 毎度JOです。 >>PWMに応じて周波数が変化し となっていますから、 >>正回転時:A相がB相よりも90度進んでいる >>逆回転時:B相がA相よりも90度進んでいる これらの各相の周波数もPWMの幅の応じて変化する必要がありますね? 追記でも記載している通り、PWMの波形は 正転の場合 1)最小回転数時  -側がH固定・+側はLのわずかなパルス 2)中速回転数時  -側がH固定・+側はH・Lが50%のパルス 3)全速回転数時  -側がH固定・+側はL固定 となっているハズです、そこでこれらのPWMの変化を、 出力である「A相がB相よりも90度進んでいる」波形に周波数で「反映」させねばなりません、 A・B各相の周波数の例として 全速回転数時6KHzのパルス 中速回転数時3KHzのパルス 最小回転数時0.5KHzのパルス?? の如く変化させれば宜しいでしょうか?? 単に正転・逆転の検出だけであれば簡単ですが、PWMの幅に応じてA・B各相の周波数が変化するとすると、 直感的には、PWM制御されたモータに、ロータリーエンコーダが直付けされていて、 このロータリーエンコーダのパルスを、モータを介さずPWM信号から生成したい!!  その時のA・B相の周波数は、モータが正転全速回転時6kHz、と読み取れますが??

noname#230358
質問者

お礼

JO様 早速のご回答、ありがとうございます。 モータ駆動用信号(希望する回路への入力信号)は、+側、-側の2本あり、正回転時:+側がPWM(22KHz)、-側がH固定、 逆回転時:+側がH固定、-側がPWM(22KHz) なっているとお考え下さい。 *Hの時の電圧は、30Vですので、トランジスタ等をかませて、適当な電圧 (5Vや3.3V)に変換する必要があると考えております。 これに対して、出力側はA、B 2つのパルスが出力され 正回転時:A相がB相よりも90度進んでいる 逆回転時:B相がA相よりも90度進んでいる 状態を作り出したいと考えております。 PWMのLowは、出力パルスのLowと共通です。 以上、よろしくお願いいたします。 JO様 ご指摘の通り、最初に書いた「ある基板」には、本来 DCモータと、それに連動したエンコーダ(光学式)が 接続されており、モータの速度制御が行なわれています。 この基板から出力されるPWM信号を元にして、エンコーダ状の パルスを作り、基板に入力して、あたかも、モータとエンコーダが 接続されているかのように、騙したいと考えています。 PWMのDutyに対しての、エンコーダパルスの周波数は、 データ取りをして決めなければなりませんが、ハードだけで 実現する場合、半固定抵抗等で、調整できる仕様になっている事が 望ましいです。 PWMを積分(?)してアナログ電圧に変換し、更にPICマイコン等に 入力して、位相の違うパルスを出力する事も考えているのですが、 出来うるならば、ハードだけで実現したいのです。 技術力のない私に、知恵を授けてください。

関連するQ&A

  • PWM信号をアナログ信号に変換する方法

    PWM信号をアナログ信号に変換するための回路を教えてください。ここでのPWM信号の例は、デューティ比の分解能が10bit(4096段階)で周波数は488Hz、すなわち分解能の周波数は2MHzです。この信号を例えば0~5Vのアナログ信号に変換したいのです。よろしくお願いします。

  • PWM回路

    次のようなパルス信号を得るにはどのような回路、デバイスがありますでしょうか? 精度、波形品位は厳しい要求はありません。  ・周波数 10kHz~100kHz 可変           周波数を可変中にDutyが変わらないこと。  ・Duty   10%~90% 可変           Dutyを可変中に周波数が変わらないこと。   555のようなタイマーICでは難しいでしょうか? アドバイス頂ければ幸いです。

  • PWMモーター駆動回路について。

    先日「ゲートICの発振周波数」について質問させていただいた者です。 今回、DCモーター(15V2Aくらい)をPWM回路で制御したいと思い秋葉原の書店でいろいろな本を見てみましたが、「これは!!」と思える回路はみつかりませんでした。DUTYサイクルを連続的に変化させて回転数を変えたいのです。今後も調査は実施していくつもりですが、どなたかPWMモータ駆動回路を紹介していただけませんか?用途は趣味のホビーユースです。勝手ですが、以下の要望があります。 ? できるだけ部品点数の少ないシンプルな回路にしたい。 ? 本に載っていた「オペアンプ」は使わずに、74HC00や4011B、(可変)抵抗、コンデンサー等で作る簡易発振回路でまずは作りたい。 ? IC出力を抵抗を通してダーリントンパワートランジスター(手元にある2SD1793や2SD1572)のベースに入れてモーターを回す。 ? 発振周波数は10KHz20KHzにしたい。 要するにPWM制御の基本回路(試作をしたいので、できたら数値も含めて)をご紹介頂けたら大変うれしく思います。参考になるサイトでも結構です。よろしくお願い致します。

  • DCモータのPWM制御回路について

    PWMによるDCモータの制御についてお聞きしたいのですが、既設の駆動基板でDCモータを動かしているのですが、高速回転時の回転速度を落としたいと考えています。しかし、既設の駆動基板は外部よりパラメータ設定が出来ず(固定)、多層基板になっており解析出来ませんでした。(ブラックボックス化されている。) モータのパルス波形を見たところ、高速回転時のON Dutyは50%(f=23kHzなのでON時間は約22μS)でした。従いまして、、既設の駆動基板からDCモータに行く2本のリード線の間にON Dutyを最大30%(ON時間:13μS)に制限させる別回路を設け回転速度を落としたいと考えています。 私が考えられる範囲での具体案としましては、なるべく部品点数を少なくしたいのですが、モータへ行く2本のリード線のうちの1本(正回転時の+側)にFETかトランジスタを割り込ませ、オペアンプ又はコンパレータを使い、正回転時の矩形波の立ち上がりを検出したら、割り込ませたFETかトランジスタを13μSだけONさせたいと思っていますが、電子回路そのものと、使用する電子部品の型式、定数及び13μSだけONさせる方法が分かりませんので教えて頂きたく思います。又、別によい方法がございましたら、ご教授願います。 駆動条件は以下のようになります。 (1)PWMのドライブ電圧:DC30V(正転時0~+30Vの矩形波、逆転時0~-30Vの矩形波、) (2)駆動周波数:23kHZ(固定) (3)低速回転時のON Duty:10%(正転・逆転あり) (4)高速回転時のON Duty:50%(正転のみ)

  • PWMによるDCモータの制御についてお聞きしたいのですが、既設の駆動基

    PWMによるDCモータの制御についてお聞きしたいのですが、既設の駆動基板でDCモータを動かしているのですが、高速回転時の回転速度を落としたいと考えています。しかし、既設の駆動基板は外部よりパラメータ設定が出来ず(固定)、多層基板になっており解析出来ませんでした。(ブラックボックス化されている。) モータのパルス波形を見たところ、高速回転時のON Dutyは50%(f=23kHzなのでON時間は約22μS)でした。従いまして、、既設の駆動基板からDCモータに行く2本のリード線の間にON Dutyを最大30%(ON時間:13μS)に制限させる別回路を設け回転速度を落としたいと考えています。 駆動条件は以下のようになります。 (1)PWMのドライブ電圧:DC30V(正転時0~+30Vの矩形波、逆転時0~-30Vの矩形波、) (2)駆動周波数:23kHZ(固定) (3)低速回転時のON Duty:10%(正転・逆転あり) (4)高速回転時のON Duty:50%(正転のみ) このコミュニティー(QNo.6136717)でワンショットマルチバイブレーターを提案頂いたので自分なりに検討し図面を作成しましたが、下記の2点につきまして自信がありません。 (1)私が書いた図面は+側(正回転)の立ち上がりエッジは捉えられると思うのですが、-側(逆回転)の立ち上がりエッジを捉えるにはどのような回路を追加すれば良いか分かりません。 (2)FETでGND側をON/OFFしますが、逆回転時にも動作してくれるのか不安です。 図面を添付致しましたのでアドバイスをお願い致します。

  • PWMによるDCモータの制御についてお聞きしたいのですが、既設の駆動基

    PWMによるDCモータの制御についてお聞きしたいのですが、既設の駆動基板でDCモータを動かしているのですが、高速回転時の回転速度を落としたいと考えています。しかし、既設の駆動基板は外部よりパラメータ設定が出来ず(固定)、多層基板になっており解析出来ませんでした。(ブラックボックス化されている。) モータのパルス波形を見たところ、高速回転時のON Dutyは50%(f=23kHzなのでON時間は約22μS)でした。従いまして、、既設の駆動基板からDCモータに行く2本のリード線の間にON Dutyを最大30%(ON時間:13μS)に制限させる別回路を設け回転速度を落としたいと考えています。 私が考えられる範囲での具体案としましては、なるべく部品点数を少なくしたいのですが、モータへ行く2本のリード線のうちの1本(正回転時の+側)にFETかトランジスタを割り込ませ、オペアンプ又はコンパレータを使い、正回転時の矩形波の立ち上がりを検出したら、割り込ませたFETかトランジスタを13μSだけONさせたいと思っていますが、電子回路そのものと、使用する電子部品の型式、定数及び13μSだけONさせる方法が分かりませんので教えて頂きたく思います。又、別によい方法がございましたら、ご教授願います。 駆動条件は以下のようになります。 (1)PWMのドライブ電圧:DC30V(正転時0~+30Vの矩形波、逆転時0~-30Vの矩形波、) (2)駆動周波数:23kHZ(固定) (3)低速回転時のON Duty:10%(正転・逆転あり) (4)高速回転時のON Duty:50%(正転のみ)

  • タイマICを使ったPWM信号の作り方

    周波数:約100Hz(精度悪くても良いです) デューティ比:10%~90%ぐらい タイマIC入力:5V PWM信号:5V・20mA以下 以上の仕様でPWM信号を出力する回路を自作したいのですが、 どのようなタイマICを使うのが良いでしょうか? タイマIC555を検討したのですが、デューティ比50%以上しか作れないようでした。 よろしくお願いします。

  • PWMのパルスを直流電圧にしたいです

    PWMのパルス幅によって電圧が0~5VとしてPICなどのADコンバータで入力して デジタルの数値として認識したいのですが、 パルス波形をDuty比に応じた直流電圧にするにはどんな回路をつければ良いでしょうか? またPWMの周波数は何ヘルツくらいが良いでしょうか? (周波数の上限、下限などがあったら教えていただきたいです)

  • PWMの積分による復調について

    ne555を使って58kHzの周波数を作り、ICのCV端子にオーディオなどから、信号(モノラル)を入れ発振周波数をコントロールしPFMで信号を変調してNANDを使いPWMに変換した信号を、CR積分回路で復調しようと思うのですが、どういった式で計算し結果どのような値が出れば復調できるのでしょうか? ちなみにローパスフィルタの式1/(2π・C・R)この式を使いカットオフ周波数を求めると、私の回路では72.3Hz(R=22k C=0.1u)となるのですがこれでよいのでしょうか?だとするとどうしてこれでよいのですか教えてください。

  • ステッピングモータの駆動方法

    ステッピングモータのドライバのF/Wを作っています。 PWMのキャリア周波数=内部処理周波数=角度の更新周波数は16kHzとしています。 この期間に入ってきたパルス=ステップを数えて、次の更新タイミングで動かすようにしました。 例えば、14kHzの入力パルスで動かすと、7ステップ動いたら1周期分止まるような動きになるため、これに起因する振動が発生します。 つまり16kHzでステップが進み、1回休むことで14kHzで動いている辻褄合わせが起こります。 この方式では、フルステップでもマイクロステップ駆動でも、同様の現象が発生します。 市販のドライバもキャリア周波数を固定しているにもかかわらず振動がありません。(フルステップで比較) 入力パルスの周期から基本ステップではない角度を求めて動かして、停止時に端数を動かして基本ステップの倍数にする処理を入れているのでしょうか。 以上よろしくお願いします。