はじめに
掲題の件、需要は結構ありそうな気がするのですがあまり安価な製品が市場になく、つきましては作ってみました次第でございますので僭越ながらその旨ご報告致します
当方の属性はハードに疎い(どころか触ると壊す、触らなくても壊す、とにかく壊してハード屋様の皆様に多大な御迷惑をおかけする)ピュアなソフト屋にございますれば、電気やデバイスに及ぶ話しの中、誤解や誤記など多々あるものかと恐れ存じ申し上げます。御忌憚のない御指摘をいただければ至福の至りにございます
前回のお話し
USBモバイルバッテリーやUSB充電器から 5V をジャンパ線で取り出せる安価で手軽なデバイスとして 送料込み 200円という素敵なお値段の、こちらの digisparkの互換機(?)を見つけました
左の ATTINY85 よりも 真ん中に鎮座している3端子レギュレータがなんとも「電源代わりにつかっていいよ」という声がきこえてくるような 頼もしさ を感じます
↓こんな感じで、普段は5V電源として問題なく使えています
(100mA 〜 200mA 以上とる時はヒートシンクがいるかも、との事ですが 500mA 程とっても熱く感じたことはないです)
※2016.01.26 追記:そう思ってたのですが、改めてちゃんと触ってみるとそこそこ熱かったです
ところで、安いとはいえ、ATTINY85 とはいえ、digispark だって立派な Arduinoです。
たんに電源として使うだけでも価格的に満足ではあるのですが、スケッチを書いてたとえば 1時間に5分だけ電源 on、残り 55分は off になるタイマー とかが安価に簡単に出来てしまえば本当に素晴らしい世の中が実現しそうです。
作ったタイマーを使ってやろうとすること
例えば、こんな感じでやっぱり安価な3-6V 駆動の小型水中ポンプを1時間に5分だけまわしたりできると以下のような物がもの凄く 安く つくれそうです
- 魚や水草のエアレーション
- 🐢の池とかの曝気
- 植物工場の培養液の循環、DFT とか NFT とかいう奴ですね
- LED の冷却水の循環等
- etc
動画はこちらです。カチッというリレーの切り替わる音がして水がとまります
例えば、 SORACOM の SIM の刺さった L-02A のついた、センサーがゴテゴテとついた Raspberry Pi を1時間に5分だけ起動して、 起動時にセンサデータを拾って投げたらまた電源 off にする ようにするとバッテリーの持ちがよさそうです。こういう目的の市販の Hat はあるのですがとても高価です
動画はこちらです。カチッというリレーの切り替わる音と共に Raspberry Pi が起動をはじめます
課題
以下は私と同様ソフト屋で電気が苦手な人のための解説としてご用意させていただきました。電気屋さんな方々にとっては冗長な内容しかふくまれておりませんので、読み飛ばして頂ければ幸いです
さて、digispark の GPIO を定期的に on/off 繰り返すスケッチはこんな感じで簡単です
// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output.
pinMode(0, OUTPUT); //LED on Model B
pinMode(1, OUTPUT); //LED on Model A
}
// the loop routine runs over and over again forever:
void loop() {
digitalWrite(0, HIGH); // turn the LED on (HIGH is the voltage level)
digitalWrite(1, HIGH);
delay(1000UL*60*5); // wait for 5 minuts.
digitalWrite(0, LOW); // turn the LED off by making the voltage LOW
digitalWrite(1, LOW);
delay(1000UL*60*55); // wait for 55 minuts.
}
ここで、0番ピン、1番ピンの両方を 5分 on にして 55分 off にするのを繰り返しています
では、digisparkの 0番ピンか1番ピンをポンプや RPi の5Vに、GND をGND につないであげると完成 でしょうか?
これでもポンプはもの凄くチョロチョロチョロ〜という感じでしたがなんとか動きました。チョロ松とはいえ5V, 20mA で駆動できる Submersible Pump って驚愕です。が、ちゃんとした高さまで水をくみ上げることができませんでしたし、 Raspberry Pi の起動は無理 です。 電流が足りません。
解決策
digispark の GPIO でドライブできる電流は20mAまで なので これを電源とするのでは無理です。そこで、これを前述のdigispark の 5V pin をon/off 制御するスイッチとしてつかいます
スイッチってどうやってつくるのかな?っと思っていたら
先々月のMagPiの "WEB-ENABLED Above Watering
PLANT WATERER" という記事がまさにそれ!記事では RPi の GPIO でポンプの電源の on/off をしていたのですが、要は ダーリントン・トランジスタ というものを使って作るようです。
記事に出ていたフェアチャイルド社(グレッグ大佐のA10攻撃機を作ってる会社ですね)の MPSA14(こんなのも中国ではまだ売ってるんですね...) と、秋葉で見かけてこれでも動くかなと思った KSP13(神奈川サイエンスパークみたいで嫌な名前ですね ^^;;;) と、ついでに 3VリレーのY14H-1C-3DSと946H-1C-3Dも試してみました。
#接続例
接続はこんな感じです。
リレーを使う場合、ドライブするデバイス(ポンプとか RPi とか)はスイッチの電源側、GND側どちらにつけてもいいです
トランジスタを使う場合、デバイスは必ずスイッチの電源側にもってくる必用があります。GND 側にデバイスを持ってくると ベースに対して抵抗になってしまいバイアス電流が妨げられる 為に結果としてコレクタ電流も流れないからです
結果
結果は以下です
デバイス | RPi の起動 | 考察 |
---|---|---|
MPSA14 | ○ | かなり発熱しました |
KSP13 | × | 電流不足 |
Y14H-1C-3DS | ○ | 問題なし |
946H-1C-3D | ○ | 問題なし |
KSP13 は 400mA ぐらいまでIC電流があがる、100mA ぐらいまで落ちる、というのを繰り返し、RPi を起動させるにはいたりませんでした
MPSA14 は問題なく動いたのですが触ってみるとやけどするぐらい熱いです。もっと余裕のあるトランジスタのほうがよいのかもしれません。
3Vリレーはどちらも問題なしでカチカチ動きました
※2016.01.08 追記
下記のトランジスタについても試してみました
デバイス | RPi の起動 | 考察 |
---|---|---|
2SD2560 150V15A | ○ | あったかいなと感じる |
2DD2014 120V4A | ○ | 摘んでいられる程度の熱さ |
TTD1509B 80V2A | ○ | 摘んでいられる程度の熱さ |
#失敗談
前述のとおり、トランジスタをスイッチとして使う時はコレクタと電源の間にドライブするデバイスを入れます。はじめ、エミッタとGND の間にいれてしまい、動かないなーという失敗をやってしまいました ^^;
future works
ほとんどのモバイルバッテリーがスマフォの充電を目的とした設計になっています。この目的の場合、スマフォの充電が終了(流れる電流が0になった)後、しばらく時間がたってスマフォが放電して、また少し充電して,,, を繰り返すとスマフォのバッテリーの寿命が縮みます(チョロ充とか言います)。これを避ける為にいったん電流が 0 になってしまうとそこでモバイルバッテリー自体の電源が切れる構造になっているようです。このタイプのモバイルバッテリーの場合、タイマーとして使えませんので(一度電源がきれたらもう立ち上がらない)、そういう制御の入っていない安物のバッテリを探す必用があります
digispark は USB からの給電だけでなく外部の 7V - 12V の電源から給電を受けることもできますが、こちらはまだ試していません
※2016.01.26追記:12Vのバイク用バッテリーから給電をうけて5Vを出力して Raspberry Pi が起動するところまで確認できました。
references
digispark
- 橋本商会さんのブログ: V-USB等、大変勉強になりました
- 本家、DigiStamp のサイトとDigispark の wiki まずはこの Tutorial で Digispark の全貌がなんとなく掴めます
- 上記の wiki の一部ですが Quick Referenceは多分、なんども参照することに。I2C のピンは何番とか、VIN から何アンペアとれるかとか
- DigiUSB のサンプルプログラム集: 紹介しませんでしたがこちらの python プログラムも Raspberry Pi で動作しました
- ebay のサイト :送料無料でこの安さ。コンピュータって200円で買えるものだったんですね
- mt08さんのWindows7でのLチカ記
トランジスタとリレー