機械回路の記号解析 その5

-- Views

September 19, 25

スライド概要

今回は機械ー電気混成系であるDCモータです。電気回路モデルに変換してモータ特性をLTspiceで再現します。特に回生制動・発電は以前から行ってみたかったことです。また、電気回路モデルから制御系ブロックへの変換も行いました。モータ特性シミュレーションでは電気回路モデルの方が操作が簡単で利便性が高いようです。なお制御系への変換で電気回路の伝達関数計算が大変なためSympy-programを作りました。これらはGithubで公開しています。


DC motorの復習
モータの原理
モータと発電機は同じ
直流モータの基本式
磁束Φが基本
磁束Φが基本
永久磁石と電磁石
直流モータの特性

1. モータの電気回路モデルへの変換
 1.1 DC-モータ単独モデル
 1.2 DC-モータ+負荷トルクモデル
 1.3 DC-モータ+慣性負荷トルクモデル

2. LTspiceによるモータ特性のシミュレーション
 2.1 機械的時定数、無負荷回転数
 2.2 回転速度、出力、電機子電流、効率
 2.3 モータの回生、制動領域

3. 回生発電・ブレーキ
 3.1 回生制動のシミュレーション回路
 3.2 シミュレーション実験結果と考察

4. モータの制振機能
 4.1 シミュレーション回路
 4.2シミュレーション実験結果と考察

5. DC モータの伝達関数
 5.1 電気回路モデルから伝達関数
 5.2 電気回路モデルからブロック線図
 5.3 閉ループ伝達関数(数値を代入)
 5.4 ステップ応答とBODE線図

6. DC モータの伝達関数(慣性負荷あり)
 6.1 電気回路モデルから伝達関数
 6.2 電気回路モデルからブロック線図
 6.3 閉ループ伝達関数(数値を代入)
 6.4 ステップ応答とBODE線図

7. 電気回路から伝達関数を求めるプログラム
 7.1 電気回路の伝達関数計算(sympy)
 7.2 symp program List

8. DC モータの伝達関数手計算(省略版) 
 8.1 DC モータの伝達関数(省略版)
 8.2 ステップ応答とBODE線図(省略版)
 8.2 求めた伝達関数での応答の相違

つづく
補足:中田孝氏について、私の卒論修論
参考文献

profile-image

これまでに主に,ロボティクス・メカトロニクス研究,特にロボットハンドと触覚センシングの研究を行ってきました。現在は、機械系の学部生向けのメカトロニクス講義資料、そしてロボティクス研究者向けの触覚技術のサーベイ資料の作成などをしております。最近自作センサの解説を動画で始めました。https://researchmap.jp/read0072509 電気通信大学 名誉教授 

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

ダウンロード

関連スライド

各ページのテキスト
1.

2025.9.18 機械回路の記号解析 その5 モータモデルの構築と特性計測-part1 (PMDC) 機械系のためのメカトロニクス 1. モータの電気回路モデルへの変換 2. LTspiceによるモータ特性のシミュレーション ① 回転速度、出力、電流、効率 ② モータの回生・制動領域特性 ③ 回生発電・ブレーキ 3. フィードバック制御系への変換 ① 電気回路から伝達関数へ変換(python sympy) ② Step応答とBode線図(python control) 下 条 誠 電気通信大学名誉教授 https://researchmap.jp/read0072509/ The University of Electro-Communications https://github.com/m4881shimojo/DCmotor https://www.docswell.com/user/m_shimojo Department of Mechanical Engineering and Intelligent System

2.

内 DC motorの復習 I. II. III. モータの原理 a. モータと発電機は同じ b. 直流モータの基本式 磁束Φが基本 a. 磁束Φが基本 b. 永久磁石と電磁石 直流モータの特性 1. モータの電気回路モデルへの変換 1.1 DC-モータ単独モデル 1.2 DC-モータ+負荷トルクモデル 1.3 DC-モータ+慣性負荷トルクモデル 2. LTspiceによるモータ特性のシミュレーション 2.1 機械的時定数、無負荷回転数 2.2 回転速度、出力、電機子電流、効率 2.3 モータの回生、制動領域 3. 回生発電・ブレーキ 3.1 回生制動のシミュレーション回路 3.2 シミュレーション実験結果と考察 4. モータの制振機能 4.1 シミュレーション回路 4.2シミュレーション実験結果と考察 容 2 5. DC モータの伝達関数 5.1 電気回路モデルから伝達関数 5.2 電気回路モデルからブロック線図 5.3 閉ループ伝達関数(数値を代入) 5.4 ステップ応答とBODE線図 6. DC モータの伝達関数(慣性負荷あり) 6.1 電気回路モデルから伝達関数 6.2 電気回路モデルからブロック線図 6.3 閉ループ伝達関数(数値を代入) 6.4 ステップ応答とBODE線図 7. 電気回路から伝達関数を求めるプログラム 7.1 電気回路の伝達関数計算(sympy) 7.2 symp program List 8. DC モータの伝達関数手計算(省略版) 8.1 DC モータの伝達関数(省略版) 8.2 ステップ応答とBODE線図(省略版) 8.2 求めた伝達関数での応答の相違 つづく 補足:中田孝氏について、私の卒論修論 参考文献 LTspice, Python program https://github.com/m4881shimojo/DCmotor

3.

はじめに 3 機械の振動系と電気回路が同じように取り扱えると、知ったのは中田孝氏の書籍「工学 解析」でした。同書は、Lagrange運動方程式、Fourie解析、変分法、テンソル解析な ど物理学者の数学的道具を機械工学を学ぶ学生に分かり易く解説したものです。その中 に機械回路の記号解析がありました。これがアナロジーというものに関心を持った始め でした。 機械系と電気系のアナロジーについて学ぶに従い、「物理量の捉え方」の一つとして流 通量と位差量があること、これにより機械と電気系の物理変数の対応関係ができること、 さらに流体系、熱回路、音響工学など広い分野の物理現象の解析にアナロジーの考え方 が使えることに興味を覚えたものです。また双対性の概念は、各種物理現象への新たな 視点を得るきっかけとなりました。 さて、機械系メカトロニクス講義の続きとして新たに機械回路をはじめます。今回は機 械ー電気混成系であるDCモータです。電気回路モデルに変換してモータ特性をLTspice で再現します。特に回生制動・発電は以前から行ってみたかったことです。また、電気 回路モデルから制御系ブロックへの変換も行いました。モータ特性シミュレーションで は電気回路モデルの方が操作が簡単で利便性が高いようです。なお制御系への変換で電 気回路の伝達関数計算が大変なためSympy-programを作りました。これらはGithubで 公開しています。 https://github.com/m4881shimojo/DCmotor 参考文献 中田孝:工学解析(技術者のための数学手法),オーム社,1972.

4.

復習 DC motorの復習 DC-motorの基本構造、基本数式、基本特性は既に解説しました。 この章では、簡単な復習を行います。スキップしてもかまいません。 I. モータの原理 a. モータと発電機は同じ b. 直流モータの基本式 II. 磁束Φが基本 a. 磁束Φが基本 b. 永久磁石と電磁石 III. 直流モータの特性 メカトロニクス 「アクチュエータpart1 直流モータ」 https://www.docswell.com/s/m_shimojo/KNGDLZ-2022-04-16-144507 4

5.

I. モータの原理 ①モータ a. モータと発電機は同じ ②発電機 𝐹 力 [N] B 𝑣 5 導体の移動 [m/s] B 左手 右手 I E 𝑣[𝑚/𝑠] 𝐹[𝑁] B [𝑇] B [𝑇] S N 𝐼[𝐴] 導体 導体に電流を流すと力を受ける N S 𝐼[𝐴] 導体 導体を動かすと電流が発生する

6.

I. I. モータの原理 モータの原理 a. モータと発電機は同じ 6 ① 導体に電流を流すと、導体が力を受け動く、 ② そして導体が動くと、①の電流を打ち消す方向に 電流が発生する ①モータ ②発電機 𝐹[𝑁] B [𝑇] B [𝑇] S N 𝐼[𝐴] 𝑣[𝑚/𝑠] N S 𝐼[𝐴] モータは回転すると、入力電流を打ち消す 方向に電流を発生する、発電機にもなる

7.

I. I. b. 直流(DC)モータの基本原理 モータの原理 モータの原理 7 DCモータは、磁界中の電流の受ける力で回転する フレミング左手の法則 𝐹 I(電流)は、 回転 B(磁界)の中で F(力)を受ける B 𝐹Ԧ ∝ 𝐼Ԧ × 𝐵 I 𝐹 外積 𝐹 B 左手 I https://sakamoto-seisaku.com/motor-mechanism/

8.

b. 直流(DC)モータの基本式 I. モータの原理 8 電気系(モータ・発電機)と機械系(回転)の方程式 (1)モータの働き 𝜔 𝐹 𝑇 = 𝐾𝑇 𝑖𝑎 ⋯ (1) B I𝑎 整流子 𝑇 : 発生トルク 𝑖𝑎 : 電機子電流 (2)発電機の働き 𝐹 𝑒 = 𝐾𝐸 𝜔 ⋯ (2) 電機子 armature 𝑒 : 逆起電力(emf) 𝜔 : 回転角速度 導体が動くと、入力電流を打ち消す方向に電圧が発生する ブラシ (3)運動方程式 通常: 𝐾𝑇 = 𝐾𝐸 ≡ 𝐾 メカトロニクス 「アクチュエータpart1 直流モータ」 https://www.docswell.com/s/m_shimojo/KNGDLZ-2022-04-16-144507 𝑑𝜔 𝑇=𝐽 ⋯ (3) 𝑑𝑡 𝐽 : 慣性モーメント 𝜔 : 回転角速度 電機子( armature )は、コイルと鉄心から構成され ます。このため、慣性モーメントがあります

9.

KT と KE は同じ値? 書籍ではKT とKE の値は同じとある。実際に確認してみた。あるDCサーボモータ特性例をみると ⚫ トルク定数KT : 0.0534[Nm/A] ⚫ 逆起電力定数KE: 5.6×10-3 [V/rpm] となっている。 ここで回転角速度ω は,[rad/s] の単位に合せる必要があるので,[rpm] を変換する。すなわち [V/rpm] を[Vs/rad] に変更すれば両者は同じ値になるはずである。この変換は次式を用いる。 1[V/rpm] = 9.55[Vs/rad] これを用いて計算してみると、逆起電力定数5.6×10-3[V/rpm] は,0.0056 × 9.55=0.05348 とな り,トルク定数と同じ値になる。 また,maxson DC モータでは逆起電力定数ではなく,その逆数の回転数定数[rpm/V] となってい た。そこで,あるmaxson モータの,トルク定数 16.3×10-3[Nm/A],回転数定数 585[rpm/V] を 計算してみと,(1/585) × 9.55=0.01632 となり,やはり同じ値となった。 ちなみに量の次元は次の通りです。同じですね。 KT = N𝑒𝑤𝑡𝑜𝑛 ∙ 𝑚𝑒𝑡𝑒𝑟 𝐽𝑜𝑢𝑙 𝑊𝑎𝑡𝑡 ∙ 𝑆𝑒𝑐 𝑉𝑜𝑙𝑡 ∙ 𝐴𝑚𝑝 ∙ 𝑆𝑒𝑐 = = = = 𝑉𝑜𝑙𝑡 ∙ 𝑆𝑒𝑐 = KE 𝐴𝑚𝑝 𝐴𝑚𝑝 𝐴𝑚𝑝 𝐴𝑚𝑝 基本的にはローレンツ力の話ですね。ローレンツ力とは、磁場中で運動する荷電粒子が受ける力、または電流が 磁場から受ける力の総称で、フレミングの法則の根源にある物理現象です。 ⚫ フレミングの左手の法則: ローレンツ力によって電流が磁場から受ける力の方向を示す経験則(モーターの 原理) ⚫ フレミングの右手の法則: 電磁誘導によって導体の運動により発生する誘導電流の方向を示す経験則(発電 機の原理) であり、基本的には同じ物理現象に基づいているため、値が同じになるのは当然と思います 9

10.

a. 磁束Φが基本 II. 磁束Φが基本 磁束Φの作り方には二通りがあります 1. 永久磁石型 (今回のテーマ) 2. 電磁石型 (次回のテーマ) Φ B S 両方とも磁束Φ(磁界B)を発生す ることには変わりありません。 10

11.

a. 磁束Φが基本 II. 磁束Φが基本 本当は、磁束Φで基本式を記述するべき Φ (1)モータの働き B 𝑇 = 𝐾𝑡 Φ 𝑖𝑎 ⋯ (1′) S (2)発電機の働き Φ = ඵ 𝑩 𝑑𝑨 𝑆 𝑒 = 𝐾𝑒 Φ𝜔 ⋯ (2′) ⚫ 磁束Φが大きいとトルクTも大きくなる ⚫ 磁束は電磁石でも発生できる ✓ 励磁方式-直巻・分巻でモータ特性変化する 磁束密度Bは「単位面積あたりの磁束Φ」 と解釈することもできます。したがって、 磁束Φは磁束密度Bをある面積で積分したものです 11

12.

b. 永久磁石と電磁石 II. 磁束Φが基本 ①永久磁石 ②電磁石 Φ ∝ 𝑖𝑓 if 界磁コイル Φ N 12 Φ S N S ①永久磁石界磁型DCモータ ②電磁石界磁型DCモータ permanent-magnet DC motor winding-field DC motor モーター型 主な用途 特徴的な要件 永久磁石型 小型ファン、プリンター、電動玩具、 小型・軽量が重要、コスト・効率重視 車用パーツ(ワイパーなど) 制御がシンプル 電磁石型 電車・産業用モーター、クレーン、 電動工具、自動車のスターター トルク制御が重要、強起動・高出力、 界磁制御で可変特性が必要

13.

II. 磁束Φが基本 電磁石による界磁型DCモータ ⚫ 磁束は電磁石で発生できる if Φ Φ ∝ 𝑖𝑓 ⚫ Φ 磁束 (Magnetic Flux) :ある表面を貫く磁力 線の総量を表すスカラー量、単位はウェーバ (Wb) です 界磁コイル Field winding Φ ⚫ B 磁束密度 (Magnetic Flux Density) :磁場の強 さを表すベクトル量、単位はテスラ (T) です Φ N 13 B S 鉄心 鉄心 1. 鉄心は磁束の通路として機能し磁力 を高める 2. 鉄心にはケイ素鋼板などの電磁鋼板 を用いる 3. 鉄心を積層構造にすることで渦電流 損を低減する 整流子 電機子

14.

II. 磁束Φが基本 b. 永久磁石と電磁石 14 項目 永久磁石型(PMDC) 電磁石型(巻線界磁型) 構造 シンプル(界磁回路不要) 複雑(界磁コイル必要) 制御性 界磁一定→制御簡単 界磁電流で制御柔軟 効率 高効率(界磁電力ゼロ) 低め(界磁にも電力消費) サイズ・重量 小型・軽量 大型化しやすい コスト 安価(特に量産向き) 巻線・鉄心で高コスト 磁束調整 不可(固定) 可能(界磁電流で変化) 過電流耐性 磁石劣化の恐れあり 高トルク・過負荷に強い 温度依存性 高温で磁力低下の懸念 熱に比較的強い

15.

直流モータの特性 III.直流モータの特性 直流モータの特性の復習です ⚫ 回転速度 ⚫ 出力 負荷トルクと ⚫ 電機子電流 𝑇𝑙 ⚫ 回生制動 𝑇𝑚 𝑉 𝐽 𝑖𝑎 𝑇𝑙 𝜔𝑚 出典: メカトロニクス 「アクチュエータpart1 直流モータ」 https://www.docswell.com/s/m_shimojo/KNGDLZ-2022-04-16-144507 の関係を示します 15

16.

トルク・電流、出力、効率特性 III.直流モータの特性 無負荷回転速度 起動電流 (拘束電流) 回転速度 𝜔𝑚 出力[W] 𝑖𝑎 電機子電流 効率[%] 𝑇𝑚 𝑉 𝐽 𝑖𝑎 𝑇𝑙 𝜔𝑚 起動トルク 無負荷電流 0 • • • • • • • 16 起動(始動)トルク 起動電流 定格トルク 定格電流 定格回転数 無負荷回転数 無負荷電流 トルク 𝑇𝑙 :モータが起動の瞬間に出すトルク :起動時に流れる電流 :連続的に定格の出力を出すときのトルク :定格出力時に流れる電流 :モータが定格出力を出すときの回転速度 :負荷がかかっていないときの回転速度 :負荷がかかっていないときに流れる電流 定格トルク,回転数: 連続動作保証された負荷 (無難な使い方)

17.

トルク・回転速度特性 III.直流モータの特性 トルクτ ・回転速度ω特性を基本方程式から求めます 𝜔 2. 𝑉<𝑒 回生制動 発電機として動作する 正 回 転 1. 無負荷回転速度 𝑉 𝐾 𝑉 ω‐τ 特性 𝑅𝑎 ω‐τ特性式 𝜔 = 𝐾 − 𝐾 2 𝜏 Vにより変化 𝑒 = 𝐾𝐸 𝜔 ⋯ (2) 𝜏 制動 3. DCモータ基本方程式 𝜏 = 𝐾𝑇 𝑖 ⋯ (1) 𝐾 𝑉 起動トルク 𝑅𝑎 逆 回 転 17 𝑖 Vを負にすると 逆回転モータ になる 逆回方向転トルク (1)(2)(3)より 𝜔= 𝑉 𝑅𝑎 − 𝜏 ⋯ (4) 𝐾 𝐾2 𝐾𝑇 = 𝐾𝐸 ≡ 𝐾 𝑅𝑎 𝑉 (4)式の、ω‐τ 特性が 得られます 𝑒 正回方向転トルク 𝑉 = 𝑅𝑎 𝑖 + 𝑒 ⋯ (3) 4.

18.

トルク・回転速度特性 18 トルク・回転速度特性グラフの各領域の説明 1. 第1象限(トルク正、回転速度正)→通常の「モータ駆動」領域 ・動作:正方向に回転し、正方向のトルクを出している ・用途:モータが負荷を加速・駆動しているとき(例:車の前進加速、ファンの正転駆動) 2. 第2象限(トルク負、回転速度正)→発電領域(回生制動、回生ブレーキ) ・動作:正方向に回転しているが、逆向きのトルクが発生している ・用途:速度は正方向だが、モータがブレーキをかけながら発電している (例:電車の回生ブレーキ、車の回生エネルギー回収) 3. 第3象限(トルク負、回転速度負)→逆転の「モータ駆動」領域 ・動作:逆方向に回転し、逆方向のトルクを出している ・用途:モータが逆方向に回して負荷を駆動(例:車の後退、逆転運転のクレーン) 4. 第4象限(トルク正、回転速度負)→逆転での発電領域(逆方向回生制動) ・動作:逆方向に回転しているが、正方向のトルクが発生している ・用途:逆回転している負荷をブレーキしながら発電(例:車のバック走行時の回生ブレーキ) ⚫ 第1・第3象限 → モータ駆動(エネルギーを負荷に供給) ⚫ 第2・第4象限 → 回生制動(エネルギーを電源に戻す)

19.

今回のテーマ 機械ー電気AnalogyでのDC-モータのモデル化を行います 今回は、永久磁石型(PMDC)についてです 1. モータの電気回路モデルへの変換 2. LTspiceによるモータ特性のシミュレーション ① 回転速度、出力、電流、効率 ② モータの回生・制動領域特性 ③ 回生発電・ブレーキ 3. フィードバック制御系への変換 ① 電気回路から伝達関数を求める(python) ② Step応答とBode線図(python control) 電磁石型は次回予定です メカトロニクス 「アクチュエータpart1 直流モータ」 https://www.docswell.com/s/m_shimojo/KNGDLZ-2022-04-16-144507 19

20.

1.モータの電気回路モデルへの変換 今回は永久磁石型DC-モータの電気回路モデルを作ります ① DC-モータ単独モデル ② DC-モータ+負荷トルクモデル Φ N ③ DC-モータ+慣性負荷トルクモデル S ①永久磁石界磁型DCモータ permanent-magnet DC motor 20

21.

1.モータの電気回路モデルへの変換 DCモータでは,電気系と機械系の物理量が共存している 電気系 機械系 𝐿𝑎 𝑅𝑎 𝑇𝑚 𝐸𝑐 𝑉 𝑖𝑎 𝐽 𝜔𝑚 𝐵𝑎 : 粘性係数 電気系の回路アナロジーに変換するには? 機械系の物理量をどのようにする? 21

22.

1.モータの電気回路モデルへの変換 22 ① モータで発生するトルクを電流源とし、電気系と機械系を分離する ② 機械系は機械系として電気回路アナロジーを適用する(力-電流analogy) 𝑅𝑎 Ω 𝐿𝑎 𝐻 Tm:トルク[N・m] 𝐿𝑎 𝑅𝑎 𝑇𝑚 𝐸𝑐 𝑉 𝐸𝑐 𝑉 emf 𝑖𝑎 𝑖𝑎 𝐴 ωm:回転速度[rad/s] 𝐽 Bo: 粘性係[N⋅m/s2] 𝜔𝑚 J: 慣性モーメント[kg⋅m2] 𝐵𝑜 電気系 機械系 𝑑𝑖𝑎 𝐸𝑐 + 𝑅𝑎 𝑖𝑎 𝑡 + 𝐿𝑎 = 𝑉 …(1) 𝑑𝑡 𝐸𝑐 = 𝐾𝐸 𝜔𝑚 逆起電力 emf …(4) 𝐽 𝑑𝜔𝑚 + 𝐵𝑜 𝜔𝑚 = 𝑇𝑚 𝑑𝑡 …(2) 𝑇𝑚 = 𝐾𝑇 𝑖𝑎 …(3) 発生トルク

23.

1.モータの電気回路モデルへの変換 23 ① モータで発生するトルクを電流源とし、電気系と機械系を分離する ② 機械系は機械系として電気回路アナロジーを適用する(力-電流analogy) 回転体系の電気回路analogy 𝐿𝑎 𝑅𝑎 𝐸𝑐 𝑉 emf 𝑖𝑎 機 械 系 Symbol unit ⟺ C [F] [N・m/rad] ⟺ L-1 [H-1] B [N・s/m] ⟺ R-1 [Ω-1] 𝜔𝑚 Τ [N・m] ⟺ I [A] 𝐵𝑜 : 粘性係数 ω [Rad/s] ⟺ E [V] 𝑇𝑚 𝐽 symbol unit J [kg・m2] K 回転角速度: 𝜔𝑚 ⟺ 𝑈𝑐 :電圧 発生トルク: T𝑚 ⟺ 𝐾𝑇 𝑖𝑎 :電流 粘性抵抗: 𝐵𝑜 ⟺ 𝑅𝑜−1 :コンダクタンス 慣性モーメント: J ⟺ 𝐶𝐽 :キャパシタンス 電 気 系

24.

① 永 久 𝑉 磁 石 型 𝐸𝑐 emf 24 1. 発生するトルクを電流源とする 𝑖𝑎 𝐿𝑎 𝑅𝑎 DC-モータ単独モデル 2. 発生する逆起電力を電圧源とする 𝑇𝑚 𝐽 𝜔𝑚 (1)発生トルク 𝑇𝑚 = 𝐾𝑇 𝑖𝑎 (2)逆起電力emf 𝐸𝑐 = 𝐾𝐸 𝑈𝑐 𝐵𝑜 : 粘性係数 電気系 力ー電流analogy 機械系 電圧 → 回転速度 𝑈𝑐 ⟺ 𝜔 電流 → トルクτ 𝐾𝑇 𝑖𝑎 ⟺ 𝜏 𝜔 等 価 回 路 𝑅𝑎 𝐿𝑎 𝑖𝑎 𝑉 + 𝜏 𝐸𝑐 𝐾𝐸 𝑈𝑐 電気系 𝐽[𝑘𝑔𝑚2 ] → 𝐶𝐽 [𝐹] − 𝐾𝑇 𝑖𝑎 𝑈𝑐 𝐶𝐽 𝑅𝑜 機械系の電気回路analogy 𝑅𝑜 = 𝐵𝑜−1 𝐵𝑜 [𝑁 ∙ 𝑠Τ𝑚] → 𝑅𝑜−1 [Ω−1 ] (𝐾𝐸 = 𝐾𝑇 )

25.

② 永 久 磁 石 型 DC-モータ+負荷トルクモデル 25 外部負荷Tl が加わる emf 𝑉 𝑖𝑎 𝐿𝑎 𝑅𝑎 𝐸𝑐 𝑇𝑚 𝐽 𝑇𝑙 𝜔𝑚 𝐸𝑐 + 𝑅𝑎 𝑖𝑎 𝑡 + 𝐿𝑎 𝐽 𝑑𝑖𝑎 = 𝑉 …(1) 𝑑𝑡 𝑑𝜔𝑚 + 𝐵𝑎 𝜔𝑚 + 𝑇𝑙 = 𝑇𝑚 …(2) 𝑑𝑡 𝐵𝑜 : 粘性係数 外部負荷 トルク 等 価 回 路 𝑉 𝑅𝑎 𝑖𝑎 𝐿𝑎 𝐽[𝑘𝑔𝑚2 ] → 𝐶𝐽 [𝐹] + 𝑈𝑐 𝐾𝐸 𝑈𝑐 電気回路 − 𝐾𝑇 𝑖𝑎 𝐶𝐽 𝑅𝑜 𝐼𝑙 機械系の電気回路analogy 𝐵𝑜 [𝑁 ∙ 𝑠Τ𝑚] → 𝑅𝑜−1 [Ω−1 ] 𝑇𝑙 [𝑁 ∙ 𝑚] → 𝐼𝑙 [𝐴]

26.

③ 永 久 磁 石 型 𝑅𝑎 𝐿𝑎 DC-モータ+慣性負荷モデル1/2 𝑖𝑎 𝐸𝑐 𝑉 emf τ 回転体系の電気回路analogyから 左図の ”慣性+バネ+粘性抵抗” は下図のように変換できる 𝐾𝑠 𝐽𝐿 𝐽 𝜃𝐿 𝑡 𝜔𝐿 𝑡 ω 𝐵a 𝐵𝐿 26 外部慣性負荷 𝑈𝑐 ω 等 価 回 路 𝑉 𝑅𝑎 𝑖𝑎 𝐿𝑎 + 𝜔𝐿 τ 𝐿𝑠 𝑈𝐿 𝐾𝐸 𝑈𝑐 電気回路 − 𝐾𝑇 𝑖𝑎 𝐽𝐿 [𝑘𝑔𝑚2 ] → 𝐶𝐿 [𝐹] 𝐶𝐽 𝑅𝑜 𝐶𝐿 𝑅𝐿 機械系の電気回路analogy 𝐵𝐿 [𝑁 ∙ 𝑠Τ𝑚] → 𝑅𝐿−1 [Ω−1 ] −1 𝐾𝑠 [𝑁 ∙ 𝑚Τ𝑟𝑎𝑑] → 𝐿−1 𝑠 [𝐻 ]

27.

③ 27 DC-モータ+慣性負荷モデル2/2 機械系物理量は電気回路から求められます 𝑖𝑎 𝑅𝑎 𝐿𝑎 𝜔 𝑈𝑐 + 𝑉 𝐾𝑇 𝑖𝑎 𝜏 𝜔𝐿 𝑈𝐿 𝑖𝑆 𝐿𝑠 𝑖𝑐 𝑖𝑅 𝑈𝐿 𝐾𝐸 𝑈𝑐 − 𝐾𝑇 𝑖𝑎 𝐶𝐽 𝐶L 𝑅𝐿 慣性負荷を駆動するDC モータの等価モデル Ro:省略 力ー電流analogy回路での機械ー電気系量の対応 𝑉 :入力電圧 𝑖𝑎 :電機子電流 𝐾𝐸 𝑈𝑐 :逆起電力(emf) 𝐾𝑇 𝑖𝑎 :発生トルク 𝑖𝑆 :シャフトの捩じりトルク 𝑖𝑐 :慣性体回転トルク 𝑖𝑅 :粘性抵抗トルク 𝑈𝑐 :モータ回転速度 𝑈𝐿 :慣性体回転速度 機械 ⟺ 電気 𝜔 ⟺ 𝑈𝑐 ωL ⟺ 𝑈L τ ⟺ 𝐾𝑇 𝑖𝑎 J𝐿 ⟺ 𝐶𝐿 𝐾𝑠 ⟺ 𝐿−1 𝑠 𝐵L ⟺ 𝑅𝐿−1 負荷(例) ✓ BL:粘性抵抗 0.00001 [Nm/(rad/s)] 𝑅𝐿 : 1.0 × 105 Ω ✓ Ks:ねじれ剛性20 [Nm/rad ] 𝐿𝑠 : 0.05 𝐻 ✓ JL:慣性モーメント 0.001 [kg m2 ] 𝐶𝐿 : 1.0 × 10−3 𝐹

28.

2. LTspiceによるモータ特性のシミュレーション DC-motorの等価回路ができましたのでLtspiceによる シミュレーションを行います モータ特性 1. 機械的時定数、無負荷回転数の計測 2. 負荷トルクと、回転速度、出力、電機子電流、効率の計測 3. モータの回生、制動領域の計測 28

29.

例として使ったDC モータ Maxon DCモーター 148867(150W)の特性値 • • • • • • • • • • 公称電圧: 24 V 無負荷回転数: 7580 rpm 無負荷電流: 137 mA 最大連続トルク時の回転数: 6940 rpm 最大連続トルク: 0.177 N⋅m 最大連続電流: 6 A 停動トルク (Stall Torque): 2.42 N⋅m 起動電流 (Starting Current): 80.2 A 回転数/トルク勾配: 3.14 rpm/mNm 機械的時定数: 4.67 ms 𝐿𝑎 𝑅𝑎 𝜏 𝐸𝑐 𝑉 emf 𝑖𝑎 RE 40 Ø40 mm, グラファイトブラシ, 150 Watt 𝐽 𝑇𝑙 ✓ La : 0.0824 [mH] ✓ Ra : 0.299 [Ω] ✓ KT : 0.0302 [N⋅m/A] ✓ KE : 0.0301[Vs/rad] ✓ J: 1.42×10−5 [kg⋅m2] 𝜔 𝐵o : 粘性係数 KTとKEは原理的に同値のはず。この違いは たぶん丸め誤差かなと思います。 29

30.

2.1 機械的時定数, 無負荷回転数 等価回路のシミュレーションから次の特性値を求めます 1. 機械的時定数,無負荷回転数の計測 2. 負荷トルクと、回転速度、出力、電機子電流、効率の計測 3. モータの回生、制動領域の計測 等価回路でのシミュレーションで起動特性を求めてみます ✓ DC-motorに電圧24Vを加えた時の時間応答から計測します 30

31.

2.1 機械的時定数, 無負荷回転数 31 Maxon DCモーター 148867(150W)のLTspiceモデル 𝑅𝑎 𝐿𝑎 ① DC-モータ単独モデル TL=0 𝑉 𝜏 𝐽 𝑖𝑎 𝑇𝑙 𝐵𝑜 𝜔 Maxon DCモーター 148867 ✓ La : 0.0824 [mH] ✓ Ra : 0.299 [Ω] ✓ KT : 0.0302 [N⋅m/A] ✓ KE : 0.0301[Vs/rad] ✓ J: 1.42×10−5 [kg⋅m2] 仮の値 ✓ Tl : 0 [N⋅m] ✓ Bo : 1×10−7 [N⋅m/(rad/s)] 𝐶𝐽 = 𝐽 Maxon150W_v2.asc 𝑅𝑜 = 𝐵𝑜−1 抵抗R2ないと、Ltspiceに ERRORが出たためを入れた

32.

2.1 機械的時定数, 無負荷回転数(step応答) 逆起電力 emf 32 無負荷回転数の立ち上が り特性と定常値を求まる V=24Volt ⚫ 機械的時定数 シミュレーション:4.70 [ms] 63.2% 仕様書:4.76 [ms] (逆起電力から計測した) 電流Ia ⚫ 無負荷回転数 シミュレーション:7582 [rpm] 仕様書:7580 [rpm] Rad/s 4.70 ms 793.6 rad/s 無負荷回転数 下図の縦軸は回転数[rad/s] 5.70 ms 25 ms (縦軸は電圧となっていますが、機械量 としては回転数[rad/s]です)

33.

2.2 回転速度、出力、電機子電流、効率 33 等価回路のシミュレーションから次の特性値を求めます 1. 機械的時定数,無負荷回転数の計測 2. 負荷トルクと、回転速度、出力、電機子電流、効率の計測 3. モータの回生、制動領域の計測 ⚫ 負荷トルクをモータ領域で 変化させて計測する

34.

2.2 回転速度、出力、電機子電流、効率 ② DC-モータ+負荷トルクモデル 34 負荷トルクTLをパラ メータにして実行 次の値を計測 ① 回転速度Uc ② 電機子電流L1 ③ 発生トルクB3 計測は “.meas” コマンド 負荷パラメータ 0.8秒時での値を計測 Maxon150W_v3.asc で実行 測定した値はexcelで表 にしました

35.

2.2 回転速度、出力、電機子電流、効率 35 負荷変化に対しての STEP応答波形 ① 回転速度Uc 次の値を計測 ① 回転速度Uc ② 電機子電流L1 ③ 発生トルクB3 ② 電機子電流L1 ✓ 負荷TLを変化させ ると過渡応答波形 となる ✓ 0.8秒後だと定常値 として十分とした ③ 派生トルクB3 0.8秒 測定した値はexcelで表 にしました

36.

2.2 回転速度、出力、電機子電流、効率(特性) モータ領域 回転速度、出力、電機子電流 900 90 ① 800 ③ V=24Volt 700 ω power ① 80 70 Ia ② 600 回転速度 電流 power 500 60 50 400 40 300 30 200 20 100 10 0 0 0 0.5 1 1.5 負荷トルク [N・m] 計測値からexcelでグラフを作成 2 ② 2.5 電機子電流 [A] 回転速度[rad/s] 36 ③ 無負荷回転数: 794.4[rad/s] (7580 rpm) 起動トルク: 2.42 N⋅m 起動電流: 80.2 A

37.

2.2 回転速度、出力、電機子電流、効率(特性) モータ領域 電機子電流と効率 1.1 90 V=24Volt 1 0.9 0.6 50 0.5 40 0.4 30 0.3 20 0.2 0.1 10 0 0 0 0.5 1 1.5 負荷トルク [Nm] 計測値からexcelでグラフを作成 2 𝜂= 60 電流 効率 0.7 70 Ia 2.5 電機子電流 [A] 0.8 効率 𝜂= 80 η 37 出力 入力 𝑇𝑙 ∗ 𝜔 𝑖𝑎 + 𝑖𝑜𝑓 ∗ 𝑉 iof:無負荷電流(137 mA)

38.

2.3 モータの回生、制動領域 38 等価回路のシミュレーションから次の特性値を求めます 1. 機械的時定数,無負荷回転数の計測 2. 負荷トルクと、回転速度、出力、電機子電流、効率の計測 3. モータの回生、制動領域の計測 ω‐τ特性 回生制動領域 ⚫ 負荷トルクを負から正まで広い 範囲で変化させて計測する 負荷トルクを変化

39.

2.3 モータの回生、制動領域 ② DC-モータ+負荷トルクモデル 39 負荷トルクTLをパラ メータにして実行 次の値を計測 ① 回転速度Uc ② 電機子電流L1 ③ 発生トルクB3 計測は “.meas” コマンド で実行 変化範囲 測定した値はexcelで表 にしました Maxon150W_v4.asc

40.

2.3 モータの回生、制動領域 (計測例) ① 回転速度Uc 40 負荷変化に対しての STEP応答波形 ω 例として 負荷トルクTL=1 の場合を示します V=24Volt ③ 発生トルクB3 𝑇𝑚 ② 電機子電流L1 ia 負荷を変化させると 定常値になるまでの 時間が必要 50ms 次頁ではTLを変化さ せた結果を示します

41.

2.3 モータの回生、制動領域 (計測例) ① 回転速度Uc 41 負荷変化に対しての STEP応答波形 ω 次の値を計測 ① 回転速度Uc ② 電機子電流L1 ③ 発生トルクB3 𝑇𝑚 ③ 発生トルクB3 ✓ 負荷TLを変化させ ると過渡応答波形 となる ② 電機子電流L1 ✓ 0.8秒後だと定常値 として十分とした ia 250ms 測定した値はexcelで表 にしました

42.

2.3 モータの回生、制動領域(計測結果) 回生制動領域 モータ・回生・制動の領域 150 回転速度 100 V=24Volt Ia ω ia 𝑇𝑚 500 0 0 -1 0 -50 -100 𝑇𝐿 × 𝜔 1000 電流 50 -150 1 2 3 4 -500 電機子電流 [A] -2 外部出力が負とは 発電機として動作 している 1500 power Power -3 2000 回転速度[rad/s] 200 ω 42 𝑉 𝐽 𝑖𝑎 𝑇𝑙 𝜔𝑚 V=24[V] -1000 外部出力 -1500 Maxon DCモーター 148867 -200 負荷トルク [N・m] 計測値からexcelでグラフを作成 -2000 Power= 𝜔𝑚 ×TL

43.

2.3 モータの回生、制動領域(計測結果) 43 特性値の確認 モータ・回生・制動の領域 (a)無負荷回転速度 200 ω V=24Volt モータ駆動 150 ia 100 回生制動 1000 b -50 -100 𝑇𝐿 × 𝜔 0 0 1 2 3 4 -500 ia [A] -1 ω[rad/s] 500 0 -2 𝑎 𝑉 24 = ≈ 795 𝑟𝑎𝑑 Τ𝑠 𝐾 0.0302 𝑏 𝐾 24 × 0.0302 𝑉= ≈ 2.42 𝑁𝑚 𝑅𝑎 0.299 Power 50 -3 (b)起動トルク 1500 a 発電領域 2000 -1000 逆方向 回生制動 -150 -1500 発電領域 -200 TL [Nm] -2000 Maxon DCモーター 148867 計測値からexcelでグラフを作成 ⚫ a点より左側 速度は正方向。モータがブレーキをか けながら発電している ex:電車の回生ブレーキ、車の回生 エ ネルギー回収 ⚫ b点より右側 速度は負方向。b点ではモータトルク で止まっているが、逆方向への動きに ブレーキをかけながら発電している ex:登坂で停車している電車に、後退 方向の力が加わり、下りながら発電 している

44.

3. 回生発電・ブレーキ 回生ブレーキとはなに? ブレーキをかけながら発電する? DC motorに回生制動を 行わせてみた 44

45.

3. 回生発電・ブレーキ 𝜔 ω‐τ 特性 回生制動 𝑉0 𝐾 a b V0動作線 𝜔= 𝑉1 𝐾 c DC motorに回生制動を 行わせてみた 𝑉 𝑅𝑎 − 𝜏 𝐾 𝐾2 V1動作線 𝐾 𝑉 𝑅𝑎 𝜏0 0 V=V1 V=V0 𝜏 ここでは、V0で定常運転中に、 V0 →V1と電圧を低下させた場合 を考えてみましょう 𝑅𝑎 𝑉 τ 𝐾𝑠 慣性体がないと成り 立たない議論? 𝐽𝐿 𝐽 𝑖𝑎 ω 𝐵a 𝐵𝐿 𝜃𝐿 𝑡 𝜔𝐿 𝑡 (説明を簡単にするため、BL<<1としています) 45

46.

3. 回生発電・ブレーキ ここでV0で定常運転中に、V1と電圧を低下させた 場合を考えてみましょう 𝜔 ω‐τ 特性 回生制動 𝑉0 𝐾 a b c ① 一定回転になった状態aから電源電圧を 変化(V0→V1)させます V0動作線 𝜔= 𝑉1 𝐾 ② すると、動作はV1特性線(点線)へ移り ます 𝑉 𝑅𝑎 − 𝜏 𝐾 𝐾2 𝐾 𝑉 𝑅𝑎 0 V=V1 (V0 > V1 ) 𝑅𝑎 𝑉 τ V=V0 ④ これは、回生制動領域となり、負荷トル クτ0が発生して、同時に発電することに なります 𝐾𝑠 𝐽𝐿 ω 𝐵a 𝜏 ⑤ そして、徐々に回転速度ωが下がり、 状 態が“bからc”へ特性線上を移動してcで 一定回転になり定常動作となります 𝐽 𝑖𝑎 ③ しかし、慣性があり回転速度ωは急に変 化できないため、状態は“aからb”に移り ます V1動作線 𝜏0 46 𝐵𝐿 (説明を簡単にするため、BL<<1としています) 𝜃𝐿 𝑡 𝜔𝐿 𝑡

47.

3.1 回生制動のシミュレーション回路 ③ DC-モータ+慣性負荷トルクモデル 𝐵𝐿 ≃ 0 47 V0で定常運転中に、 V0 →V1と電圧を低下 させた ①電源電圧は24Vから, 2.5 秒後12Vに低下させます 外部負荷 ②また粘性負荷BLはほぼゼ ロの状態で行います JL=0.001 [kg m2] ks=20[Nm/rad] BL=0.00001[Nm/(rad/s)] Maxon150W_LoadKaisei.asc (説明を簡単にするため、BL<<1としています)

48.

3.2 シミュレーション実験と考察 48 発電しながらブレーキがかかっている! 24V動作線 逆 起 電 力 𝐵𝐿 ≃ 0 ia a 回転速度 c 電機子電流 電 源 電 圧 τ 負 電 流 回生発電 24V 電源電圧 12V 発生トルク 0 b 回生ブレーキ 𝜏0 粘性抵抗負荷があると③⑦でτ=0にならない 𝐸𝑐 = 𝐾𝐸 𝑈𝑐 12V動作線 0A 0 逆流電流 電 機 子 電 流 emfとωは比例関係のため回転速度の指標とした ① 電源電圧V=24Vで起動 ② 2.5秒あたりでは定常回転になる 発 生 ト ル ク ③ この時発生トルクはτ=0 0A ⑥ この時、電機子電流iaは逆流して電源に 電流を供給する(回生) 負 ト ル ク ④ 2.5秒でV=12Vになると動作直線が変わる ⑤ ただし慣性のため回転速度は急には変化 せず “a→b”に動作点が移動 ⑦ 同時に、発生トルクも逆方向τ0になり回 生ブレーキとなる ⑧ そして徐々に回転速度が低下、4.5秒あた りで一定速度となる“b→c”

49.

3.2 シミュレーション実験と考察 49 もう少し詳しい図解 12V 24V V ① 電源ON後、約2.5秒で一定回転 となる emf ia 逆流電流 ② 一定回転では電機子電流iaと発 生トルクτは”0”となる ③ 2.5秒で電源電圧を24Vから 12Vに低下させる 回生発電 ④ すると動作特性は、新たなω‐τ 特性線(12V)へ移る ⑤ ただし、ωは急に変化できない ため、新たな特性線での回生制 動領域に動作が移行する ω τ ⑥ 回生制動ではiaは負となり、逆 回転方向にトルク発生する 回生ブレーキ ⑦ これは、発電を行いながら、回 転にブレーキをかけるため、ω は徐々に低下する θ ⑧ そして、ωが無負荷回転数に低 下すると回転制動領域から外れ、 一定回転となる power-in 発電 電圧単位:V, emf, ω, θ 電流単位:ia,τ 2.5s 5s 𝐵𝐿 ≃ 0

50.

3.2 シミュレーション実験と考察(停止) 50 DCmotorの電源電圧 3段階で0Vとする V 電源電圧 emf 24V→12V→0V 負電流 ia 各種パラメータを入れ て動作を確認するのも おもしろいですね (JL,BL,Ks…etc) ω τ BLを大きくすると どうなる? 回生制動 θ power-in 発電 2.5s 5s

51.

4. モータの制振機能 負荷に振動系を取り付けたら、振動が吸収されている! 何故なのだろう? 振動系 51

52.

4.1 モータの制振機能シミュレーション回路 52 なぜ? ばね-慣性系の振動が モータ駆動ではないのか ばね-慣性 系 ばね-慣性系 比較のため独立した ばね-慣性系 を示す Maxon150W_LoadKaiseiStop1.asc

53.

4.2 シミュレーション実験結果と考察 53 STEP入力(電源VがON)に対して回転速度 ωと電機子電流iaの変化を示します ω ia 初期に振動が発生しています。その 部分を下記に拡大表示します。 独立した振動系 振動 1.8s ⚫ 回転速度ωと電機子電流iaの変化 が逆位相の関係にあります 逆位相 ⚫ すなわち速度が上がると電流が減 り、下がると増えます ⚫ これは回転に対して発振を抑制す る働きになります 30ms 独立した振動系 振動

54.

4.2 シミュレーション実験結果と考察 もう少し詳しい図解 V なぜ? ばね-慣性系の振動が モータ駆動では吸収され るのか emf ia ω τ power-in 独立した振動系 54 θ 振動 3s

55.

4.2 実験結果と考察(立ち上がりを拡大) 55 振動を打ち消す仕組みがある V 逆起電力emfと ia 逆位相 ω power-in 電機子電流ia(トルクτ)は emf 逆位相となります ① 回転速度ωが増加する とトルクτは減少し τ ② 回転速度ωが減少する とトルクτは増加する θ 独立した振動系 50ms

56.

4.2シミュレーション実験結果と考察 56 振動を打ち消す仕組みがある 永 久 磁 石 型 𝐿𝑎 𝑅𝑎 τ 𝐸𝑐 𝑉 𝐽 (1)発生トルク 𝜏 = 𝐾𝑇 𝑖𝑎 ⋯ (1) (2)逆起電力 𝐸𝑐 = 𝐾𝐸 𝜔 ⋯ (2) ω 𝑖𝑎 𝑅𝑎 通常はLaの影響が少ないためRaのみとする 𝐿𝑎 𝑉 = 𝑅𝑎 + 𝐿𝑎 𝑖𝑎 𝑉 emf 𝐸𝑐 Ec:逆起電力(emf) 𝐵𝑎 𝑑 𝑖 + 𝐸𝑐 𝑑𝑡 𝑎 𝑉 = 𝑅𝑎 𝑖𝑎 + 𝐸𝑐 ⋯ (3) (3)式よりVが一定とすると、 ① Ecが増加するとiaは 減少し ② Ecが減少するとiaは 増加する ③ 逆位相の関係にある ① 回転速度ωが増加すると トルクτは減少し ② 回転速度ωが減少すると トルクτは増加する ③ 逆位相の関係にある

57.

5. DC モータの伝達関数 DC モータの伝達関数を求めます。制御の勉強をされた方はこち らの説明のほうがわかりやすいかもしれません 私は、前章でのべた振動を吸収する仕組みなどは具体的なメカニ ズムから説明された方が腑に落ちます 57

58.

5.1 電気回路モデルから伝達関数 永 久 磁 石 型 DC モータの等価電気回路モデルから 𝐿𝑎 𝑅𝑎 伝達関数を求めてみます 𝜏 𝐸𝑐 𝑉 𝐽 力ー電流analogy 𝜔 𝑖𝑎 𝐵𝑜 : 粘性係数 電気系 𝑅𝑎 𝐿𝑎 𝑖𝑎 + 𝐾𝑇 𝑖𝑎 𝑖𝑐𝑗 𝑖𝑅 𝑉 電気系 𝑈𝑐 ⟺ 𝜔 電流 → トルクτ 𝐾𝑇 𝑖𝑎 ⟺ 𝜏 − 𝐾𝑇 𝑖𝑎 𝐶𝐽 𝑅𝑜 機械系の電気回路analogy 𝑅𝑜 = 𝐵𝑜−1 ⚫ モータ慣性に伝わるトルク 𝑖𝐶𝐽 = 𝑈𝑐 𝐾𝐸 𝑈𝑐 電圧 → 回転速度 機械系 𝜔 等 価 回 路 58 𝑈𝐶 = 𝑠𝐶𝐽 𝑈𝑐 1Τ𝑠𝐶𝐽 ⚫ モータ粘性抵抗に伝わるトルク 𝑖𝑅 = 𝑈𝐶 𝑅𝑜

59.

5.1 電気回路モデルから伝達関数 59 入力は電源電圧Vで、出力は回転速度Ucとします 𝜔 𝑅𝑎 𝐿𝑎 𝑖𝑎 + 𝐾𝑇 𝑖𝑎 𝑖𝑐𝑗 力ー電流analogy 𝑖𝑅 𝑉 𝑈𝑐 𝐾𝐸 𝑈𝑐 − 𝐾𝑇 𝑖𝑎 𝐶𝐽 𝑅𝑜 電圧 → 回転速度 𝑈𝑐 ⟺ 𝜔 電流 → トルクτ 𝐾𝑇 𝑖𝑎 ⟺ 𝜏 電気回路から以下の電流、電圧の値が求まります 1.電機子電流iaは、 𝑖𝑎 = 𝑉 − 𝐾𝐸 𝑈𝑐 ∙ 𝑌𝑎 𝑌𝑎 = 1 (s:微分演算子) 𝑅𝑎 + 𝑠𝐿𝑎 𝑉 − 𝐾𝐸 𝑈𝑐 𝑖𝑎 = 𝑅𝑎 + 𝑠𝐿𝑎 2.出力電圧Ucは、 𝑈𝑐 = 𝐾𝐸 𝑖𝑎 ∙ 𝑍0 𝑍0 = 1 𝑅𝐿 ∥ 𝑅𝐿 = 𝑠𝐶𝐽 1 + 𝑠𝐶𝐽 𝑅𝐿 𝑍𝑜 = 𝑅𝑜 1 + 𝑠𝑅𝑜 𝐶𝐽 ( ∥:並列接続の意味)

60.

5.2 電気回路モデルからブロック線図 60 DC-motorの等価電気回路からのブロック線図 V(s) + 𝐺𝑎 (𝑠) 𝐼𝑎 𝑠 𝑖𝑎 𝐸𝑐 = 𝐾𝐸 𝑈𝑐 Ω 𝑠 𝐾𝑇 τ 𝐺𝑎 = 𝑌𝑎 = 1 𝑅𝑎 + 𝑠𝐿𝑎 𝐺𝑜 = 𝑍𝑜 = 𝑅𝑜 1 + 𝑠𝑅𝑜 𝐶𝐽 𝜔 𝐺𝑜 (𝑠) 𝐾𝐸 電気回路から上記のブロック図が導かれます 𝑅𝑎 𝐿𝑎 𝑖𝑎 + 𝐾𝑇 𝑖𝑎 𝑖𝑐𝑗 𝑖𝑎 = 𝑖𝑅 𝑉 𝑈𝑐 𝜔 𝐾𝐸 𝑈𝑐 − 𝐾𝑇 𝑖𝑎 𝐶𝐽 𝑅𝑜 𝑉 − 𝐾𝐸 𝑈𝑐 𝑅𝑎 + 𝑠𝐿𝑎 𝑅𝑜 𝑈𝑐 = 𝐾𝐸 𝑖𝑎 ∙ 1 + 𝑠𝑅𝑜 𝐶𝐽

61.

5.2 電気回路モデルからブロック線図 61 DC-motorの等価回路からの伝達関数 V(s) + 𝐺𝑎 (𝑠) 𝐼𝑎 𝑠 𝑖𝑎 𝐸𝑐 = 𝐾𝐸 𝑈𝑐 Ω 𝑠 𝐾𝑇 τ 𝐺𝑜 (𝑠) 𝜔 𝐾𝐸 𝐺𝑎 = 1 𝑅𝑎 + 𝑠𝐿𝑎 𝐺𝑜 = 𝑅𝑜 1 + 𝑠𝑅𝑜 𝐶𝐽 入力を電圧v(t)、出力を回転角速度ω(t) とすると伝達関数は次のようになります 𝐺(𝑠) = 𝐺(𝑠) = Ω(𝑠) 𝐾𝑇 𝐺𝑎 𝑠 𝐺𝑜 𝑠 = 𝑉(𝑠) 1 + 𝐾𝑇 𝐾𝐸 𝐺𝑎 𝑠 𝐺𝑜 𝑠 𝐾𝑇 𝐾𝑇 𝐾𝐸 + 𝑅𝑎 Τ𝑅𝑜 + 𝐿𝑎 Τ𝑅𝑜 + 𝑅𝑎 𝐶𝐽 𝑠 + 𝐿𝑎 𝐶𝐽 𝑠 2 粘性抵抗Boが極小さい(R0>>1)とすると 𝐾𝑇 𝐺(𝑠) = 𝐾𝑇 𝐾𝐸 + 𝑅𝑎 𝐶𝐽 𝑠 + 𝐿𝑎 𝐶𝐽 𝑠 2 (𝑅𝑜 ≫ 1)

62.

5.3 閉ループ伝達関数(数値を代入) 電気回路の伝達関数は計算が大変なのでpython sympy で行いました LoopGain分子: K*RO LoopGain分母: CJ*LA*RO*s**2 + K**2*RO + RA + s*(CJ*RA*RO + LA) ----------------------RLC並列回路の合成インピーダンス(sを含む式) --代入値: RA=0.299, LA=8.241e-05, CJ=1.42e-05,RO=10000000.0 計算結果G: 302000.0/(0.01170222*s**2 + 42.45808241*s + 9120.699) -------------------𝐺(𝑠) = Ω(𝑠) 𝐾𝑇 𝐺𝑎 𝑠 𝐺𝑜 𝑠 = 𝑉(𝑠) 1 + 𝐾𝑇 𝐾𝐸 𝐺𝑎 𝑠 𝐺𝑜 𝑠 この程度なら手計算でも余裕 𝐾𝑇 = 𝐾𝐸 ≡ 𝐾 これに基づきステップ応答とBODE線図を求めてみます ”LTspice”と”python”で同じならば求めた伝達関数は正解と判断しました "transf_1list.ipynb" 62

63.

5.4 ステップ応答とBODE線図 63 # 伝達関数 G(s) num = [302000.] den = [0.01170222,42.45808241,9120.699] sys = control.TransferFunction(num, den) # ========================= # 1. ステップ応答 (axで描画) # ========================= t, y = control.step_response(sys) “BodeStepV2.py”

64.

5.4 ステップ応答とBODE線図 64 # 伝達関数 G(s) num = [302000.] den = [0.01170222,42.45808241,9120.699] sys = control.TransferFunction(num, den) # 2. Bode 線図(ゲイン+位相) f_min = 1 # Hz f_max = 10000 # Hz f = np.logspace(np.log10(f_min), np.log10(f_max), 1000) w = 2 * np.pi * f # rad/s に変換 # Bode 特性を数値計算 mag, phase, omega = control.freqresp(sys, w) “BodeStepV2.py”

65.

6. DC モータの伝達関数(慣性負荷あり) 65 回転体系の電気回路analogy 𝑅𝑎 τ 𝑉 symbol unit unit J [kg・m2] ⟺ C [F] K [N・m/rad] ⟺ L-1 [H-1] B [N・s/m] ⟺ R-1 [Ω-1] Τ [N・m] ⟺ I [A] ω [Rad/s] ⟺ E [V] 𝐾𝑠 𝐽𝐿 𝐽 𝑖𝑎 𝜃𝐿 𝑡 𝜔𝐿 𝑡 ω 𝐵a 𝐵𝐿 機械系 𝑖𝑎 𝑅𝑎 𝐿𝑎 Symbol 𝜔 𝑈𝑐 + 𝑉 𝐾𝑇 𝑖𝑎 𝜏 𝑈𝐿 𝑖𝑆 𝐿𝑠 𝑖𝑐 𝑖𝑅 𝜔𝐿 𝐾𝐸 𝑈𝑐 電気系 − 𝐾𝑇 𝑖𝑎 𝐶𝐽 𝐶L 𝑅𝐿 機械系の電気回路analogy 負荷を駆動するDC モータの等価モデル Baは省略(Ba<<1) ✓ La : 0.0824 [mH] ✓ Ra : 0.299 [Ω] ✓ KT : 0.0302 [N⋅m/A] ✓ KE : 0.0301[Vs/rad] ✓ CJ: 1.42×10−5 [F]

66.

6. DC モータの伝達関数(慣性負荷あり) 𝑅𝑎 𝑉 τ 𝐾𝑠 𝐽𝐿 𝐽 𝑖𝑎 ω 𝐵a 𝐵𝐿 慣性負荷 𝜃𝐿 𝑡 𝜔𝐿 𝑡 66

67.

6.1 電気回路モデルから伝達関数 𝑖𝑎 𝑅𝑎 𝐿𝑎 𝜔 𝑈𝑐 + 𝑉 𝑈𝐿 𝑖𝑆 𝐿𝑠 𝐾𝑇 𝑖𝑎 𝜏 𝑖𝑐 − 𝐶𝐽 𝐾𝑇 𝑖𝑎 𝐶L 力ー電流analogy 𝑖𝑅 𝜔𝐿 𝐾𝐸 𝑈𝑐 67 𝑅𝐿 電圧 → 回転速度 𝑈𝑐 ⟺ 𝜔 電流 → トルクτ 𝐾𝑇 𝑖𝑎 ⟺ 𝜏 電気回路から以下の電流、電圧の値が求まります 1.電圧Ucは、電流とZLの関係から 𝑈𝑐 = 𝐾𝑇 𝐼𝑎 𝑍𝐿 𝑍𝐿 = 1 1 ∥ 𝑠𝐿𝑠 + ∥ 𝑅𝐿 𝑠𝐶𝐽 𝑠𝐶𝐿 2. ULは、抵抗の按分比から 1 ∥ 𝑅𝐿 𝑠𝐶𝐿 𝑈𝐿 = 𝑈𝑐 1 𝑠𝐿𝑠 + ∥ 𝑅𝐿 𝑠𝐶𝐿 ( ∥:並列接続の意味) 𝑍𝐿 = 𝑈𝐿 = program計算結果 𝑅𝐿 𝑈 𝑅𝐿 + 𝑠𝐿𝑠 + 𝑠 2 𝐿𝑠 𝐶𝐿 𝑅𝐿 𝑐

68.

6.2 電気回路モデルからブロック線図 𝐼𝑎 𝑠 V(s) + 𝑖𝑎 𝐺𝑎 𝑠 𝐸𝑐 = 𝐾𝐸 𝑈𝑐 𝐾𝑇 τ 𝐺𝐿 𝑠 Ω 𝑠 Ω𝐿 𝑠 𝜔 𝜔𝐿 𝐺𝐿1 𝑠 𝐺𝑎 = 𝐾𝐸 68 1 𝑅𝑎 + 𝑠𝐿𝑎 等価電気回路図から伝達関数は次のように求まる 𝐺𝐿 𝑠 = 𝐺𝐿1 𝑠 = program計算結果 𝑅𝐿 𝑅𝐿 + 𝑠𝐿𝑠 + 𝑠 2 𝐿𝑠 𝐶𝐿 𝑅𝐿

69.

6.3 閉ループ伝達関数(数値を代入) 69 電気回路の伝達関数は計算が大変なのでpython sympy で行いました LoopGain分子: CL*K*LS*RL*s**2 + K*LS*s + K*RL LoopGain分母: CJ*CL*LA*LS*RL*s**4 + K**2*RL + RA + s**3*(CJ*CL*LS*RA*RL + CJ*LA*LS) + s**2*(CJ*LA*RL + CJ*LS*RA + CL*K**2*LS*RL + CL*LA*RL) + s*(CJ*RA*RL + CL*RA*RL + K**2*LS + LA) ---------------------- RLC並列回路の合成インピーダンス(sを含む式) --代入値: RA=0.299, LA=8.241e-05, CJ=1.42e-05,LS=0.05,CL=0.001,RL=100000.0,K=0.0302 計算結果G: 0.0302*(5.0*s**2 + 0.05*s + 100000.0)/(5.85111e-9*s**4 + 2.12290585111e-5*s**3 + 0.01291843449*s**2 + 30.324708012*s + 91.503) ---------------------------------------𝐺(𝑠) = Ω(𝑠) 𝐾𝑇 𝐺𝑎 𝑠 𝐺𝑜 𝑠 = 𝑉(𝑠) 1 + 𝐾𝑇 𝐾𝐸 𝐺𝑎 𝑠 𝐺𝑜 𝑠 書き直し 𝐺(𝑠) = 𝐾 𝐶𝐿 𝐿𝑠 𝑅𝐿 𝑠 2 + 𝐿𝑠 𝑠 + 𝑅𝐿 𝐶𝐽 𝐶𝐿 𝐿𝑎 𝐿𝑠 𝑅𝐿 𝑠 4 + 𝑠 3 𝐶𝐽 𝐶𝐿 𝐿𝑠 𝑅𝑎 𝑅𝐿 + 𝐶𝐽 𝐿𝑎 𝐿𝑠 + 𝑠 2 𝐶𝐽 𝐿𝑎 𝑅𝐿 + 𝐶𝐽 𝐿𝑠 𝑅𝑎 + 𝐾 2 𝐶𝐿 𝐿𝑠 𝑅𝐿 + 𝐶𝐿 𝐿𝑎 𝑅𝐿 + 𝑠 𝐶𝐽 𝑅𝑎 𝑅𝐿 + 𝐶𝐿 𝑅𝑎 𝑅𝐿 + 𝐾 2 𝐿𝑠 + 𝐿𝑎 + 𝐾 2 𝑅𝐿 + 𝑅𝑎 これに基づきステップ応答とBODE線図を求めてみます ”LTspice”と”python”で同じならば求めた伝達関数は正解と判断しました "transf_1list.ipynb"

70.

6.4 ステップ応答とBODE線図 70 負荷あり # 伝達関数 G(s) num = [0.0302*5,0.0302*0.05,0.0302*1e5] den = [5.85111e-9,2.12290585111e5,0.01291843449,30.324708012,91.503] sys = control.TransferFunction(num, den) # ========================= # 1. ステップ応答 (axで描画) # ========================= t, y = control.step_response(sys) “BodeStepV2.py”

71.

6.4 ステップ応答とBODE線図 71 負荷あり num = [0.0302*5,0.0302*0.05,0.0302*1e5] den = [5.85111e-9,2.12290585111e5,0.01291843449,30.324708012,91.503] sys = control.TransferFunction(num, den) # 2. Bode 線図(ゲイン+位相) f_min = 1 # Hz f_max = 10000 # Hz f = np.logspace(np.log10(f_min), np.log10(f_max), 1000) # 対数スケール w = 2 * np.pi * f # rad/s に変換 # Bode 特性を数値計算 mag, phase, omega = control.freqresp(sys, w) “BodeStepV2.py”

72.

ΩとΩLの関係 伝達関数は以下の通りほぼ1なので、ΩとΩLの関係は大体同じになります ただしこれは今回の負荷条件ですので、負荷が変われば変化します。 𝐺𝐿1 𝑠 = 𝑅𝐿 𝑅𝐿 + 𝑠𝐿𝑠 + 𝑠 2 𝐿𝑠 𝐶𝐿 𝑅𝐿 計算結果GL1: 100000.0/(5.0*s**2 + 0.05*s + 100000.0) 等価電気回路では、さまざまな負荷条件で簡単にシミュレーションができます。 しかし、伝達関数で検証するのは大変そうです。 これは、単に私がその方法を知っていないだけなのだと思いますが。 次頁に等価電気回路でのシミュレーション結果を示します 72

73.

ΩとΩLの関係 73 今回のパラメータでは初めの 50msまでを除き違いはありま せん。 ωL 電気回路では簡単にΩLが出 ますがFB制御系では算出が 面倒ですね。 ω 負荷パラメータを変化させても時間の程度差 はあれ両者は一致するようです IB3 IC2 モータ発生トルク 慣性体駆動トルク

74.

7. 電気回路から伝達関数を求めるプログラム 電気回路から伝達関数を求めるのは制御ブロック図を作るのに必要です。 しかし、回路が複雑になってくると求めるのがなかなか大変です。 1. そこで、数値だけでなく文字や数式を記号として扱い 演算が可能なpython sympyを使って、伝達関数を 求めるプログラムを作りました 2. また、各素子の記号に数値を入れることで数値係数の 伝達関数も計算できるようにしました "transf_1list.ipynb" 74

75.

7.1 電気回路の伝達関数計算(sympy) 75 プログラムは大変簡単です。GLを求めるを例に説明します 1. 並列抵抗インピーダンスの計算 {def parallel_impedance_fraction} 2. 直列抵抗インピーダンスの計算 {def series_impedance_fraction} 3. これを順次繰り返し適用していけばよいです GL Z2 𝑅𝑎 𝐿𝑎 Z1 𝐿𝑠 + Z1=(parallel_impedance_fraction(Z_RL,Z_CL)) Z2=(series_impedance_fraction(Z1,Z_LS)) GL=(parallel_impedance_fraction(Z_CJ,Z2)) 𝑉 𝐾𝐸 𝑈𝑐 − 𝐾𝑇 𝑖𝑎 Gainは: 𝐺(𝑠) = "transf_1list.ipynb" 𝐶𝐽 𝐶L 𝑅𝐿 GA=1/(series_impedance_fraction(Z_RA,Z_LA)) G=simplify(together(expand(K*GA*GL)/(1+K*K*GA*GL))) Ω(𝑠) 𝐾𝑇 𝐺𝑎 𝑠 𝐺𝐿 𝑠 = 𝑉(𝑠) 1 + 𝐾𝑇 𝐾𝐸 𝐺𝑎 𝑠 𝐺𝐿 𝑠 𝐾𝑇 = 𝐾𝐸 ≡ 𝐾 pdfからコピペできます

76.

7.1 電気回路の伝達関数計算(sympy) 直列・並列抵抗インピーダンスの計算は以下のようです from sympy import symbols, simplify,together, I, Poly,expand def series_impedance_fraction(*impedances): #直列接続を計算し、 # 分数式で出力する関数。合計を計算し、together()で分数式にまとめる return together(sum(impedances)) def parallel_impedance_fraction(*impedances): #並列接続を計算し、 # 分数式で出力する関数。逆数の和を計算 reciprocal_sum = sum(1/z for z in impedances) # その逆数をとり、together()で分数式にまとめる return together(1 / reciprocal_sum) プログラムは非常に簡単です。 次にプログラムを示します(慣性負荷なしの例) (負荷ありでは、これに前述のZ1,Z2,GLを単に入れるだけです) "transf_1list.ipynb" 76

77.
[beta]
7.2 symp program List

pdfからコピペできます

from sympy import symbols, simplify,together, I, Poly,expand
# 電気回路のインピーダンス計算が大変なので作ったprogram
# 分子と分母を多項式として整理(ただの印刷用です。なくても可)
# 20250906 shimojo makoto (下条誠)
numerator, denominator = G.as_numer_denom()
#G_numera=Poly(numerator,s) #多項式object
# 変数をシンボルとして定義
#G_denomi=Poly(denominator,s)#多項式object
# s: ラプラス演算子 (Laplace operator)
G_numera=Poly(numerator,s).as_expr() #普通の式となる
RA,LA,RO,RL, LS, CL,CJ,K, s = symbols('RA,LA,RO,RL, LS,
G_denomi=Poly(denominator,s).as_expr()#普通の式となる
CL,CJ,K, s', positive=True)
print(f"LoopGain分子: {G_numera}")
# 回路素子のインピーダンスをsで定義
print(f"LoopGain分母: {G_denomi}")
Z_RA = RA
# 抵抗のインピーダンス
GG=G_numera/G_denomi #今は印刷用に使うだけ
Z_LA = s * LA
# コイルのインピーダンス
print("-" * 20)#-------------------Z_RO = RO
# 抵抗のインピーダンス
Z_RL = RL
# 抵抗のインピーダンス
# ---------------------------------------------------Z_LS = s * LS
# コイルのインピーダンス
# ここから具体的な数値を代入する部分
Z_CL = 1 / (s * CL)
# コンデンサのインピーダンス
# ---------------------------------------------------Z_CJ = 1 / (s * CJ)
# コンデンサのインピーダンス
# 代入する値の辞書 (sを含まない)
values = {
def series_impedance_fraction(*impedances): #直列接続を計算し、
RA:0.299,LA:0.08241e-3,RO:1.0e7,RL: 1.0e5,LS: 0.05,
# 分数式で出力する関数。合計を計算し、together()で分数式にまとめる
CL: 1.0e-3,CJ: 1.42e-5,K: 0.0302
return together(sum(impedances))
}
def parallel_impedance_fraction(*impedances): #並列接続を計算し、# .subs()メソッドを使って数式に値を代入
# 分数式で出力する関数。逆数の和を計算
# この時、sはシンボルとして残ります
reciprocal_sum = sum(1/z for z in impedances)
G_loopGain_with_values = G.subs(values)
# その逆数をとり、together()で分数式にまとめる
return together(1 / reciprocal_sum)
# 数値代入後の数式を表示
print("--- RLC並列回路の合成インピーダンス(sを含む式) ---")
# RLCの数式を計算( Laplace transform)
print(f"代入値: RA={values[RA]}, LA={values[LA]},
GA=1/(series_impedance_fraction(Z_RA,Z_LA))
CJ={values[CJ]},RO={values[RO]}")
GO=(parallel_impedance_fraction(Z_RO,Z_CJ))
print(f"計算結果G: {G_loopGain_with_values}")
print("-" * 20)
#Loop Gain (展開してまとめる)
G=simplify(together(expand(K*GA*GO)/(1+K*K*GA*GO)))
電気回路の伝達関数を計算

"transf_1list.ipynb"

77

78.

8. DC モータの伝達関数手計算(省略版) 手計算で行ってみました 𝑖𝑎 𝑅𝑎 𝐿𝑎 𝜔 𝑈𝑐 + 𝑉 𝑈𝐿 𝑖𝑆 𝐿𝑠 𝐾𝑇 𝑖𝑎 𝜏 𝑖𝑐 𝑖𝑅 𝜔𝐿 𝐾𝐸 𝑈𝑐 − 𝐾𝑇 𝑖𝑎 𝑅𝑎 𝐿𝑎 𝜔 + 𝑉 𝐶L 𝑅𝐿 CJを省略した 𝐶𝐽 ≪ 𝐶L 𝑖𝑎 𝐶𝐽 𝐾𝑇 𝑖𝑎 𝜏 𝑈𝑐 𝑈𝐿 𝑖𝑆 𝐿𝑠 𝑖𝑐 𝑖𝑅 𝜔𝐿 𝐾𝐸 𝑈𝑐 − 𝐾𝑇 𝑖𝑎 𝐶L 𝑅𝐿 78

79.

8.1 DC モータの伝達関数(省略版) まず、計算を簡単にするためCJを削除 𝑖𝑎 𝑅𝑎 𝐿𝑎 𝜔 + 𝑉 𝐾𝑇 𝑖𝑎 𝜏 𝐶𝐽 ≪ 𝐶L 𝑍𝐿 𝑈𝑐 𝑈𝐿 𝑖𝑆 𝐿𝑠 𝑖𝑐 𝑖𝑅 𝑅𝐿 + 𝑠𝐿𝑠 + 𝑠 2 𝐿𝑠 𝐶𝐿 𝑅𝐿 𝑍𝐿 = 1 + 𝑠𝐶𝐿 𝑅𝐿 𝜔𝐿 𝐾𝐸 𝑈𝑐 − 𝐾𝑇 𝑖𝑎 𝐶L 𝑅𝐿 1.𝑈𝑐 = 𝐾𝑇 𝐼𝑎 𝑍𝐿 𝑅𝐿 + 𝑠𝐿𝑠 + 𝑠 2 𝐿𝑠 𝐶𝐿 𝑅𝐿 𝑈𝑐 = 𝐾𝑇 𝐼𝑎 1 + 𝑠𝐶𝐿 𝑅𝐿 𝑅𝐿 + 𝑠𝐿𝑠 + 𝑠 2 𝐿𝑠 𝐶𝐿 𝑅𝐿 𝐺𝐿 𝑠 = 1 + 𝑠𝐶𝐿 𝑅𝐿 2.ULは抵抗の按分比から 1 𝑠𝐶𝐿 ∥ 𝑅𝐿 𝑈𝐿 = 𝑈𝑐 1 𝑠𝐿𝑠 + 𝑠𝐶 ∥ 𝑅𝐿 𝐿 𝑅𝐿 𝑈𝐿 = 𝑈 𝑅𝐿 + 𝑠𝐿𝑠 + 𝑠 2 𝐿𝑠 𝐶𝐿 𝑅𝐿 𝑐 𝐺𝐿1 𝑠 = 𝑅𝐿 𝑅𝐿 + 𝑠𝐿𝑠 + 𝑠 2 𝐿𝑠 𝐶𝐿 𝑅𝐿 79

80.

8.1 DC モータの伝達関数(省略版) 80 DC-motorの等価回路からの伝達関数 V(s) 𝐼𝑎 𝑠 + 𝐺𝑎 (𝑠) 𝑖𝑎 𝐸𝑐 = 𝐾𝐸 𝑈𝑐 𝐾𝑇 τ 𝐺𝐿 (𝑠) Ω 𝑠 𝜔 Ω𝐿 𝑠 𝜔𝐿 𝐺𝐿1 (𝑠) 𝐺𝑎 = 𝑅𝐿 + 𝑠𝐿𝑠 + 𝑠 2 𝐿𝑠 𝐶𝐿 𝑅𝐿 𝐺𝐿 𝑠 = 1 + 𝑠𝐶𝐿 𝑅𝐿 𝐺𝐿1 𝑠 = 𝐾𝐸 1 𝑅𝑎 + 𝑠𝐿𝑎 𝑅𝐿 𝑅𝐿 + 𝑠𝐿𝑠 + 𝑠 2 𝐿𝑠 𝐶𝐿 𝑅𝐿 入力を電圧v(t)、出力を回転角速度ω(t) とすると伝達関数は次のようになります 𝐺(𝑠) = Ω(𝑠) 𝐾𝑇 𝐺𝑎 𝑠 𝐺𝐿 𝑠 = 𝑉(𝑠) 1 + 𝐾𝑇 𝐾𝐸 𝐺𝑎 𝑠 𝐺𝐿 𝑠 𝐾𝑇 𝑅𝐿 + 𝑠𝐿𝑠 + 𝑠 2 𝐿𝑠 𝐶𝐿 𝑅𝐿 𝐺(𝑠) = 𝑅𝑎 + 𝐾𝑇 𝐾𝐸 𝑅𝐿 + 𝑠 𝐾𝑇 𝐾𝐸 𝐿𝑠 + 𝐿𝑎 + 𝑅𝑎 𝐶𝐿 𝑅𝐿 + 𝑠 2 𝐾𝑇 𝐾𝐸 𝐿𝑠 𝐶𝐿 𝑅𝐿 + 𝐿𝑎 𝐶𝐿 𝑅𝐿 参考:CJ省略なし完全版(Sympy) 𝐾𝑇 = 𝐾𝐸 ≡ 𝐾 𝐺(𝑠) = 𝐾 𝐶𝐿 𝐿𝑠 𝑅𝐿 𝑠 2 + 𝐿𝑠 𝑠 + 𝑅𝐿 𝐶𝐽 𝐶𝐿 𝐿𝑎 𝐿𝑠 𝑅𝐿 𝑠 4 + 𝑠 3 𝐶𝐽 𝐶𝐿 𝐿𝑠 𝑅𝑎 𝑅𝐿 + 𝐶𝐽 𝐿𝑎 𝐿𝑠 + 𝑠 2 𝐶𝐽 𝐿𝑎 𝑅𝐿 + 𝐶𝐽 𝐿𝑠 𝑅𝑎 + 𝐾 2 𝐶𝐿 𝐿𝑠 𝑅𝐿 + 𝐶𝐿 𝐿𝑎 𝑅𝐿 + 𝑠 𝐶𝐽 𝑅𝑎 𝑅𝐿 + 𝐶𝐿 𝑅𝑎 𝑅𝐿 + 𝐾 2 𝐿𝑠 + 𝐿𝑎 + 𝐾 2 𝑅𝐿 + 𝑅𝑎

81.

8.1 DC モータの伝達関数(省略版) DC-motorの等価回路からの伝達関数 𝐾𝑇 𝑅𝐿 + 𝑠𝐿𝑠 + 𝑠 2 𝐿𝑠 𝐶𝐿 𝑅𝐿 𝐺(𝑠) = 𝑅𝑎 + 𝐾𝑇 𝐾𝐸 𝑅𝐿 + 𝑠 𝐾𝑇 𝐾𝐸 𝐿𝑠 + 𝐿𝑎 + 𝑅𝑎 𝐶𝐿 𝑅𝐿 + 𝑠 2 𝐾𝑇 𝐾𝐸 𝐿𝑠 𝐶𝐿 𝑅𝐿 + 𝐿𝑎 𝐶𝐿 𝑅𝐿 負荷 Maxon DCモーター 148867 ✓ La : 0.0824×10−3 [H] ✓ Ra : 0.299 [Ω] ✓ KT : 0.0302 [N⋅m/A] ✓ KE : 0.0301[Vs/rad] ✓ J: 1.42×10−5 [kg⋅m2] 𝐺 𝑠 = ✓ BL:粘性抵抗 0.00001 [Nm/(rad/s)] ✓ Ks:ねじれ剛性 20 [Nm/rad ] ✓ JL:慣性モーメント 0.001 [kg m2 ] 𝑅𝐿 : 1.0 × 105 Ω 𝐿𝑠 : 0.05 𝐻 𝐶𝐿 : 1.0 × 10−3 𝐹 𝐶𝐽 : 1.42×10−5 [F] 0.0302 105 + 𝑠 0.05 + 𝑠 2 0.05 × 10−3 × 105 0.299 + 9.0902×101 + 𝑠 9.0902×10−4 × 0.05 + 8.24×10−5 + 0.299 × 10−3 × 105 + 𝑠 2 9.0902×10−4 × 0.05 × 10−3 × 105 + 8.24 ∙ 10−5 × 10−3 × 105 = 0.0302 105 + 𝑠 0.05 + 𝑠 2 0.05 × 10−3 × 105 9.0902×101 + 𝑠0.299 × 10−3 + 𝑠 2 9.0902×10−4 × 0.05 × 10−3 + 8.24 ∙ 10−5 × 10−3 = 3.02 × 103 + 𝑠 1.51 × 10−3 + 𝑠 2 1.51 × 10−1 90.902 + 𝑠 2.99 + 𝑠 2 1.279 × 10−2 3.02 × 103 + 𝑠 1.51 × 10−3 + 𝑠 2 1.51 × 10−1 𝐺 𝑠 = 90.902 + 𝑠 2.99 + 𝑠 2 1.279 × 10−2 81

82.

8.2 ステップ応答とBODE線図(省略版) 82 # 伝達関数 G(s) num = [1.51e-1, 1.51e-3,3.02e3] #S^2,s^1,s^0 の順 den = [1.279e-2,29.9,90.902] #S^3,s^2,s^1,s^0 の順 sys = control.TransferFunction(num, den) # 1. ステップ応答 (axで描画) t, y = control.step_response(sys) # 2. Bode 線図(ゲイン+位相) f_min = 1 # Hz f_max = 10000 # Hz f = np.logspace(np.log10(f_min), np.log10(f_max), 1000) w = 2 * np.pi * f # rad/s に変換 # Bode 特性を数値計算 mag, phase, omega = control.freqresp(sys, w) "C:¥Users¥shimo¥Desktop¥LTspice_DCmotor¥Python_DCmotor¥BodeStepV2.py"

83.

8.2 ステップ応答とBODE線図(省略版) # 伝達関数 G(s) num = [1.51e-1, 1.51e-3,3.02e3] #S^2,s^1,s^0 の順 den = [1.279e-2,29.9,90.902] #S^3,s^2,s^1,s^0 の順 sys = control.TransferFunction(num, den) # 1. ステップ応答 (axで描画) t, y = control.step_response(sys) # 2. Bode 線図(ゲイン+位相) f_min = 1 # Hz f_max = 10000 # Hz f = np.logspace(np.log10(f_min), np.log10(f_max), 1000) w = 2 * np.pi * f # rad/s に変換 # Bode 特性を数値計算 mag, phase, omega = control.freqresp(sys, w) 83

84.

8.2 求めた伝達関数での応答の相違 DC motor+負荷回路(sympy) 左の省略版(手計算) 84

85.

8.2 求めた伝達関数での応答の相違 DC motor+負荷回路(sympy) 左の省略版(手計算) STEP応答の初期部分拡大 省略版ではCJを削除した。その結果CJによる振動の有無となって表れている。 "C:¥Users¥shimo¥Desktop¥LTspice_DCmotor¥Python_DCmotor¥BodeStepV2.py" 85

86.

つづく ⚫ 今回はDC-motorです。電気-機械系混成システムへ適用への試みです。電気回路アナロジーがど れほど使えるのか大変興味深いところです。 ⚫ 動作シミュレーションでは、電気回路的な方法がわかりやすいように思いました。ただ理論的な考 察を行うには制御系に落とし込んで解析するのが良いのでしょうか? ⚫ また、電気回路から制御系のブロック図を作るとき、電気回路の伝達関数を書き下すことに大変苦 労しました。今年の夏は特に暑く、何回計算をやり直したかわかりません。 ⚫ そこで、計算を記号演算可能なSympyで行わせようと思いました。並列と直列の回路演算の繰り 返しで出来ると思たので、AIのGeminiに相談しながらプログラムを作ったら、なんと一時間程度 で出来てしまいました。なんと素晴らしい時代になったものか。筆算で唸っていたこの数日は何で あったのかと時代の進歩を実感したものでした。 ⚫ ただ、プログラムの検証にはLTspice、Python controlで実際に動かし、確かめるのにそれなりの 時間がかかりました。検証には時間がかかりますね。 ⚫ 書いたprogramは本当に簡単なものです。ただし以前なら、まずSympyの学習で多大な時間を費 やしたことを考えると効率的です。大体プログラムなどは2,3できれば、あとの言語は方言みた いなものでAIの活用は理にかなっていると思います。(個人の感想です) ⚫ これまでfortran, 各種basic, 各種assembler, C, pascal, lisp, …, matlab, simulink, .., python の学習に使った時間に虚しさを感じます。(PDP11 assemblerでXcompilerを書いた時代は面白かったが..) ⚫ 次回は、直巻き、分巻、すなわち電磁石型DC-モータの解析を予定しています。いつになるかわか りませんが頑張ってみます。 ⚫ アナロジーは形式的なもので、物理的意味はない、という意見もあります。どうなのでしょうか、 私も知りたいところです。 86

87.

参考文献 87 中田孝:工学解析(技術者のための数学手法),オーム社,1972、総頁572.

88.

参考文献 ⚫ S. Mehta and J. Chiasson, "Nonlinear control of a series DC motor: theory and experiment," in IEEE Transactions on Industrial Electronics, vol. 45, no. 1, pp. 134-141, Feb. 1998, 今回利用したLTspice schematicファイル(.asc)、python programは下記に置きました https://github.com/m4881shimojo/DCmotor 88

89.

補足:中田孝氏について 中田 孝(1908- 2000):日本の機械工学者。東京工業大学名誉教授。 元日本機械学会会長。元計測自動制御学会会長。元日本学士院会員。日本 学士院賞受賞。 https://ja.wikipedia.org/wiki/中田孝 中田孝先生は、大学院時代に私が所属した研究室の前教授でした。著書「転位歯車」は 修論では大変お世話になりました。しかし、いろいろな逸話などは聞くことはありまし たが、中田先生にはお会いしたことは残念ながらありませんでした。先日、同期で研究 室を引き継いだ北條さん(東工大名誉教授)に会った時、その話をしたところ、中田先 生の講義ビデオを送って頂き、初めてその肉声に触れることができました。感謝します。 そのビデオを見ながら、中田先生は、歯車の研究で日本学士院賞を45歳で受賞したのを はじめ、自動制御、NC工作機などの分野も手掛けた非常にエンジニアリングセンスの高 い方であり、また数学や電気電子工学に対する造詣も大変深い方だと認識を新たにしま した。またビデオの中で“歯型理論にはあまり手を付けたくなかったが電気回路理論の 応用に興味を持っていたので研究を進めた”とのあたりは、非常に親近感を感じました。 中田孝先生の紹介記事です【日本の工作機械を築いた人々】 大河出版「応用機械工学」1988年4~5月号掲載、 https://www.sme-japan.org/library5.pdf 中田先生のNC工作機械を開発したのときの開発談が語られています。大変面白い内容ですのでお勧めです。 89

90.

補足(私の卒論・修論) 90 【卒研】私は卒業研究では電通大の梶谷誠先生の研究室で歯車を加工するホブ盤の制御回路を作成しました。但し、装置は東 工大石川研にありました。開発する制御回路は、ホブ盤主軸の回転角度を計測して、切削工具を駆動する電気油圧パルスモー タを制御するものです。この電気油圧パルスモータは、電気パルスモータの出力をプランジャー形油圧モータでトルク増幅す るという仕組みでした。初めてホブ盤を見たときの印象は巨大な鉄の塊で、制御ミスでパワフルな油圧モータなどを暴走させ たらどうなるかと、恐れを抱いたものです。 試作した回路は、単純な論理素子(TTL)を組合わせた回路です。当時は論理素子の黎明期で、詳しい書籍など無い時に初 歩の初歩から学び始め、TI社の分厚いハンドブックで論理素子の細かな仕様をチェックしながら、連日連夜、回路を試作して はオシロスコープなどを使い動作を確認して、回路を設計していました。本当に充実した楽しい時間でした。ご指導頂いた梶 谷先生には心から感謝しています。 しかし、実機実験では散々で、必死で改良を重ね何とか動作させました。やっと加工できた歯車を見たときの感激は今も忘 れません。しかし、歯すじ誤差に問題がありました。その原因は切削加工力の増加に伴うモータ回転遅れです。これは電気油 圧パルスモータの最大の長所でもある、開ループ制御の限界だったのでしょう。(後に中田先生が電気油圧パルスモータの開 発にも深く関与していたと知りました。奇妙な縁を感じます) 【就職】卒業後はX社に就職しました。理由はX社の子会社であるF社でのロボット開発に関心があったためです。当時F社へ はX社に就職する必要がありました。そして、入社時実習は希望先のF社でした。ところが、本配属では全く違うX社部署だっ たため、すぐに退職して東工大院の石川研(中田研の後継研究室)へ進学することにしました。人生にifはつきものですが、F 社に入っていたら全く違う人生を送ったようにも思います。 【修論】修論では習得した論理回路の設計技術を用いて、自動歯車精度測定機の開発に係り、歯形計算回路と測定機の制御回 路の開発を行いました。また修士2年の中頃、当時の先進機器であるミニコン(HP-21MX)が納入されたので、データ処理 (Fourier解析など)に利用することにしました。それからは、ミニコンと歯車測定機とのinterface回路設計から始めて、各 種プログラム作りと正月もない日々でした。またなんと、ミニコンは紙テープベースの開発システムで、コンパイラもライブ ラリもリンカも、全て毎回毎回、そのsoftwareを紙テープから読込ませる必要があり、コンパイル結果なども紙テープで TTY(110 baud rates)出力という、本当に気が狂うようなシステムでした(これと比べるとDOSは凄い)。実は、修論にはミ ニコンを利用する必要は全くなかったのですが、好奇心から無理にお願いして利用したのが真実です。これらの成果は機械学 会誌に論文として掲載できました。そして修了後は、国の研究機関に就職することに致しました。 大学時代に、昼夜を忘れて一心不乱に学んだ論理回路設計、計算機の経験は私の一つの財産になったように思います。 (DOS: Disk Operating System)