LoginSignup
5
4

More than 3 years have passed since last update.

小型 Bluetooth LE モジュール AE-TYBLE16と超小型AVRマイコンATtiny10で長寿命なビーコンを作る

Last updated at Posted at 2019-04-20

最初に

小型 Bluetooth LE モジュール AE-TYBLE16でビーコンを作る手順に関しては小型 Bluetooth LE モジュール AE-TYBLE16とボタン電池でビーコンを作るを参照。

長寿命を実現するためには

長寿命の実現といえば、DeepSleepによる消費電力の極小化とWatchDogによる復帰の手法がよく使われる。ただ今回使用する太陽誘電EYSGJNAWY-WXを搭載するAE-TYBLE16はハードウェアとしてWatchDogは乗っていないようである。EYSGJNAWY-WXはそもそも外部のマイコンから制御されるのが前提のモジュールとして設計されているのだから、WatchDogなんて不要なのである。
EYSGJNAWY-WXの仕様書によるとリセットピンは搭載されている。
ResetPin.png
そこで、EYSGJNAWY-WXではビーコンの発信を1回したら電源をシャットダウンし、一定時間後に外部マイコンからEYSGJNAWY-WXにリセットをかけることとした。WatchDogを搭載している最も小さいArduino基盤を探したところ、超小型AVRマイコンATtiny10があったので、それを使うこととする。

電子回路

AE-TYBLE16(EYSGJNAWY-WX)のSWDIピンがリセットピンなので、ATtiny10の4番ピンとつなぎ、リセット制御を行うこととする。
Kairo.png

電子回路のデータはhttps://github.com/MypaceEngine/ae-tyble16-beaconにアップロード済み。

ソースコード

https://github.com/MypaceEngine/ae-tyble16-beacon-arduinoにアップロード済み。

省電力のキーポイント

  • AE-TYBLE16(EYSGJNAWY-WX)のリセットピンを50ms以上のLOWにするとリセットがかかるそうなので、ATtiny10は起動時に4ピンをHIGHにして、DeepSleep状態に移行する。WatchDogで8行後に復帰し、50ms間LOWにし、再度HIGHにしてDeepSleepに入るのを繰り返す。
  • AE-TYBLE16(EYSGJNAWY-WX)とATtiny10のすべてのPINはDEGITALOUTに設定されている。
  • AE-TYBLE16(EYSGJNAWY-WX)は起動時にビーコン信号を出し、13msほど待機し、Shutdownする。AE-TYBLE16(EYSGJNAWY-WX)はビーコンモジュールはマイコン外にあるようなので一定時間待機しないとビーコン信号を出し切れないように推察される。

消費電力と稼働時間

平均2.5μA程度の消費電力のようなので、CR2450だと6.5年程度ビーコンを出し続けることができると推察できる。ただ実運用ではボタン電池の空中放電や物理的な劣化も発生するので、6.5年もつかどうかは保証できない。

ビーコン端末化

ビーコンを作ったからには持ち歩きたい。なので作ることとする。
IMG_20190420_183410.jpg

(注意)この作業では極小のATtiny10の半田づけが含まれます。半田づけに慣れていない場合は作業の難易度は高いと思われます。

道具

ハードウェア 説明 リンク
ジャンパーワイヤ ブレッドボードと後述のJ-Linkをつなぐのに使用します http://akizukidenshi.com/catalog/g/gP-02932/
J-Link EDU mini AE-TYBLE16への書き込みに使用します。 https://www.marutsu.co.jp/pc/i/26595451/
ST-Link J-link EDU miniは電力供給機能を持っていないため、電源として利用します。AE-TYBLE16への書き込みに使うこともできます。 https://www.banggood.com/ja/3_3V-5V-XTW-ST-LINK-V2-STM8-STM32-Simulator-Programmer-Downloader-Debugger-With-20cm-Dupont-Wire-p-1177014.html?utm_source=direct&utm_campaign=none_prdshare_twit
AVR Atmega プログラムUSBasp ATtiny10の書き込みに使用する https://www.amazon.co.jp/dp/B011DT3MIS/ref=cm_sw_r_tw_dp_U_x_jDXUCb00NY9A5
ジャンパーワイヤ 配線に使う http://akizukidenshi.com/catalog/g/gC-05371/
ブレッドボード 配線に使う http://akizukidenshi.com/catalog/g/gP-05294/
アナログテスタ 配線が成功しているかの確認に使う https://www.marutsu.co.jp/pc/i/139850/
LED ATtiny10の半田の成功を確認するのに使う http://akizukidenshi.com/catalog/g/gI-11577/
カーボン抵抗 ATtiny10の半田の成功を確認するのに使う http://akizukidenshi.com/catalog/g/gR-25332/

部品

部品 説明 URL
基板 専用に設計した基盤 https://github.com/MypaceEngine/ae-tyble16-beacon
AE-TYBLE16 BLEモジュール http://akizukidenshi.com/catalog/g/gK-12339/
ATtiny10 WatchDog用マイコン http://akizukidenshi.com/catalog/g/gI-04575/
RETAINER CR2450 COIN CELL PC PIN【BK-880】 ボタン電池CR2450のフォルダ https://www.marutsu.co.jp/pc/i/11738578/
PS-65 ケース http://www.takachi-el.co.jp/data/pdf/2016-01-065.pdf
https://www.marutsu.co.jp/pc/i/101671/

事前準備

組み立て手順

ATtiny10のマイコンの動作がAE-TYBLE16へのファームウェアの書き込みに影響を与えるため、下記の手順を守ってください。
1. ATtiny10の半田づけ
2. ATtiny10へのファームウェアの書き換え
3. AE-TYBLE16の半田づけ
4. AE-TYBLE16へのファームウェアの書き換え
5. ジャンパーの半田づけ
6. ボタン電池ホルダの半田づけ
7. ケースに入れる

ATtiny10の半田づけ

青丸がついている部分にATtiny10を半田づけする。
IMG_20190420_173950.jpg
ATtiny10は下記の写真の左端の丸がついている部分が1番ピン。IC2の左下にあるバーの部分が0ピンになるように半田づけする。
IMG_20190420_173707.jpg

半田が成功しているかを確認するため、下記の番号のセットで確認する。
IMG_20190420_173950.jpg

AtTiny10へのファームウェアの書き換え

https://github.com/MypaceEngine/ae-tyble16-beacon-arduino/blob/master/timer/attiny10_timer/attiny10_timer.inoをArduino IDEに読み込ませる。
ATtiny10とUSBaspの接続方法はArduinoIDEでATtiny85をプログラム  ~ライターの接続~USBaspとATtiny10の接続を参照。
Arduino IDEを下記の設定にする。5Vで書き込んでください。
1.png
[スケッチ]-[マイコンボードに書き込み]で書き込み
書き込み中に失敗する場合がありますが書き込み自体は成功している場合があるので、動作確認をしましょう。

[青丸の部分]-[LED]-[抵抗(3KΩ)]-[GND]とつなぎ、信号をチェックしましょう。基本的に点灯し、約8秒間に1回点滅します。
IMG_20190420_174151.jpg

AE-TYBLE16の半田づけ

青丸の部分を半田してください。上側が左から3ピン(V+)4ピン(GND)、下側が左から2ピン(SWDI)3ピン(SWDC)。
IMG_20190420_180945.jpg

AE-TYBLE16へのファームウェアの書き換え

https://github.com/MypaceEngine/ae-tyble16-beacon-arduino/blob/master/beacon/eddystoneuid/EddystoneUID.inoをダウンロードして、
小型 Bluetooth LE モジュール AE-TYBLE16とボタン電池でビーコンを作るのAE-TYBLE16のArduino 化の章以降を実施。

書き込みが成功したことは電源を抜き差しして、ビーコンを用いて入退室をチェックする簡単なプログラムで確認。

ジャンパーの半田づけ

AE-TYBLE16とATtiny10の動作に問題がないことを確認して、P1を接続
IMG_20190420_182323.jpg

ボタン電池ホルダの半田づけ

下記の青丸に半田を薄く塗ります。
IMG_20190420_182432.jpg

ボタン電池ホルダの基盤と半田する部分は高さを抑えるため、青丸部分の”くの字”を”」”のように少し折り曲げるのがコツです。
IMG_20190420_182432.jpg

最終形態は下記です。
IMG_20190420_183009.jpg

ケースに入れる

IMG_20190420_183410.jpg

蓋を閉めて、技適のシールも張りましょう。
IMG_20190420_183624.jpg

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4