• 締切済み

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%(正転のみ)

みんなの回答

回答No.6

補足 #4です。 図は#4に添付しておきました。(gooの不具合のため) マイコンから30Vは出力できないので、パワーラインではなくてマイコンのPWM制御出力を改造した方が簡単ですよ。BGAでなければ、マイコンの出力PINをハンダで浮かせて配線します。

fujiko4321
質問者

お礼

ご回答頂きましてありがとうございます。 「モーターに負荷を掛けて回してみればわかります。負荷が増えるとPWMのON Dutyの時間が増加します。」 →モータに負荷を掛けて回し、波形を見てみました。低速時も高速時も負荷を掛けるとON Dutyが70~80%位まで上がり、速度制御をしていることが判明しました。 未熟な上に憶測で判断し、回答頂いた皆様の判断を鈍らせてしまい申し訳ありませんでした。 「パワーラインではなくてマイコンのPWM制御出力を改造した方が簡単ですよ。」 →図の添付ありがとうございました。確かに単安定マルチバイブレーターとマイコンのPWM制御出力とのANDを前段に入れればパワーラインの改造よりも大分楽になりますね。しかし、速度制御をしていることが判明しましたので、いずれの方法も使えなくなってしまいました。本当にすみません。マイコンの実装はBGAではないので、パターンさえ追えれば出来そうだったのに・・・。 残念な結果ですが、なんとしても、この制御を成功させなければなりません。ご教授頂いた内容をバラックで確認し、報告する事は可能です。 未熟者ですが、気持ちと使命感はあります。諦めずやりますので、何か解決策が無いか今後ともどうぞ宜しくお願い致します。

回答No.5

補足です >それでエンコーダからの検出で目標のパルス数がカウントされると、モータへのパルス波形を切る。といった制御をしているように感じました。 通常はPWMの出力を停止するだけではモーターは静止しないのです。機械の慣性とコンデンサに電気が貯まっているためです。従ってサーボの制御では、停止位置に近づくと減速制御をさせるのですが・・・ >なんとなくなのですが、速度の制御まではしていない様な気がするのです。 これはモーターに負荷を掛けて回してみればわかります。負荷が増えるとPWMのON Dutyの時間が増加します。 高速の時だけ回転数を落としたいとの事なので、私の回答もNGですね。申し訳ありませんでした。 DC-DCコンバーターをいじると、低速時も回転も落ちるので駄目ですね。したがってサーボがないという前提条件で最初のfujiko4321さんの提案どうりパルス幅の制限をするのがよいと思います。 回路は簡単で、最大パルス幅を出力する単安定マルチバイブレーター(ワンショット)を作り、それとPWMの信号のANDをとって、PWM出力とすればOKです。ワンショットのトリガーはPWMの立ち上がりエッジに設定します。ワンショットはfujiko4321さんのお薦めの555でもよいし74121でもどちらでもOKです。

fujiko4321
質問者

お礼

ご回答ありがとうございます。 お礼と補足には画像が添付できませんので 下記に移動致しました。 http://okwave.jp/qa/q6139375.html お手数ですが、引き続き宜しくお願い致します。 電子回路につきましては初心者です。

回答No.4

問内容とお礼を読む限りでは、その方法はNGのようです。 マイクロコントローラーからモーター制御のPWM信号が出力されているのであれば、そのモーターはデジタル・サーボがかけられてる可能性が高いです。その場合に制御回路の出力をいじると、トルク変動で回転数が不安定になったり、最悪起動しなくなったりします。 サーボがかけられている場合には、モーターの回転数を検出するエンコーダか電流検出用のCT(カレント・トランス)があり、それがマイクロコントローラーのカウンター入力に接続されているはずです。デジタル・サーボの場合には、エンコーダーであれCTであれ、その波形を整形して矩形波のパルスに変換してカウンターに入力します。そして入力される回転信号のパルスの周波数を測定してモーターの回転数を検出しているのです。 その場合には2つの方法が検討できます。 (1) カウンターのクロックを外部から入力している場合 高精度の回転数制御をウリにしているのであれば、カウンターのクロックに数十kHzの専用の水晶振動子を搭載しています。その水晶振動子(水晶発振器)の周波数を高くすれば見かけ上のモーターの回転数が高くなり、回転数が落ちます。 (2) カウンターのクロックにCPUのクロックを流用(分周)している場合 カウンターの入力を切り離し、エンコーダーとカウンターの間に「PLLシンセサイザー」を挿入して、モーターの回転数を見かけ上高くします。PLLシンセサイザーは、整数倍でなければアナログでつくらなければならないので結構難易度が高いかも。また位相が遅れるので回転が不安定になる可能性もあります

fujiko4321
質問者

お礼

ご回答ありがとうございます。 ご提案の通り、このモータには搬送物の位置決めをする為にエンコーダが付いています。確かにエンコーダからのパルス信号の周波数を上げれば回転速度を落とせそうなんですが、例えばエンコーダで位置決めと速度制御をしている場合、エンコーダからのパルス信号の周波数を2倍に上げた場合、回転速度が半分になりますが、移動距離も半分になってしまいます。その場合、「搬送物の位置決め」と言う意味ではNGになります。 高速回転時と低速回転時のモータへの波形(矩形波)を見て思ったのですが、低速時はON Duty:10%、高速時はON Duty:50%と2種類に固定されているような気がします。それでエンコーダからの検出で目標のパルス数がカウントされると、モータへのパルス波形を切る。といった制御をしているように感じました。なんとなくなのですが、速度の制御まではしていない様な気がするのです。 又、私が試しに確認した事を下記に記します。 マイクロコントローラ自体の電源は外部ACアダプターよりDC32Vを入力しています。 モータのドライブ回路の電源電圧を18V程度に落とせば回転速度が落とせますので、基板を解析して 見ましたが、コイル・電解コンデンサ(平滑用)・FET・トランジスタが各6~7個 あったのと、多層基板であった為、ドライブ回路の電源を作っている場所を 絞り込めず断念しました。 又、基板自体の電源電圧がDC32Vだったので、そこからあえてDC30Vを 作るわけが無く、これがそのままドライブ回路の電源電圧になっていると 思いましたので、ACアダプターの代わりに定電圧電源から供給し、18V付近まで 下げることが出来ないか確認してみました。結果は、30Vまで下げた所で システム自体が動かなくなりました。と言うことは、入力電圧を監視しているのだと思います。 やはり、どうしても外付けの回路で逃げたいのですが、 何とか良い方法はないでしょうか? アドバイス頂いたものをバラックで組み、動作を確認して報告も可能です。

  • MOMON12345
  • ベストアンサー率32% (1125/3490)
回答No.3

なんかこのサイトはエラーが出まくりで、なかなか解答できません。 まあgooがやる事なのでだめだめなのでしょう。 えーと、文章で説明するのは面倒なので↓を見て下さい。 http://bbradio.hp.infoseek.co.jp/555_01/555_01.html S1の代わりにPNPのトランジスタを入れ、ベースを適当な抵抗で分圧してモータのドライバに接続します。 555のタイマ時間が13μS程度になるように定数を設定します。 555の出力,3番端子をFETのドレインに接続します。 http://ixdev.ixys.com/DataSheet/98556.pdf FETのソースはドライバのGND端子に、ドレインはモータに接続します。 つまりホット側をスイッチするのではなくGND側を切るように使うのですが、これはFETドライバを節約するだけの理由です。 つまりドライバトランジスタを別途つけるのならばホット側をスイッチしてもかまいません。 他に低速動作時にはこの回路が働かない(FETはONになりっぱなしになる)ように多少の工夫は必要です。 555がワンショット、Trは入力波形を反転させて555をトリガするためのもの、FETでANDを取っています。 なおFETがOFFしたときにDCモータだとスパイク電圧が出ると思うのですがどうでしょうか? このあたりの保護回路とかも、必要に応じて組み込んでください。

fujiko4321
質問者

お礼

詳細を連絡頂きましてありがとうございます。 よく確認してみてまた連絡致します。 先ずはお礼まで。

fujiko4321
質問者

補足

ご回答ありがとうございます。 お礼と補足には画像が添付できませんので 下記に移動致しました。 http://okwave.jp/qa/q6139375.html お手数ですが、引き続き宜しくお願い致します。 電子回路につきましては初心者です。

  • MOMON12345
  • ベストアンサー率32% (1125/3490)
回答No.2

#1です。 そうですか、外付けしかないとすれば外付けでやるしかないですね。 簡単にやるにはモータへの出力を積分して電圧にし、コンパレータで低速なのか高速なのかを判断し、高速時ならばワンショットをたたいて13μSだけONになるようにして入力波形とANDを取る方法ですかね。 電圧が高いので色々工夫は必要ですが、そう大げさな回路ではないと思います。 ただコンパレータで判断すると必ず遅れが生じます。 (積分回路が必要なので) 従ってモータの回転数は回転開始時や速度変更時に不安定になります。 これを回避するにはパルス幅そのものを計測する必要があります。 これもロジック回路で組めばそう大変ではないと思います。 あとはPICなどのマイコンにやらせる手ですね。 この方が簡単かも知れません。

fujiko4321
質問者

お礼

ご回答ありがとうございます。 コンパレータの部分はイメージできましたが、 「高速時ならばワンショットをたたいて13μSだけONになるようにして 入力波形とANDを取る方法ですかね。」 の部分がよく分かりませんでした。 (1)ワンショットをたたいて (2)13μSだけONになるようにして (3)入力波形とANDを取る方法 について出来ましたら、詳しく教えて頂けないでしょうか? 私は、電子回路の設計につきましては初心者です。

  • MOMON12345
  • ベストアンサー率32% (1125/3490)
回答No.1

ワンショットをたたく手もありますが、ドライブ回路等を考えるとモータドライバを作り直した方が早いような気もします。 パルス幅を減らすために555などをワンショットとして使うならば、それをそのまま自励発振させれば良いわけですよね。 連続可変だとかリニアリティが云々となるとディジタル制御の方が楽になりますが、繰り返す周波数が固定でデューティが低速と高速用だけなら作ってしまった方が簡単そうです。

fujiko4321
質問者

お礼

早速回答頂きましてありがとうございます。 この基板が制御しているのは今回のDCモータもそうですが 他に4軸 モータがあります。各モータドライバへの指令は同一基板内の CPUから出ているものと思われます。 又、パソコンとの通信ボード等もこの基板内に 組み込まれています。製造元はアメリカです。 従いまして、どうしても外付けの回路で逃げたいのですが、 何とか良い方法はないでしょうか?

関連するQ&A

  • 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しますが、逆回転時にも動作してくれるのか不安です。 図面を添付致しましたのでアドバイスをお願い致します。

  • 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%(正転のみ)

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

    DCモータのPWM制御について 会社の課題で、DCモータ(5W程度)の回転数をPWM制御によってコントロールするという物が出ました。 また、制御の条件として (1)ボリューム等によって回転数を0から最大まで可変できること。 (2)正転、逆転ができること。 (3)回転速度の補償をすること(回転数フィードバックあり) 上記以外の仕様は自由。マイコンの使用はOK、ただし市販キットによる代用は不可。 というようになっています。 当方は電気系の学科を卒業していますが、電子工作の経験はあまりありません。 なので1から勉強しなおしたいので、上記の制御について詳しく書かれている書籍・サイトをお教え 願えないでしょうか。(できれば回路図まで載っているものを) 電子工作をする上でのアドバイスも歓迎します。 特に(3)に関しての情報が欲しいです。タコジェネレータとPID制御を用いればよさそうなことはわかりますが・・・。

  • DCモータを駆動する方法

    DCモータを駆動するにあたって,駆動回路を組もうと考えているのですが,モータドライバを使った駆動回路もあればトランジスタを使った駆動回路もあり,どちらを組んだらよいのか分かりません.また,二つの違いもよく分かりません.ぜひアドバイスをお願いします.ちなみに目的はDCモータをPWM制御で速度制御するための駆動回路です.

  • ブラシ付きDCモーターの速度制御について

    素人です 高所作業車についているブラシ付きDCモーターの速度制御をしようと思い、添付したファイルにあるスピードコントローラーを購入し、取り付けたのですが正転では動き速度調節もできるのですが、逆転に切り替えると動かなくなります 正転逆転はスイッチで切り替えが可能で、ブラシ付きDCモーターはトルクが6.37N.mの物をACデルコバッテリー AMS44B19Lを2台で動かしています スピードコントローラーは デューティ比一定のタイプ。 電圧 : DC12V - DC40V  制御電源 : 0.01 - 400W サイズ : 6cm x 7.5cm (約) PWM比 : 10% - 100%   PWM率 : 13 KHz の物を使用しており、正転逆転スイッチとモーターの間の配線に繋げました 原因はなんでしょうか? よろしくお願いします

  • ブラシ付きDCモーターの速度制御について

    素人です 高所作業車についているブラシ付きDCモーターの速度制御をしようと思い、スピードコントローラーを購入し、取り付けたのですが正転では動き速度調節もできるのですが、逆転に切り替えると動かなくなります 正転逆転はスイッチで切り替えが可能で、ブラシ付きDCモーターはトルクが6.37N.mの物をACデルコバッテリー AMS44B19Lを2台で動かしています スピードコントローラーは デューティ比一定のタイプ。 電圧 : DC12V - DC40V  制御電源 : 0.01 - 400W サイズ : 6cm x 7.5cm (約) PWM比 : 10% - 100%   PWM率 : 13 KHz の物を使用しており、正転逆転スイッチとモーターの間の配線に繋げました 素人なので自信はありませんが、回路図かきました よろしくお願いします

  • DCブラシモータのPWM駆動による寿命変化について

    御世話になります 自社のDCモータ駆動製品に速度制御機能を追加するにあたり PWM制御のコントローラを製作しました 動作も問題なかったので製品のオプション品として製品化 を進めようとしたところ 社内で 「PWM駆動によりDCモータに負荷がかかり、製品寿命に影響するのでは」 という意見がでました 私としては製品の機構部を速度制御することにより負荷の最適化が 行えることで、結果として製品寿命が延びると思っていたくらいです メーカに相談してもよくわからないとのことで、困っています 確かにホームページでPWM駆動により ブラシ寿命が減ると注意書きを記載しているメーカもありましたが どうしてそうなるのか原理がよくわかりません ご存知の方がいらっしゃいましたらご教授いただけませんでしょうか? 例えば同負荷 同回転数の連続通電とPWMの場合 概算でどの程度影響(10%減とか)するものなのでしょうか? よろしくお願いいたします

  • モータをPWM駆動した際の電流について

    ┌── 電池 ── 電流計1 ── モータ ─ 電流計2 ────── FET ─┐ │ └ 電圧計 ┘        └←← ダイオード ←←┘           │ │                                            │ └──────────────────────────────┘ となるシンプルな回路でPWM制御によるモータ駆動のテストしています。 周期は24kHzで、モータは安いDCモータです。 ※実際にはHブリッジでかつゲートドライバが入っていますが省略しています。   また、Hブリッジの駆動にはデッドタイムを500nsほど入れています。 この回路における電流計1と電流計2で計測される値の意味が、分からなくて困っています。 任意のPWM比でFETをドライブした際に、電流計1 & モータ & 電流計2には、 ほぼ電圧計*PWM比の平均電圧が加わる考えており、 電流計1と電流計2の抵抗値と、FETによる抵抗値が十分小さければ 平均電圧のほとんどはモータに加わる。 電流計1ではPWMのON期間の電流のみが計測され、 電流計2ではダイオードで帰還する分も併せて計測している。 このため概ねでは、電流計2 = 電流計1/PWM比 の値となると考えています。 電圧計*電流計1が電池の消費電力(入力電力)であり、 少なくともモータをロックしておけば、モータに加わる出力電力は(電圧計*PWM比)*電流計2となり、 電圧計*電流計1 = (電圧計*PWM比)*(電流計1/PWM比)が成り立つと考えてよいでしょうか? モータが熱として捨てる以外の損失が無ければという前提ですが。 実際に計測してみた値は、電圧計=11.6V、PWM比=10%、モータはロックにおいて 電流計1=0.26A、電流計2=0.48Aでした。 これに対し、直流安定な電源として、充電乾電池1本を繋いでモータをロックして計測した際に、 電圧=0.85V、電流=0.394Aより、巻線抵抗=2.16Ωでした。 PWMで計測した際の値で、平均電圧=1.16V、電流=0.48Aがモータに加わっていれば 巻線抵抗=2.42Ωのため充電乾電池による結果と概ね一致します。 しかし、電流計1の値をどのように読み取れば良いのかが分かりません。 私の考え方では、電流計1=0.048Aでなければ入力電力=出力電力が成り立ちません。 お手数ですが、どこに間違えがあるのか御教授いただきたいです。

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

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

  • arduinoによるDCモータ駆動について

    arduinoによるDCモータ駆動について 皆さんこんにちは. 私は現在,arduinoというマイコンボードからDCモータを制御しようと しています. 基本的には上手く動いているのですが,いくつかその挙動で 不可解なことがおきています. 挙動1:モータ駆動開始してしばらくは,負荷側を等速で動かせない (ウォームアップのようにしばらく(ゆっくりと)動かしていると,順調に動くようになる) 挙動2:ある程度使用していると,モータが駆動できなくなってしまうことがある (負荷を外しても,PWM音は聞こえるが,モータは回転しない.一度この状態になると, ずっとこのまま) マイコンボード:Arduino Duemilanove モータドライバ:18v15(Pololu社) ギヤードモータ:380K75 電源:ACアダプタ(12V-5A),電源ジャックに供給 制御:PWM制御 挙動1については現在は誤魔化しながら使用していますが, 挙動2に一度なってしまうと,ずっとそのままなので困ってしまっています. リセット等をかけても改善せず,仕方ないので現在は新しいボードに交換することで 対応しています. (ATmegaチップの交換も試してみましたが,改善しませんでした.) おそらくマイコンボードのチップ以外のところが破損していると考えられますが, これにはどのような原因が考えられるでしょうか? また,これを未然に防ぐ方法などは,ありますでしょうか? 当方は電気回路等に関して未熟ですので,皆様のお力をお借りできたらと思います. よろしくお願いします.