Darkside(リンクエラー修正しました)

2018年10月の記事

<< 前のページ

2018年10月18日(木) 21:28

スマホ雲台

 スマホホルダー取り付けのためのネジ増設へ向け、白パッドと同様に加工準備。

 白パッドの金具流用も考えたが、やはり黒パッドに白金具は合わない。同じ金具の黒を買い、穴を開ける。白のときは散々苦労したが、今回は固定方法を改善しそれほど苦労なく完成。

 三脚ネジは4分の1インチであり、入手し難い。東急ハンズなら買えるが、長さ10ミリはステンレス製が無い。ニッケル製を使うか、20ミリのを切断して使うか、悩ましい。

 長さ20ミリが必要だったのは、ナットで固定する際の角度を調整する必要があったため。パッド筐体側を固定するのにナット1つが必要で、逆側のスマホヒルダーを固定するのに別のナット1つが必要。つまりはナット2つをネジに通さねばならず、それだけ長いネジが必要となる。
 だが、今回は千石店頭で発見した絶好の固定金具のおかげでナットが不用となり、10ミリネジでOKだ。

 スマホ画面の角度を自由に変えられる、超小型の自由雲台。
 最高なのは、旋回も可能なこと。これにより、雲台自体がナットの役割を果たせる。パッド側固定を兼ねることができる。

 旋回のできない雲台でこういう取り付け方をすると、締め付け終了時の角度を調整できなくなる。だが、この雲台は旋回できるので、締め付け終了後に角度を調整できる。

written by higashino [バトルタンク改造Tiger1] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2018年10月17日(水) 21:55

PIC基板

 PICの実装基板を、用意。

 左右のグリップに実装するが、グリップ穴にICソケットがハマることを確認する。2.54ミリピッチなので、位置は2.54ミリ単位でしか調整できない。見た目ほど空間に余裕がなく調整余地が小さいため、これが意外に厄介だ。
 更に、上下の筐体をネジ止めするために柱が、これまた馬鹿にならない空間を占有する。

 最悪、ネジ止めを諦めても良いが、可能ならネジは生かしておきたい。

 ICソケットの位置と基板形状が確定したら、周辺パーツの実装。実装したらICソケットをグリップ穴に挿入できなくなりました・・・とならないよう筐体との干渉を常に確認する。

 最初に、PIC用のパスコンを取り付ける。
 次に、10μFと大きめのコンデンサーを、取り付ける。これは、電源から10センチぐらいの引き回しがあるためで、念のためのタンクである。大き過ぎても小型電源の負担が増えるので、10μFにした。

 最後に、デジタルボタン用の10KΩプルアップ抵抗。
 デジタルボタンはサブPICでしか読まないため、メインPICには取り付けない。

 サブPICは、バッテリー電圧を読むRA4からVCCに向けて、ダイオードも取り付ける。
 これは、電源の立ち上がりに時間を要するため、電源投入直後にバッテリー電圧がVCCより高くなる可能性があるためだ。RA4の電位がVCCより高いと、PICが壊れるかもしれない。そのような場合は、バッテリー電圧がVCCに加わる。

written by higashino [バトルタンク改造Tiger1] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2018年10月16日(火) 21:18

TWE LITE 実装

 TWE LITE の書き込み用配線をハンダ付けし直す。配線を這わせる場所が、当初の予定と変わり配線長が変わったため。
 配線場所の変更は、単純に空いている空間が予定と異なっているため。

 配線に必要な空間は馬鹿にできないほど大きく、実装済みパーツと干渉しないように這わせるのは苦労する。先のことを考えてパーツの実装を行っているものの、限界がある。

 書き込みには5ピンヘッドが適切で、これまた馬鹿にならない巨大空間を必要とする。
 上部j筐体の後部に穴を開け、配線を先に通したうえでハンダ付け。穴を広げて整えるのに、電動リューターが想像以上に威力を発揮した。プラスチック相手だと、強力だ。

 筐体を挟んで液晶ディスプレイと背中合わせになる位置に、TWE LITE をオートウエルドで接着。筐体と基板の隙間を、ギリギリの有効活用だ。写真に写っているパーツは、隙間に収まることを確認しながら実装している。収まらないために、電源スイッチは筐体外側でネジ止めする羽目になったことは先日書いた。
 5ピンヘッドも、適切な位置に接着固定。

 5ピンヘッドに書き込みツールを接続し、TWE LITE の内蔵アプリを書き換えたり設定を変更したりできることは、接着前に確認済みだ。
 これで、最終組み立て後も分解することなく TWE LITE のメンテが可能。

written by higashino [バトルタンク改造Tiger1] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2018年10月15日(月) 22:04

ピンアサイン確定

SUB PIC16F1827


十字キー上下統合 in RA2 A A RA1 in 右右PAD押し込み統合
十字キー左右統合 in RA3 A A RA0 in T-SPEED切替3位置
バッテリー電圧 in RA4 A D RA7 in L中指キー
TURBOキー in RA5 D D RA6 in R中指キー
- - VSS - + VCC + 3.3V
ソフトSPI STRB in RB0 D D RB7 in Aキー
ソフトSPI CLOCK in RB1 D D RB6 in Bキー
ソフトSPI DATA out RB2 D D RB5 in Xキー
CLEARキー in RB3 D D RB4 in Yキー

MAIN PIC16F1827


左PAD X座標 in RA2 A A RA1 in 右PAD X座標
左PAD Y座標 in RA3 A A RA0 in 右PAD Y座標
ソフトSPI CLOCK out RA4 D D RA7 PWM1 振動モーター右
ソフトSPI DATA in RA5 D D RA6 PWM2 振動モーター左
- - VSS - + VCC + 3.3V
ブザー out RB0 D A RB7 in L下指ボタン
ソフトI2C SDA out RB1 D A RB6 in R下指ボタン
RX UART RB2 D D RB5 UART TX
ソフトSPI STRB out RB3 D D RB4 out ソフトI2C SCL

 ピンアサインを確定させた。2つのPICをフル活用する。
 サブPICで読み込んだキーを、ソフトSPIの3線でメインPICに転送。メインPICで読み込んだキーと合わせ、UART で TWE LITE から送信する。
 バッテリー電圧はメインPICで読みたいが、メインPICで読み込んでいるデジタルキーは無い。アナログキーばかりなので、バッテリー電圧の読み込みと交換する意味は無い。

 読み込みに要する時間は、アナログが桁違いに長い。
 アナログ入力は、サブで5チャンネル、メインで6チャンネルと分散している。そのため、2つのPICで並行して読み込む効果は大きい。まあ現実には、サブからメインに22ビットの情報を転送するのに要する時間の方が長いのだろうけど・・・いずれにしろ、やりたいことの障害になるような時間は食わないはずだ。

written by higashino [バトルタンク改造Tiger1] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2018年10月14日(日) 20:22

ボタン統合

 まず、読み込むべきボタン類をすべて列挙する。
 元のゲームパッドに付いていたボタンのうち、4つは撤去する。

・電源スイッチ → スマホホルダー取り付けのため撤去。
・モードスイッチ → 電源スイッチ取り付けのため撤去。
・スタートボタン → 液晶ディスプレイ取り付けのため撤去。
・バックボタン → 液晶ディスプレイ取り付けのため撤去。

 残るボタンは、すべて利用価値がある。 

デジタル 押すとGNDへ短絡
デジタル 押すとGNDへ短絡
デジタル 押すとGNDへ短絡
デジタル 押すとGNDへ短絡
デジタル 押すとGNDへ短絡
デジタル 押すとGNDへ短絡
デジタル 押すとGNDへ短絡
デジタル 押すとGNDへ短絡
左スティック上下 アナログ ニュートラル1.5V
左スティック左右 アナログ ニュートラル1.5V
左スティック押し込み デジタル 押すとGNDへ短絡
右スティック上下 アナログ ニュートラル1.5V
右スティック左右 アナログ ニュートラル1.5V
右スティック押し込み デジタル 押すとGNDへ短絡
ターボスピード3段階 アナログ HIGH:0V MID:1.5V LOW:3V
TURBO デジタル 押すとGNDへ短絡
CLEAR デジタル 押すとGNDへ短絡
左指中段 デジタル 押すとH
左指下段 アナログ 押さないと0V 押すと3Vへ
右指中段 デジタル 押すとH
右指下段 アナログ 押さないと0V 押すと3Vへ

 ボタン以外に必要な I/O が8本。

バッテリー電圧 input アナログ
ブザーを鳴らす output デジタル
振動モーター左 output PWM
振動モーター右 output PWM
液晶ディスプレイ表示 ソフトウェアI2C のため2本
無線 TWE LITE USART のため2本

 ボタンを読むのに21チャンネルで、合計29本の I/O が必要となる。
 これに対し、PIC16F1827 は16本の I/O が使用可能で、2個使用すれば32本が使用可能。しかし実際は、2つのPICで通信するためにソフトウェアSPIを使うと、I/Oが3本必要。つまり、1つのPICあたり使えるI/Oは実際は13本だけで、合計26本。少し足りない。

 ここで良く考えると、上ボタンと下ボタンは同時に押されることはない。左ボタンと右ボタンも、同時に押されることはない。

 そこで、例えばこの図のように抵抗を組み合わせると、
・ニュートラルで、3V
・左押しで、0V
・右押しで、1.5V

となり、アナログ入力を使うことでI/Oを1本で済ませられる。抵抗だって元々ボタン1個あたり1つ必要なので、実装個数は増えない。
 こうして左右ボタンを統合し、同様に上下ボタンも統合すれば、必要なI/Oは27本に減少する。
 それでもなお、1本足りない。

 ボタンを更に統合するか、ソフトウェアSPIを若干無理して2本で行うか、である。どちらでも良いが、ボタンを統合し過ぎると取得に時間が掛かるようになったり、誤判定し易くなったりする。とはいえ、I/Oに余裕を作ることは意味が大きい。
 そこで更に、個人的に使用頻度の小さそうな左右スティックの押し込みを統合してみたい。

 これに限らず普通のデジタルボタンは、同時押しを判別できる必要がある。よって抵抗が1本増えて3本必要になるが、許容範囲だろう。

 例えばこの図のように抵抗を選択すると、
・LもRも押さなければ、3V
・LとRを同時押しすれば、1.3V
・Lだけ押せば、1.65V
・Rだけ押せば、2.0V

となり、アナログ入力1本で読み取れる。
 だが、抵抗値を適切に選択しても電位差が0.3V強しか確保できないため、信頼性は不安が残る。多用したくはない。

written by higashino [バトルタンク改造Tiger1] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

<< 前のページ

Darkside(リンクエラー修正しました)

Generated by MySketch GE 1.4.1

Remodelling origin is MySketch 2.7.4