2020年4月24日金曜日

PICマイコンデバッグ環境「MPLAB X IDE」のインストール方法(PICシリーズその4)

●PICの開発環境

PICの開発環境はソフトウエアツールとハードウェアツールが必要です。
・ソフトウエアツールとは、PICにおいては、IDE(統合開発環境)とコンパイラの2つになっています。
紺の方(MPLABX-v5.30-windows-installer.exe)がIDE(統合開発環境)で、緑の方(xc8-v2.10-full-install-windows-installer.exe)はコンパイラです。

IDEに関しては使用するPICにかかわらず共通ですが、コンパイラに関しては、使用するPICのbitによってコンパイラが異なります。各コンパイラの容量が300MBと比較的大きいため、別々になっています。今回使用するPICは8bitなので、XC8コンパイラをインストールしていきます。

また、ソフトウエアツールをネットワークに依存しないローカル環境で行う”ローカルスタイル”とネットワーク上のクラウドサーバーで行う”クラウドスタイル”の大きく分けて2つあります。クラウド環境のコンパイラはどこでもデバッグができるメリットはありますが、現場だとネットワークが不安定な環境のクラウドでデバッグすることが果たしてあるのか怪しい。教育用の環境として公開しているようにしか考えられない。

・ハードウェアツールはPICマイコンにプログラムを書き込む機械です。本記事ではPICkit4を使用していきます。



IDEのインストール

下記のリンクにアクセスします。
https://www.microchip.com/mplab/mplab-x-ide


下にスクロールすると、ダウンロードのタブが多数出てきます。使用環境に合わせたものをクリックしてダウンロードします。



ダウンロードした、“MPLABX-v5.30-windows-installer.exe”を実行します。
実行するとスタートウィンドウの後、以下のような画面の後セットアップ画面が開きます。 





規約が出てくるので、よく読んでからI accept the agreementにチェックを入れ、Nextをクリック。



次にインストールフォルダを入れますが、特に理由がない場合デフォルトをお勧めします。


インストールするソフトと、サポートするbit、匿名改善情報を送るかを選択できます。匿名情報ですので、Microchip社に協力してもいい人はチェックを入れましょう。パソコンスペックがあれば何も気にせずそのままインストールでいいです。


「インストール準備が整いました。」Nextをクリック。


インストールが開始すると以下の画面が出ます。少し待って、何回かほかのインストール画面がですので、実行しましょう。


しばらくすると、インストールが終了して下記の画面が出てきます。これでMPLAB X IDEのインストールは終了です。これらはダウンロードページを開くリンクです。必要なのはXCコンパイラのみなので、一番上にチェックを入れてNextをクリック。


この時点で、以下の2つのソフトウェアがインストールされています。





コンパイラのインストール

IDEのインストールが完了したら自動でページが開きますが、
下記のリンクにアクセスしてもダウンロードができます。こちらも使用環境に合わせたものをクリックしてダウンロードします。
https://www.microchip.com/mplab/compilers 




 ダウンロードされた“xc8-v2.10-full-install-windows-installer.exe”を実行します。すると、以下のようなセットアップ画面が開きます。Nextをクリック。


 規約が出てくるので、よく読んでからI accept the agreementにチェックを入れ、Nextをクリック。


あとはX IDEと同様に進めますが、途中でこのような画面が出ます。Freeにチェックを入れてNextをクリック。





次にインストールフォルダを入れますが、特に理由がない場合デフォルトをお勧めします。


コンパイラの設定に関しては、両方ともチェックを入れます。



「インストール準備が整いました。」Nextをクリック。



インストールが開始すると以下の画面が出ます。少し待ってください。



さらに進めると、ライセンスをどうするか聞かれます。今回はFREE(無料)のXC8を使うので、そのままNextをクリック。


これで、インストールは終了です。

MPLAB X IDEを開いてみる

正常にインストールが完了していれば、リンクが生成されているはずです。上のMPLAB X IDEをダブルクリックし、起動します。

暫くして、このような画面が出てくればインストールが成功しました。




2020年4月17日金曜日

LTspiceにオペアンプモデルの追加

LTspiceを使うにあたってちょっとしたハードルとして、秋月で売っているパーツのシミュレーションモデルがないことがある。

今回はオペアンプのような .subcktモデルの追加をする。

今回追加するモデルはLM358N。レールで買うぐらい使いやすいかなと思っているオペアンプです。


TI,ST,ONsemi,HTCなど各社から発売しています。
また、比較的汎用的なオペアンプなのでspiceモデルも公開されています。
これをLTspiceで動作させれるようにしましょう。

 .subcktモデルの追加に必要なようなモノ

 .subcktモデルを追加する上で必要なものが2つあります。

・.libファイルもしくは.subファイル
・.asyファイル

.libファイルというよりか実際は等価回路モデルspice記述言語の表記が.subcktで始まるものという認識があれば使う分には充分です。
拡張子は.modや.cir、.lib、.subどれでも問題ないみたいですが著者は.libが好きなので、基本libに置き換えています。

.asyファイルはシンボルファイルで回路モデルの形のファイルです。

 .subcktモデルの追加は.libファイルと.asyファイルがそれぞれ必要です。

以下に追加方法を記載します。


.libファイルの入手

今回はオンセミで公開しているモデルをダウンロードします。
https://www.onsemi.jp/products/amplifiers-comparators/operational-amplifiers-op-amps/lm358

ダウンロードしたら拡張子にかかわらず適当なテキストエディタで開いてください。


この開いたファイルを名前を付けて保存してください。
このとき拡張子を.libにしてください。
また、ファイル名を"LM358N.lib"するといいでしょう。

このファイルを
C:\Users\xxx\Documents\LTspiceXVII\lib\sub
※xxxはユーザー名
に保存してください。.libファイルの準備はこれで完了です。

.asyファイルの作成

今回はオペアンプのシンボル追加なので以下のファイル
C:\Users\xxx\Documents\LTspiceXVII\lib\sym\Opamps
※xxxはユーザー名
opamp2.asyをコピーして、"LM358N.asy"と名前変更したファイルを作成します。
これをダブルクリックして、シンボルを開きます。

 Edit>Attributes>Edit Attributesから
Symbol Attribute Editorを開き、以下のようにします。
Prefix:X(.subcktモデルはすべてX)
Value:LM358N
ModelFile:LM358N.lib


Tools>Pin tabelから
Pin List/Netlist Orderを開き、

libファイルの以下の箇所に対応するように変更します
*PINOUT ORDER +IN -IN +V -V OUT
.subckt LM358N 1 2 3 4 5

+IN→1
-IN→2
+V→3
-V→4
OUT→5




それぞれの接続点を右クリックで個別に変えることもできます。

動作確認

ここまで作成したら
一旦LTspiceを落として、簡単な回路を作成します。
オペアンプなら反転増幅回路が手軽なのでこれを作成し、実際にシミュレーションを走らせて意図した動作をしていれば終了です。



2020年4月15日水曜日

LTspiceのデバイスモデルの種類

LTspice上で、C:\Users\ (XXX) \Documents\LTspiceXVII\lib\cmpには、
standrard.xxxというファイルが入っているがそれぞれが各部品のモデルの種類を表しています。


◆受動部品

・standrard.res : 抵抗

・standrard.cap : コンデンサ

・standrard.ind : コイル

・standrard.dead : フェライトビーズ

◆能動部品

・standrard.dio : ダイオード

・standrard.bjt : バイポーラトランジスタ

・standrard.jft : J-FET

・standrard.mos : MOS-FET


※また、拡張子が".BAK"のものは各部品のバックアップファイルです。

能動部品は、各メーカーでモデルが公開されているが、受動部品は公開されている例は少ない。
また、実際シュミレーションで等価直列インダクタンスやコンダクタンス、レジスタが影響するようなことがあるならそれに対応した値を調べて以下のようにする方が楽だと思います。






2020年4月13日月曜日

基板設計の流れ(回路設計目次的な立ち位置)

仕事でも、趣味でも、回路に触れている人が、
趣味でどのように基板設計をしているかフローで書いていきます。
個人的な作業のヤリかたを機械化するためのものでもあるので、
批判は受け付けません。(アドバイスは受け付けます。)
また、設計の流れが変わることもあります。ご了承ください。


設計コンセプト

何を作りたいか、外観とかをどのようにしたいか、どのように動かしたいかを考えます。
このとき設計方針を決めるものでもあるのでワープロで方針をまとめておくといいでしょう。必要に応じてあとは増やしていきましょう。

項目は以下のようにあればいいと思います。
・目的
・電気設計仕様
・機械設計仕様
・シュミレーション結果
・メカ設計
etc.....


勿論、資料は覚え書きにもなるので基板が完成するまでの過程をこまめに記載するのをお勧めします。

計算及びシュミレーション

回路の動作を手計算やLTspice、Pspiceを用いて動作を確認することで、大まかな動作を確認できると思います。しかし、スイッチ電源はパターン容量やインダクタンスの影響もあるのでシュミレーションだけで見えない場合もある。
そのような場合は趣味として、勉強として割り切ることや知恵袋で聞くのも手だと思われる。


勿論趣味でで標準で対応していない部品もあるので追加しなくてはいけません。

LTspice トランジスタ追加方法

LTspiceのデバイスモデルの種類

トランジスタモデル追加と動作確認(2SAR340P - モデル追加)

LTspiceにオペアンプモデルの追加

回路図作成

ここまでの設計を回路CADを用いて回路図に起こしていきます。
シンボルがないならシンボルを作成したり、シュミレーションでは不要なことが多いパスコンなどの点数を確認するなど、今まで見えてこなかったことが明らかになることが多い点でもあります。
これ以降の流れでは戻って設計を見直すことも多いです。


AW設計

アートワーク(AW)設計。機械設計の側面が強くなってきました。
モジュールとしての設計コンセプトだと、相手側の基板が存在するので相手方の寸法と合わせた設計になります。
また、コネクタ―などを用いるときは機械図面と併せた設計になります。

以前の記事も併せて参考にしてください。

KiCADシルク入れ方、レジストはがし方

KiCADスリット入れ方



KiCADですと3Dで実装した感じを見ることができるので併せて活用するといいと思います。




部品手配

個人で基板を作成するもので最も負担が大きいものとして、部品手配です。
購入できるところは対面式や通販がありますが、部品が多いと個々に探す必要があります。
探すサイトを複数に跨がないように趣味で作製する際は、
サイトをきめてしまうのも手です。

私が主に使用しているサイトを以下に示します。
・チップワンストップ

https://www.chip1stop.com/

・秋月電子通商
http://akizukidenshi.com/catalog/default.aspx

・RSコンポーネント
https://jp.rs-online.com/web/



基板発注

基板発注は初めて行う際はハードルは高いと思いますが
一回発注すると問題なくできるようになると思います。
まず、KiCAD 発注データの作成を行い。

以下のサイトで必要なデータをアップロードして、作製してもらいます。
Seeed Fusionしか自分は使用したことありませんがそれ以外も今後使っていきたいです。

・P板.com

https://www.p-ban.com/

・Seeed Fusion

https://www.fusionpcb.jp/

CNCで自分で削り出すので対応する人もいますし、エッチングするのもいいですが、
面倒な片付けしたくないので大体発注しかしません。


部品実装

ここまでやって、みんなお楽しみはんだ付けです。
私ははんだ付けが上手いとは言えないので最低限しかできませんが
ここまでやることでやり切ったなという感じになります。

電子工作のコツ/はんだ付けhttps://article.murata.com/ja-jp/article/soldering


終わりに

ここまでやったら作製したものの動作確認や評価になります。



2020/04/13 初回
2020/04/18 rev2

2020年4月10日金曜日

反転増幅回路キット作成

回路設計をして見ないほうが難しいオペアンプの回路として、
反転増幅回路がある。
これ、よく使うのでキット化したら楽じゃないかと思い回路設計を行った。

コンセプト

・汎用性
・小型化
・ソケット化

汎用性とソケット化は回路図で対応して、小型化はAWで対応する。
小型化といっても抵抗をむやみに1005サイズにすると汎用性と相反するので、
1608サイズになる。
オペアンプはDIPのもので表面実装を使いたいときは変換基板で対応する。

回路図

いつものごとくKICADでパパっと作成。
汎用性という意味で4点を盛り込んだ。
・補償用コンデンサ
・入力位相補償
・保護ダイオード
・電源部LPF
・ソケット

この規模なら回路図はそんなに時間はかからない。


AW

ソケットと小型化を考えて配置しなくてはならないので、
始めにソケットとDIP部品、ネジ穴を配置して外形を設定して。
後はパ、パ、パっとチップ部品を並べたものが以下のようになります。
3Dで見てみると以下のようになる。(実際フル実装することはない。)


小型化だと裏面に置くことも考えたが、ソケットとの受けの基板の部品面にも部品が置けるように部品はなくした。


面付け

今回は捨て基板を設けるので、形だけの練習にもなるがいろいろ挑戦してみた。

・捨て基板
・V-CUT(赤枠)
・位置決め穴(黄枠)
・基板コーナーを丸くするため、半径5.0mm程度のRを付けた
・実装認識マーク(緑枠)
(うまくいかないものもありそうだから各詳しいやり方はモノができてから記事にします。)


安く作るためにできるかぎり小型化して1枚から8枚取り出すのが限界でした。
実装面積的に結構限界じゃない?オペアンプをもっと小型化したり、半田面に乗せればもう少し小型化できるけど、汎用性なくなるからこれが限界。



2020年4月9日木曜日

トランジスタモデル追加と動作確認(2SAR340P - モデル追加)


以前もトランジスタ追加を記事にしましたが、今回は動作確認まで確認します。

spiceモデルの追加

始めに部品メーカーのspiceモデルが公開されているページで任意のファイルをダウンロードする。
今回はロームの2SAR340Pをダウンロードしています。



ダウンロードファイルを展開し、任意のテキストソフトで確認する。



テキストソフトとは別に、
LTspice上で、C:\Users\ (XXX) \Documents\LTspiceXVII\lib\cmp\standard.bjtを開く。
((XXX)には、ユーザー名が入る。)


赤字で示した箇所を”+ “は削除し、
C:\Users\ (XXX) \Documents\LTspiceXVII\lib\cmp\standard.bjtの一番下の列に追加し、保存。


LTspiceを再起動して、New schematicでトランジスタが追加されているか確認。


  追加したモデルの動作確認

追加したオペアンプの動作が正しいか確認を行う。

Vce vs Ic特性が一番手ごろなのでデータシートと同じようになる様に確認する。
「PNP -100mA -400V Middle Power Transistor - 2SAR340P」より


LTspice上で回路を作成し、シュミレーションを走らせる。
結果として。右のような波形が確認できる。
(×しているところはPNPトランジスタのときのシュミレーションなのでPNPトランジスタの動作確認をしたいときは上に入れてください。)


ここで、データシートとシュミレーション結果が一致していることを確認すれば、追加したモデルが問題ないと言えるでしょう。 
追加したモデルに不備があったら、問い合わせるなり、趣味なら割り切ってそのまま使うなど状況に応じた対応をすればいいと思います。

下に今回、追加したモデルを載せておきます。

.MODEL 2SCR346P NPN IS=150.00E-15 BF=234.94 VAF=820.07 IKF=.44072 ISE=150.00E-15 NE=1.4185 BR=1.4068 VAR=45.121 IKR=3.2001 ISC=122.24E-12 NC=1.4956 NK=.94086 RE=.25 RB=6.3157 RC=1.2890 CJE=80.643E-12 VJE=.59389 MJE=.31734 CJC=18.294E-12 VJC=.48804 MJC=.39336 TF=6.4588E-9 XTF=2.5077 VTF=156.15 ITF=.26687 TR=15.769E-6 XTB=1.5000 TRE1=0.015


.MODEL 2SAR340P PNP IS=250.00E-15 BF=189.31 VAF=257.28 IKF=.99998 ISE=250.00E-15 NE=1.5964 BR=.40769 VAR=49.368 IKR=6.9177 ISC=254.60E-15 NC=1.0621 NK=1.8285 RE=.3 RB=11.216 RC=2.8132 CJE=70.394E-12 VJE=.803 MJE=.37787 CJC=48.807E-12 VJC=1.4223 MJC=.59914 TF=9.3420E-9 XTF=242.32 VTF=56.620 ITF=1.8412 TR=15.394E-6 XTB=1.5000 TRE1=0.01