Cafe'Tec Yagiyu

のんびり気ままに技術進捗

Kicadを使った自作基板作製手順

お久しぶりです。

冬は軽い交通事故にあったり気胸になって人生初の手術を受けたりといろいろありました。気胸は手術の後の夜が一番大変でした。痛みが一向に収まらなくて全く眠れなかったので笑 あと全身麻酔だと手術直前に眠らされて起きたら病室って感じでしたね。まあ実感なくてあまり不安はありませんでしたが。

あ、現在はエンベデッドシステムスペシャリスト試験の勉強中です。午後Ⅱの問題がなかなか手ごわい感じですね。

 

身の上話はさておいて。

Kicadでの基板作製の現在です。ほぼ1年前になりますか、こんな記事を書きました。

yagiyu.hatenablog.com

 この記事をもとに後輩が基板作りをしていて、基板にパターンを転写するまでを当時の方法のままにしていて、いろいろ勘違いが起こったので、「更新しなきゃいけないなあ」と思っていたところに拍車がかかった感じです。完全に僕の怠惰さが原因なので後輩とこの記事をそのまま参考にしていた方に謝罪です。

パターン印刷の後はほぼ同じなので必要ないと思いますが、ここでも一応書いておきます。基板をまた作る機会があれば写真も追加しておきます。

 

 1. データ作製・パターン印刷

KicadのPcbnewで基板にしたいデータを作製します。ここまでは「Kicad チュートリアル」とでも検索すればたくさん出てくると思うので割愛します。

データ上でPCBが完成したら、レーザープリンタ印刷します。忘れがちですが、ここで基板全体のデータを反転しておきましょう。基板全体を囲って、右クリックから[Flip Block]で反転できます。

印刷は下のプリンタのマークからですね。いろいろオプションがありますが、[Print Mode]を"Black and white"にはしておきましょう。あと[Pads Drill Opt]ではドリルマークを無くしたり、すべてを小さいマークにしたり、実際の穴の大きさに出来たりします。

f:id:yagiyu-tec:20170319193641p:plain

一旦普通紙に印刷して、自身の勘違いや、使用したフットプリントによっては実際に想定していた部品や基板自体のサイズと異なっている場合があるので、ここで部品を乗せるなどして確認しておきましょう。

トナー転写には、現在は妙楽堂で購入した基板転写紙を使っています。普通の印刷用紙では大抵の場合紙の部分が残りますが、転写紙ではトナー部分だけが残るのでおすすめです。つるつるしている方の面で印刷しましょう。

プリント基板転写紙 | 妙楽堂電子パーツショップ

 

2. トナー転写

現在もアイロンを用いて転写しています。体重をかけてしっかり圧着しましょう。端の方はトナーが剥がれやすいので特に念入りに圧着しておきましょう。妙楽堂の転写紙ですと、パターン部分が紙越しに透けて見えたら経験上けっこう圧着できています。加減は実際にやってみると少し分かります。

できたと思ったら剥がしてみて、全体的に転写できていないようならアセトンでトナーを拭いて再チャレンジしましょう。一部分だけなら、黒の油性マジックでごまかすこともできます。

 

3. エッチング

基板の大きさで所要時間がかなり変わります。調子に乗って大きいのを作ろうとすると予想以上に時間がかかったりします。経験談です。

温度調整はお湯でせずに40℃付近の温度を保てる保温器ですると楽です。エッチング液を入れる容器はプラスチックで大きいのを用意しておくと、後々調子に乗って大きいのを作ろうと思った時にも使えます。僕は百均でA4資料を入れられそうな容器を購入しました。ただ、お湯で温めると変形したので容器はもう少し考慮する必要がありますね。

エッチング液は適当な感覚でも作れます(個人談)。オキシドール:クエン酸:食塩=6:3:1ってところでしょうか。混ぜたり基板を入れたり出したりするときは割り箸とかを使うといいです。金属のものはやめておきましょう。泡が途絶えたらエッチング液の交換時です。

うまくエッチングできてないと、配線の繫がっちゃいけないところが繋がっていたりします。そういうときは

オルファ(OLFA) PカッターS型 204B

オルファ(OLFA) PカッターS型 204B

 

 こんなカッターでカリカリして分断しましょう。

 

4. トナー落とし

アセトンの中でゆすぐのもいいですが、大きい基板だとその量がもったいないのでいらない布やティッシュにでもアセトンをつけて基板をゴシゴシしましょう。トナーが全部剥がれたらめでたくオリジナル基板の完成です。部品をつけてハンダ付けしましょう。一度やるとまた学ぶことがいろいろあると思います。それを元にまたいろいろ基板を作ってみましょう。

※アセトンは引火性があり、人体への悪影響がある有機化合物です。シンナーみたいな匂いを発します。プラスチックは溶かしてしまうので容器も考えましょう。揮発性があるので作業は換気しながらにしましょう。あと指定量以上の使用や貯蔵は免許が必要なので気をつけましょう。

 

文章ばかりなので、遅くなるかもしれませんが写真もそのうち入れようと思います。無い内は上にある過去記事の画像で脳内補完していただけると非常に助かります。あと、最近は中国の基板製作代行サービスもさかんになってきて、安易に綺麗な基板を作ることも可能になってきています。たまにはそっちでマイ基板を作るのもいいかもしれません。

再び私事になりますが、個人的におすすめの基板製作代行サービスも展開しているelecrowのCMの製作に関わらせていただきました。

 


Elecrow基板印刷サービス

ナレーション       友詩さより
脚本・絵コンテ・原画   やぎ湯
演出・動画・マネージャ  kemarin-tech K-Taro(TwitterBlog)

 

絵に関する好評も批評の一身に受けますので宜しくお願いします。 

VHDLでLチカ

最近、同時進行作業が多くなってきてます

今回はVHDLで回路を書いてDE-0でLチカしました。

開発環境はAlteraのQuartusⅡです。

 

1. QuartusⅡのインストール

DE-0は付属したCDの中にインストーラがついてきたので、そこからQuartusⅡ 9.0 Web Editionをインストールしました。

https://www.altera.co.jp/downloads/download-center.html

ここからソフトウェアを選択、QuartusⅡウェブ・エディションを選択してダウンロードすることもできます。

 

2. プロジェクトをはじめる

・(USB Blasterのドライバをインストールする)

 DE-0をPCに接続した時、「ドライバがありません」と言われました。ネットで調べてみたら、alteraのファイルの中にあるらしい...と、フォルダを開けていくと、¥altera¥90¥quartus¥drivers¥usb-blasterにありました。

コントロールパネルからデバイスマネージャーを開いて、USB-Blasterのドライバを更新します。先ほどのフォルダから参照してドライバーをインストール。正常にインストールされると「Altera USB-Blaster」として使えるようになります。

 

・プロジェクトを始める

f:id:yagiyu-tec:20161022231639p:plain

 QuatusⅡを開くと上の画像のようになりました。ここの[Create a New Project]からプロジェクトを始めていきます。

f:id:yagiyu-tec:20161022231733p:plain

Nextで次へ。

f:id:yagiyu-tec:20161022231745p:plain

続いて名前をつけます。下の2つの名前は同じにする必要があるらしいです。ここでは適当にNewとしました。そしてNext。

f:id:yagiyu-tec:20161022231830p:plain

ここでVHDLファイルを追加しますが、あとでも追加できるのでNextで次へ行きます。

f:id:yagiyu-tec:20161022231903p:plain

ここでは使うデバイスを選択します。DE-0に乗っているCycloneシリーズのチップを見ながら選択しました。FinishでNew Project Wizardを終了します。

f:id:yagiyu-tec:20161022231947p:plain

プロジェクトを無事に始めることができたら、左上の[File]から[New...]をクリックし、VHDLファイルを選択してファイルを作成します。また左上の[File]から、[Save As...]でVHDLファイルに名前をつけて保存しておきます。

 

3. コンパイル

論理合成にあたる行程です。時間がかかると聞いていましたが、今回は書いたコードが簡単だったようで、あまり時間はかかりませんでした。

f:id:yagiyu-tec:20161022232055p:plain

VHDLファイルにコードを記述したら、コンパイルを行います。上の[Processing]から[Start Compilation]でコンパイルします。エラーがあったら赤文字で現れます。その赤文字をダブルクリックすると、問題のある箇所を反転表示してくれます。便利。

間違いを訂正して保存。

成功したらこんな感じでお知らせしてくれます。(warningがありますが笑)

f:id:yagiyu-tec:20161022232114p:plain

合成した回路は、RTL Viewerで見ることができます。左側のHierarchyからプロジェクト名を右クリックし、[Locate]>[Locate in RTL Viewer]をクリックすると出てきます。

今回はこんな感じでした。

f:id:yagiyu-tec:20161022232130p:plain

 

4. ピン割り当て

f:id:yagiyu-tec:20161022232146p:plain

 書いたコードを、実際のFPGAに配線していきます。[Assignments]>[Pin Planner]からウィンドウを開き、次のような画面で作業をしていきます(すでに配線した後の画面です)。赤色になっているところが書いた回路が繋がるところ、紫になっているところはトライステートの入力に設定したところです。図のピンを右クリックして[Reserve]から[As input tristated]で設定できます。未使用ピンをトライステートの入力に設定しておくことで予想しない接続があってもハイインピーダンスなのでピンがある程度守られます。TCLファイルでこの作業を自動化できるそうなのでやってみたのですが、場所は認識されてもトライステートの入力には設定されませんでした。これはまた再挑戦してみます。

配線ができたら、コンパイルと同じように[Start Compilation]で配置配線をします。

自分でチップの中身を配線できるというのはなかなかロマンがあります。

 

5. 動作確認

f:id:yagiyu-tec:20161022232215p:plain

 Pin Plannerウィンドウを閉じて、プロジェクトウィンドウの上の[Tools]>[Programmer]をクリックして上のウィンドウを開きます。sofファイルがあることを確認し、左側の[Start]でFPGAに書き込みます。書き込み対象のハードウェアが設定されていなければ、左側のHardware Setupから設定します。成功して以下のように動作しました。

 

というわけで、FPGAも使えるようになりました。QuartusⅡはまだまだ機能があるようなので存分に使っていきたいですね。のちのちCPUも作ってみたいなーとも考えていたり。

今回は以下の本を参考にしました。

 

回路図で学べるFPGA入門 回路図は読める人のためのHDLガイド

回路図で学べるFPGA入門 回路図は読める人のためのHDLガイド

 

 

独自CPU開発で学ぶコンピュータのしくみ

独自CPU開発で学ぶコンピュータのしくみ

 

 

7net.omni7.jp

 

ATmega1284p-AUでマイコンボードを自作した話

どうも、お久しぶりです。

さて、今回はArduinoIDEで動かせるマイコンボードを作ってみました。製作には1ヶ月半くらいかかりましたかね。勉強も含めてだったので長くかかりました。

f:id:yagiyu-tec:20160911210620j:plain

とりあえず製作過程を設計段階から説明していきます。

 

1.基板設計

ソフトはKicadを使って設計しました。設計にはArduinoProMiniを参考にしました。回路としては単純にした方が汎用性が利くと思ったので。

回路図はこんな感じです。まだまだ修行中ゆえに間違いがあるかもしれません。

f:id:yagiyu-tec:20160911201118p:plain

 

コアはATmega1284P-AUを使用し、水晶発振子は16MHz、書き込み部分はFTDIでの書き込みを想定して作りました。三端子レギュレータには5V1A出力のNJM2391DL1-05を使いました。

 

配線した後の図がこちらです。

f:id:yagiyu-tec:20160911202101p:plain

とりあえず配線しましたって感じですね。クオリティはこれから頑張って向上させます。Kicadは自動で直角配線を無くしてくれるので楽です。と言っても他の回路設計CADを使った事がないので他はわかりませんが。NJM2391DL1-05のコンポーネントはなかったので作りました。いつしかのトランジスタ技術を購入したら付いてきたのでしょうか。

 

2.基板発注

Elecrowに注文して出来た基板がこちらです。

5枚2レイヤー、5cm*10cmMAXで注文して$11.50、配送はOCS/ANA Expressに頼んで$13.23、合計で$24.73でした。注文してから8日くらいで来ました。早いし安かったです。特にシルクミスとかがなかったのも良かったです。Kicadでの注文方法はここと

KiCadで雑に基板を作る チュートリアル 、Elecrowのページを参考にしました。

http://www.elecrow.com/services/pcb-prototyping/5pcs-2-layer-pcb.html

 

3.部品ハンダ付け・ブートローダ書き込み

部品を少しハンダ付けしてから、ブートローダを書き込みました。ArduinoUNOを使って書き込む方法があったので、こちらを参考にしてやってみました。

Arduino IDEでATtiny他の開発(Arduino-ISP編) | Make | kosakalab

ATMEGA1284P-AUと秋月基板でArduino互換機を組む - Togetterまとめ

IDEをちょっといじって、ArduinoISPのプログラムを書き込んで、書き込み装置をArduino as ISPにして、マイコンボードを"Sanguino W/ ATmega1284p 16MHz"に設定してブートローダを書き込むと。

ヒューズビットの書き込みとかがないので楽でした。ただ書き込むときの回路接続をミスしてしまって2回ほど失敗しました(笑)

コアと水晶発振子とその周辺のコンデンサとピンヘッダをハンダ付けして書き込むとうまくいきました。そのあとで残りの部品をハンダ付けする、という段取りですね。

 

f:id:yagiyu-tec:20160911210620j:plain

というわけで、自作のマイコンボードができました。まだすべてを表面実装の部品に統一できていないので、部品を購入して改良していきたいと思います。これで何か動かしたら、またここや何か他の媒体にupしたいと思います。

 

それではまた次の更新まで。