本文へスキップ

空想DIYを紹介するページです。


ロボカップのソレノイドキック回路(シニア向け)

これは、ロボカップ(RoboCup)のサッカーボール(robo ball?)用のキック回路に関する記事です。

以下の記事は、ロボカップジュニアに参加するメンバーは読まないようにしてください。
恐らく大人の手助けが無ければ意味は分からないと思いますが、
以下の記事を読むことは恐らくルール違反です。

「ロボットは学生チームメンバーだけで製作しなければならない。
指導者、教師、父兄、あるいは企業がロボットの設計、製作、組み立てに関わってはならない。」
というルールがあることに気づき、これに反すると考えて一旦削除した記事ですが、
ロボカップはジュニアだけではないということなので、シニア向けということで再掲載することにしました。
昇圧回路使用不可によりソレノイドキッカー自体は使用禁止になったらしいですが、
考え方とか代替法のアイデアとかが何かの参考になれば、と思います。
大人の方は、この記事を読んだ知識でロボカップジュニア参加者に協力しないようにご注意ください。

また、銃口から1m離れた位置での威力3.5J/cm2以上のエネルギーを飛翔体に与える装置は所持が禁止されています。
このエネルギー値はとても簡単に与えられる値です。
たとえばゴルフボールを打ったら100J(7J/cm2)位はあるそうです。
ゴルフクラブはゴルフボールを打つための道具ですから、
数値だけで言えばこれを所持することは銃刀法違反と言えるでしょう。
また硬球を80m/sで投げると464J(11J/cm2)なので、野球の投手の体は銃刀法違反な訳です。
(そもそも石を投げたら大抵の人は3.5J/cm2超える。)
しかし、誰もゴルフクラブを所持することを銃刀法違反と言わない所をみると、
結局は目的の社会性の問題になりそうで、反社会的なイメージを与えるものでなければ良さそうではあります。
とは言え、飛翔体の工作に社会性の同意が得られるかは微妙な気がします。
実質的に危険な(人体に侵徹効果を持つと言われる)12.8J/cm2以上は、この記事の技術の流用では無理でしょうが、
数値的に法を犯すレベルのものは以下の技術知識でも作れると思われるので、
技術の流用の際は飛翔体に与えるエネルギー値にご注意ください。


さて、ロボカップのサッカーボール用のキック回路について話を始めましょう。
実際には使用されませんでしたが、以下は元々は近所の子供のために作ったもので、そういった内容として書かれています。
最後の最後で力技の誤魔化しが入りますが、途中経過も考え方の参考にはなるかもしれない、
と都合のいいように考えて、公開したものです。

(当初の)目標性能は、
「プッシュ型ソレノイドを使って、
ロボカップのサッカーボール(約100g)を1m/s以上くらいまで加速できるだけの運動エネルギーまで、
ソレノイドのピンを1ms(加速距離0.5mm相当)で加速し、
その後最大ストロークまで速度を維持する回路」
と言うものにしました。

なお、近所の子供が既に買っちゃったというソレノイドは「自己保持式」(CBD10370060)だったので、
回復動作対策もしないといけません。
以前聞かれたときに「6Vのを買ったらいいんじゃない」としかアドバイスしなかった記憶があるので、
何とか使いこなしてあげないといけないでしょう。
電池は7.2Vの充電電池で、1200mAhだそうです。

空想編

1.与えるエネルギー

100gの物体1m/sの運動エネルギーは、(1/2)*m*v^2=0.5*0.1[kg]*1[m/s]^2=0.05[J]。

ボールの筐体の素材が調べきれませんでしたが(子供向けなのになぜ公開されてないんでしょう?)、
「パルス光サッカーボールの技術仕様」に「ボールは通常の競技に耐えなければならない。
その耐久性の目安として、硬材のテーブルまたは床の上へ1.5メートルから自由落下して、無傷で耐えなければならない。」
とありますので、1.5mの自由落下時の速度が5.42[m/s] (0.55[s])
(仮に空気抵抗を考えたとしても球をCD=0.47として、
運動方程式に現れる空気抵抗の係数k=0.5*密度*面積*CD=0.0014[kg/m]より、5.37[m/s]となり、大差なし)
ですから、「硬材のテーブルまたは床」程度の硬さのもので小突けば、1m/sの加速ならたとえ衝撃でも割れないでしょう。
仮に10倍の0.5Jを与えると、速度は10^0.5=3.16倍の3.16[m/s]だから、まだOKな感じです。
従って、与えるエネルギーは0.05J以上で最大0.5Jとしときましょう。


2.コンデンサ容量

電圧は、安全性の意味(低電圧指令の対象外、あるいは電気事業法の規制から外れるくらいの低電圧という意味)で、
子供向けには30V以下が良いでしょう。ということで、電圧は28Vくらいとしましょう。
仮に放電終了電圧を6Vとして、コンデンサ充電するエネルギーが
0.5*C*(V^2-V0^2)=0.5*C*(28[V]^2-6[V]^2)=0.05[J]
となるCはC=0.05*2/(28^2-6^2)=134[μF]。
ストローク(移動量)と力のグラフを見ると加速力のほとんどは最初の1mm以下位で加わっているので、
それ以降は電圧掛けてもほとんど加速はしなさそうなので、
2倍(一定加速としても1mm)以上のマージンはあまり意味がなさそうです
(初期の放電電圧低下速度の影響を考えると多少はマージン合った方が良さそうですが)。
手持ちに68μFがたくさんあったので、これを4並列する位が頃合いでしょう。

3.パルス幅

ソレノイドのインダクタンスを測定すると12.5mHで、L/R時定数は12.5mH/6Ω=2.1msだから、
概ね2ms以降は電圧がソレノイドの抵抗に掛かるばかりで、電流は増えないようです。
選んだ条件は偶然にも色々丁度良いくらいだったようです。

4.自己保持式ソレノイドの復帰

実はこれが一番悩みました。
正攻法ではフルブリッジ(Hブリッジ)を組めばいいのは分かっていますが、あれは結構作るのが面倒そうです。
何とかもっと簡単な方法は無いものか。

まず考えたのは「逆に電流流せばいいんじゃないか」という事。
復帰特性のグラフを見ると、ある値以上の逆電流を流すと復帰とは逆の力(プッシュする力)が働いています。
パルスが終わって電流が減っていく過程で復帰に丁度良い電流になったら復帰するでしょう。
これなら、順方向の電流だけでプッシュと復帰を繰り返せます。
スペックによれば、磁石を打ち消す電流は大きくとも14Wと書かれています。
仮に6Ωに30V印加すると30*30/6=150Wなので、14Wは損失と思って捨てるというのもありでしょう。
しかし、この方法には大きな問題があります。
パルスが終了して電流が減ると復帰するので、フルストロークの期間ずっと電磁石に大きな電流を流し続けないといけません。
フルストロークの期間と言うと、40ms位の話になるので、必要なエネルギーが大きくなり、
とても大きなコンデンサ容量が必要となります。何より電池の電力がもったいない。
となると、どうしても復帰(ピンを押し込む)ためには逆電流パルスを流さないといけない。
しかしフルブリッジ回路は面倒だし、何とかパワースイッチの数は減らしたい。

次に考えたのは下のような回路です。
ソレノイドのインダクタンスにたまったエネルギーをコンデンサで回収して、リセット電流に使う。
余ったエネルギーはツェナーでクランプしてMOSに食わせる、というものです。


グラフ読む限り、リセットには0.1J近くも要りそうだから、回収するコンデンサの容量は加速と同じくらい必要に
なってしまいますが、パワースイッチは1個で済みますので回路は比較的簡単です。
しかし、L=12.5mH、C=68μF*4=272μFだと、2π√(LC) =11.6msで、
L/R時定数よりかなり長いのでエネルギーを回収する前にソレノイドの抵抗が食ってしまうでしょう。
定数的に解がなさそうです。
L/Rの長いインダクタをソレノイドに並列に接続しようかとかも考えましたが、
対象となる時間が長過ぎて、とても図体の大きなインダクタになりそうなので却下です。

次に考えたのが下のような回路です。
ソレノイドを復帰するほどのエネルギーは回収できないにしても、MOSを駆動するくらいのエネルギーは回収できるだろう、
ということです。
フルブリッジよりは簡単ですが、パワースイッチが2個に増えてしまいました、あんまり美しくないなあ。
いっそモータドライバICを使ってフルブリッジ組んだ方が簡単かとも考えましたが、
耐圧と電流を満たす適当なのが見つかりません(パルスだから定格オーバーでも使えそうなものですが、
瞬時と言えど過電流保護回路があるので大電流は流せないようです)。



別に高速でなくて良いのでメカスイッチの方が簡単かも、
軸の動きでスイッチ(DPDT(2極双投)タイプ)を動かしたらどうだろうか?、
など色々考えた結果、結局下の最終案に至りました。



別に図を間違った訳ではありません。よーく見ると分かると思いますが、元々は無かった茶色い部品が追加されています。
そうです、磁石がEリングを吸い付けて離れなくなる(たぶんそのような構造ではないかと思われます)ストローク領域に
入らないようにスペーサを入れたのです
(SUS(非磁性素材)のEリングを探してきても良かったのですが、近くには売ってなさそうだし、
Webで買うのも待つのが嫌だったので)。
この領域が僅か2mm弱くらいしかなかったので、3mm厚のスペーサを入れました
(手持ちのPEEK材から削り出しています。衝撃に強いかな、という事で)。
こうすれば、ぶつかって運動エネルギーが吸収(熱に変換)されつくせば、ばねで自動的に復帰します。
ちなみに、裏側(プッシュ側)はこんな感じです。


ソレノイドのピンの加速が十分でない内にボールに当たるとボールが十分加速されないと考えられるので、
最初の1mm弱は当たらないようにスペーサを付けました
(これはPOM材、万一軸がずれてきてピンが擦れても滑りが良さそうなので。
最近はこんな素材でも十分な強度で貼り付けられる両面テープがあるから便利です)。

5.回路構成

6Vから28Vへの昇圧回路、単発パルス回路、パワエレ回路の3つを作る必要がありそうです。

昇圧回路はいつものようにMC34063Aを使いましょう。
回路はデータシートの推奨のままで。分圧抵抗は22kΩ/1kΩ*1.25=28.75V。インダクタは手持ちの220μH。
6Vからの昇圧なので、tonはやや長めでCT=1500pF〜2000pFと言うところ、手持ちの都合で1500pFにしました。

単発パルス回路は555で作ります。いい加減な時間幅で、固定で、特に長くも短くもないパルスを作るのには少々大袈裟ですが、
結局これ使った方が簡単確実そうなので。
出力端子がHになる時間は、0.693*RT*CT だから、CTはパスコンと値を合わせて0.1μFとして、
RT=28.9kΩ〜144kΩというところ。
トリマは接触不良が怖いので、固定抵抗を色々付け替えて調整しましょう。
MOSFETに与えるパルスは長い(スイッチング周期も長い)し、ドライバのバッファは省略しましょうか、
やってみて足りなそうならつけましょう。

全体の回路図は下のようになりました。簡略化したつもりでしたが、こうやって全体見ると結構複雑ですね。


製作編

6.製作

まず出来た基板はこんな感じです。大きさは40*70*20mmくらい。


RTをいろいろ変えると、30kΩより大きい方が加速が大きいが、47kΩ以上は増加量が小さいようなので、47kΩとしました。
ソレノイドの駆動でコンデンサの電圧が放電されて下がるので、単純計算値よりややパルス幅を長くしないといけない、
という感じでしょうか。詳細計算は面倒なので、こういうのはカットアンドトライです。
試しに電源の電流制限値を減らしてみると、途端に力が無くなりました。どうも6Vが低下し過ぎて誤動作しているようです。
電池は1C(=1.2A)は流せるだろうから足りそうですが、他の部分で電流使っている時には不足しそうです。
30V側にコンデンサ足してみましたが改善されないので、6V側の68μFを680μFの3並列に変更しました。
これで電源電流0.2A位でも力の低下は無くなりました。

ここまではソレノイドだけを借りていたので、直流安定化電源とボール代わりの適当な対象を使って実験したのですが、
いよいよ実際の電池とボールを借りての実験です。

結果・・・惨敗。

電池のパワーは足りているようですが、どうにもボールの速度が出ない。
このボールは見るからに塩ビのような衝撃吸収素材のようです。
今回使ったソレノイドのような軽いピンで重いボールに運動エネルギーを伝えるには
ピンをボールよりもうんと高速にしなくてはならず、エネルギーの伝達には衝撃を経由する必要があります。
この衝撃エネルギーを熱に変換してしまう衝撃吸収素材は実に厄介な相手です。
ピンを重くするのが正攻法でしょうが、このソレノイドのピンの逆サイドはねじが切ってない
(切れそうもない感じの脆そうな素材)し、接着では強度的に厳しい感じです。
となると、接触した後に無理やり振り切るか(つまり大電流を流し続ける=高電圧を長時間かける)、
衝撃吸収しても余るくらいのエネルギーを与えるしかありません。
1から考え直すのは面倒だし、時間もないなので、力技で誤魔化すことにしました。
高電圧はやはり感電事故が怖いので、後者で行きます。
28Vのコンデンサに1000μFを3並列追加しました。
これで6Vまで放電すると1.3J、伝達すべきエネルギーの26倍です。
1.5mの自由落下条件(約1.5J)ぎりぎりです。
このくらいコンデンサが大きくなると放電時間はほとんどソレノイドの抵抗によるRC時定数で、約12ms。
そこでRT=150kΩにしてパルス幅を10msまで増加しました。
これでも多少不足感はありますが、ゲームに使えるくらいの速度はありそうです。
これで完成としました。
最終形は下のようなものになりました。
電解コンデンサの塊ですね、実に美しくない。厚みも40mmに増加しました。

  


参考までに、仮にもう一度最初から(時間を掛けて)作るとしたら、
もっと軸の重いソレノイドを選ぶか、ソレノイド自体を自作するでしょう。
あるいは、間に何らかの仲介手段を入れてエネルギーを一旦それに移動させてからボールに伝達させるとか。
あるいは、回転体のイナーシャ使って弾き飛ばすとか(これはホールディングになるのかな)。

追記

これ以降は単なる空想工作で、実際に作っていないのでうまく動くか分かりません。

ばねタイプ
まずは理想として、定加速をすることを考えてみます。
ソレノイドは最初の僅かな期間(移動距離)は磁気エネルギーが伝達されますが、
すぐに磁心が電磁石内に入って引力を失うので、定加速には向きません。
そもそも磁石間の力は距離の3乗で減少するので(たしか双極子は2乗ではなく3乗だったはず)線形加速からは程遠く、
少し離れると強烈な磁界(強烈な電流)を加えないと加速力が生まれなくなります。
今回のような衝撃吸収性の高い対象を加速する用途には非常に向いていない加速手段だったと言えるでしょう。
一定加速と言えば、まず思いつくのはばね、次はモーター(リニアモータ)といったところです。
リニアモータは交流駆動が面倒そうなので、ばねを使うことを考えてみます。
仮にソレノイドを改造するとして、ばねを使うには、ソレノイドを逆に使えば良さそうです。
具体的には以下のような動作となります。

まず、復帰用のばねを強いものに変えます。
順方向(本来のプッシュ方向)に電力を与えてばねを引き絞ります。
Eリングを強力な磁性材料に変えて、引き絞られたばねが戻らないように吸着させます。
逆電流で磁石の磁力を相殺し、ばねを開放します。
開放されたばねがボールに当たって、定加速します。

ばね定数[N/mm]はどのくらいが適当になるでしょうか。
仮に2mmの加速で1m/sにすることを考えます。
100gの物体1m/sの運動エネルギーは、(1/2)*m*v^2=0.5*0.1[kg]*1[m/s]^2=0.05[J]。
等加速なので加速時間は4ms、
必要な加速度はv=a*t+v0より、a=250[m/s2]、
必要なボールを押す力はF=m*aより、0.1[kg]では25[N]となります。
つまり、2mmあたり25Nだから、ばね定数は12.5[N/mm]となります。
これはどのくらいのばねなのでしょう。
Web検索してみると、外径8mm、内径4mm、自由長10mm(最大たわみ5.8mm)で16[N/mm]。
同じ径で自由長15mm(最大たわみ8.7mm)で11[N/mm]というのがありました。
つまり、ばねの線の太さが2mmくらい必要という事になります。かなり太いばねですね。
このばねは、カテゴリー的には「強力ばね」となるようです。
で、これを例えば8mm引き絞るには、4倍の0.2[J]必要となります。
余裕を持って10倍の0.5[J]にしたとしても、衝撃波吸収対応で作った26倍に比べればまだ半分以下ですから、
リーズナブルと言えるでしょう。
8mm引き絞っても100[N]だから、構造的に耐えられるようにはできそうです。
引き絞ったばねを吸着しておく磁石の引力は実現可能でしょうか。
例えばネオジム磁石のデータで、φ30*5mm(310mT)で12kg、φ25*5mm(300mT)で8.2kgと言うのがありました。
フェライト磁石の磁束密度はネオジム磁石の1/4くらいなので、ざっとφ60mmくらいの面積があれば良さそうです。
接触面を良く磨くか、折った鉄板で接触面積を広くしてやれば、程々の大きさで作れなくもない感じです。
ネオジム磁石に置き換えた方が作り易そうですが。
吸着失敗の可能性を考えると、センサーを使って吸着するまで引き絞りパルスを繰り返し加える方が良さそうですね。
これは作って作れなくもなさそうだし、大きさも程ほどになりそうです。

運動エネルギー中継タイプ
次に、ソレノイドの軸の運動エネルギーを、一旦金属などの、衝撃を吸収しない、かつ重い素材に移動してから
ボールに当てる場合の可能性について考えてみます。
衝撃吸収素材がエネルギーを吸収するのは、恐らく固体の局部的な変形により効率的にフォノン散乱が起こっている
(一方向の運動エネルギーが、ランダムな方向の運動エネルギーに変わる=熱に変換される)からと思われます。
言い換えれば、素材が密度(比重)に対して柔らかいため、急激に移動させようとすると、
素材のイナーシャ(慣性)により素材の変形が大きく発生し、変形により発熱するからと思われます。
従って、一方向の運動エネルギーが効率よく対象全体に同じ方向の運動エネルギーとして伝わるためには、
イナーシャに負けて変形しないように、ゆっくりと加速する必要がある、と考えられます。
運動エネルギーは0.5*m*v^2だから、重いほど少ない速度で同じ運動エネルギーとなります。
作用反作用と運動エネルギー保存則から、(摩擦などが無ければ、互いの重さによらず)
衝突により運動エネルギーは全て相手に移動するはずです(いわゆる玉突き)。
従って、ソレノイドの軸を、変形しにくく、かつ重い素材に衝突させれば、
その運動エネルギーは当てた素材に移動すると共に速度が低下するでしょう。
これを改めてボールに当てれば、ボールをよりゆっくりと加速することになりますから、ボールの変形量は少なくなり、
衝撃吸収エネルギーが減り、より多くのエネルギーがボールに渡る、と考えられます。
ということで、先ほどのばねと同じで、最終的に伝えたいエネルギーの10倍の0.5Jをソレノイドに与えたとして、
例えば中継する素材が200gとすると、どのような運動になるかを考えてみます。
E=0.5*m*v^2=0.5*0.2[kg]*v^2=0.5[J] より、v=2.2[m/s]=2.2[mm/ms]。
一方、ソレノイドの軸は、恐らく軟磁性フェライトがφ10mm×30mm、鉄がφ8mm×8mm+φ3mm×30mmくらい
と思われますので、フェライトの密度を4.8[g/cm3]、鉄の密度を7.9[g/cm3]として、11.3+3.2+1.7=16.2g。
これに0.5J与えると、7.8[m/s]となります。運動エネルギーは速度の二乗に比例しますから、
12倍の重さでも1/3.5倍にしかなりませんが、
2.2[m/s]の速度の物が衝突することによりボールが1[m/s]になるというのはありそうな感じです。
とは言え、先のばねだと、1[m/s]の衝突に近い(次第に加速するのでそれ以下の衝撃)ですから、
更に2.2^2=5倍の1kg位を中継しないと同じくらいにはならないことになります。
重いものでの中継よりは、先のばね方式の方が小型化できそうです。
ちなみに、仮に中継ストロークを5mmとすると、2.3msとなります。
仮に真鍮を主体素材として作ったとして、真鍮の比重は8.4[g/cm3]位だから、200gなら23.8[cm3]。
直径10mmとして長さ300mm、直径20mmとして長さ76mm、直径30mmとして長さ34mmとなります。
作れないほどではなさそうですが、結構大きいので、やはりこの案はあまり良い方法とは言えないようです。

空気砲タイプ
渦輪の発生、伝達効率がどのくらいかは分かりませんが、見た感じかなり効率が良さそうです。
風車の理論効率限界が59.3%だそうですから、仮にこの2乗が理論限界と仮定すると35%伝達可能となり、
10倍のエネルギーならひょっとしたら目的の加速ができるかもしれません。
空気の層でうまく浮かんでくれれば摩擦も減らせます。
ただし、これは構造的にはばねと同じような感じになりそうなので
(ばねよりも引き絞り距離が長いので、ソレノイドと言う訳にはいかないでしょうが)、
何も効率減らしてまで渦輪を仲介しなくても良さそうなものですが、
見た目の面白さはあるかもしれません。

回転エネルギータイプ
運動エネルギーを狭い空間に貯めたかったら、重いものを回転させるのが手っ取り早いでしょう。
これは丁度ピッチングマシンみたいな構造になりそうですね。
ただし、前面から吸い込んで後方に吐き出す訳にはいかないので、
回転体でボールを左右から挟んで前面に押し出すような感じになるでしょう。
単純に幅が広がったり狭まったりする2個1組の回転体を前面に準備するだけでも良いかもしれません。
回転エネルギーは・・・さすがに面倒になってきたのでやめます。仮にφ30mmで5000rpmとすると、
周速度は7.85[m/s]ですから、重いものを比較的遅い回転数で回しとかないといけないのが分かります。

更に追記

ソレノイドキック回路の使用が禁止になったと聞きました。
まあ作ってみて、このような軟らかくて重いボールを加速するにはソレノイドは実に不適当な選択だと思いましたし、
ろくに最適化せずに無理に加速しようとして無茶な高電圧使ったりすると危なそうだし、この判断は適切かな。
でも、キックが禁止になったのではなくて、昇圧回路の使用が禁止になったらしいので、
追加で最適と思われる方法を考えてみました。
最終的には1[m/s]位まで加速するにしても、なるべく一定かつ少ない荷重で時間を掛けて加速するのが良さそうです。
とにかく最終的に与える運動エネルギーは0.05[J]そこそこですから、効率50%としても0.1[J]くらいで済むはずの所に、
衝撃吸収にその何倍、何十倍のエネルギーを持って行かれるのは美味しくありません。
先のばねを使うのもまだまだ無駄が多く、また強力ばねの短時間の引き絞りにソレノイドが使えないとなると、
実現が難しそうです。
すると、やはりここはモーターの出番になると思います。
ACのリニアモーターは制御が面倒そうなので、
DCのリニアモーターを作るか、DCモーターの回転を往復運動にするかが良さそうです。
DCのリニアモーターの製作という課題は面白そうですが、それなりに高度な工作になりそうなので
あまり一般向きではなさそうですし、見た目がソレノイドっぽくなりそうです(瓜田に沓を納れず李下に冠を正さず)。
ということで、単純にDCモータを使うことを検討してみます。
別に完全な往復運動にする必要は無く、モーターで1/4回転くらいさせれば良いことなので
(そもそも人のサッカーでも足の動きは円弧的)、まず単純にモーターの軸で蹴飛ばすことを考えてみます。
仮に6000rpm(=100rps)として、周速度が1[m/s]となる直径は3.2mm。これでは蹴飛ばせないので、
ギアが必要なようです。
仮に半径100mmで蹴飛ばすとすると、1.6rpsだから、1/63位のギア比で減速すれば良いことになります。
例えば、タミヤのギアボックスで1/38.2というのがありました。これだと100rps/38.2=2.62rpsなので、
周速度が1000[mm/s]となるには直径=1000/(100/38.2)/π=1000*38.2/100/π=122mm、
つまり半径61mm位の点でボールに接触するように蹴飛ばせば良さそうです。
リミットスイッチを付けて回転し過ぎないようにしておけば無駄な電力は使わなくて済むでしょう。
仮にボールとの接触距離が10mmとして、必要な押す力は5N、
半径61mmだと軸力は0.31N・m、ギア比1/38.2だとモーターに要求される軸力は8mN・m。
模型用のモーターでは全然足りません。RC用の高出力モーターが必要そうです(rpm高いのでギア比再計算要)。
しかし、効率を考えないとしても、大きな電流が必要になるので、充電池の1Cと言う訳にはいかなそうで、
かなり電池の負担になりそうです。コンデンサの助けが必要かもしれません。


  

このページの先頭へ