CAD・シミュレーション

Eagleで手軽に基板を設計してみよう!
第1回「回路のシミュレーションと設計」

Eagleってなに?回路設計CADってどうやって使うの?英語ばかりで分からない…

そんな基板設計を始めたい皆さんに向けて今回、回路設計CAD(E-CAD)と呼ばれる種類のCADの中でも、Autodesk社のEagleというソフトを使った回路設計を解説していこうと思います!!

それに合わせて、SimcirJSを用いた論理回路シミュレーションもご紹介します!!

皆さんこんにちは。いかがお過ごしでしょうか?Jinです。

はや、2021年も終わりへと近づき、もうクリスマスのシーズンですね!!
そんなこの時期にぴったりの、クリスマスツリーを作成しながら解説していこうと思います!!

このクリスマスツリーの詳細は以下の記事にてご紹介していますので、是非ご覧ください!

今回、クリスマスツリーはJLCPCB様にて発注しております。良ければ皆様もご利用ください!

SimcirJSでの回路の設計

以下の記事でも紹介した通り、やはりモノづくりにおいて最初の段階は、企画の考案と設計です。

企画の考案をある程度まとめて、回路を組むとき、やはり手軽にシミュレーションできると便利になります。

そこで最初に、SimcirJSを使った論理回路のシミュレーション方法をご紹介しましょう!

SimcirJSとは?

そもそもSimcirJSとは何なのか…と思う方も少なくはないと思います。

このツールは、htmlやJavaScriptといったウェブのフレームを利用し、ウェブ上で論理回路をくみ上げ、シミュレーションができるといったツールになっています。

VisualStudioCodeなどのテキストエディタで編集もでき、組んだ回路をデバイス化して再利用したり、回路の様々な値を編集できたりします。

環境の構築

まず、VisualStudioCodeの環境を構築してください。この部分については割愛します。

次に、ワークスペースを適当な場所に作成してください。私はドキュメントに”SimcirJS”というフォルダを作成しました。

次に、以下の6つのファイルをこのディレクトリに保存します。

これらのファイルの保存は以下のように 右クリック→”名前を付けて保存”を選択し、ファイル名をそのままにして保存します。

それでは、VSCodeでの作業に入ります。いま作成したワークスペースを開きましょう!”ファイル”→”フォルダーを開く…”を選択します。

それではVSCodeで、ここにメインとなるファイルを作成します。拡張子はhtmlで中身は以下からコピペしてください。”paste here your circuit data”の部分に回路のコードを生成していきます。

widthやheightはお好みで調整してください。

<!doctype html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
    <script type="text/javascript" src="jquery-2.1.1.min.js"></script>
    <script type="text/javascript" src="simcir.js"></script>
    <link rel="stylesheet" type="text/css" href="simcir.css" />
    <script type="text/javascript" src="simcir-basicset.js"></script>
    <link rel="stylesheet" type="text/css" href="simcir-basicset.css" />
    <script type="text/javascript" src="simcir-library.js"></script>
    <title></title>
  </head>
  <body>
    <div class="simcir">
    <!-- paste here your circuit data -->
    {
        "width":800,
        "height":400,
        "showToolbox":true,
        "toolbox":[
            {"type":"In"},
            {"type":"Out"},
            {"type":"DC"},
            {"type":"LED"},
            {"type":"PushOff"},
            {"type":"PushOn"},
            {"type":"Toggle"},
            {"type":"BUF"},
            {"type":"NOT"},
            {"type":"AND"},
            {"type":"NAND"},
            {"type":"OR"},
            {"type":"NOR"},
            {"type":"EOR"},
            {"type":"ENOR"},
            {"type":"OSC"},
            {"type":"7seg"},
            {"type":"16seg"},
            {"type":"4bit7seg"},
            {"type":"RotaryEncoder"},
            {"type":"BusIn"},
            {"type":"BusOut"},
            {"type":"RS-FF"},
            {"type":"JK-FF"},
            {"type":"T-FF"},
            {"type":"D-FF"},
            {"type":"8bitCounter"},
            {"type":"HalfAdder"},
            {"type":"FullAdder"},
            {"type":"4bitAdder"},
            {"type":"2to4BinaryDecoder"},
            {"type":"3to8BinaryDecoder"},
            {"type":"4to16BinaryDecoder"}
        ],
        "devices":[
        ],
        "connectors":[
        ]
    }
    </div>
  </body>
</html>

これを保存し、ブラウザで開いてみてください。白紙の部分とツールボックスに様々なパーツが収納されていれば成功です!!

論理回路を組もう

それでは、論理回路を組んでいきましょう。論理回路の記事についても今後、アップしていく予定ですので、是非チェックしてみてください!

今回、私はシフトレジスタをD-フリップフロップでくみ上げ、各出力をLEDに出したいので、以下のような回路を組みました。また、LEDの色やOSCの周波数などはドキュメントで変更の仕方が書いているので、参考にし試してみてください。

シフトレジスタは、5Hzのクロックで同期し、入力には最後にシフトされる4つ目のD-FFの反転信号を入れています。

これにより持続的なループをするシフトレジスタが組みあがります。タイミングチャートはこのようになっています。

Eagleの導入

それでは、回路の設計が完成したところで、これをCADに入れていきましょう。E-CADを使う主な理由としては、回路図が手軽にかけたり、やはり大きな理由は基板の発注でしょう。

基板の発注に関してはJLCPCBでの方法を以下の記事にて紹介しておりますので、是非ご覧ください。

Eagleのサイトを開き、”無償ダウンロード“からダウンロードします。ライセンスは学生のものもあり、設計できる基板のサイズが変わってきたりします。

今回は学生版ライセンスでの設計をしていますので、ライセンスも是非チェックしてみてください。

Eagleで回路図を設計

Eagleをインストールし、Autodeskアカウントでログインできましたら、早速ですが回路図を作っていきます。

まずは最初の画面で”File”→”New”→”Project”を選択します。名前は、クリスマスツリーということですので”ChristmasTree“としました。

次に、出来たプロジェクトを選択し、”File”→”New”→”Schematic”を選択します。このファイルが回路図のファイルとなっており、回路図を作成出来るようになります。

できたファイルを開くと、下の写真のようなウィンドウが出てきます。ここで回路図をくみ上げていきます。

ライブラリや3Dパッケージの追加

SimcirJSで組み上げた回路の部品は、OSC:NE555PG4、D-FF:74hc74apとして配線していこうと思いますが、ここである問題が発生します。これらの部品がEagleに登録されていません。

こういう状況は少なくありませんので、この問題を解決するために外部から部品のライブラリをとってくるやり方をご紹介しようと思います。

CoreStaffのサイトにアクセスします。ここでは、様々なE-CAD用のパッケージを配布しており、今回こちらを利用してライブラリをとってくることにしようと思います。
アカウントを作成し、LOGINすると以下のようなページに飛ぶことができます。

先ほど書いた、NE555PG4と74hc74apを検索します。見つかったら、”ECAD Model”と書かれたリンクに飛びます。

ダウンロード場所は適当で構いませんが、解凍後のディレクトリ内の”Eagle”フォルダにある拡張子が.lbrのファイルを、”ドキュメント”→”Eagle”→”libraries”に移動しましょう。

回路エディタで、OpenLibraryManagerを選択し、開きます。

すると”Library Manager”というウィンドウが出てきますので、”Available”→”Browse…”を選択し、先ほど移動したファイルを選択します。

その後、Useをクリックして、使えるようにしていきます。

次に3Dパッケージの割り当てをしていくので、Useにした後、項目が”In Use”のタブに移動しますので、そこで”Edit”を選択してください。

このステップは最終的にFusion360という機械設計cadに取り込んだ時に、部品が表示されるようにするものなので、不要な方は飛ばしていただいてOKです!

“Edit”を選択後、ライブラリを編集する画面の”3D Package”の項目で、”Import 3D Package”→”Create with package generator”を選択し、パッケージを追加していきます。

“Package generator”というツールが開きますので、ここで”DIP”を選択して、555の場合は下の画像1枚目を、74hc74apの場合は2枚目の画像のように設定して”Finish”を選択してください。

NE555PG4
74hc74ap

Finishを選択すると、Footprintのところにも新しくできているので、これをDeviceで関連付けていきます。

Deviceをダブルクリックして編集画面を開きます。(以下の画面)

右下の”New”→”Add local package”で新しくできたfootprintを選びます。その際、以下のような警告が出てきますが、これはfootprint識別するためのものですので、適当な値を付けてOKを選択します。

その後、footprintをsymbol(回路記号)と紐づけるために”Connect”を選択してください。尚、ピンの対応は以下のデータシートで読み取ってください。
NE555PG4
74hc74ap

ここまで終了すると、左上の”Save”をクリックして保存してください。私はAdafruitのLEDにもパッケージを同様にして追加しましたが、そこはお好みで追加してください。

これらに加え、可変抵抗器のライブラリは自作しました。こちらは使う部品によって仕様が変わってきますので、こちらの記事などを参考にして調整してください。

部品を配置

それでは、準備が整ったところで、部品を配置し、配線していきましょう。

左のツールボックスにある、”Add Part”を選択し、部品を配置します。部品は下のリストを参考に配置していってください。下の写真のように配置しました。

配線しよう

それではこの部品同士をつなげていきましょう!!LEDのピンを残して、SimcirJSでシミュレーションしたのと同じように配線していきます。配線はツールボックスの中にある、以下のアイコンです。

タイマIC555は、通常の無安定動作で配線していくことにします。LEDの配線をしないのは、通常の配線だと非常にややこしくなって回路が見にくくなってしまうからです。

このように配線がされると思います。Value(値)はお好みで調節してください。ただ、Valueを空欄にしておくと、回路のチェックを行ったときにエラーが出るので注意してください。

ここまで来ると、あとはLEDに配線するだけです。LEDの配線は多くややこしくなってしまうので、”バス”という配線をひとまとめにできる機能を使用して配線していきましょう。

まず、左上の配線の角を設定する場所で、斜めの配線が出来るようにします。

それではこの青い線で配線していきましょう。配線が終われば、配線名を付けなければいけません。

今回は、シフトレジスタの出力ということですので、Q1~Q4、!Q1~!Q4を名前に付けようと思います。配線の名前は、ひとつずつ”,”(カンマ)で区切りましょう。

このように、配線名を付けることができます。それでは、このバスでICとLEDを紐づけていきましょう。通常の配線の戻し、このバスをクリックします。

するとこのように配線が選べますので、順に出力をLEDと紐づけていきましょう!

設計した回路のチェック

それでは、回路の配線が完了すると、あとはERCという回路のチェックツールを使用して配線の確認をしていきます。

ERCをクリックすると、エラーがある場合エラーのウィンドウが表示されます。

配線が出来ていないところがあったり、VCCとGNDがショートしていたりするとエラーが出ますが、先述したValueが無い場合もエラーが出る可能性があるので注意してください。

エラーが出た場合、落ち着いてひとつずつ対処していくことが重要になります。

さいごに

いかがだったでしょうか。今回は、SimcirJSでの論理回路シミュレーション方法から、Eagleでの回路設計までを解説しました。

Eagleはライブラリなど厄介なところが多く、KiCADと比べると使いにくいという人も少なくはないので、またいずれKiCADでの設計方法なども挙げて比較していこうと思います。

次回は、今回作った回路を実際に基板へ配線していこうと思いますので、是非チェックしてみてください!

それではまた、GoodBye!!

シェア

関連記事

コメントを残す