実験で作った回路の説明です。
豆電球と乾電池の実験で考える電気回路の基礎
豆電球と乾電池を導線(金属の線)でつないで、点灯させる実験から電気回路を考えてみます。
乾電池は導線を通して、豆電球に点灯させるエネルギーを与えています。
- 乾電池ようにエネルギーを与えるものを「電源」と言います。
- 豆電球ようにエネルギーをもらって、光を出したり、熱を出したりする仕事をするものを「負荷」と言います。
- 電源から豆電球にエネルギーを送るものを「導線」と言い、普通は金属の線でできています。
乾電池のような電源にはプラス(+)とマイナス(ー)に二つの端子があります。
電気の流れ(電流)は電源のプラスの端子から出ていき、負荷をとおってマイナスの端子に戻ってきます。
このように、電気の流れ(電流)が「電源(+) ⇒ 負荷 ⇒ 電源(ー)」と一周する経路を電気回路といいます。
電源や負荷を写真や絵で書いて電気回路に図に書くことは難しいので、「記号」を使って表わします。
「記号」を使って電気回路を表わした図のことを「回路図」と言います。
次の図は豆電球イラスト(上図)の回路図です。
電圧、電流、抵抗
電気には大きく分けると電圧と電流があり、この2つの働きにより豆電球が点灯したり、スマホの通話や表示などができるようになります。
電圧と電流の関係は水位の差と流れる水の量(水量)、水の通りやすさで考えることができます。
水位と水量、水路の太さの関係
- 水位の差(水槽の高さの位置)により流れる水の量(水量)が変化します。
水槽の高さが高いほど流れる水の量(水量)が増え、低くしていくと水量が減っていき、水路に傾きが地面と平行になると水は流れなくなり水量はゼロになります。 - 水の通りやすさにより、水量が変化します。
水路が細くなり水が通りにくくなると、水量が減り、太くなると水量は増えます。
電圧と電流、抵抗の関係
水位と水量、水路の太さの関係から、電圧と電流、抵抗の関係を考えます。
- 電圧は電位差とも言われ、水位の差に当たります。
- 電流は流れる水の量に当たります。
- 抵抗(電気抵抗)は水のとおりやすさに当たます。
乾電池のように電流の流れる方向が変わらず、電圧が常に一定している電気を「直流」と言います。
電圧は電流を流そうとする力で、抵抗は電流を流さないようにと、抵抗する力です。
▶️単位と表記
電圧、電流、抵抗の表し方(表記)と単位は次のとおりです。
項 目 | 表 記 | 説 明 | 単位(呼び方) |
---|---|---|---|
電圧 | V | Voltageの頭文字です。 | V (ボルト) |
電流 | I | Intensity of Currentの頭文字です。 | A (アンペア) |
抵抗 | R | Resistancの頭文字です。 | Ω (オーム) |
▶️よく使う大きさ(補助単位)
電圧、電流、抵抗はミリ 「m」、マイクロ 「μ」、キロ 「K」、メガ 「M」などの大きさといっしょに使われます。
表 記 | 呼び方 | 使 用 例 |
---|---|---|
m | ミリ | 基準の1000(千)分の1 (1mA = 1Aの1000分の1、10mV = 10Vの1000分の1) |
μ | マイクロ | 基準の1000000(百万)分の1 (1μA = 1Aの1000000分の1、10μV = 10Vの1000000分の1) |
K | キロ | 基準の1000(千)倍 (1KΩ = 1Ωの1000倍) |
M | メガ | 基準の1000000(百万)倍 (1MΩ = 1Ωの1000000倍) |
※この他にも、ナノ「n」、ピコ「p」なども、コンデンサやコイルの単位といっしょに使われます。
オームの法則
電流は電圧の高低と抵抗の値により、その量が変化することを確認しました。
電流の変化量を含め、電流、電圧、抵抗の関係を公式で表したものが「オームの法則」で、次の三通りの式で表されます。
I:電流 V:電圧 R:抵抗
式 | 説 明 |
---|---|
$$I=\frac {\ V}{R}$$ | 1. 抵抗に流れる電流は、抵抗の両端の電圧の高低に比例します。 2. 抵抗に流れる電流は、抵抗の増減に反比例します。 |
$$V= {I}{R}$$ | 1. 抵抗の両端に発生する電圧は、抵抗に流れる電流の増減に比例します。 2. 抵抗の両端に発生する電圧は、抵抗の増減に比例します。 |
$$R=\frac {\ V}{I}$$ | 1. 抵抗は、抵抗に流れる電流の増減に反比例します。 2. 抵抗は、抵抗の両端に発生する電圧の高低に比例します。 |
電圧、抵抗、電流の中で、二つの値が決まると、残りの一つの値が決まります。
電源(電池)と抵抗の回路
抵抗の回路記号は、現在2種類が使われていますが、「ラズパイ実験室」では、旧タイプの回路記号(図の下の段)を使っていきます。
電源(電池)の電圧が3V、抵抗が1KΩ(=1000Ω)であれば、抵抗に流れる電流は3mAです。
$$I=\frac {\ V}{R}=\frac {\ 3V}{1KΩ}=\frac {\ 3V}{1000Ω}=0.003A=3mA$$
3A=3000mAですので、両辺を1000分の1にすると0.003Aは3mAとなります。
直列回路
次の図のように電池に2つの抵抗、R1とR2が一列につながっている回路の電流と電圧を考えます。
この回路のように電流の流れる道すじが一本になっている回路を「直列回路」と言います。
抵抗R1とR2に流れる電流「I」は、電流の流れる道すじが一本であるので同じ値です。
抵抗R1の両端の電圧を「V1」、R2の両端の電圧を「V2」とすると、オームの法則より次のようになります。・・・(ア)
$$V1= {I}{R1}$$
$$V2= {I}{R2}$$
R1の左(1)とR2の右(2)の間の電圧は「V」ですので、「V」と「V1」、「V2」の関係は次のようになります。
$$V= {V1}+{V2}$$
「V1」と「V2」に(ア)の「V1」と「V2」を代入して、電流「I」を求めます。
$$V= {V1}+{V2}= {I}{R1}+ {I}{R2}$$
$$V= {I}({R1}+ {R2})$$
したがって、抵抗R1、R2に流れる電流「I」は次のように求められます。
$$I= \frac {\ V}{R1+R2}$$
ここで、次のように抵抗を一つの抵抗として置き換えると、電源にとっては抵抗がいくつあっても、一つの抵抗として見ることができます。
$$R={R1+R2}$$
$$I= \frac {\ V}{R}$$
直列回路の全体の抵抗は、つながっている抵抗を足した値となり、電源から見た場合一つの抵抗として考えることができます。
この一つの抵抗を「全体抵抗(合成抵抗)」と言います。
並列回路
次の図のように電池に2つの抵抗、R1とR2が並んでつながっている回路の電流と電圧を考えます。
この回路のように、抵抗が並んでいる回路を「並列回路」と言います。
並列回路も電源から見た場合は一つの抵抗、全体抵抗(合成抵抗)として考えることができます。
R1とR2の両端の電圧は電源電圧のVと同じ値です。
抵抗R1に流れる電流を「I1」、R2に流れる電流を「I2」とすると、オームの法則より次のようになります。・・・(ア)
$$I1= \frac {\ V}{R1}$$
$$I2= \frac {\ V}{R2}$$
電流「I」は水路の分岐のように、図の(1)の分岐点で「I1」と「I2」に分かれ、図の(2)の合流点で一つになりますまので、電流は次の関係になります。
$$I={I1+I2}$$
「I1」、「I2」に(ア)の「I1」と「I2」を代入して、電流「I」を求めます。
$$I={I1+I2}= \frac {\ V}{R1}+ \frac {\ V}{R2}$$
電源から見たR1とR2の全体抵抗(合成抵抗)を「R」すると、上に式は次のように考えることができます。
$$I=\frac {\ V}{R}= \frac {\ V}{R1}+ \frac {\ V}{R2}$$
この式の左辺と右辺を「V」で割ると全体抵抗(合成抵抗)が求まります。
$$\frac {\ 1}{R}= \frac {\ 1}{R1}+ \frac {\ 1}{R2}$$
この式では計算が難しいので、求めやすくするため、はじめに両辺の逆数をとります。
$$\frac {\ 1}{\frac {\ 1}{R}}=\frac {\ 1}{ \frac {\ 1}{R1}+ \frac {\ 1}{R2}}$$
左辺はRとなります。
$$R=\frac {\ 1}{ \frac {\ 1}{R1}+ \frac {\ 1}{R2}}$$
右辺の分母と分子にR1R2を掛けます。
$$R=\frac {\ R1R2}{R1R2( \frac {\ 1}{R1}+ \frac {\ 1}{R2})}$$
分母を展開すると計算しやすい式になります。
$$R=\frac {\ R1R2}{ {R2}+{R1}}$$
分母のR1とR2の順番を入れ替えます。
$$R=\frac {\ R1R2}{ {R1}+{R2}}$$
分圧について考える
電気回路の作成の中で、電圧を求めるときに、たびたび使われる分圧について、先に説明した直列回路を使って考えます。
抵抗R1の両端の電圧を「V1」、R2の両端の電圧を「V2」とすると、オームの法則より次のようになることを説明しました。・・・(ア)
$$V1= {I}{R1}$$
$$V2= {I}{R2}$$
「V1」、「V2」は抵抗のほかに電流「I」がわからないと、計算できません。
分圧の考えを使うと電流「I」がわからなくても、「V1」、「V2」をR1、R2、Vの値だけで計算することができます。
電流「I」はオームの法則から次に式で求めることができます。・・・(イ)
$$I= \frac {\ V}{R1+R2}$$
(ア)の電流「I」に(イ)の電流「I」に代入して、「V1」と「V2」を求めます。
$$V1= \frac {\ R1}{R1+R2}{V}$$
$$V2= \frac {\ R2}{R1+R2}{V}$$
(ア)より「V1」と「V2」の比を考えます。
$${V1}:{V2}= \frac {\ V1}{V2}= \frac {\ IR1} {IR2}= \frac {\ R1} {R2}={R1}:{R2}$$
二つの抵抗の両端の電圧の比は、その抵抗の比と同じになります。
$${V1}:{V2}= {R1}:{R2}$$
このように直列回路において、電圧が分割されることを「分圧」といい、抵抗の場合は、それぞれの抵抗の比によって分圧されます。
たとえば、電源の電圧Vが「3V」、抵抗R1が「1KΩ」、抵抗R2が「2KΩ」の時の、それぞれの抵抗の両端の電圧V1、V2は次のようになります。
$${V1}:{V2}= {1}:{2}$$
$${V1}+{V2}= {3V}$$
ですので、V1=1V、V2=2Vになります。
今回、「電気分野が3日でわかる本」にお世話になりました。
PWM【Pulse Width Modulation】 パルス幅変調
一定の周期に中にあるパルス幅を変えることで、負荷に供給する電流を制御します。
一定の周期に中にあるパルスのHigh状態の時間により、電流値は制御され、High状態の時間が長いほど多くの電流が流れることになります。
一定の周期とパルスのHigh状態の時間の比を「デューティ比」と言います。
例えば、パルスではなく、常時Highの時の電流が「5mA」とします。
- 図Aの場合は「5mA X 0.5 = 2.5mA 」の電流が供給されることになります。
- 図Bの場合は「5mA X 0.7 = 3.5mA 」の電流が供給されることになります。
ADC 【Analog-to-Digital Converter】A/Dコンバータ
A/Dコンバータは、アナログ信号をデジタル信号に変換する電子回路です。
連続して変化するアナログ信号を、一定の時間で分割し、分割した個別のアナログ量をビット(0と1)で表現されるディジタル信号に変換します。
個別のアナログ量をディジタル信号に変換することを「量子化」と呼び、ビットの数の組み合わせでアナログ量を近似的に表します。
ビットの数が多いほど、組み合わせの結果を個別のアナログ量に近づけることができます。
例えば、ビットの数が3(3ビット)で表される組み合わせは、「000(0)、001(1)、010(2)、011(3)、100(4)、101(5)、110(6)、111(7)」の8通りです。((x)は10進数で表した場合の値です。)
仮に、0~8Vの電圧を、3ビットで表現した場合、0V、1V、2V、3V、4V、5V、6V、7Vの8個の値しか表すことができませんので、より多くの値を表わすためには、ビットの数を増やす必要があります。
ラズパイPicoWのA/Dコンバータ
ラズパイPicoWは入力したアナログ信号を、12ビットのディジタル値に変換できます。
12ビットは4096通り(2 ^ 12 = 4096)の値を表現できるため、1Vの入力であれば、0Vから約0.24mv(1/4096=0.0002441)の間隔で1Vを表わすことができます。
また、MicroPythonは入力した電圧をプログラムで16ビット(2 ^ 16 =65536)で表現することができるため、より細かい値を表わすことができます。
I2C(アイ・スクエアド・シー)通信
I2C通信は1980年フィリップス社で開発されたシリアル通信方式です。
SDAとSCLの2本の信号線で、ラズパイPicoWなどのコンピュータ(マスター)から、複数のデバイス(スレーブ)を制御することができます。
通信の速度は標準モード、ファーストモード、高速モードの3種類のモードがあり、それぞれ、100kbps、400kbs、3.4Mbpsの通信を行うことができます。
通信距離は比較的高いインピーダンスと低い雑音耐性のため、数メートルに制限されています。
ラズパイPicoWのI2C通信
SDA(シリアルデータ)とSCL(シリアルクロック)は、マスターといわれるデバイスと複数のスレーブといわれるデバイスに接続されます。
同じ信号線に接続されたスレーブは、デバイスごとに付与されているアドレスにより識別されるあめ、同じ種類のデバイスを接続する場合は、アドレスが重複する可能性があるので注意が必要です。
SDAとSCLはプルアップする必要がありますが、ラズパイPicoWは内部でプルアップしているので、外部でプルアップする必要はありません。
通信手順
シリアル通信は1つのデータ伝送路を使って、1ビットずつデータを送受信する方式です。
I2C通信はデータをSDA信号に乗せ、SCLのタイミングに同期させて送受信を行います。
▶️マスターからスレーブへデータを送信
- マスターは、通信を開始するための合図(スタートコンディション)をSCLをHigh、SDAをLowにして送信します。
- マスターは、通信したいスレーブのアドレスと送信(W)コマンドを送信します。
- アドレスと送信(W)コマンドを受信したスレーブの中で、アドレスが一致したスレーブは、準備(スタンバイ)状態になったことを知らせるアクノリッジ(A)をマスターに返信します。(アドレスが一致しないスレーブは待機状態になります。)
- アクノリッジ(A)を受信したマスターは、データをスレーブに送信します。
- スレーブはデータを受信後、再び、アクノリッジ(A)をマスターに返信します。
- 必要に応じて、4.と5.を繰り返します。
- データの送信を終了した時、マスターは通信終了の合図(ストップコンディション)をSCLをHigh、SDAをHighにして送信します。
▶️スレーブからのデータをマスターが受信
- マスターは、通信を開始するための合図(スタートコンディション)をSCLをHigh、SDAをLowにして送信します。
- マスターは、通信したいスレーブのアドレスと受信(R)コマンドを送信します。
- アドレスと受信(R)コマンドを受信したスレーブの中で、アドレスが一致したスレーブは、準備(スタンバイ)状態になったことを知らせるアクノリッジ(A)をマスターに返信します。(アドレスが一致しないスレーブは待機状態になります。)
- アクノリッジ(A)を返信したスレーブは、データをマスターに送信します。
- マスターはデータを受信後、再び、アクノリッジ(A)をスレーブに返信します。
- 必要に応じて、4.と5.を繰り返します。
- データの受信を終了した時、マスターは通信終了の合図(ストップコンディション)をSCLをHigh、SDAをHighにして送信します。
SPI(シリアル・ペリフェラル・インタフェース)通信
SPI通信はモトローラ社が提唱したシリアル通信方式です。
数Mbpsの速度で通信ができるため、ラズパイPicoWの外部に接続された、A/DコンバータやD/Aコンバータとの通信にも使われます。
通信距離は一般的には1m程度と言われています。
SCK、MISO、MOSIとCSの4本の信号線で、ラズパイPicoWなどのコンピュータ(マスター)から、複数のデバイス(スレーブ)を制御することができます。
信 号 名 | 説 明 |
SCK(Serial Clock) | データ転送を同期させるため、ラズパイPicoW(マスター)から、送信されるクロック信号です。 |
MISO(Master In Slave Out) | スレーブからマスターへのデータを送信する信号線です。 |
MOSI(Master Out Slave In) | マスターからスレーブへのデータを送信する信号線です。 |
CS(Chip Select) | 制御するスレーブを選択するための信号線です。 |
ラズパイPicoWのSPI通信
SCK、MISO、MOSIとCSは、マスターといわれるデバイスと複数のスレーブといわれるデバイスに接続されます。
同じ信号線に接続されたスレーブは、CS信号により選択されます。
ラズパイPicoWは、MISOはRX、MOSIはTXとして表記されます。
通信手順
シリアル通信は1つのデータ伝送路を使って、1ビットずつデータを送受信する方式です。
SPI通信はデータをMISO(RX)信号または、MOSI(TX)に乗せ、SCKのタイミングに同期させて送受信を行います。
▶️マスターからスレーブへデータを送信
- マスターは、データを送信するスレーブの「CS」を、Lowに設定して選択します。
- マスターは、その後、データを送信するために「SCK」を出力します。
- マスターは、「SCK」に同期して、「MOSI(TX)」からデータを出力します。
- スレーブは、「SCK」に同期して、「SDI」でデータを受信します。
- マスターは、データ送信を終了したスレーブの「CS」を、Highに設定して選択を解除します。
▶️スレーブからのデータをマスターが受信
- マスターは、データを受信するスレーブの「CS」を、Lowに設定して選択します。
- マスターは、その後、データを受信するために「SCK」を出力します。
- スレーブは、「SCK」に同期して、「SDO」からデータを出力します。
- マスターは、「SCK」に同期して、「MISO(RX)」でデータを受信します。
- マスターは、データ受信を終了したスレーブの「CS」を、Highに設定して選択を解除します。
▶️マスターとスレーブが送受信
SPIの通信はデータの送信と受信を同時に行うことができます。
マスターからスレーブにクロックを送信し、クロックに同期して、マスターとスレーブは同時にデータを送受信することができます。
UART【Universal Asynchronous Receiver Transmitter】通信
UARTは非同期(調歩同期)によるシリアル通信方式で、1バイト単位でデータを送受信します。
信号線は送信用のTXと受信用のRXで、ラズパイPicoWとセンサーなどのデバイスとは1対1で接続します。
UARTの送受信は、送信の開始/終了やアドレスと言った概念がないため、送信側と受信側で開始と終了の合図を決めておき、データを送受信します。
開始と終了の合図を含め、主に次のような通信に必要な規約があります。
規 約 | 説 明 |
スタートビット | データを開始する合図で、通常は1ビットです。 |
データビット | 通常は8ビット(1バイト)でデータを表現します。 |
パリティビット | 受信したデータにエラーが無いかをチェックするビットです。データビットとパリティビットに含まれる『1』の数の合計が偶数の場合は偶数パリティ、奇数の場合は奇数パリティと言います。パリティビットの省略可能です。 |
ストップビット | データを終了する合図で、通常は1ビットです。 |
ボーレート | 1秒間に送信されるデータのビット数を表す単位で、一般的には9600bps、115200bps(bit per second)です。 |