RCサーボモータの電流波形

RCサーボの電流計測では、RCサーボモータの電流波形が連続的なアナログ値ではなく、負荷に応じてDuty比が変動するPWM波形のようであるのではないかという話でした。
今回はRCサーボコントローラを用いて、電流波形の測定を行い、前述のことを確認しました。


◎実験条件
・RCサーボモータは三和電子機器のSX-101Zを使いました。
・RCサーボコントローラにはRCサーボコントローラで作成したものを使いました。
・RCサーボおよびコントローラの電源は三端子レギュレータで作成した6Vを使いました。
・電圧波形の計測はPDS5022Sに後述の電流計測アダプタをつけて行いました。
・サーボモータへの負荷は、手でかけました。

○電流計測アダプタ

001_20081112042810.jpg
電流計測アダプタの外観

002_20081112043445.png
電流計測アダプタの回路図


電流計測アダプタの回路構成は、標準的な非反転増幅回路です。シャント抵抗は0.1Ωでアンプの増幅率は11倍です。
出力電圧から電流を計算すると以下の式になります。


_eq_fyfb.png


オシロスコープで計測される電圧波形のピーク値が約800mVとすると、電流のピーク値は約730mAということになります。
しかし、今回は具体的な数値は参考程度にとどめ、電流の波形だけを議論します。

◎結果
○定常領域と過渡領域

003_20081112043452.png
定常領域

004_20081112043457.png
過渡領域


上の波形は、RCサーボの切れ角を変化させない状態で負荷をかけたときの測定波形です。確かにピーク値の変化しない矩形波になっています。
一方、下の波形は負荷をかけない状態で切れ角を変化させた際の測定波形です。パルス的な途切れ途切れの波形ですが、ピーク値自体も変化していることがわかります。

○負荷の大きさ

005_20081112043504.png
低負荷

006.png
中負荷

007.png
高負荷


上の3つは、負荷を変化させたときのそれぞれの測定波形です。

○切れ角指示信号とのタイミング

008.png


上の赤のラインが電流波形、黄色のラインがRCサーボヘの切れ角の指示信号です。電流のパルスは指示信号のタイミングと同期しています。


009.png

010.png


電流波形と指示信号のタイミングの関係を見るためにタイムスケールを拡大してみました。
電流の立ち上がりが、指示信号終了を待ってからになっていることが分かります。

◎考察
測定から、電流波形が指示信号のタイミングと同期をしていることが分かりました。このことから、RCサーボのフィードバックが指示信号のタイミング周期で行われていることが類推できます。
RCサーボの信号範囲のエントリから、RCサーボモータの切れ角はパルス幅のみに依存し、信号周期に依存しないことが分かっています。したがって、許容される信号範囲内でできるだけ高周波で指示パルスを送るほうが、RCサーボのフィードバック周期が短くなり有利だということになります。

また、電流波形の立ち上がりが指示パルスの立下りを待つということは、実際のRCサーボの反応も指示パルスの立下りを待つということです。これは言い換えると、RCサーボの中心切れ角から切れ角を変更したときに左右で反応速度が異なるということを意味しています。すなわち、パルス幅が短くなる方向への変化のほうが応答速度が速いということです。

まあ、どちらも現実的に問題になるレベルだとは思いませんが・・・

◎余談
余談ですが、オシロスコープのアクセサリとして電流プローブというものがあります。
その名のとおりオシロスコープで電流を測るためのプローブなのですが、PDS5022S程度で満足している素人が手を出すのは非現実的なお値段です。
しかしながら、今回使った電流計測アダプタ程度でも、それなりに役に立ちます。ちゃんとしたのを一つぐらい作っても良いかもしれません。


tag: サーボ PDS5022 

RCサーボモータの信号範囲

RCサーボモータについてでは、RCサーボの制御信号には方言があると書きました。そこで、RCサーボコントローラで作ったサーボコントローラを使い、手元にあった三和電子機器のSX-101Zについて、許容される信号範囲を調べようと試みました・・・結果はあまり参考になるものとは言えませんが。


○実験条件
・RCサーボモータは三和電子機器のSX-101Zを使いました。
・RCサーボコントローラにはRCサーボコントローラで作成したものを使いました。
・電源電圧は三端子レギュレータで作成した6Vを使いました。
・周波数/パルス幅計測にはPDS5022SのMESURE機能を使いました。


004.jpg



○動作可能周波数
38.3Hz(25.8ms)~55.2Hz(18.1ms)の範囲では正常動作しました。
この範囲外の周波数は設定できなかったので、実際の動作可能周波数範囲はより広いと考えられます。


002_20081103231038.png
38.8Hz(25.8ms)時

003_20081103231045.png
55.2Hz(18.1ms)時


○動作可能パルス幅
●最大動作可能パルス幅
パルス幅を増加させていった結果、2.36ms付近で切れ角の増加が見られなくなりました。


004_20081103231051.png
パルス幅:2.36ms


●最小動作可能パルス幅
パルス幅を減少させていった結果、792us付近で切れ角の減少が見られなくなりました。


005.png
パルス幅:792us


○結論
最小動作周波数:38.3Hz以下
最大動作周波数:55.2Hz以上
最小パルス幅 :792us程度
最大パルス幅 :2.36ms程度

RCサーボの回転角はパルス幅のみに依存し、周波数には依存しませんでした。

○反省
特性を調べるつもりならもっと調節可能範囲を広く設計すべきでした。
特性を調べるつもりならデジタル制御のもののほうが確実でした。


tag: サーボ PDS5022 

RCサーボコントローラ

RCサーボモータについてのエントリでは、RCサーボの個体差や機械的制約を吸収できるように、コントローラで調節できるようにするとよいということを書きました。
一例として、以前人力飛行機の操縦システムとして採用していた物を紹介します。実際に使っていたものはPICマイコンを用いたデジタル制御なのですが、今回はOPアンプと555をもちいたアナログ回路としてみました。


以下が回路図です。


001_20081103013228.png


アルゴリズムを式で表すと

[サーボ指示値]=[ゲイン]×([ハンドル]-[ハンドル初期値])+[サーボ初期位置]

となります。
これらの各パラメータと周波数を、それぞれ対応する半固定抵抗つかって調整することができます。

次にLTspiceでのシミュレーションを示します。抵抗のパラメータが少し異なってますが・・・(現実はシミュレーション通りには行かないこともあるということで勘弁してください。)


002_20081103013312.png

003_20081103013335.png



ハンドルのボリュームを変化させたときの各ノードの挙動を見るため、ハンドルを最小から最大まで2.5kΩステップでスイープさせたTran解析を行いました。グラフ中の黄緑で表されたパルス幅が変化しているのが読み取れます。付録としてこのシミュレーションのスケマティックを載せておきました。

今回は、面白がってアナログ回路で組んで見ましたが、半固定抵抗を多用していることもあり、信頼性においてマイコンを使ったデジタル制御のものよりも劣ります。というか普通はマイコンで作りますよね。

○付録
実際に作成した回路の外観です。


004.jpg

005.jpg


本エントリで使用した、LTspiceシミュレーションのスケマティックを載せておきます。

controller.asc
Version 4
SHEET 1 880 900
WIRE -640 -320 -736 -320
WIRE 336 -320 336 -352
WIRE -848 -304 -928 -304
WIRE -800 -304 -848 -304
WIRE -32 -304 -96 -304
WIRE 256 -304 192 -304
WIRE -96 -272 -96 -304
WIRE -32 -240 -96 -240
WIRE 336 -240 192 -240
WIRE -848 -176 -848 -304
WIRE -784 -176 -848 -176
WIRE -640 -176 -640 -320
WIRE -640 -176 -704 -176
WIRE -608 -176 -640 -176
WIRE -480 -176 -528 -176
WIRE -432 -176 -480 -176
WIRE -304 -176 -352 -176
WIRE -32 -176 -128 -176
WIRE 272 -176 192 -176
WIRE 336 -176 336 -240
WIRE 336 -176 272 -176
WIRE 336 -160 336 -176
WIRE -928 -144 -928 -304
WIRE -32 -112 -128 -112
WIRE 272 -112 192 -112
WIRE 336 -48 336 -96
WIRE -480 -32 -480 -176
WIRE -432 -32 -480 -32
WIRE -304 -16 -304 -176
WIRE -304 -16 -368 -16
WIRE 272 -16 272 -112
WIRE 272 -16 -304 -16
WIRE -928 0 -928 -64
WIRE -432 0 -480 0
WIRE -800 112 -848 112
WIRE -640 112 -720 112
WIRE -608 112 -640 112
WIRE -480 112 -480 0
WIRE -480 112 -528 112
WIRE -432 112 -480 112
WIRE -304 112 -352 112
WIRE 368 144 368 112
WIRE -32 176 -160 176
WIRE 272 176 272 112
WIRE 272 176 192 176
WIRE -304 224 -304 112
WIRE -304 224 -480 224
WIRE -160 224 -160 176
WIRE -928 240 -928 80
WIRE -848 240 -848 112
WIRE -848 240 -928 240
WIRE -800 240 -848 240
WIRE -32 240 -112 240
WIRE 368 240 368 224
WIRE 368 240 192 240
WIRE -640 256 -640 112
WIRE -640 256 -736 256
WIRE 368 256 368 240
WIRE -112 272 -112 240
WIRE 272 272 -112 272
WIRE -96 304 -96 -240
WIRE -32 304 -96 304
WIRE 272 304 272 272
WIRE 272 304 192 304
WIRE -480 320 -480 224
WIRE -416 320 -480 320
WIRE -304 336 -304 224
WIRE -304 336 -352 336
WIRE 272 336 272 304
WIRE 368 336 272 336
WIRE 368 352 368 336
WIRE -32 368 -96 368
WIRE 368 448 368 416
WIRE -928 496 -928 464
WIRE -640 496 -640 464
WIRE -368 496 -368 464
WIRE -928 608 -928 576
WIRE -800 608 -928 608
WIRE -640 608 -640 576
WIRE -528 608 -640 608
WIRE -368 608 -368 576
WIRE -240 608 -368 608
WIRE 0 608 0 560
WIRE -928 640 -928 608
WIRE -640 640 -640 608
WIRE -368 640 -368 608
WIRE 0 720 0 688
WIRE -928 752 -928 720
WIRE -640 752 -640 720
WIRE -368 752 -368 720
FLAG 0 720 0
FLAG 0 560 VCC
FLAG 368 112 VCC
FLAG 272 112 VCC
FLAG -96 368 VCC
FLAG 368 448 0
FLAG -160 224 0
FLAG 256 -304 VCC
FLAG -128 -112 VCC
FLAG 336 -352 VCC
FLAG 336 -48 0
FLAG -96 -272 0
FLAG -128 -176 Output
IOPIN -128 -176 Out
FLAG -928 752 0
FLAG -640 752 0
FLAG -368 752 0
FLAG -240 608 PGND
FLAG -416 352 PGND
FLAG -800 608 HANDLE
FLAG -528 608 NEUTRAL
FLAG -800 -336 NEUTRAL
FLAG -800 272 HANDLE
FLAG -928 464 VCC
FLAG -640 464 VCC
FLAG -368 464 VCC
FLAG 272 -112 CTRL
FLAG 272 -176 THRS
SYMBOL Misc\\NE555 80 272 R0
SYMATTR InstName U1
SYMBOL res 352 128 R0
SYMATTR InstName R1
SYMATTR Value 277k
SYMBOL res 352 240 R0
SYMATTR InstName R2
SYMATTR Value 4.7k
SYMBOL voltage 0 592 R0
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
SYMATTR InstName V1
SYMATTR Value 6V
SYMBOL cap 352 352 R0
SYMATTR InstName C1
SYMATTR Value 0.1u
SYMBOL Misc\\NE555 80 -208 R0
SYMATTR InstName U2
SYMBOL res 320 -336 R0
SYMATTR InstName R3
SYMATTR Value 22k
SYMBOL cap 320 -160 R0
SYMATTR InstName C2
SYMATTR Value 0.1u
SYMBOL res -336 -192 R90
WINDOW 0 5 56 VBottom 0
WINDOW 3 27 56 VTop 0
SYMATTR InstName R4
SYMATTR Value 10k
SYMBOL res -512 -192 R90
WINDOW 0 5 56 VBottom 0
WINDOW 3 27 56 VTop 0
SYMATTR InstName R5
SYMATTR Value 22k
SYMBOL res -336 96 R90
WINDOW 0 5 56 VBottom 0
WINDOW 3 27 56 VTop 0
SYMATTR InstName R6
SYMATTR Value 10k
SYMBOL res -512 96 R90
WINDOW 0 5 56 VBottom 0
WINDOW 3 27 56 VTop 0
SYMATTR InstName R7
SYMATTR Value 22k
SYMBOL res -688 -192 R90
WINDOW 0 5 56 VBottom 0
WINDOW 3 27 56 VTop 0
SYMATTR InstName R8
SYMATTR Value 7.5k
SYMBOL res -704 96 R90
WINDOW 0 5 56 VBottom 0
WINDOW 3 27 56 VTop 0
SYMATTR InstName R9
SYMATTR Value 7.5k
SYMBOL res -944 -160 R0
SYMATTR InstName R10
SYMATTR Value 15k
SYMBOL res -944 -16 R0
SYMATTR InstName R11
SYMATTR Value 50k
SYMBOL res -944 624 R0
SYMATTR InstName R12
SYMATTR Value {R}
SYMBOL res -944 480 R0
SYMATTR InstName R13
SYMATTR Value {25k-R}
SYMBOL res -656 624 R0
SYMATTR InstName R14
SYMATTR Value 12.5k
SYMBOL res -656 480 R0
SYMATTR InstName R15
SYMATTR Value 12.5k
SYMBOL res -384 624 R0
SYMATTR InstName R16
SYMATTR Value 11.5k
SYMBOL res -384 480 R0
SYMATTR InstName R17
SYMATTR Value 13.5k
SYMBOL Opamps\\opamp -400 -80 R0
SYMATTR InstName U3
SYMBOL Opamps\\opamp -384 272 R0
SYMATTR InstName U4
SYMBOL Opamps\\opamp -768 -256 M180
SYMATTR InstName U5
SYMBOL Opamps\\opamp -768 192 R0
SYMATTR InstName U6
TEXT 120 544 Left 0 !.tran 0 50ms 15ms
TEXT 120 576 Left 0 !.lib opamp.sub
TEXT 120 608 Left 0 !.step param R list 7.5k 10k 12.5k 15k 17.5k

tag: サーボ LTspice パラメトリック解析 

RCサーボモータについて

ちださんのブログ怪盗列車/Sailors Presentsサーボの件という記事があります。
この記事でちださんが触れているように、RCサーボモータの制御信号には多少の方言があるようです。


RCサーボは、簡単な制御信号を入力するだけで、回転角が入力信号に追従するモータです。





非常に便利なモータなので、ロボット工作をはじめとしてさまざまな趣味の工作に用いられています。

RCサーボの扱いがよくまとめられている記事として、トランジスタ技術2005年8月号電子部品選択&活用ガイドメカトロニクス編 第五回 RCサーボ・モータがあります。

サーボモータの制御信号は、約50Hz(20ms周期)で、Duty比が5~10%(パルス幅が1~2ms)のPWMが一般的です。
しかし、実際にはメーカや製品によって、あるいは個体差によって入力信号と切れ角の関係にはばらつきがあります。


001_20081101225150.jpg

002.jpg



トランジスタ技術の記事の中には更に、以下の様にあります。

○信号周期について

まず制御信号の周期ですが、これは必ずしも20ms周期である必要はありません。
~中略~
私の経験では10ms~30msの範囲であれば、おおむね問題なく使用できましたが、RCサーボの種類による可能性もあるので参考程度の数字として紹介します。


○パルス幅について

回転角を決める"H"パルスに関しては、ニュートラル位置となる"H"パルス幅がメーカにより異なります。双葉電子工業の古いタイプでは1.31ms、新しいものでは1.52ms、そのほかのメーカのもので1.5msとなっています。また、位置指令として許容される信号の変更幅は、双葉電子工業、近藤化学などが±0.5msとしているのに対し、日本遠隔制御では±0.6msとしているなど異なっています。


また、取り付け時の機械的な部分の製作誤差もあるので、回路上である程度の調整ができるように設計できればベターです。

というわけで、RCサーボを使う人はトランジスタ技術2005年8月号はぜひ読んでください。他にも興味深いことがいろいろ書いてあります。

tag: サーボ 

FC2カウンター
カテゴリ
ユーザータグ

LTspiceAkaiKKRScilabmachikaneyamaKKRPSoCCPAOPアンプPIC強磁性モンテカルロ解析常微分方程式トランジスタodeインターフェース状態密度DOSecalj定電流PDS5022スイッチング回路半導体シェルスクリプト乱数レベルシフトHP6632A温度解析ブレッドボードI2CR6452A分散関係トランジスタ技術可変抵抗確率論数値積分反強磁性セミナー非線形方程式ソルバ絶縁バンドギャップ熱設計偏微分方程式バンド構造GW近似カオス三端子レギュレータLEDフォトカプラシュミットトリガISO-I2CA/DコンバータLM358USBカレントミラーTL431マフィンティン半径PC817C数値微分アナログスイッチ発振回路サーボ直流動作点解析74HC40532ちゃんねる標準ロジックチョッパアンプLDAアセンブラFFTbzqltyイジング模型ブラべ格子開発環境補間量子力学電子負荷BSchパラメトリック解析単振り子基本並進ベクトル熱伝導繰り返しGGAMaximaTLP621ewidthSMP相対論抵抗位相図ランダムウォークスピン軌道相互作用六方最密充填構造不規則合金FETコバルト失敗談QSGWcygwinスレーターポーリング曲線スイッチト・キャパシタラプラス方程式gfortranキュリー温度状態方程式条件分岐格子比熱TLP552LM555TLP521三角波NE555過渡解析FXA-7020ZRWriter509テスタ詰め回路MCUマントルダイヤモンドQNAPデータロガーガイガー管自動計測UPS井戸型ポテンシャルawk第一原理計算仮想結晶近似ブラウン運動差し込みグラフ平均場近似fsolve起電力熱力学OpenMPスーパーセル固有値問題最適化最小値VCAシュレディンガー方程式VESTAubuntu最大値面心立方構造PGAOPA2277L10構造非線型方程式ソルバ2SC1815fccフェルミ面等高線ジバニャン方程式ヒストグラム確率論マテリアルデザイン正規分布結晶磁気異方性interp1フィルタ初期値ウィグナーザイツ胞c/aルチル構造岩塩構造スワップ領域リジッドバンド模型edeltBaOウルツ鉱構造重積分SIC二相共存ZnOquantumESPRESSOCapSensegnuplotmultiplot全エネルギー固定スピンモーメントFSM合金ノコギリ波フォノンデバイ模型ハーフメタル半金属TeXifortTS-110不規則局所モーメントTS-112等価回路モデルパラメータ・モデルヒストグラムExcel円周率GimpトラックボールPC直流解析入出力文字列マンデルブロ集合キーボードフラクタル化学反応三次元Realforce縮退日本語最小二乗法関数フィッティング疎行列シンボル線種ナイキスト線図陰解法負帰還安定性熱拡散方程式EAGLECrank-Nicolson法連立一次方程式P-10クーロン散乱Ubuntu境界条件MBEHiLAPW軸ラベルトランスCK1026MAS830L凡例PIC16F785LMC662AACircuit両対数グラフ片対数グラフグラフの分割specx.f

最新コメント
リンク

にほんブログ村 その他趣味ブログ 電子工作へ