最近ブログのネタが無くてあまり更新がはかどらない。
回転するものを作りたくてギヤードモータを探してる。4.5kgf/cmくらいのトルクで手頃な電圧で動く奴。かつamazonとかモノタロウとかその辺りで1週間位で届く奴。
今のところはタミヤのギヤードモータが一番の候補。
寸法図
http://www.tamiya.com/japan/robocon/robo_parts/g_motor/g_motor_zumen.htm
スペック
http://www.tamiya.com/japan/robocon/robo_parts/g_motor/g_motor_speck.htm
モーターマウント(AO-8055)の寸法図
http://www.tamiya.com/japan/products/72101motor_tire/index.htm
基本的にギアヘッドの出力軸が有る面はすべてのバリエーションで互換性があり、大きなバリエーションとしてモーター違いの3種類、その中でギヤ比が違ういくつかの種類があり、合計で10種類くらい有るみたい。ギア比が変わるとギアヘッドの寸法が変わるので、後からトルクが必要になったとかでギア比を変更したい場合は注意。
取付面はすべてのバリエーションで互換性があるので、モーターマウントは1種類のみ。これはどこにも説明ページがなくて情報不足な感がある。一応上記リンクページの下の方に寸法図が書いてある。
ギヤードモーターのスペックは3種類の代表値?が書いてあるだけなので、トルクや回転数はギヤ比で換算する必要がある。
// タミヤのWebサイトのJavaScriptは軒並み死んでるので画像の拡大だとか、リンクになってるグラフは表示できない。
とりあえず380系の1:150が最有力候補になってる。これならモノタロウに在庫あるし。
工業用のギヤードモーターでもタミヤのと同じ価格帯のものはあるけど、トルクが低いor回転数が低いで、タミヤのものと同程度の性能になるとかなり値段が高くなる。今回は信頼性とか要らないのでホビー向けで十分だと思う。
小学生の頃にタミヤのカタログを見てて、ギヤードモーターは安価なギヤボックスの数倍の値段がして全然手が届かなかったけど、今更使うことになるなんて。
とりあえず図面をCADに入れてみて回す相手との組み合わせとか確認してみるつもり。
#追記:2016-07-04
AO-8023という型番のギヤードモータ、380系の150対1のタイプとモーターマウントを買ってみた。モーターマウントはアルミを加工したものだが、羽のように軽い。こんなのでちゃんと支えられるのかと心配になる程。一方ギヤードモータの方はそれなりに重量感が有る。7.2VのNiMHを繋げばすぐスピンアップするが、停止するには結構時間がかかる。一瞬接続しただけでも1周は回転してしまう。例えば直径5cmのタイヤをつけた場合、一瞬通電しただけでも15cmくらい進んでしまうので、あまり精度は当てに出来ない。
ギヤードモータの付属品としては取付用のビスとかホイールハブが付属している。ギヤの出力軸は6mmのDカットだが、ハブを使えばM4のボルトで出すことができる。ただしM4で出した場合は回転防止の工夫は無いので、ナットの締め込みで固定する必要がある。
今回は相手も6mmのシャフトだったので、カップリング(MOL-20C-6×6 カプリコン・ミニ クランピングタイプ 1個 鍋屋バイテック(NBK) )を使用した。僕が買った個体同士ではいい感じに固定できた。
ギヤードモータの配線はハンダ付け済みだったが、メーカーページの写真だと3633シリーズは配線が写ってないのでシリーズによるかも。ハンダ付け部分は片方はシュリンクチューブで保護されていたが、もう片方は剥き出しだった。配線の端はギボシ端子だが、両方でジェンダーが同じなので誤配線対策が必要だと思う。ギボシ端子は手持ちのエーモンのセットが使えたので、汎用的なモノだと思う。ロボコンとかで使う場合は、配線を黄色と緑で色分けして逆接続を防ぎ、回転方向はソフトウェアで処理する感じになると思う。
動作時はギヤがかなりうるさいので、いかにも「動いてますよ!」って感じはするが、ずーっと動かしてると嫌になると思う。
ギヤードモーターの選択基準はいろいろあって、最初にトルクと回転数、次に値段があると思う。場合によってはその間に重量も有るかもしれない。タミヤのギヤードモーターはそれらの点において素晴らしいというほどではないが、タミヤというブランド力は一考に値すると思う。ロボコンでコストダウンを優先して中国製のギヤードモーターを使ったけど、いざという時に壊れて在庫がないとかになると目も当てられない。しかしこのギヤードモーターはいろんな通販サイトで買うことができるし、それも不可能な時は模型店で取り寄せてもらうこともできるはず。入手性という意味では、かなり高得点だと思う。
あんまり性能とか重量とか制限がないときに「何か良いモーター無いかなー」という時はタミヤのギヤードモーターはかなり便利なカードになるはず。
2016年6月22日水曜日
2016年6月20日月曜日
DMMの3D造形覚書
DMMの出力でナイロンを造形した。半分失敗、半分成功、と言った感じだけど、いろいろちょっと書いておく。
今回は金属シールドのベアリングを使用したが、回転数とか回転抵抗が気にならないならゴムシールのベアリングを使ったほうが良いと思う。粉末を綺麗に除去できないとどんどん粉が出てきて気分的によろしくない。
保険として幅5.6mmの六角形の穴を付けておいた。タップが使えなかった場合は3mmに広げてM3のナットを入れる予定だったが、この六角形の穴は結構いびつな形になっていた。もっともM3のナットを圧入できるという意味では良かったのかもしれないが。
今回の目的はちゃんと動くものを作ること、その過程で可動部が作れるかどうかを確認すること、だった。可動部が作れる事は確認できたが、ちゃんと(目的通りに)動くものを作るという目的は達成できなかった。
精度の目安として±0.15mm、長軸方向に±0.15% という数字が書いてあるが、体感的にはもっと悪い気がする。計算上は誤差最大でこんな感じになるのかなぁ って程度だけど、とにかく精度はあまり信用しない方がいいと思う。どうしても精度が必要な部分は金属の切削をどっかに頼むとか、いろいろな手段を用意するべき。もっとも精度以上に値段が跳ね上がりそうだけど。
全体的に精度の悪さが気になる結果となった。この辺りは数をこなせばどんな形に作れば狙い通りの機能を果たすかとかわかってくるのかな。今回を除いて大きく分けて2種類くらいのモノを作ったが、2個目とか3個目あたりで狙い通りの機能を実現できてる。今回ももう一回作れば狙い通りになりそうな気がする。あと1ヶ月もすれば値段が下がるみたいなので、そのあとでやってみようかな(7月中旬から値段が変わるみたいだけど、今の値段の設定が書いてないのでどれくらい変わるのかよくわからない)。
DMMである程度精度を求める部品を作る場合、値段は4倍を考えておけば十分足りると思う。それくらいの覚悟をして、2回目か3回目で狙い通りに作って、「思ったよりは安かったな」とか考えたほうが健康に良いと思う。もしくは精度とか関係ないような設計にして一発で目的のものを作るか。
可動部分。
内径42mmの円筒に外径40mmの筒を入れて、円筒の両端は閉じている、という形状。切削加工で作るのは結構面倒なはず。わざわざこんな形状作る必要もないと思うけど、作ることもできる。ただし粉末を除去するのが相当に大変。隙間が1mmくらいあるので、その隙間に薄いプラの板とかを押し込んで粉末を少しずつ削り取っていく。円筒の半分を削れればそっち側にグリグリ動かして反対側を剥がせる。内側の筒は回転するように作っているが、軸受けはベアリングを使用した。ベアリング(圧入)について。
円筒の軸受けに外径8mm、内径6mmのフランジ付きベアリングを使用した。モデルは8mm、6mmちょうどで作成した。ベアリングは両端に計2個使うが、片側は良い感じに圧入できた。もう片方はスカスカで簡単に落ちてくる。そもそも造形の誤差があるのであんまり圧入とかは考えないほうが良いと思う。今回は金属シールドのベアリングを使用したが、回転数とか回転抵抗が気にならないならゴムシールのベアリングを使ったほうが良いと思う。粉末を綺麗に除去できないとどんどん粉が出てきて気分的によろしくない。
細い溝を刻みたい。
厚さ0.4mm、幅6mmくらいの板を並べて固定したい部分があった。ということで幅0.7mm、深さ3mmの溝を刻んだ部品を上下に配置して挟むようにした。力を込めて押しこめば入るが、スカスカな感じではない。あとこの板は可動部の隙間に入り込む予定で、可動部の方も0.7mmの隙間を作ったが、こちらも固くてとても稼働するような状態ではなかった。ネジ止めしたい。
部品を固定するのにネジ止めをしたかった。手持ちにM3のキャップボルトが大量にあるので、それを使えるようにしてみた。とりあえず3mm厚に2.5mmの下穴を開けて、こっちでタップ加工をした。簡単な固定程度なら問題なさそう。もうちょっと厚さを増やせばかなり強固に締め付けれるはず。保険として幅5.6mmの六角形の穴を付けておいた。タップが使えなかった場合は3mmに広げてM3のナットを入れる予定だったが、この六角形の穴は結構いびつな形になっていた。もっともM3のナットを圧入できるという意味では良かったのかもしれないが。
今回の目的はちゃんと動くものを作ること、その過程で可動部が作れるかどうかを確認すること、だった。可動部が作れる事は確認できたが、ちゃんと(目的通りに)動くものを作るという目的は達成できなかった。
精度の目安として±0.15mm、長軸方向に±0.15% という数字が書いてあるが、体感的にはもっと悪い気がする。計算上は誤差最大でこんな感じになるのかなぁ って程度だけど、とにかく精度はあまり信用しない方がいいと思う。どうしても精度が必要な部分は金属の切削をどっかに頼むとか、いろいろな手段を用意するべき。もっとも精度以上に値段が跳ね上がりそうだけど。
全体的に精度の悪さが気になる結果となった。この辺りは数をこなせばどんな形に作れば狙い通りの機能を果たすかとかわかってくるのかな。今回を除いて大きく分けて2種類くらいのモノを作ったが、2個目とか3個目あたりで狙い通りの機能を実現できてる。今回ももう一回作れば狙い通りになりそうな気がする。あと1ヶ月もすれば値段が下がるみたいなので、そのあとでやってみようかな(7月中旬から値段が変わるみたいだけど、今の値段の設定が書いてないのでどれくらい変わるのかよくわからない)。
DMMである程度精度を求める部品を作る場合、値段は4倍を考えておけば十分足りると思う。それくらいの覚悟をして、2回目か3回目で狙い通りに作って、「思ったよりは安かったな」とか考えたほうが健康に良いと思う。もしくは精度とか関係ないような設計にして一発で目的のものを作るか。
2016年6月18日土曜日
SK11の虹色六角レンチ9本セット
2016年6月17日金曜日
DTMFのソフトウェアデコード
今更DTMFかよ、という気もするけど。

まず123A456B789C*0#DのDTMFを作る。それを読ませてみる。
とりあえず入力したWAVEと予め作った正弦波と余弦波の積を使った。まず正弦波と余弦波の積をそれぞれ計算し、それぞれの積をLPFに通し、その結果を2乗して加算した。
綺麗なDTMFだと結構ちゃんと分離できるっぽい。今回の場合は2500を閾値として、それ以上が一定期間続けばDTMFとして受け取る みたいな処理を行えば良いはず。ただマイク経由だったり無線経由だったりで音量が一定じゃない場合はつらいかも。
DTMFって最近だとデコードICとか入手するの面倒だと思うので、ソフトウェアデコーダを作る必要があると思うんだけど、どういうアルゴリズムで解析するのが良いのかね。

まず123A456B789C*0#DのDTMFを作る。それを読ませてみる。
とりあえず入力したWAVEと予め作った正弦波と余弦波の積を使った。まず正弦波と余弦波の積をそれぞれ計算し、それぞれの積をLPFに通し、その結果を2乗して加算した。
綺麗なDTMFだと結構ちゃんと分離できるっぽい。今回の場合は2500を閾値として、それ以上が一定期間続けばDTMFとして受け取る みたいな処理を行えば良いはず。ただマイク経由だったり無線経由だったりで音量が一定じゃない場合はつらいかも。
DTMFって最近だとデコードICとか入手するの面倒だと思うので、ソフトウェアデコーダを作る必要があると思うんだけど、どういうアルゴリズムで解析するのが良いのかね。
2016年6月12日日曜日
地磁気の偏差を計算する
国土地理院のWebページに地磁気の偏差(の近似値)を計算する式が書いてある。
http://vldb.gsi.go.jp/sokuchi/geomag/menu_04/approximate_expression.html
ということで試してみた。
一応正しそうな値にはなる。ただしサンプル地点で角度が数分ほど、磁力が50nTほど誤差がある。何に起因する誤差かはわからないけど、磁力成分だと3桁くらいの精度はあるし、磁気偏差もOFジャイロとか使った精密なナビゲーションに使うのでもなければ問題ないと思うので気にしないことにする。
正しい数字が必要な場合は国土地理院のWebページで計算すること。
http://vldb.gsi.go.jp/sokuchi/geomag/menu_04/index.html#keisan
計算に使用する値は5年毎に更新されるとか読んだことがあるけど、今のところ2010年の値が使用されているらしい。国土地理院のWebサイトに有る計算機でも2010年の値が使用されている。
計算に使用する値は6個の値で、偏角、伏角、全地磁気、水平地磁気、鉛直地磁気の5種類がある。計算式は基本的に似たようなものだが、それぞれで加算減算が違ったりするので注意すること。組込み機器で計算するなら、係数の正負を変えてすべて加算で処理できるようにしたほうが便利だと思う。そうすれば2次元配列で係数を保持し、forの中で加算を書けば5種類の計算を1個のループで行えるはず。
http://vldb.gsi.go.jp/sokuchi/geomag/menu_04/approximate_expression.html
ということで試してみた。
一応正しそうな値にはなる。ただしサンプル地点で角度が数分ほど、磁力が50nTほど誤差がある。何に起因する誤差かはわからないけど、磁力成分だと3桁くらいの精度はあるし、磁気偏差もOFジャイロとか使った精密なナビゲーションに使うのでもなければ問題ないと思うので気にしないことにする。
正しい数字が必要な場合は国土地理院のWebページで計算すること。
http://vldb.gsi.go.jp/sokuchi/geomag/menu_04/index.html#keisan
計算に使用する値は5年毎に更新されるとか読んだことがあるけど、今のところ2010年の値が使用されているらしい。国土地理院のWebサイトに有る計算機でも2010年の値が使用されている。
計算に使用する値は6個の値で、偏角、伏角、全地磁気、水平地磁気、鉛直地磁気の5種類がある。計算式は基本的に似たようなものだが、それぞれで加算減算が違ったりするので注意すること。組込み機器で計算するなら、係数の正負を変えてすべて加算で処理できるようにしたほうが便利だと思う。そうすれば2次元配列で係数を保持し、forの中で加算を書けば5種類の計算を1個のループで行えるはず。
DMMの3Dプリント
DMMの3D造形で治具を作ってもらった。素材はナイロン、仕上げは青染という感じ。
さすがに5回も出してると慣れてくるけど、相変わらずDMMのデータアップロードフォームは成功率が低い。ヘタすると成功率1ケタ%くらいになる。ものすごい安定した回線が必要だとおもう。MVNOじゃ昼間はまず無理。

さすがに幅0.7mm深さ11mmだとサポート材が抜けてないところがある。
真ん中辺りに左右に3個連なってる四角は中空の構造で、その部分のサポート材は抜けてる。が、中空を支える壁の部分が抜けていない。
サポート材ってどうやって抜いてるんだろうね。手作業だとこういうふうには残らないと思うので、流体で吹き飛ばしてるだけなのかな?
以前に染無しで頼んだ時は、サポート材はかなり硬く締まっていたけど、それでも棒で引っ掻けば粉になって落ちてきた。でも今回のはかなりしぶとい。染めたことで液で固まったのかも。
それと染色は液にドブ漬けしてるだけのようで、表面にちょっと薄い膜ができてる程度。なのでカッターで引っ掻いたりするとすぐ白くなる。これはカッターのジグなので、あっという間に白くなりそう。表面がひっかかれたりしやすいモノは白(染無し)のほうが良いかも。
DMMの資料によると0.5mm開ければ可動部を作れるって書いてあるけど、サポート材をどうやって抜くつもりなんだろう。厚さ2mm程度のギアくらいなら抜けるのかな?どれくらいの大きさが限界なんだろう。さすがにタービンエンジンみたいな構造は作れないだろうなぁ。ああいう形状の部品を作りたいけど、ステーターはモナカにしないとダメだろうなぁ。
さすがに5回も出してると慣れてくるけど、相変わらずDMMのデータアップロードフォームは成功率が低い。ヘタすると成功率1ケタ%くらいになる。ものすごい安定した回線が必要だとおもう。MVNOじゃ昼間はまず無理。

さすがに幅0.7mm深さ11mmだとサポート材が抜けてないところがある。
真ん中辺りに左右に3個連なってる四角は中空の構造で、その部分のサポート材は抜けてる。が、中空を支える壁の部分が抜けていない。
サポート材ってどうやって抜いてるんだろうね。手作業だとこういうふうには残らないと思うので、流体で吹き飛ばしてるだけなのかな?
以前に染無しで頼んだ時は、サポート材はかなり硬く締まっていたけど、それでも棒で引っ掻けば粉になって落ちてきた。でも今回のはかなりしぶとい。染めたことで液で固まったのかも。
それと染色は液にドブ漬けしてるだけのようで、表面にちょっと薄い膜ができてる程度。なのでカッターで引っ掻いたりするとすぐ白くなる。これはカッターのジグなので、あっという間に白くなりそう。表面がひっかかれたりしやすいモノは白(染無し)のほうが良いかも。
DMMの資料によると0.5mm開ければ可動部を作れるって書いてあるけど、サポート材をどうやって抜くつもりなんだろう。厚さ2mm程度のギアくらいなら抜けるのかな?どれくらいの大きさが限界なんだろう。さすがにタービンエンジンみたいな構造は作れないだろうなぁ。ああいう形状の部品を作りたいけど、ステーターはモナカにしないとダメだろうなぁ。
2016年6月10日金曜日
FSXのメーターパネル
とりあえず、練習も兼ねてスロットルとかフラップとかの位置を表示するアプリを作ってみました。まぁあんまり意味は無いですが。
元がC++向けのためか、Managedの方もかなり冗長になっています。結構ソースコード書くのが面倒で、かと言ってコピペするとthrow投げられたりしてデバッグに一苦労とか、結局全部手打ちしたほうが確実というおかしなことに(オートコンプリートがあるので特に)。
FSXのSim Variablesを見るとSettable trueはあまり多くなく、基本的な操作しか行えないようです。ただしエンジン周りは例外で、エンジン/燃料系はかなり細やかな設定ができるようです。たぶん航空機関士席を作ることも可能でしょう。まぁFSX付属の機体にFEが必要な機体って無いと思うんですが。。。
スポイラーARMDにしたければ、スポイラーを30%くらいにするとARMDになるので、スポイラーの操作は可能です。スロットルも前述のように作ることが可能です。スラストリバースはスラストを-25%あたりにすると可能で、これはハードウェア側ではVRを2個使って1セットのスラスト操作を行い、PC側、あるいはマイコン側で-25%から100%の範囲を動くようにすれば可能だと思います。スラストが0%以外の場所ではリバースに入らないようにするのが面倒ですが、これも機械可動部で作ったり、ソレノイドでロックしたり、いろいろやりようは有ると思います。1つ問題なのはフラップの扱いです。MSDNによるとFlaps handle percentのSettableはNoになっており、ハンドル位置を指定することができません。TRAILING EDGE/LEADING EDGEのPercent/AngleはSettable Yesですが、Handle Posに対するLead/Trailのミキシングは各機により異なるため、クライアント側で処理するのは結構面倒な気がします。予めHandleとPercentのテーブルを作っておけばなんとかなるかもしれませんが、どちらにしろ面倒です。
当初の目的は3軸の加速度を取り出すことでしたが、ここまで来るといろいろ操作できるようにしたくなってきました。オートパイロットのノブとか市販品があるけど、あれってどうやってるんだろう。SimConnect以外のSDKを使うとできるのかな?
追記:2016/06/15
存在しないパラメータを読んだ時の挙動について。
スポイラーがついてない機体でスポイラーを読むと-2147483648が読み出される。uint_32とすると0x80000000になる。SIMCONNECT_DATATYPE.FLOAT64を指定しているがこの値が来ている。float32だとこの精度はないはずなので別の値が来るのかもしれないが、自分の環境では64bitを使ってるので不明。必要なら各自の環境で確認すること。
追記:2016/08/02
オートパイロット等の操作を行う方法について。
MapClientEventToSimEventでイベントを追加し、TransmitClientEventによってイベントを送信することができる。イベントを追加する際はイベント名の文字列を渡すが、例えばAP_ALT_VAR_INCを送信した場合はオートパイロットの高度をインクリメントすることができる。AUTOPILOT_ONを送信すればオートパイロットがONになるし、AUTOPILOT_OFFを送信すればオートパイロットをオフにすることができる。
オートパイロットパネルを作りたい場合、ON/OFFスイッチはモーメンタリスイッチでイベントを送信し、AP状態を獲得してLED等に表示すればいい。高度設定ノブなどを作りたい場合はロータリーエンコーダのInc/Decに応じてInc/Decイベントを送信し、現在の設定値を7セグLEDやLCDに表示すればいい、ということになるようだ。
ノブ等はInc/Decしかできないから、テンキーで数字を入力するといった事は難しいかもしれない。ただInc1個での変化値はイベント前後でわかるから、現在値と入力値の差からInc1個分で割った商の回数だけイベントを送る、といったことで可能かもしれない。
登録:
投稿 (Atom)