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カウンター
カテゴリ
ユーザータグ

LTspiceAkaiKKRmachikaneyamaScilabKKRPSoC強磁性OPアンプPICCPA常微分方程式モンテカルロ解析ecaljodeトランジスタ状態密度インターフェースDOS定電流スイッチング回路PDS5022半導体シェルスクリプトレベルシフト乱数HP6632AR6452AI2C可変抵抗分散関係トランジスタ技術ブレッドボード温度解析反強磁性確率論バンドギャップセミナー数値積分熱設計非線形方程式ソルババンド構造絶縁偏微分方程式ISO-I2CLM358フォトカプラ三端子レギュレータカオスLEDシュミットトリガGW近似A/Dコンバータ発振回路PC817C直流動作点解析USBマフィンティン半径数値微分アナログスイッチTL43174HC4053カレントミラーサーボ量子力学単振り子チョッパアンプ補間2ちゃんねる開発環境bzqltyFFT電子負荷LDAイジング模型BSch基本並進ベクトルブラべ格子パラメトリック解析標準ロジックアセンブラ繰り返し六方最密充填構造SMPコバルトewidthFET仮想結晶近似QSGW不規則合金VCAMaximaGGA熱伝導cygwinスレーターポーリング曲線キュリー温度スイッチト・キャパシタ失敗談ランダムウォークgfortran抵抗相対論位相図スピン軌道相互作用VESTA状態方程式TLP621ラプラス方程式TLP552条件分岐NE555LM555TLP521マントル詰め回路MCUテスタFXA-7020ZR三角波過渡解析ガイガー管自動計測QNAPUPSWriter509ダイヤモンドデータロガー格子比熱熱力学awkブラウン運動起電力スーパーセル差し込みグラフ第一原理計算フェルミ面fsolveCIFxcrysden最大値最小値ubuntu最適化平均場近似OpenMPシュレディンガー方程式固有値問題井戸型ポテンシャル2SC1815TeX結晶磁気異方性OPA2277非線型方程式ソルバフラクタルFSM固定スピンモーメントc/agnuplotPGA全エネルギーfccマンデルブロ集合縮退正規分布キーボード初期値interp1multiplotフィルタ面心立方構造ウィグナーザイツ胞L10構造半金属二相共存ZnOウルツ鉱構造BaOSIC重積分磁気モーメント電荷密度化学反応クーロン散乱岩塩構造CapSenseノコギリ波デバイ模型ハーフメタルRealforceフォノンquantumESPRESSOルチル構造スワップ領域リジッドバンド模型edelt合金等高線凡例軸ラベル線種シンボルトラックボールグラフの分割MAS830LPIC16F785トランス入出力CK1026PC直流解析パラメータ・モデル等価回路モデル不規則局所モーメント関数フィッティング日本語ヒストグラムTS-112ExcelGimp円周率TS-110LMC662片対数グラフ三次元specx.fifortUbuntu文字列疎行列不純物問題ジバニャン方程式ヒストグラム確率論マテリアルデザインP-10境界条件連立一次方程式AACircuit熱拡散方程式HiLAPW両対数グラフ陰解法MBEナイキスト線図負帰還安定性Crank-Nicolson法EAGLE最小二乗法

最新コメント
リンク

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