編集履歴一覧に戻る
3duilabのアイコン画像

3duilab が 2021年01月14日14時07分27秒 に編集

初版

タイトルの変更

+

非接触空間センサー「双方向ハンドセンサー」の開発

タグの変更

+

電子工作

+

センサー

+

赤外線

+

非接触センサー

+

秋葉原2021

メイン画像の変更

メイン画像が設定されました

本文の変更

+

# 自己紹介 はじめまして、3duilab(スリーディーユーアイラボ)と申します。電子回路、ソフトウェア、品質保証のエンジニアです。54歳、バツイチ、発達障害、転職11回、山登りの事故で指先を失いました。 若い頃は通信機メーカーで電子回路の設計とか楽しかったですが今はほとんど外国製です。 エンジニアとして活躍できるのはあと10年くらい、それまでに魅力的な新しいデバイスを開発し次世代に残したいです。:smile: # 非接触空間センサー スイッチングフォトリフレクタ方式の新しい**非接触空間センサー**「[双方向ハンドセンサー](https://interactive-hand-sensor.com/root/)」を2020年に開発、[発売中](https://www.switch-science.com/catalog/6495/)です。 <[動画のまとめ](https://imgur.com/user/3duilab/posts)、[Instagram](https://www.instagram.com/3duilab/?hl=ja)、[GUGEN2020](https://youtu.be/pVWi_rNzimw)ユーチューブ36分35秒> 20cm以上の距離を高速、ピンポイントで検出できます。距離の検出精度は悪いです:sweat_smile: コロナで新型の非接触センサーが売れると思ったのに全然売れません:scream::sob:ヤバイです:joy::joy::joy: 紹介する画像や動画の緑の基板は色以外は製品と同じ試作品です。**製品は黒色**で、不要な赤外線を吸収させています。 オープンソースとして回路図を公開しています。ご自由にお使いください。 @[youtube](https://youtu.be/MeXaN-nmWbg) # きっかけの電子工作 @[youtube](https://youtu.be/eQRSIeAO48I) 光に見立てた生物が鉛筆に反応して逃げたり近寄ったりする[おもちゃ](https://youtu.be/eQRSIeAO48I)、センサーにはフォトリフレクタで1cmの距離まで反応します。センサーをもっと遠くで反応させたいと思ったのがきっかけです。 # 能動型センサーとスイッチングフォトリフレクタ ## フォトリフレクタと能動型センサー ![キャプションを入力できます](https://camo.elchika.com/328a79e094a92439e83a9d7d788538a59a8b2bbf/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f31383164613832352d646330322d343939302d626461342d3362323431386663646437372f30643165393031392d386665342d343230362d626236632d643065373930396261303033/) 非接触センサーは光(音)を測定するだけの「受動型センサ」と光を放射して反射光を測定する「能動型センサ」があります。**フォトリフレクタは図右の能動型センサ**で赤外線を放射して反射光を測定します。 普通フォトリフレクタの検出距離は1〜2cmです。**20cm以上の距離を検出するにはどうすればよいでしょう**:question: ## スイッチングフォトリフレクタ ![キャプションを入力できます](https://camo.elchika.com/19b6c7d70a4bc8a68900e05fe6635fb67b970a1b/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f31383164613832352d646330322d343939302d626461342d3362323431386663646437372f37616164636530662d613630322d346465632d383738632d346539616362613232306133/) 答は**めっちゃ電流を流して強く発光させる**:dizzy_face:です。最大1.5Aほど赤外線LEDに流します:collision:**10uS(マイクロ秒)だけ発光させ**反射光をADコンバータで数値化します。このタイミングがテクノロジーの核心です。 1年以上のライフテストで壊れたり劣化しないことも確認しています。普通は**赤外線LEDに1A以上の電流を流すと煙が出て壊れます**:fire:が、ギリギリのタイミングで安全にセンシングしています。 ++これはブラシレスモーター短絡保護回路の経験から。上下短絡(ショート)でMOSFETが壊れる時間が約1mS、これより十分小さい時間でOFFすれば保護できます。これは一部デバイスの絶対定格を超えるのですが、これでハードウェアイノベーションが可能になります。昔と比べて半導体が強くなってるので他にも応用できると思います:smirk:++ # ソフトウェアセンシング @[youtube](https://youtu.be/Gzwj8hwjZAo) これはセンサー基板を8枚並列接続したキューブ型です。センサーは7mS(ミリ秒)毎に距離データを送信しマイクロコントローラには**3次元グラフアニメーションのように変化する距離データ配列**が出来ます。距離データの時間変化をソフトウェアで分析すると上空の状態が分かり物体の動く速度や方向を検出することが出来ます。能動型のフォトリフレクタを使うとこのようにリアルタイムかつ細かい測定が可能になります:smile: # 本体基板 詳細は[ユーザーマニュアル](https://interactive-hand-sensor.com/root/user-manual)をダウンロードして下さい。 ![本体基板](https://camo.elchika.com/bd066697ae065a0e8e94491ae62f3bec8dad2590/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f31383164613832352d646330322d343939302d626461342d3362323431386663646437372f32633330343264332d353037302d346633312d613639332d373339616562383566343936/) |PIN番号|PIN名|説明| |---|---|---| |1|+5V|Vcc 5V| |2|GND|GND| |3|A|channel 0bit※1| |4|B|channel 1bit※1| |5|C|channel 2bit※1| |6|SS|SPI Slave-Select 並列接続の基板選択※2| |7|MOSI|SPI Input| |8|MISO|SPI Output (3.3V/5V切り替えJP2)| |9|SCLK|SPI Clock| |10|SEL_SEN|SPIの出力先選択 High:Sensor, Low:CLED| |11|OE_ILED|ILED Output Enable ILED ON / OFF| |12|FIX_CLED|CLED Shift Register Latch シフトレジスタの値を出力に反映する| |13|OE_CLED|CLED Output Enable, CLED ON / OFF CLEDは13pinと14pinのANDで制御| |14|PWM_CLED|CLEDのPWM(Pulse Wide Modulation)制御で明るさを調節するPWMを使わないときは13pin又は5Vにショート| ※1: センサー0-7chを3ビットで選択 ※2: SSはactive-Low、SS以外はactive High ![本体基板回路図](https://camo.elchika.com/9714a4d33d62ecb5f9f7a00eb02d94812ccdc141/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f31383164613832352d646330322d343939302d626461342d3362323431386663646437372f61396465626264382d356331302d346238352d393339352d363630313238373933353961/) # センサー基板 ![センサー基板](https://camo.elchika.com/fa9c2e3744dc9f08c6fc5bec8e0e5a92a97babef/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f31383164613832352d646330322d343939302d626461342d3362323431386663646437372f33613562623964382d333464352d343833382d393033352d656566306230633035356530/) ![センサー基板回路図](https://camo.elchika.com/e4b40bc8ce705c7c6f10b4afe38f6f04f600177e/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f31383164613832352d646330322d343939302d626461342d3362323431386663646437372f33393431396637312d393564662d346535642d396130632d623434366461303163303234/) # インターフェイス センサー読み取り手順を図で示します。カラーLEDの書き込みや詳細は[ユーザーマニュアル](https://interactive-hand-sensor.com/root/user-manual)をご覧下さい。 - SPIインターフェイスでADコンバータMCP3208を読むとフォトトランジスタの値が分かります。 - この時自動的に赤外線LEDが発光します。 - 赤外線LEDを発光させずに光の状態を読むことも出来ます。両者の差から距離を推測します。 ![ロジックアナライザ読み取り例](https://camo.elchika.com/234b41be3af919f4f26d18ac171228fbdf163f3c/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f31383164613832352d646330322d343939302d626461342d3362323431386663646437372f32383963383039622d336561372d343165612d383639642d613133623261636161316536/) 1.SPIインターフェイス設定 - SPI-MODE:0 - CLOCK:2MHz※1 - SSとCLOCK開始の間隔は2uS〜4uS(多くのマイコンでデフォルト設定)※1 - 1サイクル(同じILEDへのアクセス時間間隔)は1.2mS以上※2  ※1この値から外れると感度が下がる。  ※2 ILEDの品質を確保するため。 2.センサー読み取り手順  1.A,B,C:ILEDチャンネル設定 *** a  2.SEL_SEN:HIGH センサー選択 *** b  3.OE_ILED:LOW  ILED OFF設定 *** c  4.SPI-read ILED OFFでPhTr電圧読み取り  5.OE_ILED:HIGH ILED ON設定 *** d  6.SPI-read ILED ONでPhTr電圧読み取り  7.SEL_SEN:LOW CLED選択 *** e  8.OE_ILED:LOW  ILED OFF設定 *** f  9.ソフトでADコンバータの電圧読み取り  10.基準配列criをにより値を0-6に分割:Sensor値1-6※  ※基準配列criはサンプルプログラムSensor class内で定義、0-12に分割の場合あり 3.SPI-read ADコンバータMCP3208の読み取り  3bitチャンネル値 xyz x:2bit, y:1bit, z:0bit 送信値 3byte (unsigned char) a,b,c  1. SS:LOW *** p  2. a binary :0000 011x 式:6 | (xyz >> 2)  write (a) read(8bit):r0 *** q  3.b binary :yz00 0000 式:xyz << 6  write (b) read(8bit):r1 *** r  4.c binary :0000 0000 cは定数0  write (c) read(8bit):r2 *** s  5.SS:HIGH *** t  6.AD変換値:((r1 & 0x0f) << 8) + r2 r1下位4bit+r2(8bit) 合計12bit # 応用例 @[youtube](https://youtu.be/P5jK-uTZFfs) 垂直非接触センサーによる紙飛行機コントロール --- @[youtube](https://youtu.be/1X_uN54GhAY) 実際のスイッチと置き換え可能な非接触スイッチのテスト --- @[youtube](https://youtu.be/nAIFRf44h8w) 非接触空間センサーで2軸サーボモータ制御