AVRマイコン開発メモ4(Transistor Testerを作成)

今回は前から作成したかったトランジスタテスターを自作してみる。プログラムは後述するGithubにあるソースを少しだけ手直しして書き込むだけで、ほぼ自作PCBの内容になる。

AVRマイコン開発メモ1(開発環境準備)
AVRマイコン開発メモ2(AVRプログラマ Pickit4編)
AVRマイコン開発メモ3(AVRプログラマ UPDI編)

そもそもトランジスタテスターとは、抵抗、コンデンサ、キャパシタ、ダイオード、トランジスタなどの部品を自動で検知して主要な情報をモニタに表示する。Amazonでも2000円程度で販売されており、正直買ったほうが早いけど。。

回路図とか参考にしたのは以下のサイトになる。別のところにオリジナルのプロジェクトがあって、それをベースにStefan氏が自作したような感じ。

ATmega TransistorTester SMD

回路の作成


筆者は自宅でレーザーを使った自作PCBの作成を行っている。今回はStefan氏の回路図を参考に自作できるレイアウト構成にアレンジしている。論理回路としてはほぼ同じ。

transistor_tester01

注意点として、後述するファームウェアは使用するLCDモニタの型番ごとにMakefileが異なる。自分はSSD1306というAmazonでも購入できるI2C通信で表示するモニタを利用している。

極力ビアを減らしたレイアウトになっている。(穴開けメンドクサイので)

PCBレイアウト図

tester_v2_02-1

F面の3D

tester_v2_01x

tester_v2_01-1

B面の3D

tester_v2_04-1

Gcode

tester_v2_03

生基板をマットブラックで塗装してそこをレーザーで焼く。両面焼くために位置決めはいろいろ試行錯誤している。穴空けしてピンで固定する方法はズレるのでやってない。

transistor_tester05

エッチング。45度ぐらいに湯煎すると促進する。

transistor_tester07

基板の完成。テスターでショート・断線してないか確認。

tester12_01

部品は手ハンダ付けで行う。ビアの代わりにハトメを使って両面を導通させる。

tester12_03

ハトメを使うに当たっての注意点としては、

  1. 普通ハトメは裏側の脚を叩いて潰して使うが、ビアとして使う場合は打たずにはんだ付けする。
  2. ランドは長穴にしてはんだ付けしやすいようにする。

両面プリントの場合、どうしても自作だとランドが両面で微妙にずれたりしている。そのまま潰すと隣のランドに接触する可能性があるのと、打ち込むことによって表面のハトメが浮いて接触不良が発生する。(実際にあった)

表面のランドに合わせてドリルで穴を空けると、裏面がずれていたりすると(穴あけ位置もずれていた)下図のようにギリギリの位置にハトメが貫通していたりする。(特にこれは酷かった)

tester12_02

ビア打ちまで終わった基板。もう一度導通チェックする。

tester12_04

部品をハンダ付けして完成。

tester12_05

ファームウェアの入手


これからPickit4でICSP接続してファームウェアを書き込んでいく。(Pickit4はAVRマイコンには電源供給できないので、別途USB接続しておく)

tester12_06

以下からビルド済みのファームウェアを取得する。hexファイルとEEPROMのバイナリが2個ある。

https://github.com/wagiminator/ATmega-Transistor-Tester/tree/master/software/binaries

上記サイトだと、USBaspプログラマを使った書き込み例があり、以下になる。

avrdude -c usbasp -p m328p -U lfuse:w:0xff:m -U hfuse:w:0xdb:m -U efuse:w:0xfd:m
avrdude -c usbasp -p m328p -U flash:w:TransistorTester.hex
avrdude -c usbasp -p m328p -U eeprom:w:TransistorTester.eep

が、持ってないので以下のようにPickit4で書き込みを行った。

avrdude -c pickit4_isp -p m328p -U lfuse:w:0xff:m -U hfuse:w:0xdb:m -U efuse:w:0xfd:m
avrdude -c pickit4_isp -p m328p -U flash:w:TransistorTester.hex
avrdude -c pickit4_isp -p m328p -U eeprom:w:TransistorTester.eep

動作確認


実際に部品を繋いでテストしてみる。まずは1kΩの抵抗からスタート。正解!

tester12_07

10uFのアルミ電解コンデンサ 正解!

tester12_08

33uHのマイクロインダクタ 正解!

tester12_11

ショットキーバリアダイオード 11EQS03L (30V1A, Vf=0.185V) まぁ正解かな?

tester12_10

NPNトランジスタ 2SC1815 (Ic=150mA, Hfe=200-300, E-C-B) まぁ正解かな?

tester12_09

MOSFET FU120N (Nch, Vt=2.0-4.0V, G-D-S) 正解!

tester12_12

インダクタがちょっと認識しづらかったりしていたが、まぁこんなもんでしょう。

後程、3Dプリンタでケースでも作成する予定。

(http://www.usagi1975.com/content/images/2022/06/tester12_03.png)

-->