その他の電子工作

2016年5月29日 (日)

WiiのゲームをPCから操作するための装置

Nintendo WiiのゲームにPCから操作信号を送るための装置を作りました。これはdenizkoekden/arduino-wiimote としてGitHubで公開されているプロジェクトをそのまま利用したものです。Arduino基板を使ってWiiリモコンの端子につなぐ拡張コントローラーのふりをさせるというものです。
Cimg1175_cimg1188_2

Wiiリモコンの拡張コネクタ(ケーブル側)が単体では手に入らなかったため、PlaystationのコントローラーをWiiで使うための変換アダプタを購入して分解、部品を取り出して使用しました。

Img_20160514_154130_img_20160514_155203

 

これは最初に作ったものです。元の電子回路基板が入っていたケースに穴をあけてマイコン基板を格納、線は半田付けしました。ArduinoはArduino nano互換基板を使用し、また不要なコネクタを除いてケースにすっきり納まるようにしました。

_img_20160515_143408_cimg1212

これは2番目に作ったものです。専用ケースを3DCADで設計し、3Dプリンタで製作しました。
ケースはWiiリモコン側のケーブルに付いていた蛇腹状の部品に合わせてきっちり嵌まるようにしてあります。ケースの蓋は、ねじで止めるようになっています。
ちなみに、このようなケーブルがケースから出るところに付けられている蛇腹状の部品には、ケーブルの断線を防ぐ役割があります。人間がこのような電子機器を使用する際、ケーブルの根元にはてこの原理で大きな力が容易にかかります。その際にこれがないと、ケーブルの根元のケースと接する部分の1点だけが強く大きく曲げられることとなります。それを繰り返すうちに中の導線が金属疲労で断線するというわけです。この部品によってケーブルは緩やかな半径で曲がって外力を往なすようになります。
USBケーブル、電源ケーブル等、コンピューター・電化製品のあらゆるケーブルに見られます。安価なUSB機器などでは格好だけ真似ていてもこの蛇腹部分が全く変形しない粗悪なものがありますが、そのようなものはいつか蛇腹の端で断線することになります。

| | コメント (0) | トラックバック (0)

2009年4月 7日 (火)

VS-WRC003マイコンボードを自作回路で使う

VS-WRC003とは、VSTONEが昨年発売した学習用のロボット制御用マイコンボードです。CPUはH8/36064というH8/300H Tinyシリーズのものです。USB-シリアル通信変換ICを基板上に搭載しており、USBケーブルのみでマイコンを使い始めることができる点を特徴としています。また、2CHの正逆回転DCモータードライバICを搭載しており小型の車両型ロボットを単独で動かせるようになっています。基本的には専用のファームウェアとGUIでロボットの動きをプログラミングするものですが、HEWを用いてC言語での開発も可能で、HEW用のプロジェクトファイル付きサンプルプログラムがサポートページで公開されています。回路図も規約に同意の上でダウンロードできます。

単なるH8/Tinyを搭載したマイコンボードとして、敢えて自作回路で使うという観点から感想を書きます。

拡張用コネクタのパターンがありますので、2列ピンヘッダ等を使ってユニバーサル基板に載せることができます。ただ回路図を見るとわかるのですが、秋月のH8マイコンボード等と比べると、外部端子に繋がっているピンが限られています。たとえばアナログ入出力端子は4本しか拡張用コネクタに繋がっておらず、他は専用の4Pinコネクタから出ています。他に、IRQ等いくつかの機能端子が未結線となっていますのでやや不便です。

PCとの接続はUSB-miniBコネクタです。一般的なUSB機器接続用のケーブルで接続します。バスパワーでのROM書き込み、プログラム実行もでき ます。基板上のスイッチを押しながら電源を投入するとROM書き込みモードになるという仕様で、なかなか考えられていると思いました。USB-シリアル通 信変換ICが載っているのでPC側(Windows)からはシリアルポートとして認識されます。そのためSCIと端末エミュレータを用いてのデバッグも従来通りできます。マイコンのリセットスイッチが基板上にはないため電源再投入でリセットすることになりますが、このときUSB-シリアル通信変換ICの電源も一緒に切れるため、PCとの通信ができなくなります(少なくともTeraTermの場合)。これは端末エミュレーターで切断-再接続の操作を行えば回復します。なお、リセット端子自体はE8デバッガ用に繋がっていますので外部リセットスイッチをつけることは比較的容易です。

基板上のDCモータードライバは電流容量が1A程度なため、FA-130クラスのモーターでも使用条件によっては不足します。特に車両型ロボットで急激なブレーキや反転動作をするのには不安があります。専用ファームウェアとGUIを使う場合はDuty比を制限することで対処しているそうですが、自分でファームウェアを書く場合は十分注意する必要がありそうです。6V程度のモーター電源電圧でFA-130を使用した場合にICが発熱したり壊れたりしたという事例を数多く見ました。

基板上には他にプッシュスイッチ(ブートモード切り換え兼用)と圧電ブザー、チップLED2個が載っています。いずれも動作確認やデバッグによく利用する部品で、これらが初めから用意されているのは便利だと思います。

プレイステーション用のコントローラ、あるいは専用のVS-C1という無線コントローラーをつなぐコネクタ用のパターンがあり、ロボットの操縦に使えます。コントローラとの通信を行うサンプルプログラムのソースも配布されています。コントローラの着脱時にコネクタの足に力が掛かかりやすく、何回か抜き差しするうちに折れる恐れがあるので注意が必要です。

以上のようにいくつかの制限はありますが、それらを考慮した上で使えばなかなか便利で面白い製品だと思います。

| | コメント (0) | トラックバック (0)

2008年4月14日 (月)

シリアル通信無線化の検討

シリアル通信(RS232C)無線化手段を検討しました。

シリアル通信を無線化するBluetoothモジュールを使う予定でしたが、似たような消費電力・到達距離で安価なZigbeeを使ってみることにします。

  • ベストテクノロジー Zigbeeモジュール
    • BTX025 ZIG-100B 2台、+ BTX026 RS232Cアダプタ
    • 5250*2+5040=15540円

Bluetoothを使った下記3製品について調べてみたところどれも4~5万円前後、思っていたより高価でした。

  • ベストテクノロジー BTX022B ZEALコードレスアダプタ

| | コメント (0) | トラックバック (0)

2007年8月 9日 (木)

GWS Micro/STD/F

秋月電子で扱っているMicro/STD/Fを入手しました。Micro 2BBMG(以下MG)と同じような寸法の小型サーボで、プラスチックギア採用の軽量でトルクが弱いものです。(秋月電子の紹介には2007/8/9現在、MGと同じスペックが書かれていますが、メーカーの記述と異なっているので間違いと思われます。) 安いので、モーターや電子回路を壊してしまったMGと基板かギアを交換して修理しようという目論見です。

ひとまず普通に動かしてみてわかったことを書いておきます。

  • ギアのあそびはMGと同じくらい、動作時の位置決め動作も同じ印象
  • 外力で回される際の引っかかりは同じくらい(あまり回さない方が良さそう)
  • 動作時の電流は20%ほど?少ない(ギアの違いの可能性もある)
  • パルス幅の増減に対する回転方向は同じ
  • 端子配置はMGと同じ(線の色が異なる。黒→茶、赤→赤、橙→白。また、コネクタ形状が少し異なる。)

| | コメント (0) | トラックバック (0)

2007年5月 4日 (金)

RCサーボ信号分配ICに4051

以前、74HC237でサーボ信号を分配する話について書きましたが、8分配するために場合74HC237を使った場合、全チャネル同時にHighにすることはできないので電源投入時に一瞬だけ動いてしまいます

似たICとして4051という8chアナログスイッチがあります。8本のうち1本を選択して出口に繋ぐ機能は237等と同じですが、アナログスイッチなので入出力の区別がなく、アナログマルチプレクサとデマルチプレクサのどちらにも使うことができます。
4000番代ということでいわゆる74シリーズロジックICではないCMOS ICですが、今では互換品の74HC4051等というICがあります。

デマルチプレクサとして使うことでサーボ信号の分配にも使えるそうで、そうすると選択されていないピンはオープンになるので、適宜プルアップ抵抗を加えることで冒頭で述べた電源ON時に動いてしまうことを抑えられそうです。

帷子丸等ではマイコンのアナログ入力を増やして多くのセンサーを読めるようにするために使っていたICですが、こういう使い方があるのは先日イベントの懇親会で実際にそういう製品があってKONDO等の教示機能付きサーボにも対応しているという話を聞いて初めて気づきました。

| | コメント (0) | トラックバック (0)

2006年11月 1日 (水)

HORIのプレイステーション無線コントローラの通信方式

Roppoidoで使った無線コントローラ(ワイヤレスアナ振2TURBO)の無線通信について、どのような通信を行っているか、またどの程度の性能があるのかをHORIに問い合わせました。その結果です。

  • 2.40から2.499..GHzの周波数を自動選択(混信回避)。Bluetoothではなく独自規格。
  • 機器単体の機能としては最大70台程度の同時使用が可能とされている。環境次第では安定しない。

1つ目について、説明書にも「2.4GHz帯周波数自動切換え無線通信方式」と書かれています。この周波数帯というとBluetoothと同じだと思い、今までこれ自体Bluetooth機器なのではないかと思っていて確認してみたのですが、違うそうです。後で知ったのですが、2.4GHz帯は他に無線LAN、ZigBeeなどでも使われています。10mW以下なら免許不要ということで使われるそうです。

2つ目について、説明書では最大8台と書かれていますが、これはプレイステーションに接続する場合そもそも8台しか接続できないということのようです。最大70台というのは驚きに値します。もちろんBluetoothはじめ他の無線機器と衝突するので実際はそれほどうまくいかないと思いますが、ROBO-ONEのような大きな大会にも十分耐え得る仕様ではないかと思います。

次は他社の無線コントローラについても問い合わせてみたいと思います。

| | コメント (0) | トラックバック (0)

2006年10月17日 (火)

サーボPWM信号分配用デマルチプレクサの検討

サーボの信号がON区間最大2.5ms、周期20msとOFF区間が長いことを利用してマイコンから複数チャネルの信号をORした波形を出力し、タイミングよく振り分けることで複数のサーボを動かすものです。理論上、マイコンの出力できるRCサーボ用PWM信号の数を8倍にできます。

この手法の一つの要となるICが74(HC)238です。3-to-8 line Decoder/Demultiplexerと表記されており、1-line-to-8-line(長いので以下1-to-8と略記)デマルチプレクサとして使う場合は1つの入力信号を8本ある出力のいずれか1箇所を選んで出力することができます。

詳しくはバーニング宮田さんのLittle Burning Core解説をお読みください。

ON区間長2.5ms、周期20msなら時間の比が8倍あるので確かに8分配できるのですが、手持ちのFutaba受信機T6EXAPでは周期が14ms程度でした。MicroMGのようなアナログサーボでは周期を長くすると反比例して保持力が低下してしまいます。周期を元のまま14msとすると5、6個までしか分配できません。

このことを踏まえ、マイコンが出力できるPWM信号の数が多い場合は分配数を4とした方が良いのではないかと考え、1-to-4のデマルチプレクサがないか調べてみました。ルネサス74HCシリーズ東芝74HCシリーズを調べたところでは、下記のようなものがありました。

74HC139 Dual 2-to-4 line Decoder/Demultiplexer
×出力負論理
△出力ピン配置にやや難あり
(74HC)4052 Dual 4-channel Analog Multiplexers/Demultiplexers
△出力プルダウンすれば使えるかもしれない
△出力ピン配置に難あり

残念ながら都合よくはいきませんでした。やはりLBCと同じ74HC238等の1-to-8のものを使うのが良さそうです。

ついでに、アドレスラッチ機能付き74HC237を見つけたのでLBCの74HC75は省略できるのではないかと思いGoogle検索してみたところ、宮田さんのBBSで既にその話が出ていました。やはり、手に入ればこちらが良いそうです。

| | コメント (0) | トラックバック (0)

2006年10月 8日 (日)

鉛バッテリー回復器

ロボットではありませんが、バッテリー回復DIYパルサーというものを作ってみました。

研究室のメンバーの小型電動二輪車(玩具)が充電できない状態だったので調べてみたら24V鉛バッテリーでした。鉛バッテリーは満充電しておかないと劣化して充電できなくなる性質があります。持ち主はそういう性質を知らなかったそうなので、おそらくこれが原因でしょう。

バッテリーを買って替えるしかないかと思っていましたが調べてみると冒頭で述べたバッテリー回復DIYパルサーのように断続的に高電圧をかけて充放電することで回復を促す方法があるのを見つけました。アナログ的な調整が必要そうなこと、そもそも本当に効果があるのか怪しいこと等問題はありますが、駄目で元々ということでやってみています。

動かし始めて3週間くらいになりますが、わずかながら回復の兆しが見えています。どうやって充電しても3V以上にならなかった開放電圧が10V近くまで上がりました。

しかし依然として使えるようになるには程遠く、LEDを繋いでも暗く光る程度にしか電流が流れません。気長にやっていきたいと思います。

ちなみにこの回路、要するに電圧制御なしの昇圧回路なので出力にコンデンサを繋ぐと70Vあたりまで上がります。危険です。

| | コメント (0) | トラックバック (0)