ジャンル不定の日記です。

電池の代わりにUSB電源を使おうとしたが・・・

電池電圧検知の実験の際に、USB電源に抵抗入れて電圧を降下させれば電池の代わりに実験しやすいんじゃないかと考えたが、
トランジスタのBE間は電流の影響をあまり受けず順方向降下分で約0.6Vの電圧降下で安定する。
つまり、オームの法則に降下する電圧を当てはめて考えると、抵抗値は電流の変化で変動するってことなわけだね。
抵抗を使うだけで電源電圧を変えようとしたが難しいことになっちゃうぽい・・・

いろいろ考えたが、PNの順方向電圧付近でスイッチすることは容易にできるので、
安定したUSBでなく、低下していく電池電圧でなら何も考えずにスイッチすることができそうな気がする。
というわけで、やっぱ実験は電池でやったほうが良さそう。

ニッケル水素1本でトランジスタをON/OFFすることはできるという認識なので、
とりあえず電池1本を繋いだり外したりでトランジスタの実験をやってみようと思う。


最終的には0.9VからのDCコンバータでニッケル水素を使い、電圧が低下したら充電する感じの回路を作りたいと思うので、
PNの順方向電圧1個分までていかしたら0.9Vを割っちゃうと思うので、直列にダイオードをつなぐことで1.2V付近でスイッチすることができる。
その場合はニッケル水素1本満タン分の電圧なので、電池は2本以上の直列で使わないとダメぽい。
という認識。

トランジスタの特性

ニッケル水素電池の電圧を検知してスイッチするのにトランジスタを理解すればできるんじゃないかと思って、トランジスタについて勉強した。

電子回路系の情報はググっても初心者向きの情報がなかなか出ずわかりにくいが、
トランジスタをCBEではなく、ダイオードと同じくPとNで考えると理解できた気がするので、まとめる。


ダイオードの特性
P → N : 順方向=流れる
N → P : 逆方向=流れない

NとPが3つ繋がったトランジスタに当てはめると、
NPN : ベースから端がPNなのでベースから流れる
PNP : ベースから端がNPなのでベースから流れない(ベース方向には流れる)

ダイオードの特性で考えると、NとPが3つつながったトランジスタではCE間にはN→Pの向きがあるので電流は流れないような気がするが、
P→N間に電流が流れる場合はNPN(又はPNP)間でも電流が流れる。

つまり、
NPN型ではC方向からN→Pなので流れないが、BE間はP→Nなので流れる。BE間で流れると一緒にCE間も流れる。
PNP型ではEB間がP→Nなので流れて一緒にEC間も流れるが、E→B方向の電圧がB→E方向で相殺されてEB間の電流が止まるとEC間も止まる。


ダイオードと同じでP→N方向に順方向電圧降下が生じるので、降下する電圧以上の電圧でなければスイッチできない。
P→N方向の順方向電圧降下はダイオードと同じでおよそ0.6V。
P側よりもN側の電圧を下げる必要があり、 PとNで考えるとCBEの関係がわかりにくいが、Bとの間で電流が流れるのはE。
NPN型ではB→E方向がP→Nなので、EをGND(0V)近くに設置する。
PNP型ではE→B方向がP→Nなので、Eを電圧の高い方(電源近く)に設置する。
両端はP又はNで同じだが、通常は極性がありCとEの逆接はダメ。
実際の部品では、ベースの端子は真ん中ではなく端になっている場合が多い模様。


CE間に流れる電流の大きさはBE間に流れる電流の大きさに比例し、BE間に流れる電流よりもCE間に流れる電流の方が大きくなる。
そのため、B側に大電流が流せない場合でも、大電流を要する回路をCE間と直列につなぐとB側の少ない電流で制御できる。



てな感じだと認識した。
ニッケル水素の電圧低下をトランジスタで検知するのを実験してみようと思うのだが、
実際に電池を使ってやってみようかと思ってたが、5Vで電圧の安定したUSB電源を使って抵抗を使ってニッケル水素レベルに下げる感じの方が良さそうなことに気づいた。

LED光らせてみた

電子工作をやる気が出て今朝部品を注文して、まだ届いてるわけがないが、手持ち部品でできることをちょっとやってみた。
USBから5V給電してLED光らせるだけ。


手持ちのLEDは、
型番: OSNG5113A
IV: 750mcd
VF: 1.8-2.4V
と袋に記載されてた。
見た感じ緑ぽいが、袋には黄緑ぽい記載がある。

LEDの使い方とか覚えてないからググったが、
LEDは最大電流があるらしいんだが袋には記載がない。
型番でググッてみたが、最大電流が30mAで20mA程度で光らせるものぽい。

前に使って覚えていたが、LEDは抵抗とは違うので電源-GND間に直結しちゃうと大電流が流れて壊れるので、直列に抵抗を入れたりしないといけない。
その際の計算にVFを使う。1.8-2.4Vと記載されているが個体差でバラつきがあるためだとかなのだが、2Vで考えるくらいで良さそうな・・・
普通のダイオードとかトランジスタなんかは順方向に電圧をかけると両端で0.6V程電圧が降下するらしいんだが、VFってのはそんな感じなのかな?
5V給電でLEDでの降下分が2Vだと残り3V。

オームの法則と直列回路についてググったが、
オームの法則: V=RI(電圧=抵抗×電流)
直列回路: 電流は全体に同じだけ流れる。
直列回路ではどの箇所でも電流は同じとのことなので、LEDと直列に入れる抵抗に流れる電流が決まればLEDに流れる電流も一緒。
電圧はLEDの降下分が2V程度とわかっているので、オームの法則のうちVはわかっている。
電流はLEDを光らせるのに20mA程度にしたい。20mAということは0.02A。
なので、オームの法則に当てはめると、
3=R*0.02
R=3/0.02
R=150
LEDと直列に入れる抵抗を150Ωのものにすれば目的の20mAの電流が流れるるぽい。

あと、最初から知っていたが、LEDは向きがあり逆接すると光らない。
手持ちのLEDは端子が片方長くなっており、
長い方(アノード): 電源のプラス側に接続
短い方(カソード): 電源のマイナス側に接続


LEDと抵抗1個入れるだけなので回路図を書くほどのものでもないと思うが、CADを試しに使うのも兼ねて書いてみた。
kicadってのとqcadってのがそれっぽい感じで、kicadってのは明らかに回路用なのだが難しそう。
qcadってのは前に工作用に使ったことある気がするのだが、どうやら回路を書くのに部品が無いようなのでkicadの方使ってみることにした。

回路図

kicadの「出図」機能で画像出力ができたのだが、画像はSVG形式しか出力できなかった。
しかも、出力されたSVGが何故かkolourpaintで開けず、ベクタ画像編集ソフトのcalligra-karbonを入れてpng変換してからkolourpaintで範囲切り取りした。


回路図も書けたし、実際にブレッドボードで試してみた。
が、150Ωの抵抗持ってなかったw
100Ωと300Ωの物はあったが、150Ωで20mAになるので、100Ωの場合は30mAで、300Ωの場合は10mAになるね。
30mA流れても壊れないと思うが、光ればいいので300Ωの抵抗でやってみた。

USBからの5V給電で、今朝DIP化マイクロUSBコネクタを注文して今は手元にないわけだが、
片方がピンヘッダになってるUSBケーブルがあったんでそれ使って給電した。
というか、やっぱブレッドボードで使う分にはピンヘッダケーブルの方が良いかもw
PCのリアから引っ張ってフロントにコネクタつけるためのベイアクセサリの付属ケーブルだったんじゃないかと思う。

で、予定通り光った。


ニッケル水素電池の電圧を検知してスイッチする回路を試そうと考えているんだが、それの状態表示をLED光らせて確認しようと思うんで、今回LEDを光らせるだけの実験やった。
電圧検知の回路はググっても初心者向きの情報が見つからなかったのだが、
LEDで約2Vの電圧降下が生じたように、普通のダイオードやトランジスタに順方向に電圧をかけると0.6V程低下するらしい。
というわけで、今回と同じように直列に抵抗を入れるような感じで検知目標の電圧を0.6Vに下げるような感じな回路で電圧検知ができるんじゃないかと思ってる。
無理だったらまた調べる。

今回ので手持ちの部品も確認したが、普通のダイオードって物は持ってなかった。
トランジスタは2SC1815 GR41って型番の物があったんだが、どうもこれ最大150mAまでしか電流が流せないぽい。
目的としては500mA以上流せる回路にしたかった。
まあ、実験段階ではLED光らせる程度になるから今回のLEDの最大値の30mA流せればいいかな。
あと、抵抗は今回150Ωを持ってないことがわかったが、100Ωは持ってたから買うなら50Ωにした方が良いのかな?
要らない機器から部品回収で調達できるかもしれないが、基本部品はある程度数持ってたほうが良いと思うし購入を検討しとく。

それと、DCコンバーターが届いてからニッケル水素を5Vに昇圧をやってみるが、
その時に電池4本以上直列して5V超えた時に下げるのにツェナーダイオード使ってできるんじゃないかと考えてるので、それも購入検討。

電子工作熱がわいてきた。

以前、電子工作やってみようと思って2万円以上の買い物して、LEDピカピカさせる程度で熱が冷めちゃったんだが、
最近eBayで基板むき出しの安くて怪しい部品とかみたり、arduinoとかraspberry piの様なボード使って何かできないかなーとか考えてたりしたんだが、
eBayで安いステップアップDC-DCコンバーターを見て、かなり電子工作熱が湧いたんで、ポチっちゃった。

以前入門しようと思って辞めちゃった電子工作だが、当時はAVRマイコン使って何か単体動作する機器作ったりPCに接続する機器を作ろうと思って始めた。
だが、実用的な機器を自作しようとしたら部品点数も多くなり回路を作るたびに追加購入が必要になり金額が高くなるし、オームの法則すらよくわかってない素人にはハードルが高すぎた。

今回やる気がでたのは、
  • 昔と違ってPCのマウスとキーボード以外にUSB機器がいろいろあり、ACアダプタも余るほどあるのでPC以外からの電源供給もできる。
  • 以前はマウスとキーボードにアルカリ電池を使用したり、そもそも有線を使用していたが、今はニッケル水素電池を使っているので再利用可能な電池が手元にある。
そんな状況下で0.9Vから5Vの入力を5Vに変換できる安いDCコンバーターを見つけた。

↑これ。
一番安そうなところで5個送料込みで243円だった。
説明見る限り出力は5V500mAとUSBの定格。
0.9Vからの入力なので電池1本から5Vに変換できるが、認識通りならUSBの定格出力付近まで対応させるのには入力側の電流的に電池4本直列にしないと無理ぽい。
電池4本直列にするとちょっとめんどくさそうだが、1本からでも勉強を兼ねた用途的には利用できそう。
電池を直結するだけでUSBモバイルバッテリーになるから電子工作ってレベルじゃないので初心者にもできると思えるし、
4本直列にしたり、ニッケル水素の充電機能をつけたりして、勉強しながらそこそこ実用的なものを安価に作れそう。

というわけ。
電子工作を入門するのに、単体動作する機器を作ろうとすると難易度が高いし、LEDピカピカだと実用度ゼロで冷める。
ニッケル水素とUSB5Vの変換から入門するのが良いんじゃないかという気がする。


さらに決め手となったのが、電子工作しなくなったもうひとつの理由に、
当時マイコンを使おうとしてAVRマイコンをいくつかと共立電子のAVRWRTってAVRライタを買ったんだが、
AVRライタのソフトがWindows専用で、今メインで使ってるのはLinuxなんで無理。
というわけなのだが、
メインPCの公式リポジトリにavrdudeってAVRのライターコマンドが存在して、コンパイラも公式リポジトリに存在する。
avrdudeに対応してるぽいAVRライタがeBayで200円ちょいからいっぱい存在した。
LinuxでAVRにプログラムを書き込めれば手軽にマイコンが使える。


この前注文したAndroid TV BOXが届いたら先にそっちやるから後回しにしようとも思ったが、
既に12月で、年内に注文するなら早いほうが良いと思ったのと、年明けになると今度は中華正月を挟むのを避けたいと思った。
というわけで、注文しちゃった。
Android TV BOX以外にも最近小物で、32GBのUSBメモリ(送料込み400円ちょい)と電池式の彫刻刀(ミニリューターっていうの?送料込み200円ちょい)を注文したんだが、
32GBのUSBメモリは既に到着して、PCに挿したらきちんと32GBで認識された。


注文したもの。
画像モノ
個数
金額
USBASP(AVRプログラマー)
1
417円
DCコンバーター
2
155円
USBテスター
1
188円
エナメル線(0.1mm x 15m)
2
120円
DIP化マイクロUSBコネクタ
5
208円
合計


$8.99(1,128円)
個別のドル価格は見てない。全部送料込み価格の商品。
合計金額の円換算は決済画面の表示なんで、決済手数料とか入ってるかも。

重要目的のDCコンバーターが最初に見つけた5個で243円のsellerよりも高いが、
電子工作を勉強しながらと、LinuxでのAVRプログラミングを試すのが目的で、
どちらかというとAVRライタが先に手元に欲しいかなと思って、注文したsellerが同じDCコンバータを扱ってたのでそこでまとめて注文した。
とりあえず2個あれば十分だし、5個243円より良かったかも。

AVRライタはUSBASPってタイプのモノのようで、Arch Linuxにあったavrdudeで対応しているものと思われる。
基板むき出しのが200円ちょいから売られているが、カバー付きが良いのと、この製品見たところピンアサインがプリントされてて便利そうと思った。
AVRライタには5Vと3.3Vの回路に直接書き込める物があるようなのだが、この製品は説明見て解釈したところ5V専用だが5給電も可能な製品のような気がする。
AVR自体は買ったけど使ってないのがいくつかあるのでそれ使う。
レバー付きのICソケットも欲しいかとも思ったが、レバー無しのはいくつか持ってるんで、それとブレッドボードで書き込むことにする。
というか、今気づいたが、
同じsellerさんから5個で300円弱のミニブレッドボード(170pin)を買おうと思ってたんだが注文忘れたわw
安くないブレッドボードは1個持ってるので、とりあえずそれ使いまわして次の部品等購入機会に買うことにする。

USBテスターは前から機会があれば入手したいと思ってたんだが、同じsellerさんが安いの売っててちょうどいい機会なんで注文した。
電圧と電流の両方見れるぽいんだが4桁の表示器。写真じゃ見えないけどスイッチで切り替えとかなのかな?
まあ、電圧だけ見れれば十分なんだが。

エナメル線は、電線はスズメッキ線?絶縁されてないのしか持ってないんだが、
エナメル線ってのは絶縁された電線で、物によっては絶縁皮膜を剥かずにハンダすると溶けてそこだけ導電するぽい。
説明文の解釈が正しければ、ハンダするだけで導電するタイプ。
かなり細い線だと思うので、電流が多く流れるところには使わないほうが良いのかな?
絶縁されたケーブルを持ってれば、なにか機器の修理とかにも使えそうなんで注文した。

DIP化USBコネクタは、
前にちょっと電子工作した時はブレッドボードにUSBから給電するのにUSBケーブルにジャンパワイヤつけて繋いだんだが、直接ボードにさせたほうがスッキリだよね。
ブレッドボードじゃなくてきちんとしたものを作るにしても、DIPじゃない基板は難易度高いんでDIP化USBコネクタ使うかも・・・
というわけで。
ピンヘッダは付属してないと思われるので別途買おうかとも思ったが、20x40pinが最低単位ぽくて結構した。
要らない機器から外せばある程度はピンヘッダ回収できると思うんでピンヘッダは買わなかった。
実はピンヘッダ付属だったりしないだろうか・・・と期待w


配送が年末年始挟むと遅くなると思うんで年内に届くと良いが、既に厳しいか・・・
まあ、届いたとしてもAndroid TV BOXが先のはずなんで電子工作は来年だな。

先月注文したジャンパーケーブル オス-メス 届いた

ケースのフロントUSBのケーブル長が足りなくて、AINEXの延長ケーブル高いから注文した、

安いジャンパーケーブル届いた。
PC内部のピンは普通の2.54mmピンなのでジャンパーケーブルと同じ大きさ。

バラバラにつなぐと配線間違えるかもだし挿しにくいんで、セロテープでまとめた。
最初内部ピンと同じく9ピンをまとめてセロテープしたが、1port電源が通ってなくやり直したが、
ヘッダーの9ピンのうち1ピンはダミーだから、8ピンだけでセロテープしたほうが良いぽい。
8本まとめてセロテープしたら2ポートとも利用できた。


作業でケース開けた後、メインストレージのCrucial M4が認識しなくなって、また壊れたかと思ったが、何度かリセットしたら治った。
Crucial M4は1個完全に死んじゃったが、認識しなくなったらファーム更新するよりも認識するまでリセットした方が良さそう。

あと、作業終わったら電源のファンの音が気になるようになったんでファン外してファンレスにしちゃった。
ファンなしでも機能した。ファンコネクタが爪付きで外しにくかった。
ついでにケースファンとCPUファンの掃除した。

CS918ポチっちゃった

BOX型かスティック型のAndroid端末か、Raspberry piみたいなボードPCをサブPC用に購入検討していたが、
BOX型Android端末のCS918をeBayでポチっちゃった。

送料と決済手数料入れて5500円した。
Android TVではなくLinux PC化して使いたいので、載せ換えができるか自信ないんでリスクが高いと思う・・・
Linux化が無理なら、Androidでできる限りの用途で使おうと思う。


CS918は、CPUがRockChip RK3188(T?),RockChip RK3128(T?),Amlogic S805のものが存在するようなんだが、
調べたところ、RockChipはROM焼きしてLinux化ができそうな気はするのだが、Amlogicはツールが少なくともAURには無さそうなんで避けた。
RKのスペックは3128の方が弱いようなんだが、3128は40nmプロセスで3188は28nmプロセスぽいので3128の発熱をちょっと気にした。安定してくれるならどっちでも良いんだが。
購入したものは3188Tの記載。
色違いのものでは、RK3288の物やAllwinner A31sの物も発見した。

メモリは1GBと2GBの物があるようで、ストレージも8,16,32GBのパターンがある模様。
ストレージに関してはメインPCにするつもりでもないので8GBで足りると思うし、SDスロットもついてる。
メモリは1GBでもおそらく足りるが、1GBだと余裕はないと思う。
というわけで、2GB/8GBにした。

スティック型のAndroid端末と比べて1,000円から2,000円程度高くなるが、


Linux化について調べてたが、
RockChipはブートローダの載せ換えはちょっと面倒そうなんだが、標準ローダのパラメータをいじればLinuxのブートができそうな・・・
  1. Linuxをブートできるか?
  2. CUIが表示できるか?
  3. 有線LANと無線LANが利用できるか?
  4. GUI環境が使えるか?
  5. ARM LinuxでFlash使える?
ってな手順かな。

GUIが無理だったとしても、3.まで問題が生じないようならルーターとかファイルサーバーの用途で使えそう。
CUIを表示するのはドライバ無しでできるのかちょっとわからないが、GUIに関してはmaliのドライバが確実にいるはず。
無線LANは同じCS918でも搭載チップが違ったりする模様で難しいかもしれない。
GUIができるようなら、Xfce環境にすると思う。
ブラウザゲーム用途も考えてるのでFlashが使えたほうが良いが、ARMのLinuxでFlashが再生できるのか怪しい。

全部問題がなければ、スペック的にはサブPCとしては十分だと思うし、
x86の普通のPCと違って5V給電で利用できるのが良いね。