マイナス電源の作り方2
マイナス電源の作り方は前のブログで説明した。
よくデータシートを見ると±5V出力がない!!
http://www.cosel.co.jp/jp/products/pdf/SFJ_SUCW.pdf
Arduinoはじめマイコンは+5V(以下)で動作なのでこれは都合が悪い。
外部接続機器を±12Vで動作させて,Arduinoとのやり取りは+5Vという手はあるが,
ICも5Vで動作するものが多いのでやはり±5Vは欲しくなる。
方法は3つ,
■DC-DCコンバータを2つ使う
+5V出力のDC-DCコンバータ,例えばコーセルだとZUSシリーズに+5V出力のものがある。
つなぎは以下の,
http://www.cosel.co.jp/jp/products/pdf/CMJ_ZUS.pdf
直列運転の項を参照して欲しい。
2台の+Vと-Vを繋ぐ方法だ。繋いだところがGNDになって,
片方のDC-DCの+Vが+5V,もうひとつの-Vが-5Vになる。
コンデンサ,インダクタは適宜つけるように。
■3端子レギュレータを使う
以前ブログで説明した7805と7905を使う。回路は,
この入力とDC-DCコンバータの±12Vタイプの出力をつなげばいい。
7905はこんな使い方をする。
■マイナス電源を作るICを使う
LM266x,LTC1144, MAX660など。
キーワード:チャージポンプ,反転
LTC1144は以下を参照。
http://www.linear-tech.co.jp/product/LTC1144
スイッチング回路なのでノイズが多いので注意すること。テスターで測ると電圧が
低い場合は疑ってみる。LTC1144には対策としてboostという端子がある。
他のICもピンアサインはほとんど同じです。
---------------------------------------------------------------
追記
3つと書いたが,これだけではない。トランスを使う,オペアンプを使うなど。
面白い記事を見つけた。
http://www.den-ken.org/mediawiki/index.php/%E4%B8%A1%E9%9B%BB%E6%BA%90%E3%81%AE%E8%A3%BD%E4%BD%9C
マイナス電源の作り方
Arduinoのアナログ入力 analogRead() は0V~5V(電源電圧)まで。
マイナスの値を測定した場合もあるだろう。まずはマイナスの電源が必要になる。
いたって便利なのがDC-DCコンバータ。各社だしているが,例えばコーセル(Cosel)の
DC-DCコンバータなど。
http://www.cosel.co.jp/jp/products/pdf/SFJ_SUCW.pdf
入力電圧,出力電圧,最大出力電力〔W〕(または電流)で選択する。
例えば,SUCW1R51212の場合,
入力電圧:DC9~18V
出力電圧:±12V
電 流 :0.065A
接続方法も注意して欲しい。出力保護はあっても入力は保護されない。
http://www.cosel.co.jp/jp/products/pdf/CMJ_SUW-SUCW.pdf
-VINは電源のGND,COILはコイル,またはインダクタと呼ばれるもの。
細かいノイズ取りに利用される。
電源の作り方2 回路について
前回のブログで7805について説明した。
では,実際にどうやって使うのか。
C2, C3は必須。ないと電源が発振することがある。*1
C1, C2はこの先に何がつながるか分らないので必要に応じて付けておく。
D1はダイオード *2。入力がショートなどして電圧が逆転したときのため。壊れます。
D2はツェナーダイオード *3。入力が最大電圧を超えたときのための対策。
C2, C3の値はデータシートに書かれているの必ず調べること。
セラミッコンデンサが良く使われるが,そうじゃないと問題がおきるなどと
書いてあったりするので。
------------------------------------------------------------
*1 電圧が微妙に低い,ふらふらするなどは発振のため。
オシロスコープで調べること。
回路組み立てたらまず電圧を測定して,オシロスコープで観察することは必須。
ノイズまみれの場合,回路全体の動作に影響します。
*2 電流を一方向にしか流さない素子。調べてください。いつか説明はするつもりているけど。
*3 一方向にしか流さないが一定以上の電圧がかかると逆方向に流れる性質のダイオード。
キーワード:降伏電圧,もしくはツェナー電圧
電源の作り方
まずは電源のは話から。
安定した電源を作りたいときはシリーズレギュレータと呼ばれる,
3端子レギュレータを利用する。
例えば+12Vから+5Vを作るには定番の7805をを使う。
7805の数字の前についているLM7805,TA7805はメーカーがつけた記号。
(キーワード:セカンドソース)
ICが5Vで動作するものが多いのでよく使われるが,利点は入力(INPUT)が
12Vより下がっても5V出力すること *1。バッテリなどで動作させるときは便利だ。
あと,入力にある程度リプルがあっても平滑化される。
78の後の数字は出力(OUTPUT)の電圧は示す。7809だと+9V。
マイナス電源は79xx (xxは05などの数字)を使う。
よく間違えられるのだが,79xxがマイナス電源を作り出すわけではない。
-12Vなどを-5Vなどに変換するだけ。
----------------------------------------------------------------
*1 最低電圧はデータシートのドロップアウト電圧を調べるとわかる。
ドロップアウト電圧が 2 V の場合最低+7Vは必要。
最大は絶対最大定格の入力電圧。
ランダムのスケッチ
スケッチを見てみよう。
注目してほしいのはスケッチの行を少なくする方法と制御文if。
if(○○)だったら,else if(△△)だったら,else それ以外だったらのような使い方をする。
詳細はリファレンス参照のこと。
======================================================================
int led1 = 2, led2 = 3, led3 = 4, led4 = 5; void setup() { // 乱数初期化 randomSeed(analogRead(0)); // 出力にする pinMode(led1, OUTPUT); pinMode(led2, OUTPUT); pinMode(led3, OUTPUT); pinMode(led4, OUTPUT); } void loop() { int randNumber; // 全部消灯 digitalWrite(led1, LOW); digitalWrite(led2, LOW); digitalWrite(led3, LOW); digitalWrite(led4, LOW); // 1-4までの乱数 randNumber = random(4) + 1; if(randNumber == 1){ digitalWrite(led1, HIGH); } else if(randNumber == 2){ digitalWrite(led2, HIGH); } else if(randNumber == 3){ digitalWrite(led3, HIGH); } else{ digitalWrite(led4, HIGH); } delay(100); }
----------------------------------------------------------------------
AとBが同じだったらif(A == B)と記述する。スケッチではif(randNumber == 1)
ArduinoはA = Bと書いても警告されない。間違えなければいいのだけど。。。
A = Bも実は別の用途で使われることがある。
リファレンスでもWarning:で長々と説明している。
(だったら,間違ってませんか? と警告してくれればいいのに)
乱数を光で表現してみた。感想は?
乱数を光で表現してみた。
手順は,
・LEDを全部消す
・乱数のLEDを0.1秒間点灯させる
これの繰り返し。
意外と偏りがあって,バラバラでない感じがしなかっただろうか。
それても,イメージ通りだっただろうか。感想を聞いてみたい。
偏りがあると感じたのは,
・連続して同じLEDが点灯するので点きっぱなしなる。バラバラ感がない。
・1-3は点灯するけど,なかなか4が点灯しない。偏った感じがする。
といったところだろうか。
それぞれのLEDは同じ確率で点灯する。が,均等ではない。
さいころを振って一の目が続けて出ることがあるだろう。偶然ではない。確率の問題だ。
乱数とはそのようなものなのだ。






