ラベル 電子工作 の投稿を表示しています。 すべての投稿を表示
ラベル 電子工作 の投稿を表示しています。 すべての投稿を表示

2020年1月8日水曜日

INA219ブレイクアウトボード+M5Stackで簡易電流測定

以下は簡易電流測定器を作成したメモ

動機は電流測定無しでESP8266系チップを弄るのに限界を感じたため

INA219ブレイクアウトボード

今回はAdafruit製のブレイクアウトボードを使用
測定した電流をI2C経由で読み取り可能
(同様の模造品が沢山あり、そちらでも問題無いハズ)

電流測定したい箇所にVin+とVin-を使って挟み込む(GND側がVin-)
電圧も測定したければ測定対象と更にGNDを接続する
困ったらAdafruit

M5Stack

ディスプレイがあり、microSDカードが読み書きできるため使用
(ただし今回はまだSDカード出力は実装していない)
GPIO21(SDA)、GPIO22(SDL)を用いればI2Cライブラリを使用可能
(SDA、SDLポートが別途あるが、内部で結線されている)

作成方法(配線)

M5Stackの上部端子(メス/2.54mmピッチ)に
・GND
・3V
・GPIO21(SDA)
・GPIO22(SDL)
が並んでいるのでこれをINA219に結線すればよい

INA219の各端子に2.54mmピッチのピンを立てる
都合の悪いことにSDAとSDLの位置が逆
今回は極細配線で強引にクロス接続した
(本当は中継基板を作ってそこでクロスさせた方が楽で賢い)

Vin+とVin-にアクセスしやすいように端子台とメス端子をハンダ付けして終了

INA219(4ピンオス)を上部端子(8ピンメス)に挿して運用すると事故原因になる
このためダミー4ピンオスを追加して8ピンオスとしている
(ダミーは結線せず、根本で切断)

結線:SDAとSDLのクロスが強引
結線:SDAとSDLをこね回した結果のコゲが痛ましい

作成方法(プログラミング)

INA219ブレイクアウトボードはArduino用ライブラリが存在
(Adafruit_INA219.h)
機種依存が無いためM5Stackでもそのまま流用できる
Adafruit社ページからDLしてArduinoライブラリにインポート
(あるいは『ライブラリ管理』から『INA219』で絞り込んで導入)

M5Stackの画面表示はサンプルスケッチ参照のこと

SDカードに吐き出す部分を作ればロガーになるがひとまず測定のみ実装
ピーク電流を比較・更新する以外はAPIの結果をそのまま表示しているだけ

測定回路のGNDをM5StackのGNDに接続する必要あり/写真の使い方では電圧測定値は無効
マルチメータで確認

2020年ToDo

wifi位置偽装装置携帯版の作成

ESP8285とM5Stack(あるいはM5StickC)を用いて作成
可能ならばモバイルバッテリーで動作させる

簡易電流ロガーの作成

M5StackとINA219ブレイクアウトボードを用いて作成
wifi位置偽装装置の最大電流値を測定するため

スマホ連射装置の作成

リレータッチボード(SWITCHSCIENCE製)と点滅LEDを用いて作成
電源はUSB
まともなケースとケーブルを用いて体裁を整えたもの

スマホ連射装置(ペンタイプ)の作成

リレーと点滅LEDを用いて作成
リレータッチボードを用いず、パッド部分を自作する
実用性を考えてペンタイプとする

簡易静電容量ロガーの作成

M5StackとMPR121ブレイクアウトボードを用いて作成
スマホ連射装置のパッド部分の作成に必要

2019年8月6日火曜日

気になる電子パーツのメモ(2019/08)

以下は最近気になった電子パーツのメモ

・REVIVE USB MICRO
 ビットトレードワン
REVIVE USBの新型
大幅に小型化&USBmicro端子に変更&安価に
コントローラー筐体により組み込みやすくなった
マイコン要らずでコントローラが作成可能(USBキーボード/マウス操作と等価)

・ESP-8285
 Espressif Systems
ESP8266の廉価小型化モデル
電源面でも優位でESP8266より電圧降下に強いとのこと
AliExpressあたりではアンテナ基板付きが2.0~1.5ドル程度
安い
画像は基板マウント版/コアは1円玉くらい

・M5StickC
  M5STACK
ここではVではなくCの方
ニューラルカメラ、音声認識がこのサイズこの価格で!とVは人気爆発中
入手が難しい状況に
なぜここでCか?というと値崩れの兆候があるため
AliExpressあたりでは付属品無し版が10ドル程度
Cは小型版M5Stackでありディスプレイサイズや拡張を求めなければ十分

処理性能は十分

 

ブレッドボード基板にピン立てする場合のメモ

ブレッドボード基板
ブレッドボード上のプロトタイプをそのまま基板に起こす際に重宝している
コネクタやチェック端子としてピンを立てることが多いのだがこの破損が多発する
以下はそれについてのメモ

便利なのだが耐久性に難あり

片面スルーホールに挿抜用ピン(オス)はNG

ブレッドボード基板は片面スルーホールである
ここにオスピンを立てた後に挿抜を繰り返すとホールごと抜けてしまう

これは以下の理由による
・ピンと樹脂基材は強力に接着されているわけではない
・片面スルーホールは逆側からの外力を想定されていない

ピン接合部の模式図
外力がかかった場合/スルーホールごとすっぽ抜ける

対策

メスピンにすること
オスピン同様、ケースからコンタクトが抜けてしまう場合があるが
コンタクトはスルーホールより大きいため接合部を破損しない

メスピンの場合の模式図
コンタクトがホールよりも大きいので抜けはしない

2019年8月5日月曜日

秋月のパトライトで遊んだメモ:卓上ジャグラー

秋月が手ごろな価格のパトランプの取り扱いを開始
この価格帯でパトランプが売られるのは珍しい
形状とサイズがいい塩梅なのでこれを使って遊んでみた

本来は警告灯に用いる

パトランプとは

パトカーや工場などに用いられる回点灯のこと
パトライトとも呼ばれる
ランプを中心として反射板が回転する構造になっている
非常に目立つ

秋月のパトランプ(ASS-12)の使い方

定格電圧(12V)を2端子間に印加するだけ
中央のハロゲンランプが点灯して反射板が回転する
これ以外の制御はナシ

TIPS

・逆方向の電圧印加を許す
 (印加方向に関わらず回転方向は一意)
・端子は筒型圧着端子(オスメス)

注意点

赤色パトライトは警告目的で使われることが多い
周囲を驚かせることになるため、公共の場所で用いるのはおススメできない
また、一般車両に赤色警告灯を付けて走ると道交法で罰せられる可能性がある

作例:卓上ジャグラー

赤色パトライトといえばパチスロである
『レバーを叩くと効果音と共にパトライトが発光回転する』だけの玩具を作った

必要なもの

今回のパーツはほとんど秋月で購入
スピーカーは100均

・スロットレバー
 フォトインタラプタ内蔵のレバースイッチ
 デフォルトHでバネが効いたレバーを上下に倒すとLになる
 配線ミスすると内部のLEDが即死するので注意
 接続はJST ZHコネクタ3p
 (直配線し辛く、壊れやすいので素直にコネクタをかしめた方が良い)
パチスロに付いてるレバーそのもの

・赤色回転灯 ASS-12
 パトランプ本体

・プラスチックケース SY-110G
 タカチのプラスチックケース
 筐体として用いた
 もう一回り大きければよかった(後述)

・DFPlayer mini
 アンプ付きmp3モジュール
 シリアルコマンド制御可能
予めピンがはんだ付けされていて用途によっては邪魔かも

・micro SDカード
 DFPlayer用
 必要なmp3ファイルが入ればよいので極小容量でよい

・効果音mp3ファイル

・Arduino nano
 unoでは無いのはケース容量が小さすぎたため

※音楽再生ができ、入出力ポートがあれば何でもよい
 DFPlayer+Arduinoの代わりにraspberry piでもよい
互換品でもOK

・9V角電池x2、角電池ホルダx2
 電源
 2個な理由は後述

・5Vリレー
 パトランプのON/OFF制御用
 接点容量が12Vを許容すること

・昇圧回路(9V→12V)
 パトランプ用
 9Vでもパトランプは回るため省略可能
 ただし低速でイキが悪い回転となる

・電源スイッチ
 電池を用いるためスイッチが無いと不便

・抵抗
 1k x 2
 10k x 1

 DF Playerのシリアル信号が3.3Vのため、Arduinoと直結すると音楽再生時にノイズが入る
 信号間に1k抵抗を挟むのがセオリーらしいので真似る
 10kはレバー用

・スピーカー
 適当なもの
 DFPlayer単体で十分な音量があるので追加のアンプは不要

作成方法

・レバーを抵抗経由でArduinoの任意ポートに引き込みON/OFF検知可能にする
・リレーの両端に角電池(1)と昇圧回路、パトランプを環状に接続
  リレーの制御ポートをArduinoの任意ポートに接続
・角電池(2)の+を電源スイッチ経由でArduinoのVinピンに接続
  -をArduinoのGNDピンに接続
・Arduinoの5VピンをDF PlayerのVCCに接続
  ArduinoのGNDピンをDF PlayerのGNDに接続
・ArduinoのRXTXを抵抗経由でDF PlayerのTXRXに接続
・DF Player用にリネームした効果音mp3ファイルをmicroSDカードに入れ、DF Playerのスロットに挿す
・DF Playerにスピーカーを接続
・Arduinoをプログラミング
  DF Player用ライブラリを使用
  レバーが倒されたら効果音を鳴らしてパトライトを回す(リレーへ入力する)だけ
・これらを筐体に収める
  必要に応じて穿孔が必要

プロトタイプの様子(Uno使用)
筐体を開けたところ/無計画に作ったしわ寄せが凄い

作成結果

・考えなしに買った筐体のパネルがアルミだったため、加工に非常に苦労した
  (特にレバー用の大穴を空けるのに作業時間の大半を費やした)
  電動ドライバーが死亡

・乱数を使った簡単な抽選と状態遷移をしている
  通常状態:
   1/8:ボーナス成立(キュイン音+パトランプ回転)→絵柄揃い状態へ
   1/8:小役揃い(払い出し音)
   6/8:リプレイ(リプレイ音)
  絵柄揃い状態:
   1/2:BIGボーナス(ファンファーレ)→通常状態へ(パトランプ停止)
   1/2:REGボーナス(ファンファーレ)→通常状態へ(パトランプ停止)

・レバーのケース内占有面積(体積)が思いのほか大きい
  このため、Unoで作っていたものをNanoに変更した

・本来は電池一個で動作していたがNanoに変更した時点で問題発生
  →パトランプ回転時の電圧降下でNanoにリセットがかかるようになった
  (Unoでは許容)
  →電源分離回路を作る気力が無かったので電源2系統に変更
  (パトランプ側(9V→12V)とAdruino側(9V→5V))

・以下は実際に動作する様子を動画で撮影したもの


2018年10月15日月曜日

静電容量方式タッチパネルを反応させるためのメモ

以下、タッチパネル操作を自動化するために調査したメモ

基本原理:
 パネルに接触させた導体をGND接続することでタップと等価動作になる
 ここからGND接続を切断しオープン状態にするとタップ解除状態になる
 (導体を接触させたままでよい)


調査結果:
・パッドの接触面は一定以上の面積が必要

・導体の体積が大きすぎるとGND接続と等価になる
 (オープン状態にできなくなる)
 結線の線材も導体に含まれる
 プロトタイプで太い線材やワニ口クリップを使うとこれが原因で正常動作しない

 リレーでオープン状態を作る場合はリレーをパッドの近くに配置する必要がある

2018年6月4日月曜日

Bot使用時におけるGOPlusの再接続自動化

ポケモンGoBotにおける最大の問題点はGoPlusが一時間で自動切断されることだった
一時間おきに手動で再接続する必要があり、Botとしてのパフォーマンスが大幅に低下する

ここではiOSのスイッチコントロール機能を用いて再接続の自動化を実現する

GoPlusの再接続の自動化

再接続の自動化には以下の3つの制御が必要になる
 1.GoPlusの切断を検知すること
 2.GoPlusのボタンを押すこと
 3.クライアント画面上のGoPlusボタンを押すこと

GoPlusの切断を検知する

GoPlusの振動モータ信号をマイコン等で監視することで切断を検知できる
(GoPlusが接続された状態でBOTが動作していた場合、定期的に振動するため)
モータ停止中はほぼ0V
モータ振動中は3V程度の電圧が印加される
100msec程度の周期でモータ信号をチェックし、一定時間の連続停止を切断と判定する

LED信号の監視の方が好ましいが、配線の引き出し難易度が高すぎて断念した

GoPlusのボタンを押す

リレーなどでボタンを押せばよい
配線の引き出しは自動化改造時を参照
ボタンの配線をGNDに落とせばボタンを押した状態と等価になる

プロトタイプ/ArduinoのXBeeシールドを流用

クライアント画面上のGoPlusボタンを押す

iOSのスイッチコントロールを使用する
外部スイッチとしてRN42をHIDキーボードモードで使用する
マイコンとRN42をシリアル接続し、マイコン側から打鍵情報をRN42に転送する

参考メモ1
参考メモ2

スイッチコントロールのレシピには以下2つの連続操作を登録
 ・速度警告ウィンドウのボタン位置をタップ
 ・GoPlusアイコンボタン位置をタップ

速度警告ウィンドウへの対策を入れる所がポイント
一度表示されると『私は運転者ではありません』ボタンを押すまで閉じないため
この状態でGoPlusアイコンボタン位置をタップしても無効

GoPlusアイコンに被るのでウィンドウを消す必要がある

結果と問題点

GoPlusを用いたBotの一時間の壁を突破することに成功した
問題は誤タップによる画面遷移に対応できないこと
速度警告ウィンドウへのタップでジムなどを誤タップしてしまう場合がある
この場合はジム画面から抜け出せなくなる


2018年6月3日日曜日

iOSスイッチコントコントロール:レシピの設定

レシピとは

スイッチコントロール機能の一つ
スイッチに対して特定の操作を割り当てることができる
スイッチをトリガに一連の画面操作を記録、再生することも可能(カスタムジェスチャ)
ここで扱うのはこのカスタムジェスチャのみ

レシピ(カスタムジェスチャ)の設定

ここではBluetooth接続の外部スイッチ(キーボード)を用いるものとする

1.スイッチの登録
 前回参照
 レシピを用いる場合『アクション』は無視されるので適当なものを選べばよい

2.レシピの設定
 設定→一般→アクセシビリティ→スイッチコントロール→レシピ→新規レシピを作成
 『名前』は適当に入力
 『スイッチを割り当てる』で登録したスイッチを選ぶ
 →『カスタムジェスチャ』を選択
  『新規ジェスチャ』画面が開くので登録したい画面操作を実施後、『保存』を選択
 ここまででレシピが登録される

 『レシピを起動』で登録したレシピを選択する

レシピの使用方法

1.スイッチコントロールをON
 設定→一般→アクセシビリティ→スイッチコントロール
 『スイッチコントロール』をON
 『スイッチは”○○○○”レシピを使用するように設定されています』
 と表示されたら成功(※○○○○はレシピに付けた名前)
 
2.スイッチの動作確認
 登録したスイッチのキーを押す
 登録したレシピ通りの画面操作が再生されれば成功
 レシピによる画面操作時にはタップ位置に丸いマーカーが表示される


TIPS

・動作がおかしくなったら『スイッチコントロール』を入れ直す
 →青いハイライトが頻発する場合など
  レシピが無効になってスイッチ側のアクションに切り替わっている

・『スイッチコントロール』のショートカットを有効にする
 →『スイッチコントロール』を頻繁にONOFFするため
  設定→一般→アクセシビリティ→ショートカット
  『スイッチコントロール』をチェック
 ホームボタンのトリプルクリックで『スイッチコントロール』をONOFFできる


2018年6月2日土曜日

iOSスイッチコントロール用外部スイッチの自作

iOSではアクセシビリティ向上機能として操作を外部スイッチに代替できる
この外部スイッチについての調査および自作の方法についてのメモ

外部スイッチとは

iOSのいう『外部スイッチ』とは外付け入力機器のこと
分かりやすいものでいえばBluetoothキーボードが該当する
その他Bluetoothコントローラ、カメラアダプタ経由有線キーボードなど
(※iOSとの相性次第なのですべての製品が保証されるわけではない)
有線カメラシャッターはダメであった

電子工作におけるBluetoothキーボード制御

実物をリレーで叩く、BT機能のあるマイコンでプロトコル再現などが考えられる
ここではBluetoothモジュールRN42のキーボードエミュレーション機能を用いる

BluetoothモジュールRN42

内部コマンドによる機能切り替えだけでHIDキーボードとして動作する
切り替え後は外部からはBluetoothキーボードとして認識される
キーボード打鍵はシリアル入力により実現できる
よってマイコンなどからiOSを間接的にコントロールすることが可能となる

画像は秋月より/ピッチが狭く使いづらいが結線するポートはわずか
切り替え方法:
 RN42へシリアル接続(有線、無線どちらでもよい/出荷状態は115200bps)
 コマンドモード遷移『$$$』後に『S~,6』コマンド入力で切り替え
 次回起動時からはキーボード扱いとなる

注意点:
 この機能はRN42のファームウェアバージョン依存
 古いものには機能が無い模様(コマンド入力時にエラーとなる)
 ファームアップも無理なので新しく買うこと

スイッチコントロールの設定

以下はiOS側の設定

1.キーボードとBluetooth接続を確立
 設定→Bluetooth→Bluetoothをオン
 デバイスの中からキーボードを選択してペアリング

2.スイッチの登録
 設定→一般→アクセシビリティ→スイッチコントロール→スイッチ
 新しいスイッチを追加→外部
 『外部スイッチをアクティベートしてください』という表示を確認
 ここでスイッチとして用いたいキーを押す
 『新しいスイッチ』ウィンドウが開くので適当なスイッチ名を入力し保存
 『アクション』ウィンドウが開くのでスイッチに対応するアクションを選択


ここまで
次回以降のメモでレシピを用いた実用的なスイッチ運用を行う


 

2018年5月6日日曜日

M5StackのGPSで手間取ったメモ

M5Stack
http://www.m5stack.com/

ESP32 + ディスプレイ + microSDスロット + αのプラットホーム
ArduinoのShieldのようにモジュールをスタックすることができる

GPSモジュールを使ったのだがいろいろハマってしまったのでメモを残す
画像はスイッチサイエンスより

症状:正しい測位ができない

シリアル経由でGPSモジュールから位置情報が送られてくるのだが数値はほぼ0
位置情報のフォーマット自体は守られているので位置データだけがおかしい
外部アンテナを接続しても症状は変わらず


原因1:最初の測位には時間がかかるため

GPSモジュールの最初の測位には時間がかかる
即位してから数分は正常な値が返されない
電源を投入して数分放置すると正常な値を返してくる
(レスポンスが遅いわけではない/数分間の間は異常な値を返し続ける)
EEPROMなどに前回の測位を記憶しておくことで短縮が可能
(このモジュールには記憶領域は無いため、M5Stack側でケアする前提)


原因2:外部アンテナは必須

このGPSモジュール内の基板にはパターンを含むアンテナが存在しない
外部アンテナを付けることが前提の設計
外部アンテナが接続されていない限りはどれだけ放置してもダメ


どちらもこの手のGPSモジュールでは当然のことらしい
ポケットから取り出して電源ON→即測位…みたいな使い方を期待していたがダメっぽい

2018年4月6日金曜日

M5StackがAmazon取り扱い開始

スイッチサイエンス取り扱いのM5StackがAmazonで販売開始
これまではプレ値で出品されていたのでようやく普通に買えるようになった
ルックスはいいと思う

M5Stackとは

ESP32 + 3ボタン + microSDカードスロット + LCD + スピーカー + バッテリー + USBシリアル変換

公式サイト

以上の機能がコンパクトなケースにまとめられている製品
ArduinoのShieldのように亀の子構造で拡張(スタック)できるのが特徴

M5Stackの長所

・予めケースインされているところ
むき出しの基板をケースに収めるのは毎回四苦八苦させられる
ここが省略できるのは大きい

・バッテリー内蔵であること
これも敷居が高い要素
充電用のICもバッテリーも内蔵されている

M5Stackの短所

・使用済ポートが多いこと
予めマウント済のパーツが多いため相応のポートが既に使用されている
ポート数が必要なプロジェクトには不向き

・スタートアップ品質であること
樹脂筐体の抜きや部品マウントの精度は相応
購入した手元の製品では
 ・SDカードスロットがやや曲がっている
 ・裏蓋のネジ穴の位置精度が悪く、無理やり基板をネジ止めしたことでクラック発生
 ・Facesモデルのキーボードモジュールのかみ合わせが悪く隙間ができている
左端中央あたりからクラックが確認できる
内部で何かが干渉してピッタリ閉じない

注意点いろいろ

M5Stack FacesモデルにはBASIC版の裏蓋が付属していない
 キーボードを外してGRAYバージョンとして使用はできない
 別売り裏蓋も無し

・GPSモジュールには内蔵アンテナが無い
 付属の外部アンテナを使う構成

・電源投入時のノイズをスピーカーが拾うときがある(プツン音)

・寸法上I2CコネクタにUSBケーブルが誤挿入可能
 ショートの恐れがあるので注意したい

・USB接続時にパワーボタン二度押し操作ができない(再起動する)
 3ボタンのどれかからAPIの電源オフ関数を呼ぶといい

・LCDはSPI接続なので相応の反応速度


2018年1月21日日曜日

続:iOSポケモンGoPlus不具合(押しっぱなし/自動化改造対策?)について

iOS版ポケモンGo(Ver1.59.1)におけるGoPlusの挙動についてのメモ
微妙に緩和

サイレントアップデート

2018/01/20のアップデート(Ver1.59.1)でGoPlusの挙動がサイレント修正された様子
押しっぱなし/自動化プレイが可能になった(一部制限あり)

前バージョン(Ver1.57.5)の挙動詳細

前のメモでは『ボタン操作が早すぎると正常動作しない』と書いたがこれは間違い
実際は以下の通り

 ・ポケストップ(ジム)取得後、一定時間内に再度ボタンを押すと取得に失敗する
  →アイテム取得個数分だけ点滅振動している間にボタンを押すと失敗扱い
 ・失敗時は赤点滅振動
 ・失敗後、一定時間内にボタンを押すと再び赤点滅振動
 ・赤点滅振動を繰り返すと異常状態に落ち込む

赤点滅振動を繰り返す間はポケモンも捕獲できないので、事実上自動化は不可能に
ただし手入力でも頻繁に赤点滅および異常状態が発生していた


現バージョン(Ver1.59.1)の挙動詳細

長時間の検証は行っていないが以下の挙動っぽい

 ・ポケストップ(ジム)取得後、一定時間内に再度ボタンを押すと取得に失敗する
  →アイテム取得個数分だけ点滅振動している間にボタンを押すと失敗扱い

これだけ
赤点滅関連の処理がごっそり削られた
ポケストップはほとんど取りこぼすが、ポケモン捕獲の自動化は可能
 
通常プレイでの誤爆を防ぐための一時的な措置かも

2017年12月24日日曜日

iOSポケモンGoPlus不具合(押しっぱなし/自動化改造対策?)について

iOS版ポケモンGo(Ver1.57.5)にて発生しているGoPlusの不具合についてのメモ

ついに来たかXデイ?

症状

・ポケモン/ポケストップ発見時のボタン操作が早すぎると正常動作しなくなる

→ボタンを押すと振動アリの赤点滅が発生して捕獲/取得は失敗する
この状態で新しいポケモン/ポケストップを発見しても同様の赤点滅が発生する
しばらくすると捕獲できるようになる
(※以下、この赤点滅状態を懲罰モードと呼称)

懲罰モード中にボタンを押すとボタントリガで赤点滅が発生する
ボタンを押す限り懲罰モードから復旧しない

懲罰モードが長引くと白点滅が連続発生することがある
この状態からはボタンを押さずに待っても復旧できない
おそらくはGoPlusから一度切断する必要がある
(※以下、この白点滅状態を発狂モードと呼称)

2018/01/21追記:症状の解釈が間違っていたので次のメモで修正してます

考察 

ボタン押しっぱなし運用/自動化改造への対策が原因と思われる
どちらの運用もすぐに懲罰モード入りして戻ってこれないので事実上使えなくなった

懲罰モードについては仕様の可能性が高い
ただし、手動でも懲罰モード入りする場合があり、やや検知精度に問題があるか?

発狂モードについては懲罰モードに伴うバグと思われる
ボタン電池よ尽きよ!と言わんばかりに激しく点滅、振動するため正常動作とは思えない

懲罰モードの回避方法

普通に使う限りはほとんど考慮しなくてもよい
以下は全自動化における回避方法

・Android版でプレイ
→Android版現行最新バージョン(0.87.5)で自動化GoPlusが使えることを確認
(※手元環境の確認のみ)
押しっぱなしは元から対応していないので無理

・ボタン押し信号にディレイをかける
→ボタンを押す前にウェイトを入れるだけで回避できることを確認した
モータ出力信号をボタンに直結するのをやめ、間にマイコン制御やディレイ回路を挟む必要がある 
 
今のところ懲罰モードを回避する簡単な方法は見つかっていない
ただしバグ入りの対策なので次のバージョンアップでロールバックされる可能性もある
まだ自動化したGoPlusを捨てるのは早いかも

AVRを使って回避した(GoPlusはVCC3.0Vなので注意)



2017年11月10日金曜日

電子工作で使うコネクタのメモ(1)

電子工作でよく使われるコネクタ

よく使われるコネクタは以下の2つ
 ・2.54mmピッチコネクタ(QIコネクタ)
 ・JST製コネクタ

2.54mmピッチコネクタ

画像は秋月より/両端にオスメス4ピンのQIコネクタを持つケーブルの例
電子工作で一番よく使うコネクタ
ユニバーサル基板やブレッドボード、ジャンパワイヤーなどとの親和性が高い
誤挿入を防ぐ構造が無く、コンタクト(後述)の摩擦のみで接続されるため抜けやすい
プロトタイプ開発などの一時的な接続に用いられる

JST製コネクタ

コネクタメーカーは数えるほどしかなく、電子工作で使われるのはほぼJST
 JST:日本圧着端子製造株式会社

画像はaitendoから/XH2ピンコネクタを付けたケーブル
画像は秋月から/受け側のXH2ピン用コネクタ(ベース付きポスト)

よく見るのは以下の3つ
 ・PHコネクタ
 ・ZHコネクタ
 ・XHコネクタ
ピッチ以外の構造に大きな違いはない
電子工作においては『使いたいパーツが○○コネクタを採用しているため、それに合わせる』程度の意味でしかない

挿入後はハウジング(後述)部分の摩擦で強く接続が保持される
(ひんぱんな抜き差しが想定されていない)
ケーブルを引っ張って引き抜くと破損の恐れがある

コネクタ(信号線用)の構造

信号線用コネクタは以下の2つの部品からなる
 ・コンタクト
 ・ハウジング
オスメスそれぞれ別々にコンタクトとハウジングがある
ケーブルではなく基板にコネクタを用いる場合はベース付きのポストを用いる

コンタクト

金属端子部分
ケーブルに対して圧着される
 ※圧着:コンタクトをケーブルの先端に挟み潰して物理的に接続する方法
     原則、専用工具を用いて適切な方法で行う必要がある
画像は秋月から/QIコネクタのメス型コンタクト

ハウジング

樹脂製のケース部分
コンタクトを差し込んでツメなどで固定する構造になっている
2ピン、4ピン、8ピンなど複数ピン用のハウジングが存在する
(コンタクトはすべて共通)
画像は秋月から/1ピン用のQIコネクタメス用ハウジング

ベース付きのポスト

基板に対してコネクタを立てるときに用いる
金属端子と樹脂部分は固定されていることが多い

適合するコネクタの調べ方

基板のコネクタに対応するケーブルを入手したい、といったケースがままあるが
マニュアルなどが紛失していると規格がわからずに途方にくれてしまう

まずは端子間の長さを測ってピンのピッチを調べる
次にJSTのサイトに行ってピッチ数と基板側のコネクタ形状から絞り込む
JSTに無い場合はモレックスで調べる

コネクタの入手方法

電子パーツ系の店では意外と取り扱いが少ない
秋月電子はQIコネクタとXHコネクタくらい
千石電商は一通り揃うのでおススメ
aitendoはケーブルアセンブリ(ケーブルにコンタクトを圧着した状態)売りがある
(品質は不明)
一番良いのはモノタロウだが個人で買うのはなかなか難しい
Amazonは詰め合わせの類は安く買えるが小ロットはなかなか見かけない

2017年9月8日金曜日

ポケモンGOPlusをエネループで動かす:改修編

落下によるショートで故障したGOPlusエネループ仕様の修理、改修をおこなった

破損個所

・ケースの変形
・電池端子の破損
・単4充電池(→廃棄)
・GOPlus本体は異常なし

ケース変形により電池がセットできない状態
電池の端子には破損した電池からの噴出物?が付着

ポケットで溶けてたら…と思うとゾッとする
端子のズレが酷い

改修内容

・切削によるケースの成形
 ・電池端子の交換
 ・電池のキャッチ機構の追加
 ・電池端子のセパレート機構の追加

 ホットボンドで電池のキャッチを追加した
 食いつきを良くするため、キャッチの場所にφ3mmで浅く穿孔した

 ショートしないように+端子と-端子の間にホットボンドで山を作った

見栄えは良くない
がっちりとキャッチ/-端子も分離されている

参考:電池BOX内蔵ケース

今回は使用しなかったが、市販のケースを使えばもっと安全に作ることができる

以下はタカチの単4x2電池BOX付きケース
今回の用途にはやや大きかったので使わなかった

安心のタカチ製
ケースはビス止め/電池ブタが独立しているのは良い
サイズ感/長さをツメるのはやや骨か

ショートしてあやうく大惨事のメモ

約8か月使用していたエネループ仕様の改造ポケモンGOPlusが故障した
以下はそのメモ
ケースが溶けて歪んでいることが分かる

故障内容

単4充電池の発熱で手作り筐体が変形
使用した充電池死亡
GoPlus側は無事でボタン電池での動作確認済

故障原因

落下によって筐体内電池のポジションがズレてしまい、ショートが発生

以下がショートを誘発した原因
・長期の使用で手作り電池端子が歪んでクリアランスが減少
・筐体のフタを押さえる両面テープの粘着力が失われていた
・スペーサーの樹脂テープが反復使用で圧縮され、電池をホールドする力が減少

端子が斜めにズレてしまっている/表面の汚れは電池からの噴出物か

ショート発生時の詳細

机の上から床に改造GoPlusが落下した
ネジが無い側のフタが浮き、内部の電池が上側にずれたのを確認
フタを押して電池を押し下げ、筐体内部のGoPlus本体が通電したことをLEDで確認
数分後?にケトルで湯が沸いたような音に気付く
音源が改造GoPlusであり、内部が発熱していることを確認
ネジを外して発熱源であった電池を除去

+側の端子/被膜が溶けてしまっている
全体の被膜が変質している/電池全体が発熱したことが分かる

反省点

手作り電池BOX部分が明らかに不出来
電池のホールドを樹脂テープの弾性と両面テープによるフタの固定に頼っていた
反復使用と経時によって両方のホールド力が失われることに気付けなかった
電池のセパレータなどホールド力を増す施策が必要

出先のポケットの中で発熱/発火しなかったのが僥倖
バッテリーを扱う危険性を思い知った

2017年8月14日月曜日

タミヤのカムプログラムロボットを買ったメモ

以下はカムプログラムロボット工作セットを購入したメモ

思ってたのとやや違った

概要

以下公式HPより引用
自由にセットできるカムを使って動きをプログラムできるロボット工作の組み立てキットです。モーターを2個搭載した動力用ギヤボックスを本体の下にセットして、三角形のクローラー(履帯)で進み、左右の腕も動きます。カムを差し込んだプログラムバーをロボットの中央にセット。プログラムバーギヤケースでバーを移動させてカムの配列を機械的に読み取り、車体下のステアリングレッグを押し下げて、クローラーを浮かせることで動きを変えます。プログラムバーは1本で約35秒の制御ができ、つなぎ合わせて制御時間を伸ばすことも可能です。必要な部品はすべてセットされ、ネジ止めとはめ込みだけで完成します。 

カムとステアリングレッグ

これがこのロボットのキモ
セットされたプログラムバーはモータの動力で奥に送られる
本体下部にはカムフォロアが2つあり、プログラムバーのカムにより上下する
それぞれのカムフォロアの先には小さな車輪がついたアームが付いている
(ステアリングレッグと呼称)
アームを押し下げるとクローラー(キャタピラ)が浮き、動きを変えることができる

2つ並んだ青い山型の部品がカムフォロア

本体の裏側/モータの左右の青いアームがステアリングレッグ
ステアリングレッグを引き出したところ/カムで押し下げられる場合はここまでは下りない
モーターの回転を制御することなく、動輪を浮かして空転させるのがミソ

マイコン制御

マイコンを乗せることができるよ!という事前情報があって期待していたのだが
上記の制御方法を見てわかるようにマイコンとの親和性は低い
マイコンではモータを直接制御するため、カム関係の構造が死んでしまう
(カム構造を残して機能を両立させることはできる)
安価なクローラーの素体としては良いかもしれない

カム構造の除去

以下はマイコン制御用の素体としてカム構図をすべて除去したもの

取説の①、⑥、⑦、⑪、⑬~⑰を無視
②では左側のサイドフレームにW3ホイールと3x27六角シャフトを取り付ける
(右側のフレームと同じように組む/余剰部品があるはず)

カム構造と外装を除去した例/モータケーブルにコネクタを追加している
カム構造を除去した裏側
ユニバーサルプレートをマウントした例/ペイロードはたっぷりある
このキットにはダブルギアボックスが使われているのでリモコン制御もできる
リモコン系工作の素体になるかも

リモコン側にもコネクタを付けた