電子工作メモ
I(電流)= E(電圧) / R(抵抗)
抵抗器によって元の電圧より低い電圧が得られることを「電圧降下」と言う。
- 電力の公式
P(電力)= E(電圧) × I(電流) 電力の単位はW(ワット)
- 交流
大きさと流れる向きが周期的に変わる電流
一般家庭のコンセントに来ている電気は交流で、はるか遠い発電所から家までつながった
電線の中を、一秒間に50回もしくは60回行ったり来たりしている。
一秒間のこの繰り返しの回数は「周波数」と言って、サイクルあるいはヘルツ(Hz)
という単位で表す。
- 抵抗の直列と並列
抵抗器を直列につないでいけば電流の流れにくさはどんどん大きくなっていく。
R = R1 + R2 ……
逆に並列は電流の流れやすさはどんどん大きくなっていく。
電流の流れやすさは電気の専門分野ではQで表す。
Q = Q1 + Q2 ……
- 可変抵抗器(ボリューム)
主に二通りの使われ方をする。
・ステレオの音量調節のように、その機器を使用する。
・回路の中で必要とする微妙な抵抗値調節する。
電極と呼ばれる平行な二枚の金属板でできている。二枚の金属板は
絶縁状態にある。(したがって二枚の金属板の間には電気は流れない)
コンデンサに電池で電圧を掛けると、+の電荷と-の電荷はひきつけ会うので、
二枚の電極にそれぞれ電池の+側には+の電荷が、電池の-側には-の電荷がたまって、
お互いくっつき合おうとする。両者の間は絶縁状態にあり、また
引き付けあっているので、電池を外してもそのまま電極に留まる。
ちなみにコンデンサは電気を蓄えると言う意味で蓄電器とも呼ばれる。
- コンデンサの容量
コンデンサが蓄えられる電気の量は、電極の面積が大きいほど、
電極の隙間が狭いほど多くなる。また隙間に挟む絶縁体の種類にもよる。
この蓄えられる電気の量を容量(キャパシタンス)といって、
以下のような単位で表す。
1F(ファラッド) = 1000000μF(マイクロファラッド)
1μF = 1000000pF(ピコファラッド)
なお、コンデンサに電気がたまっていく状態を「充電」、
たまっていた電気が流れ出ていく状態を「放電」と言う。
- バリアブルコンデンサ
コンデンサにも容量を変えられるバリアブルコンデンサ(略してバリコン)
がある。固定された何枚もの羽の隙間を、軸につけられた何枚もの羽が回転する。
羽を何枚も使うのは電極の面積を大きくするため。回転させることで二つの
電極の向かい合う面積を変化させ、容量を変える。バリコンはラジオの同調回路
で使われる。
N型半導体とP型半導体を接合して作られたもので、A(アソード)からK(カソード)の方向にだけ
電気が流れる性質を持っている。最も一般的なのはシリコンダイオードで、
LEDもダイオードの一種。
電子工作で最も基本的であり、重要なもの。
P型半導体をN型半導体で挟んだ「NPN型トランジスタ」と逆の「PNP型トランジスタ」がある。
それぞれの半導体からE(エミッタ)、B(ベース)、C(コレクタ)と呼ばれる足が出ている。
電流を増幅させる働きがある。
平らな面を手前にして、左からE(エミッタ)、C(コレクタ)、B(ベース)、
と足が出ていて、通称エ・ク・ボと覚える。
ベースからエミッタに僅かな電流を流すことで、コレクタからエミッタに大きな電流の流れを作ることができる。これを増幅という。
トランジスタはコレクタにある電圧を掛け、ベースに適正な電圧を掛けると増幅作用として働くが、
特に重要なベースに掛ける電圧のことをバイアス電圧と言う。トランジスタで増幅回路を
作るポイントは、いかにしてこのバイアス電圧を正しく掛けるかということである。
なお、バイアス(bias)とは「偏り」という意味。
- オーディオジェネレータ
数百kHzまで低周波のサイン波及び矩形波を発信する装置。
矩形波とは長方形の波形を上下に繰り返す交流信号。
入力された交流信号の波形を画面に表示する装置。
増幅回路が信号を増幅する様子を目で見ることができる。
- 各種バイアス回路
トランジスタによる増幅回路は主に次の三種類がある。 バイアスの掛け方による。
1.固定バイアス
その名の通り、固定された(変動しない)バイアス電圧をベースに掛ける。機械的で
わかりやすく、一番の特徴は他の二つに比べて増幅度が大きいことである。
ただし、欠点があり、微妙であるべきはずのバイアス電圧に融通性がない。
2.自己バイアス
トランジスタ自身が自動的にバイアス電圧を調整して適当な状態に保つ。
なかなかの優れものだが、短所は増幅度を若干犠牲にすること。
つまり、増幅度優先なら固定バイアス、安定度優先なら自己バイアスということになる。
3.電流帰還バイアス
固定バイアス、自己バイアスに比べて回路は使われる部品の数も多く、
原理も少し複雑になる。この回路は音質を重視したmので、低域から
高域までフラットに増幅し、雑音も音の歪も少ないなど、良い事尽くめ
のようだが、一番の短所は増幅度をかなり犠牲にしていること。
例えば、固定バイアスの回路で増幅度が100倍だったとすると、
この回路では1/10の10倍程度の増幅度になるのが普通。また、
この回路の場合は電源電圧もある程度高い物が必要である。
固定バイアス、自己バイアスの二つは3V(場合によっては、
1.5V)でも可能だが、本回路は5V以上は欲しい。
名称にある帰還に関しては、あまり簡単ではない。一般に帰還回路
というのは、一度増幅された信号を再度入力側に戻すという
ことを行う回路だが、正帰還というのは増幅度が
上がるような戻し方をする回路、負帰還というのは
増幅度が下がるような戻し方をする回路である。オーディオ
装置のアンプなどでは当然音質優先だから、この負帰還回路
をふんだんに用いる。実は自己バイアスも少しだが増幅度
を犠牲にして安定性を高めている。これも負帰還のせいなのである。
実際、固定バイアスよりも音量は落ちるが、雑音が抑えられ
聞きやすい音になる。手軽にトランジスタで増幅回路を
作りたい場合、自己バイアスがお勧めである。
- トランジスタのスイッチング作用
小さな出力電流で大きな電流を必量とするものを動作させたい、
そのようなときはトランジスタを用いれば良い。これまで
説明してきたように、トランジスタはベースに小さな信号
(電流)を流せば、コレクタに大きな電流を流すことができる
からである。ベースに高い電圧を掛ける際は、ベースから
エミッタにあまり大きな電流が流れないように抵抗で制限
する。電源の電圧にもよるが、5V程度の時でおよそ1〜5kΩである。
コレクタに流す電流を大きくしたいときは抵抗値を小さくする。
このようにベースに掛ける電圧をON、OFFすることによって
(ON時でもベースに流れる電流はわずか)、コレクタの大きな
電流をON、OFFすることから、トランジスタによるスイッチング作用
という言い方をする。スイッチング作用のように、わすかな
電圧・電流で大きな電圧・電流を必要とするパーツや装置などを
動作させることを、〜をドライブするという言い方を
することもある。
- もうひとつのトランジスタ『FET』
FETとはField Effect Transister(電解効果トランジスタ)と言って
トランジスタの一種だが、いわゆる一般的にトランジスタと呼ばれる
ものとは構造も動作の仕方も異なる。現在のデジタルICはこのFET
で作られたものが主流となっている。単にトランジスタと言った
場合は昔からのトランジスタを指すことにする。なお両者を区別
したい場合、トランジスタをバイポーラ(動作において
電子と正孔の二つが関係するという意味)、FETをユニポーラ
(電子か正孔どちらかひとつ)という言い方をすることもある。
FETはトランジスタほどわかりやすくなく、しかも構造や働きが
異なる種類がいくつかある。ここでは、その中の電子工作で使われる
ことの多いJFET(Junction=接合型 FET)、
もうひとつは大きな電流のスイッチングに使われる
MOS(Metal Oxide Semiconductor)FET。
JFETはトランジスタ同様、構造の異なる二つの型がある。N型とP型
で、N型は「2SK_」、P型は「2SJ_」という型番の名称が付けられる。
ここで紹介するのはN型だが、P型の場合は、以下の説明でNをPに
入れ替えたものになる。N型チャネルというのはN型半導体で
できていて、S(ソース)からD(ドレイン)への
通り道になっている(チャネルとは通り道という意味)。つまり、
Dを+、Sを-として電圧を掛ければ、電子がSからNへ(電流はDからSへ)
流れる。次にG(ゲート)であるが、これはP型半導体で
できている。つまり、Gとチャネルの接点はP型とN型が接合した
ダイオードになっている。従って、Gが-、Sが+になるように
電圧を掛けると、ダイオードに対して逆向きの電圧を掛けること
になるので電流は流れない(ここがポイント!)このように、
電流が流れない向きに電圧を掛けると、接点の付近に空乏層
と言って、電子が(P型の場合は正孔が)存在しない領域を
できる。するとその空乏層のせいで、先ほどのSからDへの
電子の流れが悪くなる。つまり、Gに掛ける-の電圧によって
DからSへの電流の流れ具合を制御できるという訳である。
ここでFETのトランジスタとは異なる重要な特徴であるが、
ゲートは電圧を掛けるだけであって、電流は流れ込まない
ということである(ダイオードに逆方向の電圧を掛けるので)。
トランジスタの場合は、わずかではあるが、ベースから
電流が流れ込むことによって増幅作用あるいはスイッチング作用
が働いたが、FETの場合は電流を使わない。これは非常に
大事な特徴である。
さて、JFETはゲートに(ソースから見て)-の電圧を掛ける
ことで動作する。-の電圧を用意するのは簡単でないような
気がするが、心配はいらない。ゲートの電圧を0V(GNDの電位)
にして、ソースの電圧を+にすれば、ゲートはソースに
対して-の電圧になるのである。
ALSAの設定
$ sudo make menuconfig
[Device Drivers] → [Sound card supoort] → [Advanced Linux Sound Architecture] → [HD-Audio]と移動
xxxxxx codec support の項目すべてに * をつける
$ sudo make && sudo make modules_install
$ sudo make install
$ sudo reboot
再起動後、aplay -lでサウンドカードの情報を確認する
出力例)
% aplay -l
ハードウェアデバイス PLAYBACK のリスト
カード 0: HDMI [HDA Intel HDMI], デバイス 3: HDMI 0 [HDMI 0]
サブデバイス: 1/1
サブデバイス #0: subdevice #0
カード 1: PCH [HDA Intel PCH], デバイス 0: ALC1150 Analog [ALC1150 Analog]
サブデバイス: 1/1
サブデバイス #0: subdevice #0
カード 1: PCH [HDA Intel PCH], デバイス 1: ALC1150 Digital [ALC1150 Digital]
サブデバイス: 1/1
サブデバイス #0: subdevice #0ホームディレクトリに.asoundrcを新規作成し、以下を記述する
pcm.!spdif {
type hw
card 0
device 3
}
pcm.!default {
type plug
slave {
pcm “spdif”
}
}
ntpについて
1.systemctl enable ntpdate.service
2.systemctl enable NetworkManager.service
3.systemctl enable NetworkManager-wait-online.service
4./etc/systemd/system/ntpdate.service.d/10network-online.confを新規作成
[Unit]
After=network-online.target
Wants=network-online.target
ネットワークがオンラインになるのを待ってから、ntpdateを動かすよう設定
smart-compileの設定
Emacsのsmart-compileの設定でハマったこと
smart-compile
Emacsで書いたRubyのコードをそのまま Emacsから実行できるものです。 Rubyに限らず他の言語も可能です。
手順
1.smart-compile.elを こちらからDLする、あるいはpackage.elでインストール
(~/.emacs.d/elpaに配置されます)
2.smart-compile.elをloat-pathが通っているディレクトリ(~/.emacs.d/elisp等)に置く
3.人によってEmacsのelの管理は違うと思いますが、
私の場合、~/.emcs.d/initsというディレクトリを作り、そこにパッケージごとの
設定ファイル(71-ruby.el等)を配置し、init-loaderで読み込むという方式にしています。
という訳で、設定ファイル(~/.emacs等)に以下の記述を追加します。
(require 'smart-compile) (global-set-key (kbd "C-x c") 'smart-compile) (global-set-key (kbd "C-x C-x") (kbd "C-x c C-m"))
4.smart-compileのデフォルトではRubyのソースをsyntax checkするだけに
なっているので、smart-compile.elを修正します。
64行目あたりの
("\\.rb\\'" . "ruby -cw %f")
を("\\.rb\\'" . "ruby %f")
に修正し、
直接実行できるようにします。
5.以上で設定は完了です。C-x C-x
を実行すると、即実行できます。
のはずだったんですが、C-x C-x
を実行しても、ruby -cw
が実行されてしまい、
syntax checkだけで終わってしまう・・・。
思考錯誤した結果、以下のように設定ファイルを変更しました。
(require 'smart-compile) (setq smart-compile-alist (append '(("\\.rb$" . "ruby %f")) smart-compile-alist)) (global-set-key (kbd "C-x c") 'smart-compile) (global-set-key (kbd "C-x C-x") (kbd "C-x c C-m"))