カテゴリー「サーボ」の21件の記事

2008.02.03

MicroMGとの付き合い方

最近二足歩行ロボを始めた高校生ハンさんからMicorMG(台湾のGWS社のサーボ。正式にはMicro 2BBMG。)に関しての質問のお便りをいただきました。

先日のわんだほ~にWheelerで参加されていた方です。

質問は「MicroMGのガタ対策にどんなことをしていますか?」ということでしたが、私自身はガタというかバックラッシ軽減を目的とした対策はほとんどしていないので、代わりにMicroMGと付き合っていく上でこれまで私が気をつけたこと全般に関しての返信をいたしました。

まあ、最近では二足用のパーツも充実してきてはいますが、ローコストで二足歩行やろうとすると、MicroMGはまだまだ外せないサーボです。

個人的に調べたり苦労したことなので間違ってることもあるかもしれませんが、これからMicroMGを使って二足歩行ロボをやろうとしている方の参考になればと思いまして、ハンさんにも許可をいただきその内容を公開いたします。

以下、返信メールです。
(少し修正したところもあります。)

ハンさんこんにちは。
いずみかわです。

> 今まで作っていた二足のガタがひどいので作り直すことにしました。
> フレーム等のガタは何とかなるにしてもサーボ本体のガタはなんともなりません。
>
> そこでいずみかわさんはガタをとる為に何かしていることはありますか?
> あれば教えていただきたいです。

 Blogの方のコメントに書こうかと思った矢先にメールが来ていたので、とりあえず
こちらに返信しておきますね。
 長文になりますし。

 私の感じているところで、MicroMGを使うにあたって、KO等の国内メーカ製
デジタルサーボ(まあ国内メーカといっても製造自体は台湾やマレーシアの工場
だったりはしますが)と比べて気をつけなければいけない点がいくつかあります。

■ギアのバックラッシ(平たく言うとサーボのガタですね。)

 これはよく言われていることですが、MicroMGと付き合っていく
上で避けては通れません。
 対策ですが、サーボに何か細工をして...ということはあまり出来ません。
 
 機体設計上では、ハンさんのBlogでコムムスさんやB.Wさんのおっしゃって
いるようにゴムやスプリングで一定方向にテンションを掛けてやるということ
で低減は出来ると思います。
 加えて、サーボトルクの不足をアシストするようにしてやればいいかと思います。

 私の場合は、昔のAsso Di Fioriのケースでは
http://izm.way-nifty.com/robo/2005/09/_20050912_5c2d.html
にあるような感じでやっていました。
 ただ、実際の目的としてはひざの部分は伸ばす方向にテンションを掛けて
やることで、屈伸から伸ばす時のトルク不足を補うことを第一に考えていました。
 バックラッシに関してはモモ部のサーボの影響の方が大きいのですが、
こちらは未対策でしたし。

 ガタ対策はともかくとして、ヒロムロボでもトルク不足を補うため、脚は
スプリングによるアシストを行っています。

 実際のところサーボのバックラッシや機体のガタの呪縛からは逃れ
られないと思います。

 なので最近ではガタはあるものとして、それでも大丈夫なように考えていく
方向でやっててそれが理想かなと思っています。

 そんな感じなので、ヒロムロボの場合、はっきりいってガタだらけです
(故意の設計も含め)。
 下半身のロール軸は、スプリングによるパッシブなものなので、まあ、
ほんとに誇張無くプラプラしてますし。

 足を平行リンクにした理由もサーボにバックラッシがあって、脚の角度が
変わっても足裏は常に平行を保つようにするためでした。
(子供用にお手軽&安価にするためサーボを減らす目的もありましたが。)
 最近平行リンク脚が増えてきたのは皆さんそのことに気がついてきたからでは
ないかと思います。
 代わりに柔軟性や動作の自由度は制限されますが、割り切りですね。


■サーボ自体の個体差(個体によってパルス幅と角度の関係に違いがある)
 MicroMGはサーボの個体によって角度特性に違いがあります。

 私はこの問題の方がギアのバックラッシより深刻ではないかと思っています。

 どういうことかと言うと、同じパルス幅を与えても個体によって角度が
結構違うということです。

 私の場合、対策としては、各個体ごとに特性を記録しておき、それを使って
物理的なパルス幅を補正しています。

 どういうことかというと、
 1.各個体にIDを振り、左90度~右90度まで、30度毎(7点)のPWMの
   パルス幅を記録。
 2.各関節にどのIDのサーボが使われているかを設定。
 3.モーションエディタ上では関節角度論理的な角度で指定。
 4.実際のパルス幅は論理角度から1で記録したパルス幅を使って計算を行う。
   例えば左30度であれば、パルス幅としてその個体の左30度の値を使う。
   右50度であれば右30度と右60度の値から計算する。
 といった感じです。

 この仕組みによってMicroMGだけでなく、別製品を使う場合でもその個体特性データ
があれば、関節に紐付けたサーボの個体IDを差し替えるだけで、自動的にそのサーボに
合った物理的なPWMのパルス幅を計算できます。

 サーボ特性は初期のころは左90度、中立、右90度の3点で管理していましたが、
これでは不足を感じたので、現在の7点での測定としました。

 後で聞いた話ですが、昔MicroMGをメインに使っておられたSISOさんもほぼ
同様のことをやっていたそうです。

 私が本格的に触りだした最初のサーボがMicroMGだったので、他のサーボも
みんなそんなものだろうと思っていたのですが、KHR-1ユーザに聞いてみると
そんなこと気にしたこともないということでした....

 ヒロムロボではこのあたりは結構いい加減にやってても大丈夫ですが、
Asso Di Fioriはちゃんとやらないと歩きませんでした。


■ポテンションとファイナルギアの間のパーツ(ジョイントピース)の精度不足
 これは既に過去の話かもしれません。
 昔のMicroMGはポテンションとファイナルギアの間のパーツ(ジョイントピース)が
金属製で、かなり隙間がありました。
 そのため、ファイナルをちょっと廻してもポテンションが廻らないような
感じで制御精度が著しく低下していました。

 つまり中立になるはずのパルスを送っても、「右から中立」と「左から
中立」でズレが出てくるわけです。

 そのため、過去にはZIPPONさんが
http://izm.way-nifty.com/robo/2004/11/post_2.html
このようなパーツを作成されたりしていましたが、最近売られている
MicroMGはジョイントピースが樹脂製となり改善されているようです。


■MicroMGにリポ7.4Vは危険。
 そのまま繋ぐと負荷がかかるとすぐに焼けて危険です。
 私はMicroMGを繋ぐときは抵抗やダイオード等で減圧して使っています。


 まあこんな感じで。
 
 ではでは。

| | コメント (0)

2007.05.03

業務連絡

Robo20070503_1_1平野さん、GP1はこんな感じで繋がっています。

←クリックで拡大

恐らく確認されたところと同じところだと思います。

| | コメント (1)

2007.05.01

焼損MicroMG基板蘇生

FETの焼損したMicroMG基板の蘇生を試みます。
Robo20070501_1こちらがオリジナルのMicroMG基板。
焼損の具合がひどい物はほんとに焼け焦げていますが、これは外見上のダメージはあまりありません。

りおーじあさんが以前調べてくださったMicroMGのFETのピン配置情報を元にやってみました。

Robo20070501_2張り替えるFETはミニッツ界で話題の最強FET ROHMのSP8M4です。
MicroMGのFETとはパッケージが違うのでそのままは着きません。

MicroMGのFETはNch,Pchそれぞればらばらに2個ずつですが、SP8M4は1パッケージにPch,Nch2個入ってますのでデータシートのピンレイアウトを元に配線してみました。

Robo20070501_3裏面です。


Robo20070501_4本来、SP8M4は表面実装用ですが、配線の都合上、立てて着けています。
かなり無理やりな実装ですね。

検証はまだです。
通電する勇気がまだありません。

動きませんでした...○| ̄|_ 。

| | コメント (0)

2007.04.30

MG995脱力改造その2

MG995を脱力させる試みの続き。

マイコンを追加してPWM信号を監視させ、規定外パルスであれば、MG995のマイコンをリセットするか電源をOFFにすることを考えてみます。
※MG995のマイコンがPIC12F675であると仮定しています。
(2007.5.5追記:使われているマイコンですが、その後の平野さんの調査でPIC12Cxxx系のものであるとのことでした。)

残念ながらリセットピンはIOとして使われており、PWM信号の取り込みに使われているので使えなさそう。
これが使えれば非常に楽っぽかったのですが。

であれば電源OFFの方向で考えてみます。

使用するのは手持ちのATTiny26L。

最初に考えたのはATTiny26LのIOの出力そのものをPIC12F675の電源とする方法。
消費電流は問題ないのでいけるかなと思いましたが、うまくいきません。

ATTiny26Lを3.3Vで動かした場合、IOの出力は2.6V程度しか出ていませんでした。
PIC12F675は低クロックなら2.0Vから動くはずですが、8MHz動作ではこれでは足りないようです。

仕方ないのでFETなんかを使ってハイサイドスイッチを組むことにしました。
PchのFETを使うことまでは分かりました。

しかし前述の通り、2.6VしかないATTiny26Lの出力ではゲートにするには不十分です。
このままゲートに入れてもOFF時も半開きになってしまいます。

調べてみたらトランジスタで増幅したり、バッファ組んだりしてたりしてる事例がありましたが、手持ちの部材では足りません。(発注するのも時間かかるし。)

しばらく行き詰っていましたが、見つけました。
バーニング宮田さん「FETによるモータドライバの作成」のHブリッジのハイ側の回路がジャストミートです。

これでFETの使い方が分かりました。
宮田さんの解説が一番分かりやすかったです。

PchとNchの2つのFETが必要ですが、あります。ありますよ。 焼損したMG995基板に無事なFETが!

とうわけでマイコン周りの回路図はこんな感じです。
Robo20070430_3_1←クリックで拡大

ソースはこちら"MG995MOD1.asm"
パルス幅の範囲が0.6~2.4ms以外の状態が50ms以上続くと電源をオフするようにしてみました。

Robo20070430_4で、とりあえずブレッドボード上で実験してみました。

配線はぐちゃぐちゃです。

一応うまくいっているようですが、なんだか電源が4.8Vの時は動作が不安定です。リポ繋いで7.4Vだと快調ですが...

| | コメント (0)

MG995脱力改造その1

以前書いたMG995の欠点②の脱力が出来ない件。

MG995は一度PWMを受け取ると、その後PWMを切っても電源を切るまで脱力されません。
ロボットに使用する場合、脱力が出来ないと事故の元となるのでこのままでは使いにくいです。
なので、何とか脱力で着ないかと考えてみます。

いくつか方法を考えてみると、
①基板を別のサーボのものに取り替える
②PWM監視用のマイコンを追加し、規定外パルスで外部からMG995のマイコンをリセットまたは電源OFFしてやる
③MG995のマイコン(恐らくPIC12F675)のプログラムを解析し、書き換える
くらいかな。

①これは簡単。ただし基板が無傷のサーボが生贄として必要。

②はまあやれそうかな。でも、MG995のマイコンがPIC12F675だと仮定すると、リセットピン(MCLR)はI/OピンGP3と共用で、PWMの取り込みに使われています。 なので電源OFFの方向で。

③は最も理想的な形ですが、私はPICを知らないのでやりにくいですね。時間かかりそうだし、ライタもないし。
 調べてみたらPICてAVRみたいに実装書き込みできないのね。これはめんどくさい。
 これがやれれば一番すっきりするのですが。


まずは最も手っ取り早い方法で、制御基板を変えてみます。
Robo20070430_1週刊ロボザックのHSR-8498HBの基板をつけてみた。
HSR-8498HB基板はモータに直接ハンダ付けされる前提のレイアウトであるため、MG995の物よりかなり大きい。
そのためケースに入りきらない...

ま、とりあえず動かしてみた。→ムービー(wmv/136kb)

昔、MG995を初めて買ったときの評価で「目標角度から必ず行き過ぎて振動し、収束するような動き。(オーバーシュート気味)」と書いた件は、HSR-8498HBに基板を交換してもやはりその通り。

HSR-8498HB自体はそんなことはないため、この問題は恐らく、重たい真鍮ギアとモータコアの慣性による物と思われます。

肝心の脱力は当然出来るようになりました。
HMI対応のおまけ付き。

ただ、ケースに入りきらないのが難点。orz。

| | コメント (0)

2007.04.28

新型MG995分解

新型MG995分解してみました。
Robo20070428_1上が従来型(2005年12月購入)、下が新型。
新型の方は部品固定用の半透明のホットボンドを除去した後です。

基板自体は変わっていないようですが、電源関連部品(レギュレータ、コンデンサ)に変更があるようです。

そんな事はともかく、新型ブラボー!
隠蔽処理の黒い樹脂コーティングが無くなっています。

マイコン表面は隠蔽のため型番などは削り取られていますが、電源、クロック、信号入出力(PWM入力,FETドライブx2)、AD変換のピンレイアウトから推測すると、その配置はPIC12F675と一致するようです。
これだけでも新型を買った甲斐がありました!

Robo20070428_3マイコンはこんな具合に結線されています。

クロックは8MHzのセラロックです。

あとはPICのえらい人に...(他力本願)

Robo20070428_2裏面です。
FETが並んでます。
型番は削り取られているため、変更されたのかどうかは分かりません。

モータは従来通りRF130CH互換品のようです。
ということでやっぱりコアレスじゃありません。

構成部品からは、値上げの要素としてはFETが高性能品に変わっている可能性があることくらいでしょうか。しかし数百円も上がるとは思えませんしね。

---2007.5.5追記
使われているマイコンですが、その後の平野さんの調査でPIC12Cxxx系のものであるとのことでした。

| | コメント (0)

2007.04.27

新型MG995

Robo20070426_2中国TowerPro製サーボMG995、実は1月出荷分から改良され、大幅に性能向上しているらしいということで、前回MG995を購入したHOBBYNETに発注していた物が今日届いた。

つい先日までは新ロットでも価格据置だったそうだが、気が付いたのが遅く、値上げ(\2,000→\2,380)後の発注となってしまった。
まだMG995を従来価格で販売しているところもあるようだが、新型かどうかがはっきりしなかった。
また、ヤフオクでも新型MG995はもっと安く多数(といってもIDは数名)出ているようだが、ヤフオク利用料が有料化されてから登録を更新していないため、結局こちらでの購入となった次第。

Robo20070426_3ラベルにあるスペックは以下の通り。
重量:57g トルク:10.0kg/cm(4.8V) (原文まま。トルクの単位は kg・cmが正しい。)
速度:0.20sec/60 degrees(4.8V)
対応電流:4.8V~7.2V
定価\7,140(税込)

Robo20070426_4こちらが資料として置いておいた従来版のパッケージを切り抜いた物。
重量:55g トルク:11.0kg/cm(6.0V) (原文まま。トルクの単位は kg・cmが正しい。)
速度:0.20sec/60 degrees(6.0V)
対応電流:4.8V~7.2V
定価\6,000(税込)

若干重量が増加しているようだ。
定価は...まあ飾りだな。
また、トルク、速度の基準電圧が従来6.0Vだったのが4.8Vとなっている。
6V換算なら計算上は従来版より性能が向上しているようだ。
Robo20070426_5外見上の違いは、ケーブルの色が従来"白赤黒"だったのが、"橙赤茶"となっている。私はこちらの方が好み。
あとはラベルがちょっとちが...ん!

Robo20070426_6コ、コアレスだとぉ!
旧型で一度は決着のついたMG995コアレス論争再燃か!?

しかしこれについては既に、ヤフオクで出品している方がTowerProに確認したところ、今までにこのシリーズ(MG995、MG945)でコアレス モーターを搭載して発売したことは無いとのこと。
分解確認されている方もいらっしゃいました。

というわけでラベルが誤表記。 コアードで間違いないようです。
誤表記というか、ロゴ等のフォントも明らかに違う...もしかしてよく言えばレプリカ? 中国だし...
しかし、メーカオフィシャルサイトを見てもTowerProのロゴの書体には統一性がない。
『ブランドロゴ』というものに対して我々の持っているイメージとは違うようだ。


ざっと動かして確認してみた。
先日書いた致命的な欠点②の脱力出来ない件はこの新型でも直っていないようでした。

少しだけ期待していたのですが。

| | コメント (0)

2007.04.23

MG995の改造

中国TowerPro社のサーボMG995。
 ・安い!(約\2,000)
 ・ハイトルク! (10kg・cm(6.0V))
 ・メタルギア!(初期型からずいぶん精度が上がったみたいだし)
 ・デジタル!
といい事ずくめのようですが、これまでヒロムロボの胴体ヨー軸に使ってみて私が致命的と感じる欠点が2つあります。

①ケースが弱い
②脱力できない

まず1点目のケースが弱い件。
ケースのプラスチック自体が弱いです。

これはGWS(台湾)のサーボにも言える事ですが、カッターやコッピングソーで切削するときの感触もJRのような国内メーカ品とは明らかに違います。
(ロボ始めてからずっと激安路線なので、これまで主力がGWSで一部JRくらいしか使ったことがないです...そのためKOとかは分かりません...ロボ野郎には珍しいですね...)

Robo20070423_1MG995ではケースの強度に不釣合いとも思えるトルクに加え、メタルギアであるため(ギアが欠けないので力が他に逃げない)にアッパーケースの軸受けがあっさり破損します。
こうなると動きが渋くなったりギアがロックされたりして焼損まで一直線です。

この問題は国内メーカのさらに強大なトルクを持つサーボでも宿命的なものなのですが、MG995だと4.8V運用のヒロムロボでもこんな感じです。
まあ、これはトルクに負けたというより衝撃でそうなった可能性が高いような気もしますが。

最近の国内メーカのロボット用と銘打ったハイトルク品ではこの部分にメタルを使用して強度を上げていますが、激安サーボにそんなことは望むべくもありません。

そこで、Dr.GIYさん第4回ROBO-ONE Technical Conferenceで「ヨコヅナグレート不知火のモーター改造テクニック」として紹介してくださっている軸受け強化策をやってみます。

メタル軸受けを持つサーボがメーカから発売されたのはこの後だったと思うので、RCやホビーロボ用サーボとしてはDr.GIYさんのこれが多分初出ですね。

Robo20070423_2材料はGIYさんは真ちゅう製のフランジ付きブッシュを使用しているようですが、加工のしやすさと入手製から、ホームセンターで売っている4mm径のアルミ棒を使いました。

中心に1.5mmの穴を開けます。
しかしシャフトが入りにくかったので後で若干広げました。 1.6mmの方がよかったかもしれません...



Robo20070423_3GIYさんの例では中央の軸受けだけでしたが、MG995ではもう1箇所も破損する例があったのでこちらも改修しました。

はめ込んだ後、瞬間接着剤で止めてあります。フランジ無しなのがちょっと心配ですが...


Robo20070423_4組み立てるとこんな感じになります。


もう一つの欠点、脱力出来ない件はまた。

| | コメント (0)

2007.02.26

■備忘録■サーボホーン互換性

サーボホーンの互換表です。いつも迷うので備忘録としてまとめてみました。
あちこちググった結果をまとめました。 MicroMG , NARO+BB , S3103は自分で確認したものです。

メーカスプライン歯数
GWS(MicroMG , NARO+BB) , Futaba(S3103)21
KO , SANWA , JR23
HITEC24
Futaba , TowerPro , MiniStudio , BlueBird , GWS25

同じ枠内にあるものは互換性があり交換可能。
とりあえず標準サイズ+MicroMGと互換性のあるマイクロサーボだけ。
(メーカ名だけのやつは標準サイズです。)

間違いがあればご指摘ください。

HITEC、他メーカで合うホーン無いのね...

| | コメント (0)

2007.02.07

HSR-8498HB情報

先日のHSR-8498HBの動作確認で、ある幅以下のパルスを投げるとサーボが応答しなくなるということがありました。

これについてSISOさんから、HSR-8498HBのコマンドについての指摘をいただきました。
そうなんですよね。 この件、昔、HIDEさん「KOと互換ぽいですよねぇ」と話していたのを思い出しました。

しかし、ここで出ていた資料にあるものとはちょっと様子が違うようです。
資料では、
-----------------------------------------------------
 1) 50usec pulse width / Location (angle) value feedback
 2) 100usec pulse width / Use servo parameter 1 value (default)
 3) 150usec pulse width / Use servo parameter 2 value
 4) 200usec pulse width / Use servo parameter 3 value
-----------------------------------------------------
とあります。
KOのポジションキャプチャやキャラクタリスティックチェンジの仕様とほとんど同じですね。
違いといえばKOでは 2) 3) 4)でも角度情報が返ってくるのがHITECでは無いくらい。

しかし、HSR-8498HBで応答しなくなるのはどうも400~500マイクロ秒くらいのパルスです。
その状態になると、中立の1500マイクロ秒を投げても動きませんし、パルスを切ってもダメ。
一旦電源を落とさないとちゃんと動きません。


というわけでいろいろググってみると、面白い情報を見つけました。

RoboSavvyのフォーラムの "HMI Hardware and software..."というスレッドに i-Bot氏がHSR-8498HBについての解析結果をまとめられたドキュメント(PDF)がありました。
この中にHMI (Hitec Multi-protocol Interface)についての詳細も記述されています。

i-Bot氏に感謝。

これによると、HSR-8498HBにはシリアル通信のモードもあり、仕様としては以下の通り。
19200bps/スタートビット1、ストップビット2、パリティなしで、電気的特性としては負論理(+5V→0 , 0V→1)。
先頭1バイトはデータヘッダで 0x80固定。

で、恐らく「モード切替」というような特別な操作はなく、このデータヘッダ 0x80が来れば即PWM→シリアル通信へと移行するのではないかと思われます。

図示するとこうなります。
Robo20070206_1
つまり、PWMのつもりで幅417マイクロ秒付近(許容範囲は±20程度でしょうか(推定))のパルスを投げると、シリアル通信モードのデータヘッダ0x80に合致し、ひたすら次のデータを待ってたという感じでしょうか。

また、この資料によるとサーボパラメータの設定にはKOのツールが使えるそうです。

それから、HITECのROBONOVAサポートサイトにROBONOVAユーザにとってかなり有益であると思われるなドキュメント類が転がってることも分かりました。

例えば、
・Downloads»Manuals には、 "Manual HSR-8498HB"
 これは以前、HIDEさんが見つけた物ですね。
・Downloads»Documents»HMI には "Additional Information about HMI Protocol"
 これはHMIのコマンド体系。
・Knowledgebase»Robot Servo には "Using Visual Basic with HMI"
 VBでCOMコントロール使ってHMIで制御ってネタですね。
(これは恐らくVB6あたりのサンプルですが、前述のi-Bot氏がVB2005Express仕様のサンプルを公開してくれています。)
とか。

FOMA対応ROBONOVAなんてのもあったのですね。

| | コメント (0)

より以前の記事一覧