本文へ移動
サポートシェアリングソリューション
OKWAVE Plus

このQ&Aは役に立ちましたか?

締切済み
※ ChatGPTを利用し、要約された質問です(原文:DCモータのPWM制御回路について)

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

2023/10/18 02:27

このQ&Aのポイント
  • DCモータのPWM制御回路についてお聞きしたいのですが、高速回転時の回転速度を落としたいと考えています。
  • 既設の駆動基板は外部よりパラメータ設定が出来ず(固定)、多層基板になっており解析出来ませんでした。
  • モータへ行く2本のリード線のうちの1本(正回転時の+側)にFETかトランジスタを割り込ませ、オペアンプ又はコンパレータを使い、正回転時の矩形波の立ち上がりを検出したら、割り込ませたFETかトランジスタを13μSだけONさせたいと思っていますが、電子回路そのものと、使用する電子部品の型式、定数及び13μSだけONさせる方法が分かりませんので教えて頂きたく思います。
※ 以下は、質問の原文です

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

2010/08/26 13:38

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

回答 (5件中 1~5件目)

2010/08/29 23:32
回答No.5

回答3さんがとても良いアドバイスをしていると思います。

私はこの分野の専門家ではないので間違っているかもしれませんが

エンコーダが、速度フィードバックをしているのであれば、
そのフィードバックを、
リミッタを掛けたい回転数のとき、
制御系が出力しようとする、高速回転しているような
情報にしてしまえば、解決できると思います。

ブラックボックス(制御系)内の基準値(指令値)と
フィードバック値が一致してしまえば、
それ以上、高速回転させようとしないとしないと思います。

お礼

2010/08/30 06:09

ご回答ありがとうございます。

検討させて頂きます。

先ずはお礼まで。

質問者

このQ&Aは役に立ちましたか?

この質問は投稿から一年以上経過しています。
解決しない場合、新しい質問の投稿をおすすめします。

質問する
2010/08/28 22:55
回答No.4

TTLレベルなら
分周して パルスを 半分にしてしまうの手っ取りばやいと思うんだが
http://www1.rcn.ne.jp/~nm-matsui/timer_n1.htm


考え方としては
DC30V 前で 分周 するんだと思う
電気やさんっじゃないので突っ込まれても 回答できないが



こんなことで悩むより
自前でPWM制御回路を用意したほうが
いいと思う

お礼

2010/08/29 09:09

ご回答頂きましてありがとうございます。

「分周して パルスを 半分にしてしまうの手っ取りばやいと思うんだが」
→ご指摘の通りなのですが、回転速度と移動位置も制御している為、エンコーダからフィードバックしているパルス信号や比較の基準部分も考慮しないと速度偏差異常や位置決め異常になってしまいます。

「自前でPWM制御回路を用意したほうがいいと思う」
→この基板が制御しているのは今回のDCモータもそうですが
他に4軸 モータがあります。各モータドライバへの指令は同一基板内の
CPUから出ているものと思われます。
又、パソコンとの通信ボード等もこの基板内に組み込まれています。
製造元はアメリカです。従いまして、自前でPWM制御をする場合
他のモータ制御やCPUとの兼ね合いがあり、難しいです。

質問者
2010/08/28 14:41
回答No.3

>モータがどこまで移動したかはエンコーダで見ていますが、
エンコーダは位置フィードバックだけでなく
常識的に速度フィードバックもしてるのだと思う

仮に、本装置の外部に強引に速度制御装置を取り付けたとして
本装置は何時まで経っても速度が上がらないのでどんどん速度を上げようとする
そのうちに速度偏差過大異常となって停止する事は予測できます

もし速度偏差異常検出していないならそれなりに解決可能かも知れません
差し当たって、簡易的な実験として

1 モータ軸を負荷から切り離して主回路線も外して低速で回してみる
  当然の如くそのままでは位置偏差異常にはなるが
  位置偏差異常が出る前に手で回してあげれば位置偏差異常は回避できる
  (当然の如く、指令速度に近い速度で手で回す必要があります)

  もし、速度偏差異常を検出しているなら↑の実験は出来ません
  そんな高精度に手で回す事は不可能です
  つまり、即速度偏差異常が出て停止してしまいます


2 モータ軸に適当なプーリか何かを付けてに重りをぶら下げて回してみます
  (クレーンみたいに)
  空荷と適当な重りを載せた場合とで速度を実測してみます
  重りを載せて速度が遅くなるなら速度制御はしていないので見込みは有ります
  重りを載せても速度が変わらないなら速度制御してるので見込みは有りません


先ず上記を確認するのが先決と思います
もし何らかの外付け速度制御装置を入手できたとしてもそれは粗大ゴミに化けますので


 

お礼

2010/08/28 15:53

ご回答頂きましてありがとうございます。

早速(2)の方法で確認しました。結果はご指摘の通り、速度に変化はありませんでした。
モータへの波形も見てみましたが、低速時も高速時も負荷を掛けるとON Dutyが70~80%位まで上がり、速度フィードバックをしていることが判明しました。

憶測で判断し、回答頂いた皆様の判断を鈍らせてしまい申し訳ありません。
残念な結果ですが、なんとしても、この制御を成功させなければなりません。ご教授頂いた内容をバラックで確認し、報告する事は可能です。

未熟者ですが、気持ちと使命感はあります。諦めずやりますので、何か解決策が無いか今後ともどうぞ宜しくお願い致します。

質問者
2010/08/26 15:47
回答No.2

毎度JOです。
PWM出力の信号に加工を行う事は、処理が煩雑になり安定性を出すのに苦労します。

PWM出力平均電圧はON-OFFのデューティー比と電源電圧の積で計算されます
ON-OFFのデューティー比50%で30Vなら、出力平均電圧は15Vです。本件のモータは「電圧制御」されていると思われます、
そこで電源電圧(今回は30V)を低下させる事により、最高回転時の出力平均電圧を低下させる事が出来ます、
この場合最低出力電圧も低下しますし逆転時の電圧も低下しますが、回路に加える変更が最低限で済みます

22μSを13μSに低下させるなら、電源電圧を17.7Vにすれば希望の出力平均電圧が得られます。

毎度JOです。
>>どうしても外付けの回路で逃げたいのですが
少し考えて見ましたが、PWMのデューティを加工するのは難易度が上がります

PWMを加工するのであれば、ドライブ回路も考えねばなりません
1)今回のモターの消費電流(最大時)は如何ほどでしょうか?
2)正転・逆転共に、PWMの制御する最低出力平均電圧が下がっても良しとしますか?

毎度JOです。
フィードバック制御してるとの事なので、PWMをいくらいじっても無駄な事です、正常なフィードバックが掛っていれば「修正」されてしまいます

今回はモーターの「最高回転数」を抑えたいと思われます、
本体制御部に手を加えたく無いのであれば、このフィードバック回路を「故意」にエラーさせなければなりません
手っ取り早くするなら、エンコーダーの信号パルスを1.5倍とか2倍にする事ですかね
使用されているロータリーエンコーダは。1相ですか2相ですか?
1相なら FVコンバータ→電圧増幅→VFコンバータ
2相ですと更に複雑な制御が必要になります

毎度JOです。
>>「今回はモーターの「最高回転数」を抑えたいと思われます」
>>→そうなのです。今回の一番の課題です。

最初の質問に「最高回転数を抑えたい」と明記下されば、
今回の様な回りくどいやり取りをせずに済んだかも知れません
「現状はこうで」「この様にしたい」と言う表現が、結果的に解決への近道です


システムの概要は略分かりましたが、1相のエンコーダーが何に使われているか現物を見なければ分かりません
仮に2相のパルス数が2倍に出来たとしても、1相のパルスもを加工しなければ目的が達成出来ない、なんて事にもなりかねません

投稿中では、コントローラ本体には手を付けたくない理由が書かれていませんが、
「コントローラ本体」に手を付けて壊した場合を危惧されているのですか?

「2相のパルス数を2倍にする」と言う事は、コントローラ本体が故障した場合自力で修理する
と同等の技術力が必要です

今回の投稿を読み込んで見ると、システムは業務で動作してそうなので、壊す訳にも行かないでしょう
フィードバックの掛ったシステムは、ボビー感覚で「ちょいちょい」と改修する事は難しいですね

私が、コントローラ本体には手を付けずに、外部でパルス変換するのならマイコンで設計します(但し1相パルスが解析出来ての話)

4046の内部VCOは、今回の様な低速パルスには使用出来ない様です
http://www.onsemi.jp/pub_link/Collateral/MC74HC4046A-D.PDF

お礼

2010/08/26 16:28

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

基板自体の電源は外部ACアダプターよりDC32Vを入力しています。
私もモータのドライブ回路の電源電圧を18V程度に落とせないか基板を解析して
見ましたが、コイル・電解コンデンサ(平滑用)・FET・トランジスタが各6~7個
あったのと、多層基板であった為、ドライブ回路の電源を作っている場所を
絞り込めず断念しました。
又、基板自体の電源電圧がDC32Vだったので、そこからあえてDC30Vを
作るわけが無く、これがそのままドライブ回路の電源電圧になっていると
思いましたので、ACアダプターの代わりに定電圧電源から供給し、18V付近まで
下げることが出来ないか確認してみました。結果は、30Vまで下げた所で
システム自体が動かなくなりました。と言うことは、入力電圧を監視しているのだと思います。

やはり、どうしても外付けの回路で逃げたいのですが、
何とか良い方法はないでしょうか?
アドバイス頂いたものをバラックで組み、動作を確認して報告も可能です。

追記ありがとうございました。このサイトの利用が初めてなので、勝手が分からなく お礼が遅れてすみませんでした。
1)今回のモターの消費電流(最大時)は如何ほどでしょうか?
 →5.1Aになります。
2)正転・逆転共に、PWMの制御する最低出力平均電圧が下がっても良しとしますか?→良いです。

JOさん。ご回答ありがとうございます。

回答5の「丘さん」や回答4の「ははは」さんから回答を頂いてから2日間色々と検討していました。

「今回はモーターの「最高回転数」を抑えたいと思われます」
→そうなのです。今回の一番の課題です。

「手っ取り早くするなら、エンコーダーの信号パルスを1.5倍とか2倍にする事ですかね」
→おっしゃる通りです。高速回転時のみ抑えたいのですが、先ずはエンコーダの信号パルスを2倍にして、回転数を常時1/2に落とすところから検討したいと思います。

「使用されているロータリーエンコーダは。1相ですか2相ですか?」
→1相と2相のセンサがそれぞれ1個ずつあります。ロータリーエンコーダは樹脂製の薄い円盤上に細かい目盛が振ってあるタイプで、2相の方は細かい目盛りを検出していて正逆回転を見ています。1相の方は同じ円盤上に配置されているのですが、円盤の細かい目盛のさらに内側に、半周だけ黒色でベタに塗られている(半周だけ黒色で帯状に塗られてる)部分を見ています。又、この1相のセンサの用途は不明です。

「2相ですと更に複雑な制御が必要になります」
→2相の波形ですが、DC5V P-Pで周波数は高速時が2.5kHzで、低速時が1.6kHzでした。又、エンコーダの信号パルスを2倍にする回路ですが、エンコーダのA相とB相の出力に周波数を2倍にする回路をそれぞれ割り込ませる方法はどうでしょうか?
色々と調べているうちにPLL 74HC4046を使ったらどうかと思い、4個取り寄せました。
下記のサイトを参考にしてみようと思いましたが、英語表記でよく分かりませんでした。
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1034047530

又、ここには詳しく載っていましたが、3ピン(コンパレーター入力)に繋がる4024Bを使用せず、74HC4046単体で使う方法はないでしょうか?
http://f53.aaa.livedoor.jp/~hatena/up/img/1172.bmp
http://f53.aaa.livedoor.jp/~hatena/up/upload.php?page=7

色々と書きましたが、宜しくお願い致します。

質問者
2010/08/26 13:56
回答No.1

基板内部には過電圧保護とか過電流保護、フィードバック制御また加速コントロールなどいろいろとあると思うので外部での改造はお勧めしません。
基板内部でのコントロールを推奨します。
使用しているICを調べれば解析できるはずです。

どうしても外付けの回路ということでしたら
とりあえず抵抗を入れてみたらどうでしょうか。
直列に入れると電流が減りますのでパワーを半分にすることも可能です。
ただし、熱が出ますので抵抗のワッテージに注意が必要です。
それで動作させてエラーがでるなら何らかの監視をしているかもしれませんので、そうなるとコントローラー自体を改造しないといけません。

お礼

2010/08/26 14:55

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

追記ありがとうございました。このサイトの利用が初めてなので、勝手が分からなく お礼が遅れてすみませんでした。
実際にホーロー抵抗を入れて確認してみましたが、3.3Ωが限界で、それ以上抵抗値を上げるとモータの起動電流が不足し 起動しなくなりました。又、3.3Ω時の回転速度は抵抗を入れない時と比べ、殆ど変化はありませんでした。

質問者

お礼をおくりました

さらに、この回答をベストアンサーに選びますか?

ベストアンサーを選ぶと質問が締切られます。
なおベストアンサーを選びなおすことはできません。