2018年12月29日

Kicad 5.0.2 等長配線の方法

今回はKicad 5.0.2で等長配線をする方法について、
覚書として紹介します。

等長配線をする際のポイントは「モダンツールセット」を使用することです。
「設定」→「モダンツールセット(アクセラレータ、もしくは代替)」を選択します。

■単線の場合

@「モダンツールセット(アクセラレータ、もしくは代替)」を選択

Kicad-setting.jpg


A普通に単線としていつも通りに配線する

Kicad-tool2.jpg


B「配線長の調整」をクリックする

Kicad-tool.jpg


B調整したい単線をクリックする
「現在の長さ/合わせたい長さ」が表示される

Kicad-tool4.jpg

C右クリックで合わせたい長さを設定する
合わせたい長さは配線で長い配線に合わせるため、
まず、長い単線の長さを確認して少し長めに設定する。

例 長い単線が25.65mmの場合→合わせたい長さ26mmなど

右クリックで「配線長の調整設定」をクリックする。

Kicad-tool3.jpg

Kicad-tool6.jpg


D等長配線のミアンダ配線を配置したい部分の開始点を左クリックして、
終了点までマウスを動かすと自動的にミアンダ配線される。
全く表示されない場合はミアンダ配線するスペースがない可能性がある。
スペースに余裕をもって配線しなおす。

Kicad-tool5.jpg

この状態のままで
間隔を広げる場合は1、間隔を狭める場合は2、
振幅を大きくする場合は3、振幅を小さくする場合は4のキーを押して調整する。
調整が完了した場合は再度、左クリックすると配線が完了する。

調整は現在の長さと目標の長さを見ながら値が目標に近づくように調整する。


■差動ペアの場合
差動ペアの場合はKicadが差動ペア線であると認識するために
netlist作成時に〇〇+、〇〇-という命名付けをします。
もしくは〇〇_P、〇〇_Nでもよいみたいです。

末尾に+と-をつけると自動的に〇〇が一致した線を
差動ペアとして認識します。

@配線「差動ペア」をクリックする

Kicad-tool.jpg

A差動ペアの+、-のどちらかの開始点を左クリックして
配線を開始する。終了点で再度、左クリックして配線を完了する。

Kicad-tool7.jpg

B差動ペアでビアを打つ場合は単線同様に右クリックで
「貫通ビアの配置」でビアを追加する。
差動ペアのビアは単線に比べてスペースを必要とするため、
周辺に空きスペースがない場合は
「貫通ビアの配置」をクリックしてもビアがなかなか配置できない。
十分にスペースがある場所でビアを配置する。


Kicad-tool8.jpg


C「差動ペアの配線長の調整」をクリックする

Kicad-tool.jpg

D単線同様に調整したい差動ペアの中心をクリックする
「現在の長さ/合わせたい長さ」が表示される
右クリックで合わせたい長さを設定する
合わせたい長さは配線で長い配線に合わせるため、
まず、長い差動ペア線の長さを確認して少し長めに設定する。
右クリックで「配線長の調整設定」をクリックする。


等長配線のミアンダ配線を配置したい部分の開始点を左クリックして、
終了点までマウスを動かすと自動的にミアンダ配線される。
全く表示されない場合はミアンダ配線するスペースがない可能性がある。
スペースに余裕をもって配線しなおす。

Kicad-tool9.jpg

この状態のままで
間隔を広げる場合は1、間隔を狭める場合は2、
振幅を大きくする場合は3、振幅を小さくする場合は4のキーを押して調整する。
調整が完了した場合は再度、左クリックすると配線が完了する。
調整は現在の長さと目標の長さを見ながら値が目標に近づくように調整する。



以上で単線と差動ペアの場合の等長配線ができます。
ポイントは
・「設定」→「モダンツールセット(アクセラレータ、もしくは代替)」を選択
・ミアンダ配線するために余裕のある配線スペースの確保
・差動の場合は配線名称を〇〇+、〇〇-といった名称にする
です。

これでKicad 5.0.2 等長配線ができました。
posted by Crescent at 00:00| Comment(0) | 電子工作 | このブログの読者になる | 更新情報をチェックする

2018年12月15日

Kicad 両面フットプリント作成方法

今回はKicadのフットプリント作成時に
両面にパッドがある部品を作成するポイントを覚書として紹介します。

普段は片面、特に表面のパッドしか作成しないため、
両面にパッドがある部品を作成する情報がなかなか見当たりませんでした。

今回、作成する両面にパッドがある部品はHDMIのコネクタです。

hdmi-con.jpg

基板に挟み込んで実装するタイプです。


通常通り、表面のパッドを作成した後、
裏面については次のように設定して作成します。

kicad-back.jpg

表面では「F.Paste」「F.Mask」にチェックが入っています。
裏面の場合は「B.Paste」「B.Mask」にチェックを入れ、
合わせて、「導体」に「B.Cu」を選択します。

これにより、裏面のパッドが作成できます。

実際に作成したHDMIコネクタのフットプリントがこちら。

kicad-con.jpg

両面にパッドを作成することができました。


posted by Crescent at 00:00| Comment(0) | 電子工作 | このブログの読者になる | 更新情報をチェックする

2018年12月01日

Design Spark Mechanical v4リリース

Design Spark Mechanical v4が先日リリースされました。

商用でも無償で利用可能で、
3Dプリンタのstlファイル形式で出力できる3DCADソフトウェアなので重宝しています。

rs.jpg


Design Spark Mechanical v4は64bit版のみの提供のようです。

ここ数年、全くアップデートがなかったDesign Spark Mechanicalですが、
やっとアップデートが先日ありました。
某3DCADソフトウェアのように毎月あるのは考えものですが、
数年全くないのも心配していた状況でのアップデートです。

新機能として、回転体、連続体、シートメタルの作成が可能な
ブレンドツールが追加されています。

他に自動保存機能、ソリッドボディジオメトリをエラー修正のための
ヒント分析機能なども追加されています。

基本機能はそのままに3DプリンタのソフトウェアKuraとのシームレスな連携など、
より最近のトレンドを捉えたソフトウェアに仕上がってます。

新機能の詳細についてはまた別の機会に紹介します!
posted by Crescent at 00:00| Comment(0) | 3Dプリンタ | このブログの読者になる | 更新情報をチェックする

2018年11月17日

フォトダイオード増幅回路

光センサの1つにフォトダイオードがあります。

距離センサ、ガルバノメータのエンコーダ等では
フォトダイオードを使用しています。

フォトダイオードの信号は微弱な電流のため、
微弱な光の強弱を検出するために増幅回路が必要です。
今回はフォトダイオードの増幅回路を紹介します。

電圧電流変換の回路を応用して、
微弱なフォトダイオードの電流を増幅します。
回路は下記のような感じです。

photodiode.jpg

光を受けて発生した光起電力を増幅するため、
フォトトランジスタではこの回路は使用できません。
フォトダイオードの一種が太陽電池なので、
光起電力が発生するダイオードであれば、
この増幅回路が使用できます。
秋月ではPINフォトダイオード等が使用できます。

フォトダイオードの増幅回路は他にもありますが、
光の有無を検出するような回路ばかりで、
光の変化をレンジが広く、線形に得られる回路はなかなかありません。
色々検討して上記の回路にたどり着きました。

今後は上記の回路を応用してガルバノメータを取り込んで、
デジタル制御してみたいと思います。
posted by Crescent at 00:00| Comment(0) | 電子工作 | このブログの読者になる | 更新情報をチェックする

2018年11月10日

STM32F373 SDADCマルチチャンネル読み込み

今回はSTM32F373マイコンに内蔵されている
デルタシグマADC(SDADC)のMulti Channelでの
読み込みする方法を紹介します。

SDADCは一部のSTM32マイコンのみ内蔵のため、
サンプルコードや情報がなかなかありません。

試行錯誤してSDADC+DMA+2channelという条件で動作したため、
方法を覚書として紹介します。



今回はSDADC1の2チャンネルを順次変換します。


CubeMX上の設定は下記の通りです。
ポイントは
・Injected Conversions有効化
・DMA転送
です。


・Injected Conversions :Enable
・Number of Channels To be converted :2
・Continuous Mode :Enable
・Channel Configuration1,2: Channel 4,5


sdadc-conf.jpg


・Mode: Circular
・Increment Address: Memory Checked


sdadc-dma.jpg



main.cでは下記のコードを追記します。

//グローバル変数
uint16_t g_SDADCBuffer1[2];

//while文の前に初期化
HAL_SDADC_InjectedStart_DMA(&hsdadc1 , (uint32_t*)g_SDADCBuffer1,2);

//while文
printf(" %d,\t %d, \n\r",g_SDADCBuffer1[0],g_SDADCBuffer1[1]);
HAL_Delay(100);


g_SDADCBuffer1[0]にChennel 4
g_SDADCBuffer1[1]にChennel 5
がDMA転送で格納されます。


実際に実行した結果は下記の通りです。
順次SDADCの変換結果が格納されていることが確認できます。

sdadc-res.jpg

DMA転送でContinuous Mode :EnableかつCircularモードの場合は
void HAL_SDADC_ConvCpltCallback(SDADC_HandleTypeDef* hsdadc)の
関数内でDMA割込みの設定し直す必要はないようです。


HAL_SDADC_PollForConversionを使用すると変換待ちの時間を要するため、
DMA転送できると変換待ちがなく、色々応用範囲が広がります。

posted by Crescent at 00:00| Comment(0) | 組込ソフト | このブログの読者になる | 更新情報をチェックする