図 ワテの場合、Arduinoは知っているがAVRは今回初挑戦。PICは触った事も無い。あかんがなw
さて、2021年新年早々、どえらい高い半田ステーションを買っちまったワテであるが、この半田ゴテを使って今年もバンバンとヘンテコな電子工作をやりたいと思っている。
とは言っても、電子回路初心者のワテなのでオリジナルな回路を設計するのはなかなか難しい。特にアナログ系の回路は。
そう言う点ではArduinoやPICなどのマイコンを使った電子工作であれば、プログラミングをすれば良いわけだから、ワテにとってはハードルは低い。何故なら、自称プログラミングの達人、いや変人だからだ。
ヘンテコなプログラムなら幾らでも書けるワテなので、Arduinoなどのマイコン回路に各種の周辺回路をネット記事などを参考に付ければ色んな電子工作が出来そうだ。
当記事では、Arduinoに使われているAtmel AVRマイコンチップ(米国アトメル社製)にプログラムを書き込めるらしい「PICerFT」と言うライター(writer)機器を自作する事にしたので、その過程を紹介したい。USB接続でWindowsパソコンから制御出来るらしいので、作ってみる事にしたのだ。
また、プリント基板設計ソフトであるKiCadの使い方を解説した。
この記事を読めば、KiCadを全く知らない人でも、二時間も練習すれば基板設計の基礎をマスター出来ると同時に、基板製造に必要なガーバーファイルの出力、そのガーバーファイルを海外基板製造業者さんのサイトにアップロードしてプリント基板を発注する作業までマスター出来るだろう。
ワテの場合も、PICerFTライター専用基板をKiCadで設計して、PCBWayさんに発注した。
では、本題に入ろう。
ArduinoのLEDチカチカくらいならワテにも出来る
ワテの場合、2017年9月頃にArduino UNOを買った。
その当時は「よし!Arduinoとやらを勉強するぞ!」
と意気込んだのだが、LEDチカチカ、俗にLチカをやってみたら案外簡単に出来たのだ。
その結果、
「な~んや、Arduinoって簡単やがな」
と思ってしまい、その後は、何もやっていなかった。
あかんがなw
もう三年も前の事か…
ますますあかんがなw
Arduino IDEで三年ぶりにLチカをやってみた
三年前のLチカはVisual Studio 2017を使ってやったのだが、今回は、Arduino純正のArduino IDEと言う無料開発環境を使ってLチカをやってみた。
下写真のようにArduino UNO基板をUSBケーブルでパソコンに接続する。
写真 Arduino UNO基板をUSBケーブルでパソコンに接続
なお、Arduino UNO基板には、外部DC電源用のジャックがあるのだが、ワテの場合、USB接続すると同時に外部電源も供給する必要があると思っていたのだが、どちらか一方で良いらしい。今の場合はUSB接続しているのでUSB電源5Vが供給されるので外部電源は不要だ。
一方、スケッチを書き込んだArduinoからUSBケーブルを抜いて単体で動作させるには外部電源が必要になる。そう言う事か。知らなんだw
まずは、LEDチカチカ用のスケッチを書く。
英語でスケッチ(sketch)とは「スケッチ、写生、下絵、素描、見取り図」など色んな意味があるが、Arduinoの世界では「プログラム」の事らしい。
だったらスケッチなんて呼ばずにプログラムと呼べばいいのにと思うのだが。
さて、ネット記事などを参考に作成したLEDチカチカスケッチを下図に示す。
図 ネット記事などを参考に作成したLEDチカチカスケッチ
#define LED_PIN 13 void setup() { pinMode(LED_PIN, OUTPUT); Serial.begin(9800); } int i=0; void loop() { digitalWrite(LED_PIN, HIGH); delay(100); digitalWrite(LED_PIN, LOW); delay(500); i++; Serial.println("Hello, World"); Serial.println(i); }
コード ArduinoでLEDチカチカをやるスケッチプログラムコード
あと、下図に示すようにシリアルモニタ画面も表示してみた。
図 Arduino IDEでシリアルモニタ画面を表示する
そして、下図のように「マイコンボードに書き込む」をクリックして実行すると
図 マイコンボードに書き込むボタンをクリックして実行する
下写真のようにLEDがチカチカした。
図 上側LEDが、消灯(左)と点灯(右)を繰り返す。下側LEDは常時点灯していた
それと同時に、シリアルモニタ画面に文字がプリントされた。
図 シリアルモニタ画面に文字の印字に成功
さて、Lチカは出来た。
Arduinoからブレッドボード上の単体AVRに移行する方法
Arduino UNOに使われているマイコンチップはAtmel社のAVRと言うRISCベースの8ビットマイコンだ。具体的には、ATMEGA328P-PUと言うDIP28ピンタイプが載っている。
AVRマイコンにはこのDIP28ピンタイプを含めてDIP8、14、20、28、40ピンやQFP64などがあるようだ(秋月で売っているやつを調べた限りでは)。
Arduino UNO、Arduino Nanoなど色んなシリーズがあるが、要するにこのAVRマイコンに幾つかの周辺回路を追加したものがArduinoと呼ばれるボードだ。
Arduinoボードは、AVRマイコン、入出力ポートを備えた基板であり、Arduino IDEはC言語風の「Arduino言語」によってプログラムを制作・コンパイル・デバッグ等し、それをArduinoボードに転送 等々するための「統合開発環境」と呼ばれる、PC上で作動させる一種のソフトウェアである。
引用元 Arduinoのwikipedia
なので、Arduinoボードに付いている各種の入出力ポートがそんなに沢山必要無ければ、AVRマイコンをブレッドボードに挿すなどして単体で使うとこじんまりとした回路を作る事が出来る。
それで動作確認が出来れば、あとは専用基板を設計してAVRチップを使った各種の自作機器を製作出来るのだ。
その場合に問題になるのが、プログラム(スケッチ)の書き込みだ。
単体AVRにスケッチを書き込む方法
Arduino UNOなどのボードの場合には、無料開発環境Arduino IDEを使えばUSB経由でArduinoボードに簡単にスケッチを書き込める。
では単体のAVRチップにスケッチを書き込むにはどんな方法があるのか調べてみた。
この手の情報は、ネット記事に多数あるが、玉石混淆と言う感じでどれが正しいのか良く分からない。なので、本家Arduinoのサイトを参考にする事にした。最も正確な情報があるからだ。
ブートローダー書き込み(Burning the Bootloader)
まずは、新品のATmegaチップをブレッドボードに挿して、下図のようにArduinoと接続する。
図 Arduinoを使ってブレッドボード上のATmegaチップにブートローダーを書き込む接続
(Using an Arduino board to burn the bootloader onto an ATmega on a breadboard.)
引用元 https://www.arduino.cc/en/Tutorial/BuiltInExamples/ArduinoToBreadboard
そして以下の手順でブートローダーを書き込める(To burn the bootloader, follow these steps:)
|
|
説明 Arduinoを使ってブレッドボードに挿した生のAVRチップにブートローダーを書き込む方法(Google翻訳使用)
引用元 https://www.arduino.cc/en/Tutorial/BuiltInExamples/ArduinoToBreadboard
ブートローダーを書き込む必要があるのは1回だけです。 これを行った後、Arduinoボードのピン10、11、12、および13に接続されているジャンパー線を取り外すことができます。 | You should only need to burn the bootloader once. After you’ve done so, you can remove the jumper wires connected to pins 10, 11, 12, and 13 of the Arduino board. |
秋月電子通商などでブートローダー書き込み済のATmega328Pも売っている(下写真左)。
Arduino Bootloader書込済(5V 16MHz仕様) ATmega328P 1個 ¥320(税込) |
AVRマイコン ATMEGA328P-PU 1個 ¥210(税込) |
引用元 秋月電子通商
まあこう言う製品を買うと手っ取り早いが、上で解説したArduino公式サイトの方法を使って新品AVRマイコン(上写真右)に自分でブートローダーを書き込んでおけば安上がりだ。
ただし、Arduinoとブレッドボードの配線を毎回やるのは多少面倒ではあるが。
Arduinoを使ってスケッチプログラムをアップロードする(Uploading Using an Arduino Board)
ブートローダーの書き込みに成功したら、次はプログラムの本体を書き込む作業だ。
引用元 https://www.arduino.cc/en/Tutorial/BuiltInExamples/ArduinoToBreadboard
その手順を同じくArduinoのサイトの英文を引用させて頂く。Google翻訳に掛けた。
ATmega328PにArduinoブートローダーが搭載されたら、Arduinoボード上のUSB-シリアルコンバーター(FTDIチップ)を使用してプログラムをアップロードできます。 これを行うには、Arduinoボードからマイクロコントローラーを取り外して、FTDIチップが代わりにブレッドボード上のマイクロコントローラーと通信できるようにします。 上の図は、Arduinoボードからブレッドボード上のATmegaにRXおよびTXラインを接続する方法を示しています。 マイクロコントローラーをプログラムするには、[ツール]> [ボード]メニューから “ArduinoDuemilanoveまたはNanow / ATmega328″ を選択します(または、以下で説明する最小構成を使用している場合は、”ブレッドボード上のATmega328(8 MHz内部クロック)” を選択します)。 その後、通常どおりアップロードします。 | Once your ATmega328P has the Arduino bootloader on it, you can upload programs to it using the USB-to-serial convertor (FTDI chip) on an Arduino board. To do, you remove the microcontroller from the Arduino board so the FTDI chip can talk to the microcontroller on the breadboard instead. The diagram at right shows how to connect the RX and TX lines from the Arduino board to the ATmega on the breadboard. To program the microcontroller, select “Arduino Duemilanove or Nano w/ ATmega328” from the the Tools > Board menu (or “ATmega328 on a breadboard (8 MHz internal clock)” if you’re using the minimal configuration described below). Then upload as usual. |
説明 Arduinoボードを使ってブレッドボードに挿した生AVRチップにプログラムを書き込む方法(Google翻訳使用)
引用元 https://www.arduino.cc/en/Tutorial/BuiltInExamples/ArduinoToBreadboard
まあ、こんな風にやれば、AVRチップにスケッチプログラムを書き込めるわけだ。なるほど。
一つ疑問なのだが、この場合、ArduinoボードのAVRチップは取り外して、ブレッドボードに挿したAVRチップにプログラムを書き込む訳だが、それは分かる。
では、ブレッドボードを使わずに、ArduinoボードのAVRチップを外して、そこにブートローダー書き込み済のAVRチップそのものを挿してプログラムを書き込んでも良いんじゃ無いのかな?
その方が簡単だと思うのだが。
まあ、この件は別途調査したい。
Arduino AVR ISP シールドで書き込む
さて、ワテの場合も、当初はAVRにプログラムを書き込むやり方としては、上記Arduino公式サイトの方法でやろうかなあと思った。公式な手法なので確実だし。
でも、ブレッドボードに新品AVRチップを挿してジャンパー線で配線して、ブートローダーの書き込みとスケッチプログラムの書き込みと言う二段階の作業をするのが何だか面倒な感じ。
かと言ってArduinoボードをAVR書き込み専用として使うのは勿体ないし。その場合でもブートローダー書き込みとスケッチプログラム書き込みとでは、ジャンパー線の配線を変えなくてはならないのが煩わしい感じ。
その対策としては、下写真のような専用基板を買っても良い。
写真 Arduino AVR ISP シールド
この基板はArduinoボードに上から載せて挿し込めるのだ。
ちなみにArduinoと一緒に使うこの手の基板を「シールド」と呼ぶらしい。どういう意味や?
まあ兎に角、ブレッドボードに配線する代わりに、シールドボードをArduinoのソケットに差し込むだけで良いのだ。
ただしこの製品はブートローダー書き込み専用と思われるので、その次のスケッチプログラム本体の書き込みには使えないようだ。なので公式サイトのブレッドボードを使う方法をやる必要がある。あるいはArduinoボードのAVRチップを差し替えてやる方法が使えるならそれでも良いが。
いずれにしても、何だか面倒な感じ。
ワテは面倒な事が嫌いだw
AVRISP mkII ライタ
色々調べてみると、ブートローダー書き込みやスケッチプログラム書き込みに特化した機器もネット通販で入手可能だ。
下写真の製品は、デバッグ機能の無い単純な書き込み器(ライター)だ。
Atmel純正の”AVRISP mkII”の互換品と言う事なのかな。
この手の機器を使うにはArduino IDEでは無くて、 Atmel Studio(今はMicrochip Studioに変ったようだ)を使う。
図 Microchip Studioの画面はVisual Studioそのもの
ちなみにこのMicrochip StudioはVisual Studioで作られているようだ。見た目やメニュー構造などがソックリなので。
ワテの場合、Visual Studioは得意なのでいずれはMicrochip Studioも使ってみたいと思っている。
Atmel-ICE デバッガ
或いは予算があるなら、Atmel社純正のICEデバッガAtmel-ICEを買うと良いだろう。
これを使えば、ブログラムの書き込みも出来るし、デバッグも出来るらしい。
値段が高いのが難点だがこれを買っておけば間違い無い。
このAtmel-ICEもMicrochip Studioから制御して使うようだ。
AVRをやるなら、やっぱりAtmel-ICEとMicrochip Studioが最強の組み合わせのようだ。
PICerFTと言うPIC・AVR両対応のライターを作る
ここまでの調査で、AVRを単体で使う為にはブートローダー書き込み、スケッチプログラム書き込みが必要な事は分った。
その為には各種の方法が有る事も分った。
さてどうするか?
Atmel-ICEとMicrochip Studio(無料)を使うと言う案が最も確実で便利そうではあるが、Atmel-ICEは一万円強の価格だ。
で、色々ネット検索していたら、PICerFT(ファームウェア不要USB接続ライタ)と言うのを見付けた。
これを使うとPICやAVRのチップに書き込めるようだ。
専用のライターソフトウェアも公開されている。
じゃあ、勉強も兼ねてこのPICerFTを作ってみるかなと思い立ち、早速作ってみる事にしたのだ。
上記サイトの製作例では、PICやAVRチップと接続する為のピンヘッダ6ピンあるいは7ピンの端子が出ている。
例えばAVRチップにプログラミングをするにはブレッドボードに挿したAVRチップに、ピンヘッダ7ピン端子から数本のジャンパー線で配線するのだ。
あるいは上記サイトの作者の人の製作例では、DIP8、14、20、24、28、40などの各種のAVRチップが挿せるように、それぞれのDIPソケットを数個配置した専用基板を製作している。ただし回路図は非公開。
ワテの場合は、ブレッドボードでジャンパー線を配線するやり方は好きでは無いので、ゼロプレッシャーソケットを使う事にした。
自宅のパーツボックスを漁ったら14ピンと28ピンのゼロプレッシャーソケットを発見した。何かに使おうと思いながら長年貯め込んでいたやつだ。あと、DIP8ピンのソケットも有るので、これら三種類のピン数のAVRが挿せるような基板を設計する事にした。
図 PICerFTの回路図にAVRの8、14、28ピンソケットを追加した回路図
PICerFTの回路図部分の引用元 http://einstlab.web.fc2.com/PICerFT/PICerFT.html
下図にワテが追加したAVR用の8、14、28ピンソケット部分の回路図を示す。
図 ワテが追加したAVR用の8、14、28ピンソケット部分の回路図
従って、ワテ設計の基板ではDIP20、24、40ピンなどのAVRチップは挿せないので書き込めない。
ただし、PICerFTオリジナルのピンヘッダ7本も付けているので、そこからブレッドボードに配線すれば任意のピン数のAVRチップにプログラミングする事は可能だ。あるいはPICチップ用のピンヘッダ6ピンも付けているのでブレッドボードを使えばPICにもプログラミング可能だ。
KiCadを使ってPICerFTのプリント基板を設計してみた
ワテの場合、この所KiCadに熱中しているので、これくらいの回路図なら延べ数時間くらいの作業時間で作成出来るようになった。毎日夜、数時間の作業で数日作業すれば完成する。
図 PICerFT回路にAVRの8、14、28ピンソケットを追加したプリント基板レイアウト(Wareko作)
両面スルーホール基板で72x95mm2のサイズにしてみた。空地はユニバーサル基板化しておいたので、何かの役に立つかな。
また、今回初めてベタアースを表面と裏面の両方に付けてみた。
KiCadでベタアースを付ける方法
ベタアースの貼り方は簡単だ。
下図に示すアイコンをクリックして、あとはベタアースを貼りたい領域を四角で囲む。
図 ベタアースを貼る作業
あとは、上図のようにベタで塗った領域をどのネットに割り当てるかを指定する。今の場合はベタアースなのでGNDに割り当てれば良い。
そうすると他の配線を避けて自動でベタアースが配置できる。簡単だ。
基板の表裏に配置したベタアースは、必要に応じてビアで連結しておくと良いだろう。ワテの場合も、10mm間隔くらいにビアを配置しておいた。
完成予定図を以下に示す。
図 PICerFT回路にAVRの8、14、28ピンソケットを追加したプリント基板レイアウト(Wareko作)
でかい28ピンのゼロプレッシャーソケットが28ピンAVRチップ用だ。その左側にある8ピンDIPソケットと14ピンゼロプレッシャーソケットはそれぞれ8ピンAVRと14ピンAVR用。
赤いコンデンサの隣にある空地は秋月で売っているUSBシリアル変換モジュール基板(DIP24)を挿すのだ。
KiCadでガーバーファイルを出力する方法
さて、基板設計が完了したら、基板製造に必要なガーバーファイルとドリルファイルを出力する。
まずはガーバーファイルだ。
ファイルメニューの中の「プロット」を選ぶと下図の「製造ファイル出力」画面が開く。
上図において、出力先フォルダ名を適当に指定して(ワテの場合はGerberと言う名前を良く使う)、あとは殆どデフォルトで良いが、赤枠で示す項目など確認しておいて、製造ファイル出力ボタンをクリックすれば良い。
そうすると、チェックが入っているレイヤーの数と同じだけのガーバーファイルがフォルダGerberに出力されれば成功だ。
KiCadでドリルファイルを出力する方法
上画面で、「ドリルファイルを生成」ボタンをクリックすると下図が出る。
ここでも殆どデフォルトのままで良い。そして「ドリルファイルを生成」ボタンをクリックすると、下図に示す拡張子 .drlのファイル(青枠)が一つ出力される。赤枠は先ほど出力したガーバーファイル。
上図の十数個のファイルをZIPファイルにまとめたものが下図だ。
図 基板製造に必要なZIPファイルの準備が完了した
あとはこのGerber.zipファイルを基板製造業者さんのサイトにアップロードして、基板の色など幾つかのパラメータを指定して発注すれば良いのだ。
100x100mm2サイズまでの両面スルーホール基板(1.6mm厚)なら十枚作って約5ドル、送料がDHLやFedexなら約15ドル。China Post(中国郵政)なら10ドルくらいの費用で発送できる。
ガーバーファイルをアップロードして三日くらいで基板は完成するので、発送にDHLやFedexを選択すると、アップロードしてから一週間くらいで自宅に届く(ワテの経験では)。China Postの場合には費用は安いが、到着までニ~三週間くらい掛かる場合があるので要注意だ。
いずれにしても、費用総額二千円前後で、両面スルーホール基板が十枚製作出来るのだ。
KiCadで基板を設計して基板業者さんに発注する手順の解説
さて、ここまで読んで頂いた皆さんは、ワテみたいに専用基板を設計して基板業者さんに発注してみたいと思っている人も多いだろう。
でも基板設計ソフトの使い方が難しそうなので、躊躇している人も多いだろう。
そんな貴方の為に、即席のKiCad入門講座を書いてみる。
この講座を読んで頂ければ、二時間もあればKiCadによる基板設計が完了して、ガーバーファイルの生成まで、つまり基板発注に必要な一連の作業を完璧にマスター出来るだろう。
では、二時間のKiCad講座を始めたい。
KiCadを起動して回路図を描く
KiCadのインストールは公式サイトからインストーラーをダウンロードして実行すれば簡単に出来る。
ワテのWindows10パソコンのデスクトップにKiCadの起動アイコンがあるので、ダブルクリックで起動する。
KiCadを起動して新しいプロジェクトを適当な名前で作成する(下図)。
ワテの場合は「KiCadの使い方」と言う名前にしたが、日本語は使わないほうが良いかも知れない。
なぜなら、最終的に出力されるガーバーファイルのファイル名にもこのプロジェクト名が使われるので、ガーバーファイル名が日本語になる。
それらのファイルはZIP化して基板製造業者さんのサイトにアップロードするのだが、日本語ファイル名は文字化けする場合がある。
その場合でも、ワテの経験では、どの業者さんでも問題無くプリント基板の発注は出来たのだが、まあ文字化けすると自分でもそのファイル名が読めないので、英数字だけのプロジェクト名にしておくほうが無難だ。
抵抗とNPNトランジスタを描画する
さて、回路図エディタ(Eeschema)を起動する。上図の赤枠で囲ったアイコンをクリックすれば良い。
そうすると、下図の回路図エディタが開くので、早速回路を描画してみよう。
下図右にあるオペアンプのアイコンをクリックする。
そして、回路図エディタ上でマウスクリックすると下図のシンボル選択画面が出る。
上図において、フィルタ―欄にdeviceと入力するとその中にRと言う項目があるので、それをクリック選択してOKを押す。
そうすると、抵抗Rを回路図エディタ上に配置できるはずだ。
同様にオペアンプアイコンをクリックして、次はトランジスタを描く。
その為に、フィルター欄にNPNと入力するとNPNトランジスタが幾つか表示されるので、下図のQ_NPN_ECBを選択する。これは2SC1815を使う予定だから、それと同じ足の並びのシンボルを使うのだ。
これで回路図エディタ画面上に抵抗RとトランジスタNPNを描画する事が出来た。
抵抗を複製する
抵抗Rの上で右クリックすると下図が出るので、複製を実行すると抵抗を複製できる。
下図のように四つの抵抗とNPNトランジスタを一個配置した。
入出力端子を付ける
次は、入出力端子を付けておこう。
回路図エディタで同じくオペアンプアイコンをクリックして、フィルター欄にterminalと入れると、多数の項目が出るがその中にある、Screw_Terminal_01x01を選んでOKを実行する。
下図のようにScrew_Terminalを描く。一つ目のScrew_Terminalを複製して二つ目のScrew_Terminalも描いた。
GNDと電源を配置する
先ほどのオペアンプアイコンの下にあるアース記号をクリックするとGNDと言う項目があるので選択してOK。
同じくVCCも配置した(下図)。
抵抗の値が初期値の「R」のままなので、抵抗を右クリックして「定数を編集」あるいは「プロパティを編集」画面で、1K、2K、3K、4K などと適当に値を振っておいた。
エレクトリカルルールチェックを実行してみる
一応回路図が完成したので、エレクトリカルルールチェックを実行してみる。
エレクトリカルルールを実行すると下図が出る。
上図において、
ピンは他のピンに接続されていますが、駆動するピンがありません
と言うエラーが出ている。これは放置しておいても問題無いようなのだが、気になる人は、以下のようにPWR_FLAGを言う項目を選んで追加すると解消する。
下図に示すように二つのPWR_FLAGをGNDとVCCに追加した。
再びエレクトリカルルールチェックを実行するとエラーが解消した(下図)。
基板を描く
下図のように「回路図から基板を更新」を実行する。
下図が出るので、「アノテーション」を実行する。
そうすると、先ほど描いた回路図で抵抗の文字が「R?」となっていた部分にR1、R2、R3、R4などの番号が自動で振られる。
必要ならこれらの文字を右クリックして開くメニュー「リファレンスを編集」で数字を変えてR100などとしても良い。ただし、重複する番号を指定した場合には、エレクトリカルルールチェックを実行するとエラーするので分かる。
さて、下図で多数のエラーが出ているが試しに「基板を更新」を実行してみる。
そうすると下図のように基板エディタ(Pcbnew)が自動で起動する。
上図において、本当ならこの黒い背景の基板エディタ(Pcbnew)に先ほど回路図で描いた四つの抵抗と一つのトランジスタ、端子などが出て来るはずなのだが、出ていない。
その理由は、上のエラーにある、「・・・関連付けられたフットプリントがありません」が原因だ。
ちなみに、下図の右側赤枠で示すのが基板エディタ(Pcbnew)の起動アイコンだ。必要に応じてクリックすればいつでも回路図エディタあるいは基板エディタを起動できる。
フットプリントとは何か?
さて、フットプリントを割り当てよう。
フットプリントとは何かと言うと、例えばリード線型抵抗なら、横向きに取り付ける場合なら2.54mmピッチのユニバーサル基板で下図のように五つの穴くらいの長さが有れば足りる。
〇 〇 〇 〇 〇
一方、縦に取り付ける場合なら下図のように狭い場所に付ける事が可能だ。
〇 〇
このように、抵抗を半田付けするのに必要な二個の銅箔ランドの形状や寸法を指定するのがフットプリントだ。
抵抗のフットプリントを指定する
回路図エディタで抵抗を右クリックすると下図が出るので、「フットプリントを編集」を選ぶ。
下図が出るので「選択」をクリックする。
下図が出るので、Resistor_THTの中のR_Axial_DIN0207_L6.3mm_D2.5mmを選ぶ。
まあ、ごく一般的なリード型抵抗(長さ6.3mm、直径2.5mm)を2.54mmピッチで4穴分の長さで取り付ける場合のフットプリントだ。
下図のようにOKボタンをクリックする。
同様に、残り三つの抵抗も同じフットプリントを割り当てる。
上のテキストをコピペして貼り付けてOKボタンでも良い。
試しに下図のように、回路図から基板を更新してみる。
そうするとエラーの数が減った。四つの抵抗に関してはフットプリントのエラーは解消している。
それと同時に、基板エディタ(Pcbnew)画面に四つの抵抗のフットプリントが描かれている。
NPNトランジスタのフットプリントを割り当てる
回路図エディタでトランジスタを右クリックして、フットプリントライブラリーを開く。
下図のようにTO_SOT_Packages_THTの中のTO-92_Inline_Wideを選んでみた。
下図のようにOKボタンをクリックすれば良い。
再び基板を更新すると下図のようにトランジスタのフットプリントが描画出来た。
入出力端子にもフットプリントを割り当てる
入出力端子は、回路図エディタで描いた時点ではScrew_Terminalと言う名前で有ったが、フットプリントを割り当てる場合には、何を割り当てても良い。
例えば入力端子には、下図のようにWire_Padsの中のSolderWirePad_single1-2mmDrillを割り当てた。
一方、出力端子には、下図のようにPin_Headersの中のPin_Header_Angled_1x01_Pitch2.54mmを割り当てた。
下図のように基板を更新すると全てのエラーが解消した。
そして、基板エディタ画面に、入出力端子に設定したフットプリントが追加された。
下図のように、フットプリントを適当に移動して配置する。必要なら回転なども行う。
さて、GNDとVCCの端子のフットプリントを追加するのを忘れていたので追加する。
GNDとVCC端子を追加して2ピンのピンヘッダのフットプリントを使ってみる
まず、回路図エディタで下図のシンボルを選択してOKする。
このConn_01x02と言うのは、汎用の2ピンのコネクタだ。
下図のようにVCCとGNDを接続する。
この2ピンコネクタにL型ピンヘッダ(2ピン)のフットプリントを割り当ててみる。
やり方は今までと同じでPin_Headersの中のPin_Header_Angled_1x02_Pitch2.54mmを選ぶ。
下図でOKをクリックすれば完了だ。
「回路図から基板を更新」を実行すると下図のように、今追加した2ピンのピンヘッダのフットプリントが追加された。
回路図エディタで配線を行う
回路図エディタで気にしておくのは下図の赤枠の部分だ。
左から
- 配線幅
- ビアのサイズ
- グリッドサイズ
- 現在のレイヤー
だ。
配線幅は必要なら自分で好きな線幅を追加する。今回は1mm幅を追加した。
現在のレイヤーをB.Cu(ボトムのCuレイヤー)つまり、半田面にセットした。
この状態で、右側にある「緑の線アイコン」をクリックすれば、B.Cuレイヤーに線を描く事が出来る。
白い線で各パーツが繋がっているので、その通りに配線すれば良いので楽ちんだ。
これは要するに最初に描いた回路図からネットリスト情報が生成出来ているので、どの部品やどの配線がどこにつながっているのかが分かっているのだ。
そのネットリスト情報に基づいて、白いラバーバンド線が描かれているのでパーツの位置を移動しても白ラバーバンド線はくっ付いて移動するのだ。
下図のように、サクサクと描いたが、一箇所、配線が交差する部分があるので描けない。
この部分は、F.Cuレイヤー(部品面)に描く事にする。
下図のように茶色の配線を行った。
下図のように、緑線(半田面)と茶色線(部品面)とは導通していないので、ビアを配置して導通させる。
下図のようにビアで連結できれば完了だ。
下図が最終的に完成した基板のレイアウトだ。
基板の外形線(Edge.Cuts)を描く
残す作業は、基板の外形線を描く作業だ。
下図のようにEdge.Cutsを現在のレイヤーにセットする。
下図のように、多角形を描くアイコンを使って長方形を描く。線幅はデフォルトの0.05mmで良い。
もし必要ならエッジを丸めるなどしても良い。
3Dビューアーで表示してみる
下図のように3D表示出来れば成功だ。
ビアの部分を拡大してみた(下図)。
デザインルールチェッカーを実行してみる
基板エディタでデザインルールチェックを実行する。
下図においてDRCボタンをクリックしても、問題も未配線もゼロなので全く問題無い。
試しに一箇所の配線を削除してDRCを実行してみる(下図)。
その結果、下図に示すように、未配線アイテムエラーが出た。
上図の項目をクリックすると、基板エディタ上でその未配線の箇所が自動で表示される。
あるいは、下図のように不要な太い配線を追加してDRCを実行してみた。
その結果、2点の配線端が近すぎますと言うエラーが出ている。
その部分がピンク矢印で示されている。
なかなか優秀だ。
ガーバーファイルに出力する
さて、実験はここまででやめて、ガーバーファイルを出力しよう。
ファイルメニューの「プロット」を実行すると、冒頭でPICerFTのガーバーファイルを出力したのと同じ画面が出る。
あとはPICerFTのガーバーファイル出力、ドリルファイル生成と同じなので省略する。
で、zipファイルが完成したとしよう。
PCBWayさんでプリント基板を発注する
ガーバーファイルまとめたzipファイルが有れば、基板の発注は簡単だ。
PCBWayさんの公式サイトを開く。
ガーバーファイルをアップロードする
下図の「PCBインスタント見積り」を開いて、「クイックオーダー基板」をクリックする。
「クイックオーダー基板」メニューが開くとガーバーファイルZIPをアップロードするボタンがあるのでクリックしてZIPファイルを指定すると自動で読み込まれる。
下図ではワテがPICerFT用基板をPCBWayさんにアップロードした時の画面キャプチャ例を示す。
「クイックオーダー基板」メニューでガーバーファイルZIPをアップロードすると、下図のように基板サイズ(72x95mm2)が自動で読み込まれるのだ。そう言う点で、「クイックオーダー基板」はお手軽なのでお勧めしたい。
基板発注に必要なパラメータを指定する
下図のように基板の枚数を指定する。
これで基板の発注に必要なデータは準備出来た。
あとは、必要に応じて自分の好きな設定をすれば良い。
例えばレジストの色(基板の色)を指定しても良い。多くの場合、どんな色でも同じ値段だが、艶消しの場合は値段がアップする場合が多い。
あとは、上図の銅箔の厚みなども、デフォルト以外の厚みに指定しても良い。
カートに追加する
基板発注の価格は、下図のようにリアルタイムで表示されるので、発送業者などを自分の好きな会社を選んでカートに追加すれば良い。
ワテの場合はDHLを使う事が多い。
今回のPICerFT基板の場合は、費用総額は基板十枚で19ドルだ。
なお、カートに追加しただけでは基板の発注は完了していない。
この後の流れとしては、ガーバーファイルデータをPCBWayさんのエンジニアの人がチェックして、問題無ければ、支払い待ち状態になる。
ワテの経験では、カートに追加して数分後に支払い待ちになる場合もあれば、数時間要する場合もある。複雑な面付けをした基板などはチェックに時間が掛かるようだ。
支払い待ちになった時点でクレジットカードやPayPalなどで支払いを行えば、発注が確定して基板の製造が始まるのだ。
あとは、一週間ほど待てば自宅に基板が届くのだ。
いつでも現在の製造状況を確認出来る
PCBWayさんのサイトにログインすれば、自分が発注している基板の製造状況がいつでも確認出来る。
ワテの基板も2021年2月3日に発注したが、翌2月4日には43%も進捗している。
まとめ
ワレコ
ワテもいよいよAVRマイコンを使った電子工作に挑戦する事にした。
まずはAVRにプログラムを書き込むライターを作ってみる事にした。
ワテが作るのはたまたまネットで見付けたPICerFTと言うUSB接続でパソコンに接続出来るライターだ。PICとAVRに対応している。
作者さんのサイトはPICやAVR関連の多数の製作例があるので、かなりの上級者の人だと思われる。
まあ兎に角PICerFTと言うのを作ってみて、まずはAVRにブートローダーやプログラムを書き込んで、AVR単体でLEDチカチカ実験を成功させたい。
PICerFT専用基板をKiCadで設計してPCBWayさんに発注した。順調に行けば来週頭には自宅に届くはずだ。
便利な時代になったもんだ。
KiCadを勉強する
ちなみにワテの場合は、下写真のトランジスタ技術のバックナンバーを近所の本屋さんで取り寄せて貰ってKiCadを勉強した。
付録DVD-ROMに沢山の動画がありKiCadの使い方が解説されているので分かり易い。
(続く)
コメント