pre 1. ブレッドボードプロトタイピング#

ゴール#

ブレッドボードによるプロトタイプの方法に慣れる。一通りの作業を自分自身で実施できるようになる。

今日つくるもの#

最終形態

FabAcademyの”Input devices”セッションにあるフォトトランジスタを使った回路のブレッドボードプロトタイプ

事前準備#

ArduinoIDEの設定#

(Fabootを通しで受けている方、単発でエレクトロニクスプロダクションを受けている方は不要)

  1. 環境設定を開き、追加のボードマネージャのURL欄にhttp://drazzy.com/package_drazzy.com_index.json を入力します

  2. ツール>ボードマネージャを開き、検索欄にattinyと入力します。 ATTinyCoreを選択し、インストールします。

概要、部品説明#

なぜブレッドボードによるプロトタイプが必要なのか#

FabAcademyでは、エレクトロニクスのアサインメントの週は、最初からEAGLEで製図し、自分で基板を切削することになります。 基板をつくり、部品実装(はんだづけ)した後で不具合が出た場合、回路自体か、部品か、あるいはソフトか、ツールチェインか、エラー原因の特定個所が絞りづらくなるため、デバッグが非常にしづらくなります。 回路は正しい事をあらかじめ確認するために、デバッグや設計に慣れないうちは、ブレッドボードで事前にプロトタイプをしておき、回路のミスがない事を確認しておくと、回路そのものの理解が深まることに加えて、その後のエラー発見や修正が格段にやりやすくなります。

回路制作用パーツの説明#

ブレッドボード#

部品とジャンパワイヤーを用いて、簡易的に回路を再現するためのものです。試作用などに用います。 ブレッドボードには通電されている列と方向のルールがある程度決まっており、その配置に法って部品を差し込んで、回路を形成していきます。

参考:サンハヤトのページ

Attiny45#

ATTINY45V-10SUR

各種制御を行う頭脳となるマイコンです。AVRというパッケージのAttiny45というものです。小さいながらもIOピンは5つあり、I2CやSPI、UARTなどの各種通信規格にも対応しています。 プログラムのできる容量はとても小さいので、簡単なプロトタイプや、センサーを読み取るだけの部分的なパーツづくりなどに適しています。

ピンアウト図 を見ながら配線しましょう。

光センサー(フォトトランジスタ)#

SENSOR PHOTO 940NM TOP VIEW 1206 PT15-21C/TR8

半導体の性質を合わせ、電流を増幅させる仕組みを持った電子部品です。 トランジスタは通常ベース、コレクタ、エミッタで構成されていますが、ベースの部分が光の受光部になっているものがフォトトランジスタです。 光を当てることでその強さによってコレクタとエミッタと呼ばれる部分に電流が増幅されながら流れます。

データシート

参考:トランジスタの仕組み(youtube)

抵抗#

カーボン抵抗(炭素皮膜抵抗) 1/4W 10kΩ

電流は抵抗が大きいと流れにくくなり、小さいと流れやすくなります。言い換えれば、抵抗器は、回路に流れる電流を一定に保ったり、必要に応じて変化させたりするための部品です。また抵抗器は、電圧を下げたり、電圧を分けたりすることにも使用されます。
参照: https://www.koaglobal.com/product/library/resistor/basic

今回の回路では、リセットピンにおけるプルアップ抵抗と、フォトトランジスタに対する電流制御用に使用されています。 ブレッドボードプロトタイピングではアキシャルリード型の抵抗を使用します。

コンデンサ#

セラミックコンデンサー 50V 1.0μF

電流を貯める性質をもつ部品です。その性質からノイズを除去したり、簡単な蓄電の役割として利用されます。今回の回路ではICのノイズ除去として使用されています。 ブレッドボードプロトタイピングではリード型のコンデンサを使用します。

ブレッドボード用ワイヤ#

ブレッドボードジャンパワイヤ

部品通しを繋げる(通電させる)ワイヤーです。ブレッドボード上では回路をわかりやすくスッキリ見せるためにこちらのタイプを用いるのが良いでしょう。

ジャンパワイヤ (FDTIケーブル接続用,ISPヘッダ用)#

ジャンパーワイヤ(オス-オス)

部品通しを繋げる(通電させる)ワイヤーです。部品通しを繋げるだけではなく、他の回路や機器との接続にも簡易的に利用できます。

その他ツールの説明#

FDTIケーブル#

FTDI USBシリアル変換ケーブル(5V)

制作した基盤とPCをシリアル通信できるようにするためのケーブルです

AVRISPmk2#

AVRISPmk2

AVRマイコンにプログラムを書き込むためのプログラマです。 Arduinoで代用することもできます。

マルチテスター#

マルチテスターのいろいろ

電圧や通電チェックなどができるデバッグ用機器です。 回路がうまく動かない原因を半分程度はこのテスターですみ分けることができます。

プロトタイピング(練習)#

いわゆるLチカ回路をArduinoとつなぐ想定で何も見ずに組んでみましょう

使用部品: - LED (砲弾型) - 抵抗(アキシャルリード) 500Ω - ジャンパワイヤー(GND,信号線)

設計順(例):

  1. LEDをブレッドボードに刺す(向きに注意)
  2. LEDとGNDの間に抵抗を加える
  3. LEDのアノードと信号線を繋げる
  4. LEDのカソードを抵抗越しにGNDに具投げる

プロトタイピング(演習)#

FabAcademyのテキストにあるリファレンスを参考に、ブレッドボード上で回路を再現してみましょう

設計順(例):

  1. Attiny45をボードの真ん中に配置する
  2. フォトトランジスタの回路をつくる
    • フォトトランジスタを広めのスペースに刺す(向きと水平垂直方向に注意)
    • 45の2番ピンとフォトトランジスタのコレクタを繋げる
    • フォトトランジスタと通電している部分に抵抗を刺し、VCCと繋げる
    • エミッタをGNDに繋げる
  3. リセット回路をつくる
    • 45の1ピンに抵抗を繋げつつ、VCCと接続する
  4. VCCとGNDの間にバイパスコンデンサをつける
  5. 45の電源回路を繋げる
    • 4ピンをVCCに、8ピンとGNDを繋げる
  6. ISP書き込み用の信号線と電源線をジャンパワイヤ6本を使い45とブレッドボードから取り出す
    • 7ピンからSCK
    • 6ピンからMISO
    • 5ピンからMOSI
    • 1ピンからRiset(抵抗を挟んでいることを確認)
    • ブレッドボードのVCCラインからVCC
    • ブレッドボードのGNDラインからGND
  7. 45給電用の電源線(VCCとGND)をブレッドボードから取り出す
  8. シリアル通信用のジャンパワイヤを45の7ピンに繋いでおく

ブレッドボードプロトタイピングでの注意点#

  • ブレッドボードの通電経路を間違えない
  • ICなどの部品はセンターに配置する Attiny45の配置

  • やりがちな過ち:大体の間違えは繋げたい部分が繋がっておらず、繋げてはいけない部分が繋がっていることで起こる

    • 抵抗やコンデンサの脚の掛け方が90度間違っている → ショートしてしまってる
    • GNDが全ての部品に繋がっていない → VCCとGNDは間違うと危険なのでなるべく赤と黒で統一して使うようにしましょう
    • ジャンパワイヤが抜けてしまう → ブレッド用の脚の短いものを利用しましょう
    • VCCやGNDがブレッドボード上で繋がっていなかった

動作確認#

ArduinoIDEによるプログラム書き込み#

  • AVRISPmk2とブレッドボード回路の接続

回路の結線や機器同士の接続は基本的には電源を繋がない状態で実施します。

以下のようにmk2と回路のジャンパワイヤを接続します。 各ピン通しが繋がるように注意します。マスキングテープなどでジャンパワイヤ側を仮止めしておくと後の作業がやりやすくなります。

mk2と回路の接続

mk2のコネクタのピン配置です

mk2pin

一度PCに繋いでみましょう。この時点ではmk2のLEDは赤になっています。書き込み先のマイコンがないという合図です。

  • マイコンへの電源供給…FDTIケーブルとブレッドボード回路の接続

次にマイコン側へ電源を別系統で給電します。給電方法はなんでも良いのですが、あとでシリアルモニタを使ってセンサ値を確認したいので、FTDIケーブルを使い、PCから給電します。

FTDIと回路の接続

マイコンへ給電すると、mk2のLEDが緑に点灯します。この状態になればほぼ回路は正常に動いていることになります。次のステップに進んでください。 緑にならない場合、テスターでデバックします。

  • アナログ値を読むサンプルのダウンロード

  • ArduinoIDEを以下の設定にしてブートローダを書き込んだ後(厳密には今回の回路では不要ですが)プログラムを書き込み

IDEの設定

  • 実行(シリアルモニタで出力値を確認して見ましょう)

FTDIケーブルにシリアルの信号線を繋ぎます。

シリアル接続

この時、mk2が繋いだままになるとエラーになるので、mk2との接続は、外します。 mk2と切り離す

IDEからシリアルポートを選択肢、シリアルモニタを立ち上げ、ボーレートを9600に設定します。  成功すると明るさが取れていることが確認できます

通常時

通常時

手でセンサを覆う

暗い

スマホのライトをあてる

明るい

暗くするほど電圧が高くなる回路になっています。

デバッグ#

目視での確認#

回路が正しいか今一度確認してみましょう。目視で発見できるミスもかなり多いです。

マルチテスターでの確認#

うまく動かない場合、回路のどこに原因があるのか、マルチテスターで探ってみます。

参考: 電気屋が伝授!テスターの使い方を図で分かりやすく説明

オシロスコープでの確認#

オシロスコープでのデバッグはFabAcademy内で実施予定です。今回の基板でオシロスコープによるデバッグが必要な場合インストラクターと一緒に実施しましょう。

環境による調整#

ものすごく明るい状況でもあまり電流を流さないため、よりわかりやすい変化を取得したい場合や、明るさの計算をしたい場合は、プログラムや回路を調整する必要があります

チャレンジ#

外部リファレンス#