pre 1. ブレッドボードプロトタイピング#
ゴール#
ブレッドボードによるプロトタイプの方法に慣れる。一通りの作業を自分自身で実施できるようになる。
今日つくるもの#
FabAcademyの”Input devices”セッションにあるフォトトランジスタを使った回路のブレッドボードプロトタイプ
事前準備#
ArduinoIDEの設定#
(Fabootを通しで受けている方、単発でエレクトロニクスプロダクションを受けている方は不要)
-
環境設定を開き、追加のボードマネージャのURL欄にhttp://drazzy.com/package_drazzy.com_index.json を入力します
-
ツール>ボードマネージャを開き、検索欄にattinyと入力します。 ATTinyCoreを選択し、インストールします。
概要、部品説明#
なぜブレッドボードによるプロトタイプが必要なのか#
FabAcademyでは、エレクトロニクスのアサインメントの週は、最初からEAGLEで製図し、自分で基板を切削することになります。 基板をつくり、部品実装(はんだづけ)した後で不具合が出た場合、回路自体か、部品か、あるいはソフトか、ツールチェインか、エラー原因の特定個所が絞りづらくなるため、デバッグが非常にしづらくなります。 回路は正しい事をあらかじめ確認するために、デバッグや設計に慣れないうちは、ブレッドボードで事前にプロトタイプをしておき、回路のミスがない事を確認しておくと、回路そのものの理解が深まることに加えて、その後のエラー発見や修正が格段にやりやすくなります。
回路制作用パーツの説明#
ブレッドボード#
部品とジャンパワイヤーを用いて、簡易的に回路を再現するためのものです。試作用などに用います。 ブレッドボードには通電されている列と方向のルールがある程度決まっており、その配置に法って部品を差し込んで、回路を形成していきます。
参考:サンハヤトのページ
Attiny45#
各種制御を行う頭脳となるマイコンです。AVRというパッケージのAttiny45というものです。小さいながらもIOピンは5つあり、I2CやSPI、UARTなどの各種通信規格にも対応しています。 プログラムのできる容量はとても小さいので、簡単なプロトタイプや、センサーを読み取るだけの部分的なパーツづくりなどに適しています。
ピンアウト図 を見ながら配線しましょう。
光センサー(フォトトランジスタ)#
SENSOR PHOTO 940NM TOP VIEW 1206 PT15-21C/TR8
半導体の性質を合わせ、電流を増幅させる仕組みを持った電子部品です。 トランジスタは通常ベース、コレクタ、エミッタで構成されていますが、ベースの部分が光の受光部になっているものがフォトトランジスタです。 光を当てることでその強さによってコレクタとエミッタと呼ばれる部分に電流が増幅されながら流れます。
抵抗#
電流は抵抗が大きいと流れにくくなり、小さいと流れやすくなります。言い換えれば、抵抗器は、回路に流れる電流を一定に保ったり、必要に応じて変化させたりするための部品です。また抵抗器は、電圧を下げたり、電圧を分けたりすることにも使用されます。
参照: https://www.koaglobal.com/product/library/resistor/basic
今回の回路では、リセットピンにおけるプルアップ抵抗と、フォトトランジスタに対する電流制御用に使用されています。 ブレッドボードプロトタイピングではアキシャルリード型の抵抗を使用します。
コンデンサ#
電流を貯める性質をもつ部品です。その性質からノイズを除去したり、簡単な蓄電の役割として利用されます。今回の回路ではICのノイズ除去として使用されています。 ブレッドボードプロトタイピングではリード型のコンデンサを使用します。
ブレッドボード用ワイヤ#
部品通しを繋げる(通電させる)ワイヤーです。ブレッドボード上では回路をわかりやすくスッキリ見せるためにこちらのタイプを用いるのが良いでしょう。
ジャンパワイヤ (FDTIケーブル接続用,ISPヘッダ用)#
部品通しを繋げる(通電させる)ワイヤーです。部品通しを繋げるだけではなく、他の回路や機器との接続にも簡易的に利用できます。
その他ツールの説明#
FDTIケーブル#
制作した基盤とPCをシリアル通信できるようにするためのケーブルです
AVRISPmk2#
AVRマイコンにプログラムを書き込むためのプログラマです。 Arduinoで代用することもできます。
マルチテスター#
電圧や通電チェックなどができるデバッグ用機器です。 回路がうまく動かない原因を半分程度はこのテスターですみ分けることができます。
プロトタイピング(練習)#
いわゆるLチカ回路をArduinoとつなぐ想定で何も見ずに組んでみましょう
使用部品: - LED (砲弾型) - 抵抗(アキシャルリード) 500Ω - ジャンパワイヤー(GND,信号線)
設計順(例):
- LEDをブレッドボードに刺す(向きに注意)
- LEDとGNDの間に抵抗を加える
- LEDのアノードと信号線を繋げる
- LEDのカソードを抵抗越しにGNDに具投げる
プロトタイピング(演習)#
FabAcademyのテキストにあるリファレンスを参考に、ブレッドボード上で回路を再現してみましょう
設計順(例):
- Attiny45をボードの真ん中に配置する
- フォトトランジスタの回路をつくる
- フォトトランジスタを広めのスペースに刺す(向きと水平垂直方向に注意)
- 45の2番ピンとフォトトランジスタのコレクタを繋げる
- フォトトランジスタと通電している部分に抵抗を刺し、VCCと繋げる
- エミッタをGNDに繋げる
- リセット回路をつくる
- 45の1ピンに抵抗を繋げつつ、VCCと接続する
- VCCとGNDの間にバイパスコンデンサをつける
- 45の電源回路を繋げる
- 4ピンをVCCに、8ピンとGNDを繋げる
- ISP書き込み用の信号線と電源線をジャンパワイヤ6本を使い45とブレッドボードから取り出す
- 7ピンからSCK
- 6ピンからMISO
- 5ピンからMOSI
- 1ピンからRiset(抵抗を挟んでいることを確認)
- ブレッドボードのVCCラインからVCC
- ブレッドボードのGNDラインからGND
- 45給電用の電源線(VCCとGND)をブレッドボードから取り出す
- シリアル通信用のジャンパワイヤを45の7ピンに繋いでおく
ブレッドボードプロトタイピングでの注意点#
- ブレッドボードの通電経路を間違えない
-
ICなどの部品はセンターに配置する
-
やりがちな過ち:大体の間違えは繋げたい部分が繋がっておらず、繋げてはいけない部分が繋がっていることで起こる
- 抵抗やコンデンサの脚の掛け方が90度間違っている → ショートしてしまってる
- GNDが全ての部品に繋がっていない → VCCとGNDは間違うと危険なのでなるべく赤と黒で統一して使うようにしましょう
- ジャンパワイヤが抜けてしまう → ブレッド用の脚の短いものを利用しましょう
- VCCやGNDがブレッドボード上で繋がっていなかった
動作確認#
ArduinoIDEによるプログラム書き込み#
- AVRISPmk2とブレッドボード回路の接続
回路の結線や機器同士の接続は基本的には電源を繋がない状態で実施します。
以下のようにmk2と回路のジャンパワイヤを接続します。 各ピン通しが繋がるように注意します。マスキングテープなどでジャンパワイヤ側を仮止めしておくと後の作業がやりやすくなります。
mk2のコネクタのピン配置です
一度PCに繋いでみましょう。この時点ではmk2のLEDは赤になっています。書き込み先のマイコンがないという合図です。
- マイコンへの電源供給…FDTIケーブルとブレッドボード回路の接続
次にマイコン側へ電源を別系統で給電します。給電方法はなんでも良いのですが、あとでシリアルモニタを使ってセンサ値を確認したいので、FTDIケーブルを使い、PCから給電します。
マイコンへ給電すると、mk2のLEDが緑に点灯します。この状態になればほぼ回路は正常に動いていることになります。次のステップに進んでください。 緑にならない場合、テスターでデバックします。
-
アナログ値を読むサンプルのダウンロード
-
ArduinoIDEを以下の設定にしてブートローダを書き込んだ後(厳密には今回の回路では不要ですが)プログラムを書き込み
- 実行(シリアルモニタで出力値を確認して見ましょう)
FTDIケーブルにシリアルの信号線を繋ぎます。
この時、mk2が繋いだままになるとエラーになるので、mk2との接続は、外します。
IDEからシリアルポートを選択肢、シリアルモニタを立ち上げ、ボーレートを9600に設定します。 成功すると明るさが取れていることが確認できます
通常時
手でセンサを覆う
スマホのライトをあてる
暗くするほど電圧が高くなる回路になっています。
デバッグ#
目視での確認#
回路が正しいか今一度確認してみましょう。目視で発見できるミスもかなり多いです。
マルチテスターでの確認#
うまく動かない場合、回路のどこに原因があるのか、マルチテスターで探ってみます。
参考: 電気屋が伝授!テスターの使い方を図で分かりやすく説明
オシロスコープでの確認#
オシロスコープでのデバッグはFabAcademy内で実施予定です。今回の基板でオシロスコープによるデバッグが必要な場合インストラクターと一緒に実施しましょう。
環境による調整#
ものすごく明るい状況でもあまり電流を流さないため、よりわかりやすい変化を取得したい場合や、明るさの計算をしたい場合は、プログラムや回路を調整する必要があります
チャレンジ#
-
フォトトランジスタと電源系統の間に付いている抵抗の位置をコレクタ(VCC)側ではなくエミッタ(GND)にしてみるとどうなるでしょう
-
デジタル値を読むセンサー、すなわちスイッチとして機能するコードを考えてみましょう。 (フォトトランジスタについている抵抗の値をさらに大きいものに変える方が良いかもしれません) 参考:
https://www.digikey.jp/ja/articles/techzone/2018/sep/how-to-use-photodiodes-and-phototransistors-most-effectively