So-net無料ブログ作成
Simulation ブログトップ
前の20件 | -

また、こんな本を買ってしまった (本の写真を追加) [Simulation]

 アメリカの古本屋さんを見ていたら IEEE/OUP Series on Electromagnetic Wave Theory シリーズの「Field Computation by Moment Methods」を見つけてしまい、つい買ってしまいました。

この本は EZNEC や MMANA のもとになっている Moments 法の解説本です。
すごく詳しく考え方の解説が基本から応用まで書かれています。
で、私には猫に小判、豚に真珠状態ですね。
理解するというより所有している満足感を楽しんでいます。
古本なので元の所有者は本に書かれていました。 アメリカの University Abertay Dundee という大学の図書館が所蔵していたようです。 中身はとてもきれいです。

DSC06513.JPG
DSC06514.JPG
nice!(0)  コメント(0) 
共通テーマ:趣味・カルチャー

思考実験 デジタル式AM送信機を考える [Simulation]

 今年のハムフェア自作品コンテストのお題が「7MHz帯AM送信機(トランシーバーも含む)」だったので、デジタル式AM送信機を考えてみました。

元になっているのは、前に RTL を書いた NCO (DDS) があるので、それをキャリヤとして AM 変調をかける方法です。
① AM 波の再確認を行い、
② オーディオ信号を AD して、サンプリングをアップサンプリングすると
③ それを NCO(DDS) の出力と掛け合わせ、AM 信号を作る
という方法です。
デジタル式AM送信機_0001.jpg
これに制御部として Arduino をつなぎ、LCD 表示や操作スイッチとのハンドリングを行います。

ここまでは考えたのですが、実現にはツールの再立ち上げとかがあって、申込までには間に合わないですね。

Eagle の不具合? [Simulation]

 先日、K3NG キーヤー Arduino 内蔵版でパタン抜けが発生した件です。

Eagle で確認して見ると、未配線箇所が残っているのに残りの未配線数が 0 になっています。
しかし、レイヤーの指定で未配線レイヤーを指定するとちゃんと表示されています。
今度からは未配線レイヤーを指定して、未配線箇所が残っていないかを確認しないとまずいですね。

このままでは気持ち悪いし、手直ししたい個所もあるので、そのうち基板の修正を入れて作り直そうと思います。

注意を要する 2N2222 Eagle ライブラリ [Simulation]

 今、PCB CAD ツールを使って基板の設計をしていますが、ごく一般的な汎用トランジスタ 2N2222 のライブラリに関して問題を見つけてしまいました。

2N2222 は汎用品として定番のトランジスタです。 しかし、入手性の問題から通常は他の汎用品 2N4401 や 2N3904 で代用される事も多いです。 今までもそれで置き換えてきました。

SparkFun は、自身が販売している部品に関して Eagle ライブラリを提供してくれています。 ありがたい事です。
しかし、SparkFun が販売している On Semi 版の 2N2222 は、足の配列が標準的な配列と異なるのです。
これが On Semi 版の配列です。
On-Semi-2N2222.jpg
そしてこれが Micro Ele 版です。
Micro-2N2222.jpg
180度配置が異なっています。
TO-92 のパッケージを使う他のトランジスタの場合は、Micro Ele 版と同じになっています。
2N3904.jpg
2N4401.jpg
回路や基板を SparkFun の Eagle ライブラリにある 2N2222 で設計して、実際に配線する場合に他のトランジスタで置き換える場合は注意しないとエミッタとコレクタが入れ替わってしまいます。

2N2222 は、LTSpice などでも良く出てくるので、注意しないといけないですね。
なんで On Semi は逆の配置にしたんでしょうね。

KiCad IC / LSI ライブラリ作成ツールがあった (モジュール編) [Simulation]

 コンポーネントは外形を小さく作れないという、問題点がありましたが、今度はモジュールの作成ツールです。

モジュールの作成ツールはこちらです。

① 同じくパラメータを設定して
3_mod.jpg

② Assign Pad Properties をクリックすると
4_mod-pad.jpg
こんな画面に切り替わります。
ここで、下のほうにある
5_mod-pad.jpg
Preview Module をクリックします。 すると Preview データが作成されます。

③ Preview 画面
6_preview.jpg
ビューワーで見ると、そこそこなライブラリになっていますね。

④ モジュールの作成
今度は、Build Module をクリックすると、モジュールが作成されます。

⑤ ライブラリの確認
実際にレイアウト・エディタに読み込んでみると
7_mod-layout.jpg
そこそこ出来ているみたいです。
ちょっと拡大してみると
8_mod-layout.jpg
Pad の逃げがくっついてますね。 これだとリアルタイム DRC がうまくないですね。

KiCad IC / LSI ライブラリ作成ツールがあった (その2) [Simulation]

 コンポーネントの生成、その2です。

前回作ったコンポーネントは外形が大きすぎて回路図を書くのに向いていません。
そこで、いじれるパラメータを小さくしたバージョンを作ってみました。

〔パラメータ指定画面〕
1_setup.jpg
ただし、ここで指定できるのはテキスト・サイズぐらいしかありません。

〔出来たコンポーネント〕
BGA-272B.jpg
テキストが小さくなっています。

実際に回路図に配置してみると
1_load-schema.jpg
ぜんぜん大きさが変わっていません。

そこで、元のライブラリ・ファイル(テキストです)をテキスト・エディタで確認してみると
2_compere-lib.jpg
DRAW パートの数字が変わっていません。
どうやら、このツールはピンの間隔は固定で、ピンの数に応じて外形や配置を決めているようです。
う~ん、ちょっと使いづらいですね。

KiCad IC / LSI ライブラリ作成ツールがあった [Simulation]

 ネットを検索していたら、KiCad 用の IC / LSI ライブラリの作成ツールを見つけました。

ここにあります。
これがスタート画面です。
1_Lib_gen_component_setting.jpg
BGA チップのコンポーネントを作る場合は、BGA を選んで外周と内周のピン数を入力して、Assign Pins をクリックします。
するとこのような画面が表示されます。
2_Lib_gen_component.jpg
ピンの Name と Orientation、Type を設定していきます。
最後に
3_Lib_gen_component_button.jpg
Preview で確認して、Build Library Component をクリックすると、Component Name の付いたライブラリが作成されます。
これを開いて確認してみます。
プロジェクトに作ったライブラリを追加します。
4_set-lib.jpg
ライブラリエディタを開いて、作業ライブラリを選択します。
5_set-work-lib.jpg
次にコンポーネントを読み込みます。
6_load-component.jpg
ライブラリブラウザを使ってコンポーネントを選びます。
7_load-component.jpg
で、ライブラリエディタに読み込むと、
8_load-component.jpg
ちゃんと出来ています。
これを回路エディタに読み込んでみると、
9_read-to-schematic.jpg
なんと、A4 の用紙からはみ出しています。

う~ん、これでは困るので、もう少しサイズの小さいコンポーネントを作れるようにサイズのパラメータを調整しないとなりませんね。

KiCad ライブラリの作成(その4) [Simulation]

 今回はランドの作成です。

まず、モジュールエディタを起動し、モジュールを読み込んで起きます。(前回の続きからです)

① パッド入力アイコンをクリックします
1_pad.jpg
下に出る座標を確認しながらパッドの中心座標をクリックします。
2_1pin-center.jpg
すると、パッドが配置されます。
3_1pin-pad.jpg
パッドを右クリックして、出てくるメニューからパッドの編集を選びます。
4_edit-pad.jpg
パッドを取り付ける部品にあわせて編集します
5_edit-pad-property.jpg
OKして1pin のパッドが配置できました。

② 残りのピンの配置をします
パッドの中心座標をクリックして
6_5pin-pad.jpg
プロパティを編集し
7_edit-5-pad-property.jpg
これで、信号線のパッド配置が完了です。

③ コネクタ固定用パッドの配置をします
中心座標をクリックして
8_6pin-pad.jpg
プロパティを編集します。
9_edit-6-pad-property.jpg

④ 外形線の作図をします
基板シルクに書かれる外形線の作図をします。
右メニューから「図形ライン(またはポリゴン)を入力」アイコンをクリックして
10_gaikei.jpg
外形線を作図します。
11_gaikei.jpg

⑤ モジュールの保存
上にあるメニューから「作業ライブラリ中にモジュールを保存」アイコンをクリックして
12_write-lib.jpg
保存します。

⑥ 作ったフットプリントの確認
基板エディタで作ったモジュールを配置してみます。
13_put-module.jpg
前に配置したものと同じものが出来ています。

これにて、ライブラリ作成の勉強は終わりにして、実際に使うライブラリを作ってみます。

KiCad ライブラリの作成(その3) [Simulation]

 今回はフットプリントの作成です。

回路記号(コンポーネント)が出来たので、今度はフットプリントの作成です。
フットプリントはモジュールエディタを使って作ります。

① モジュールエディタを起動する
基板エディタからモジュールエディタのアイコンをクリックします。
1_module-editer.jpg
すると、モジュールエディタが開きます。

② 新規モジュールの作成
モジュールエディタで新規モジュールのアイコンをクリックします。
2_new-module.jpg
モジュールの名前を入力します。
3_module-name.jpg
OKをクリックするとモジュールが作成されます。
4_module-name.jpg

③ いったん保存します
出来たモジュールをとりあえずライブラリに保存します。
「新規ライブラリを作成して現在のモジュールを保存」アイコンをクリックします。
5_new-lib.jpg
名前を付けて
6_new-lib.jpg
保存します。

④ ライブラリの登録
基板エディタを開いて、作ったライブラリを登録します。
7_set-lib.jpg
開いたダイアログボックスで追加をクリックし、
8_set-lib.jpg
ライブラリを登録します。
9_set-lib.jpg
ここで、プロジェクトへの登録も聞かれるので、開いているプロジェクトに登録します。 ※ 追記

⑤ モジュールエディタを開いてモジュールの設定をします
モジュールエディタを開くと、タイトルに(アクティブなライブラリがありません)と表示されます。
10_set-lib.jpg
ここで、アクティブなライブラリを選択します。
11_set-lib.jpg
ダイアログボックスで作ったライブラリ名を指定します。
12_set-active-lib.jpg

⑥ モジュールの編集準備をします
ライブラリからモジュールを読込みアイコンをクリックし、
13_read-module.jpg
ダイアログボックスでモジュール名を入力し、
14_read-module.jpg
ライブラリをモジュールエディタに読み込みます。
15_set-uncar.jpg

⑦ スケールの設定をします
左のツールバーからミリメートル単位を選びます。
16_set-scale.jpg

⑧ グリッドの設定をします
17_set-grid.jpg

このあとはランドや取り付け穴等を作って行きます。

KiCad ライブラリの作成(その2) [Simulation]

 KiCad ライブラリの作成(その2)、電源コンポーネントです。

今回は VCC から VBUS を作ります。

① Power ライブラリから VCC をコピーします
まず、Power ライブラリの読み込みからです。 作業ライブラリの選択アイコンをクリックして
21_work-lib.jpg
ダイアログボックスで Power を選び、OK します。
22_work.jpg
コンポーネントの読み込みアイコンをクリックして
23_read-conponent.jpg
VCC コンポーネントを読み込みます。

② VBUS の作成
「現在のものから新規コンポーネントを作成」アイコンをクリックして
24_reuse-conponent.jpg
コンポーネント名を VBUS に変更し、OK をクリックします。
25_property.jpg
ライブラリを聞かれるので、usb5 を選んで
26_re-read-lib.jpg
usb5 ライブラリを読み込んだら、「ディスクに現在のライブラリを保存」アイコンをクリックして書き込みます。
27_write-lib.jpg
ダイアログボックスが出るので OK します。
28_write-warning.jpg
ライブラリファイルの確認ダイアログボックスが出るので、これも OK します。
29_write-warning.jpg
これで VBUS 電源コンポーネントが保存されました。

③ ライブラリの確認
ライブラリブラウザでライブラリの中身を確認します。
30_lib-brawser.jpg
ちゃんと出来ています。

KiCad ライブラリの作成(その1) [Simulation]

 ちょっと間が空いてしまいましたが、KiCad でのライブラリ作成です。

まず、ライブラリエディタを起動し、回路記号(コンポーネント)を作成します。

① ライブラリエディタ: 新規コンポーネント作成
メニューから「新規コンポーネント作成」を選びます
1_new.jpg
コンポーネントプロパティが開くので、名前などを設定します
2_new2.jpg
最後に「OK」をクリックします

② コンポーネント名と参照記号の配置
右クリックして、「フィールドリファレンスCN」を選び
3_pop.jpg
表示されたダイアログから「フィールドの移動」を選択し、
4_field.jpg
文字を移動させます。
フィールド定数も移動して、完成は以下のようになります。
5_field.jpg

③ ここで、一旦、データを保存します
6_new-lib.jpg
注意喚起のダイアログが表示されますが、OKします。
7_new-lib.jpg

④ 再度、ライブラリを開きます
「設定」から「ライブラリ」を選びます。
8_lib-add.jpg
ライブラリブラウザが開くので、追加を選択し
9_lib-add.jpg
作ったライブラリを選択すると
10_lib-add.jpg
ライブラリ一覧に追加されます。

⑤ 作業ライブラリを選択して読み込みます
作業ライブラリの選択ツールのアイコンをクリックすると
11_work-lib.jpg
ダイアログが出るので、作ったライブラリを選択します
12_work-lib.jpg
このライブラリにある作ったコンポーネントを呼ぶと
13_lib-read.jpg
作成中のコンポーネントが現れます

⑥ 原点を決めるアンカの設定
右側のツールバーから錨(アンカ)アイコンを選んで中心に設定します
14_uncar.jpg

⑦ ピンの追加
ピンを追加するアイコンをクリックすると
15_add-pin.jpg
ピンのダイアログが出ます
16_pin-pro.jpg
ピン名、番号、角度、タイプを入力してOKします
それぞれのピンを追加したところです
17_pin.jpg

⑧ 部品枠の作成
ボディに矩形を入力するアイコンをクリックして
18_rect.jpg
部品の枠が描けます
19_rect.jpg

⑨ データを更新します
コンポーネントの更新アイコンをクリックして
20_write-lib.jpg
完成したコンポーネントをセーブします

KiCad 基板の配線(その5) [Simulation]

 今日は Gerber データを作ってみました。

これはレイアウト・データとガーバーデータの比較です。
Blind-via.jpg
丸の中に貫通ビアとブラインドビアがあります。 上が貫通ビアで下がブラインドビアです。
レイヤ毎に確認すると、表面に穴があり、2層目には何も無いので、ここでブラインドビアが出来る事がわかります。

う~ん、本当にこれでブラインドビア(スタックビア)が作れる設計になっているのであろうか.....
不安です。

KiCad 基板の配線(その4) [Simulation]

 KiCad でブラインドビア(スタックビア)を使ってみました。

ただ、設計の仕方としてこのやり方が正しいのか良く分かりません。
レイヤ毎の表示を見ても自身が持てません。

① 「デザインルールエディタ」で「グローバルデザインルール」のブラインド/ベリードビアを選択する
1_Glival_design.jpg

② レイヤペアを設定します
3_set_layer_pair.jpg

③ 表示するレイヤと作業するレイヤを選びます
2_Select_layer.jpg

④ ビアを打ちます
4_put_via.jpg
ビアを打つ場所をクリックし、V キーを押してビアを打ちます。

⑤ 確認する
5_check_via.jpg

おまけ
ブラインドビアの不思議な点
表側に打ったブラインドビアでは、配線の上に打つとネット名が出ますが、配線のないベタパタンのところに打ったビアではネット名が出ません。
6_Blind_via.jpg

裏側に打ったビアでも同様です。
7_check_via_2.jpg

このあとは、ガーバーデータを作ってみてどんな感じにビアが表現されているかを見てみたいと思います。

KiCad 基板の配線(その3) [Simulation]

 KiCad 基板の配線(その3) ベタパタンの作成です。

トラ技SPECIALでは、両面基板で設計していますが、今回は多層基板を使う場合の練習として、4層での設計とし、内層の2層を DGND と AGND にしてみました。

① 内層 AGND の作成
右側のツールから「塗りつぶしゾーンの追加」を選択し、ドロップダウン・メニューから配線層を選び、配線したいエリアでクリックすると、「導体ゾーンのプロパティ」が開きます。
Beta3.jpg
ここで、ネットを選び OK します。
ベタパタンにする領域を描画し、右クリックすると
Beta4.jpg
ダイアログ・ボックスが開くので、「すべてのゾーンを塗りつぶす」選ぶとベタパタンが出来ます。
Beta5.jpg

② 内層 DGND の作成
同じように、DGND も引きます。
Beta1.jpg
ネットで DGND を選び
Beta2.jpg
「全てのゾーンを塗りつぶす」選んで、ベタパタン(ベタGND)を作ります。

今回、電源は表面と裏面で配線する事にします。

KiCad 基板の配線(その2) [Simulation]

 KiCad 基板の配線(その2)で、今回は USB の等長配線です。

KiCad には等長配線ツールがありません。 そこで、ネットリストの基板上での配線長を表示させ、配線長が同じになるようにパタンを引かないといけません。

配線長を確認するやり方は
① ネットをハイライトさせるボタンを選択し、
Net_highlight.jpg
② ネットを左クリックするとデータが下に表示されます。
Net_data.jpg
これを見て配線長を決めていきます。

配線がいろいろまたがる場合は、その間の紆余曲折を含めて配線長を求めます。

KiCad 基板の配線 (番外編 裏面への部品配置 ) [Simulation]

 KiCad で、基板配線 番外編の続きです。 今度は基板裏面への部品配置の仕方です。

フットプリントモードで、部品を選択し、右クリックするとこのようなメニューが出ます。
Front-to-Back.jpg
ここで「裏返す」を選択すると、
back_layout.jpg
部品が裏面の配線レイヤーに移り、反転画像が表示されます。 これは裏側に付けられた部品を表面から透視する形になるからです。

これで両面に部品を配置できます。

KiCad 基板の配線(番外編 AGND と DGND のつなぎ方) [Simulation]

 KiCad での基板配線 番外編です。

KiCad 勉強のお手本としているトラ技 Special の本で、サンプルの例題はどうやって AGND と DGND を接続しているかを確認してみました。
無題.jpg
見つけられたのはここの青丸のところです。
AGND のベタパタンと DGND のベタパタンを USB コネクタのところで接続しています。
なかなかうまいやり方ですね。 AGND も DGND も両面で広くベタパタンにしており、かなりな数の貫通ビアを打っています。 これ、基板の加工費が高そうです。
アマチュア的にはここまで打てそうにありません。

KiCad 基板の配線(その1) [Simulation]

 KiCad で基板の配線を始めてみました。

KiCad の配線ツール、Pcbnew で配線を引いてみました。
配線.jpg
細かいところまでいろいろな情報が表示されます。 全部を表示すると重なって見づらいため、一部は外してあります。
でも、配線や Pad にネット名やピン番号が出ているのが分かります。 こんなに情報を出さなくても良いような気もしますが、要望があるのでしょうね。 たぶん、込み入った配線をする場合には便利なのでしょう。

KiCad ラフレイアウト [Simulation]

 基板外形と取り付け穴が出来たので、部品をラフレイアウトしてみました。

① メカ的な部品(スイッチ、コネクタ、ジャック、LED)からレイアウトします
module-layout.jpg
外形と同じく、寸法線を入れています。

② 配置した部品が動かないようにロックします
module-lock.jpg
これで配線中に不用意に部品(モジュール)を動かしてしまう事はなくなります。

③ 他の部品も配置します
module-layout-2.jpg

何とか基板外形内に入ったので、後は各端子間の配線を引いていきます。

KiCad 基板外形の作成(その2) [Simulation]

 KiCad で基板外形を作図する、その2です。

① 作業するレイヤとして Edge.Cuts(外形)を選びます。
edge_cuts.jpg

② 次に、作画ツールとして図形ライン(ポリゴン)を選びます。
Polygon.jpg
適当なところでスペース・キーを押し、原点を決めます。
左側のツールで mm のアイコンを選び、上側のツールバーにあるグリッドのプルダウン・メニューを適当な扱いやすい値に設定します。 ここでは「グリッド: 1,0」を選んでいます。
下に表示されている dx、dy を見ながら縦 34mm、横 49mm の線を描きます。

③ 今度は作業をするレイヤとして Cmts.User(補助)を選びます。
Cmnts_User.jpg

④ 右側の補助線ツールを使って補助線を描いていきます。
Cmnts_User_49.jpg
補助線を引くには、外形線をなぞり、寸法のテキストが表示されたら線の外部方向へマウスを動かすだけで補助線が引かれていきます。

⑤ モジュールとしてねじ穴を Edge.Cuts に配置し、Cmts.User に位置と穴径の指定を入れます。
fin.jpg

これで外形線は何とか引けたので、次は部品のレイアウトと配線を行います。
前の20件 | - Simulation ブログトップ