2014年8月31日日曜日

Mac版 LTspice 使用方法メモ

LTspice をMacOS上で使用するためのメモです
時間を見つけて追加しておきます. [更新日:2017.01.31]

GUIがWindowsと全然違うのでメモしておきます.
起動画面 ツールバーはとてもシンプル. どこから始める...?

1. 部品の配置
1-1. 新規部品の配置
 [右ボタンクリック]+[Draft]+[Component] or[fn]+ [F2] で実施

配置
部品を選択
 大体の部品はこれでフラットに選べます. 
1-2 グランドの配置
 [右ボタンクリック]+[Draft]+[Net Name] or [fn]+ [F4] 
 ウインドウがでるのでGNDを選ぶ

 
1-2 部品の移動&回転
 部品の移動は
 部品が何も無いところで[右ボタンクリック]+[Edit]+[Move] or[fn]+ [F7]
 配線から切りはなさずに部品を動かす時は
 部品が何も無いところで[右ボタンクリック]+[Edit]+[Drag] or[fn]+ [F8]
 を選択してから部品を選択して移動します
この時に
 [Ctrl+R]をおすと部品が回転できます.
 [Ctrl+E]をおすと部品が反転できます.

削除,複製も同様の操作で実施可能です.

1-3 配線
 配線は[右ボタンクリック]+[Draft]+[Wires] or[fn]+ [F3] で配線します

1-4 パラメータの設定
 部品パラメータは部品上で右ボタンをクリックします.
 
2. シミュレーションの実施
 2-1 シミュレーションコマンドの入力
 シミュレーションのパラーメタ設定を行うGUIは無いので手動で入力します.
 何も無いところで[右ボタンクリック]+[Draft]+[SPICE directive] or[S]を選びコマンド入力します

例えば過渡応答を見るときは
.tran 0 200u 0 0.1u
などとします

 2-2 シミュレーションTIPS
 2-2-1 コメントアウト
  .tran step param hoge 1n 10n 1n
  などをコメントアウトしたいときは
  ;tran step param hoge 1n 10n 1n
  と書き換えると実行時に無視してくれます
 2-2-2 パラメータ
  モデル内で変数を使いたいときは
  .param hoge=10 hige=11
  と記述すると変数を定義できます.

3. 部品の追加
 メーカーからモデルをダウンロードして部品を追加する際, シンボルをインストールするように指示される場合があると思います.
 この時, Windowsの“C:\Program Files (x86)\LTC\LTspiceIV\lib\sym” に対応するディレクトリはMac版では"/Users/ユーザー名/Library/Application Support/LTspice/lib/sym"です.
 このフォルダは最近のMacOSでは普通の操作ではFinderに表示されないようなので,ファイルをコピーするには,Finderを選んでメニューにある[移動]→[フォルダへ移動]を選び, 「フォルダの場所を入力」と表示されたら"~/Library/Application Support/"と入力します. この時, "Library"は勝手に日本語に変換されます.構わず「移動」を押すと普段は辿れないApplication Support フォルダがこれでFinder上に表示されます.
あとはファインダーを使って"LTspice/lib/sym"フォルダをあけ,必要なファイルをコピーすれば良いです.




2014年8月24日日曜日

温調機能付きはんだこてFX-888D

最近表面実装品をハンダ付けする機会も増えてきたので, ホームセンターで適当に買ったはんだこてから卒業することにしました.
これまでの我が家の組み合わせ. 別途30WのREDもある.


どうせ買うなら, 1) 温調付きはんだこて, 2)小手先のバリエーションが多いもの, 3) はんだこて台も針金ぐるぐる巻きのものより小手先の治まりの良いものに変更しようと考えました.

はじめに考えた組み合わせ

はんだこて台は職場でも使ったことがありますが, 結構使いやすいです. メタルの小手先のクリーナーは特におすすめ.


ほとんどポチッと押しそうになったのですが,どうせ買うならステーションタイプはどうかなとおもってみてみると
 

思ったより価格が安かったので,小手台もセットで, メタルのクリーナー&スポンジ両方ついてます. またステーション式だと気になる小手先や,ヒーターなどの交換部品も安くメンテナンスも問題なさそうでしたのでこちらにしました.色は青・黄ではなくシルバーを購入してみました.

なおステーション型でコスパがいいのはgootのミニステーションはんだこてです.脅威の価格だと思いますが
私がハッコー派なので(根拠なし)ハッコーにしてみました.
(秋葉での小手先の入手性はgootの方が遥かに優れている気がします.)

使用感ですが, 便利な点は温度があがるのが早い. 30秒弱で室温から300度まであげられます.


購入してから気づいたのですが
小手先を変更するにはスパナがいります. 私は12mmのスパナを100均で購入しました.
またこれも浅はかだったのですが, 温調はんだこては小手先を変更するたびに温度校正が必要です. 小手先温度計は
またとんでもない価格ですし,どうせ素人の工作ということで温度計は自作することにしました.
調べていると共立電子からそのままのキットがでているのでこれを購入しました. 送料いれても3500円以下. 
説明書は丁寧に書いてあるので特に迷うことはありませんが, はじめに可変抵抗の値を決めるための校正にテスターが必要です. (これ買う人で持っていない人もいないと思いますが)
あと熱電対はめるのに結構苦労します. とにかく信じて小さめのラジオペンチを使って引っ張って引っ掛けるしかないです.(実際に作られていない方は意味不明かと思いますが)
キットで使っている熱電対は, 上で紹介した白光の熱電対と同じです. キットの説明書には熱電対は定期的にかえてねと書かれていて, 交換用熱電対も共立電子から購入できます(ここ). 


実際に, 温調無はんだこての温度を測ってみました. REDの30Wが手元にあったので測定してみると接続してからはんだこては7分30秒かけてゆっくり上昇し,最終的に460度まで上昇しました. 

こうやって比較してみるとやはり温調機能によって部品温度をむやみに上昇させないことや, FX-888の温度上昇のスピードと安定性は大きなメリットなのだと思います.

おしまい


2014年7月27日日曜日

ハイサイドカレントセンスIC LT6105CS5

ご無沙汰しております
まじめに働いていたので工作がおろそかになっています


今日は, モータードライブインバーターの電流測定を行うためにハイサイドカレントセンスICを試してみます
ICとしては入手しやすい秋月で手に入るLT6106CS5を使いました http://akizukidenshi.com/catalog/g/gI-07300/ 

残念ながらDIPのパッケージはほぼ手に入らないのでSOT-23をピッチ変換基板を使って DIP化しブレッドボードで試験します. 

http://akizukidenshi.com/catalog/g/gP-04800/ 

(今日は手元に0.95ピッチ変換基板が無かったので0.65ピッチ用基板を無理矢理使いました)

実態配線図は次の通りです.
変換基板は適当な図面を作るのが面倒だったので, 6ピンのものを代用しています.
LT6105は5ピンで, 通常のパッケージの6ピンの位置に5ピンがきますので, 実態配線図でも変換基板の6ピンから配線を出しています.




測定電圧のゲインはRout/Rinで決まりますので, 上述配線図(10kΩ/100Ω)では100倍です. 

 実際の負荷で試せばいいのですが,まずはお手軽に動作実験をしてみます.
上述の回路図では, 負荷抵抗として100kΩをArduinoの5Vに直結しています.
シャント抵抗としては100Ωを入れています.
このため電流は49.95uAです(電源は正確に5Vではないのですがいまはおいておきます)

この条件の場合, シャント抵抗の電圧降下は4.995mVです.
これを100倍にしてAD変換で読み込みます.

テスターでの読みは0.497Vですので,
LT6106CS5はほぼ想定通りの動きをしているようです.


次にArduino内蔵のAD変換を使うことにします.

スケッチは下記の通り
シリアルモニターに読み値を返します.

int val=0;

void setup(){
  Serial.begin(9600);
}
void loop(){
    val=analogRead(0);
    Serial.println(val/1024.0*5.0,6);
    delay(1000);
}

結果は
0.483398
です.

あいませんね...
これはオペアンプでバッファ入れなくてはいけないコースでしょうか.

今日はこのくらいにしておきます.







2014年6月7日土曜日

Eagle 6.6へアップデート

Eagle が6.5から6.6にバージョンアップしました.
バージョンアップすると自分で追加したライブラリは自分で動かさないといけないので, そのためのメモ書きです.

1)まずは
http://www.cadsoft.de/download-eagle/
から最新版をダウンロード

2)解凍してインストール

3) Eagle標準の部品リストは図の様に移行されているが,自分で追加した部品リストは置いてけぼり.
私はaddフォルダを作ってその下に部品リストを入れているので, ここではそのフォルダが残っています

4) 残っているファイルを新しいバージョン側に移動する
ここではEAGLE-6.6.0の中のlbrフォルダに移します.

5) あとはこちらで紹介したのと同様に, EAGLEを起動したのち, [Control Panel]の中の[Libraries]を開く. すると下図のように1で追加したデータが表示されているので使用するライブラリの右側にある丸をクリックして緑色にする

以上

2014年6月2日月曜日

iPhoneが充電されない問題其の後

一応サポートに連絡する前に色々と実験

他のひとがきちんと充電できている、純正、サードパーティ製いずれのケーブルも、片面は全く認識せず。もう片面は認識したりしなかったり。
上斜め45度に持ち上げると、たまに認識と充電する感じ
これは昔日経エレで読んだ,コネクタに裏表があるというやつの反映なんでしょうか.
いずれにせよコネクタの接触が悪いのは明確なので、とりあえずエアダスターで拭いてみたけど改善せず

物理的に磨くという手も考えたけど、それでサポート効かなくなってもあれなので、あきらめてサポートに電話しました.
やっぱり本体側のコネクタの不良だろうということで,修理対応してもらうことになり,AppleCare Protection Planに加入していたのでExpress交換サービスで対応してもらいました.

だましだまし,ケーブルを斜めに突っ込んでなんとかバックアップをとり,リセットをかけて,SIMカードを抜き取り,クロネコに交換品を配達してもらい交換.

なぜかバックアップから復帰中にエラーで落ちましたが,再度ためすとなんとか復帰.

ただ,auのメールアカウントまでは復帰してくれないので,事前にメモっておくのがおすすめです.(一応,ネットで再確認はできます)

あとはexpress交換サービスで送った故障品が無事先方で動作再現してくれることを祈ります.(これで再現しなかったら,本体金額引かれるのだろうか...)

入ってて良かったApple careですね.


2014年5月27日火曜日

iPhoneが充電されない...

一年半使っているiPhone5がうまいこと充電できなくなってきました.
いろいろな充電ケーブルを使ってみてもだめ.
どうも本体のコネクタがいかれているみたいです.
(コネクタを接点側に傾けて固定すると充電される...)


こんなこともあろうかと延長保証に入っていたはずだけど,どこにも証明書がない.
Apple Careの保証確認ページでは登録内容が無いとでてしまう.

どうなっているんだろうと思ったら,こっちにアクセスするのが正解なんですね.
https://selfsolve.apple.com/agreementWarrantyDynamic.do

9月までは保証が聞いているのが確認できたので,修理してもらおうとおもいます.



2014年5月10日土曜日

Arduino PWM周波数の高周波化

ArduinoのPWM周波数を変更したいので調べてみました.
ATMELのマニュアルは大変参考になります
日本語ではgarretlabさんのanalogWrite()の項目が体系的にまとめられています.
基本的にはそちらを見ていただいた方がいいと思います.

以下は自分のための覚え書きです.
とにかく一度動かしたい方はこちら

前置き

ArduinoはPWM出力を持っていますが, この周波数は
5番, 6番Pinは977Hz, 9番,10番PINは490Hz, 3番,11番PINも490Hzです.
Arduinoの内部で3つの独立したタイマからPWM生成の設定をしており,それぞれ
5番と6番, 9番と10番, 3番と11番ピンに対応しています.

例えば
 analogWrite(NPIN,100);
でNPIN=5とした時の波形を図1, NPIN=9とした時の波形を図2に示します.
オシロが周波数を表示してくれてますが, 確かに976Hzと490Hzになっていることがわかります.
図1 5番PINから出力したPWM波形
図2 13番PINから出力したPWM波形
同じPWM端子ですが,この3系統は内部処理や設定が異なっていることがポイントと思います.
(PWM波形生成の設定が異なっていたり, 9, 10番ピンは16ビットカウンタだったりします)
このため少し話がごちゃごちゃします.
以下それぞれの設定項目についてマニュアル[1]参照ページを記入したので, 必要に応じて参照してください. (読みが違っていたらごめんなさい, お気づきの点はご指摘ください.)


5番,6番ピンはFAST PWMモードで動いているため
周波数f(Hz)はクロック周波数fc(Hz), 分周比rを使って
f=fc/(256*r)
とかけます[1: p. 102]. 
rはTCCR0Bの下位3ビットを使って指定して
1,8,64,256,1024の中から選びます.
イニシャルは64が設定されています.
クロック周波数は16MHzですので, PWM周波数は977Hzになります.
(注) なお, Arduinoは5, 6番ピンが使用しているカウンタをもとに時間を管理しています.
従って5, 6番ピンのPWM周波数をあげるとdelay()などの挙動が変わってきます.
たんにPWM周波数を向上させたい場合は5, 6番ピンの設定を変えないほうが無難です.

9,10番ピンは Phase Correct PWMモードで動いていて
周波数f(Hz)はクロック周波数fc(Hz), 分周比r, カウントビットTOPを使って
f=fc/(2*TOP*r)
とかけます[1: p. 130]. 
TOPはイニシャルで255です.
rはTCCR1Bの下位3ビットを使って指定して
1,8,64,256,1024の中から選びます
イニシャルは64が設定されています.
クロック周波数は16MHzですので, PWM周波数は409.2Hzになります.

3, 13番ピンは
周波数f(Hz)はクロック周波数fc(Hz), カウンタのビット数nと分周比rを使って
f=fc/(510*r)
とかけます[1: p. 153].

rはTCCR2Bの下位3ビットを使って指定して
1,8,32, 64,128,256,1024の中から選びます. イニシャルは64が設定されています.
クロック周波数は16MHzですので, PWM周波数は409.2Hzになります.


具体的な方法

やっと本題ですが, PWM周波数を高周波化したい時は, 分周比rを変更します
この変更はTCCR*B(*は5番, 6番ピンは0, 9番, 10番ピンは1, 3番, 13番ピンは2です)
の下位3ビットで行います.
それぞれにはCS*2, CS*1, CS*0と名前がついています(*は0~2で前述と同じ).

TCCR0B(5,6番ピン) については[1]の110ページ 表14-9を参照
r=1 は001
r=8 は010
r=64 は 011
r=256は 100
r=1024は 101
です.

例えば
 Serial.println(TCCR0B,BIN);
と現状の設定をシリアルモニタで確認すると
11と帰ってくると思います.

変更する場合のプログラム記述はsetup関数内で
setup(){
 TCCR0B &= B11111000;
 TCCR0B |= B00000010;// r=8の場合
}
と記述すればOKです.

TCCR1B(9,10番ピン)については[1]の137ページ 表15-5を参照
r=1 は001
r=8 は010
r=64 は 011
r=256は 100
r=1024は 101
です.

TCCR2B(3,11番ピン)については[1]の162ページ 表17-9を参照
r=1 は001
r=8 は010
r=32は011
r=64 は 100
r=128は101
r=256は 110
r=1024は 111
です.
前出の2つと割当が違うので注意が必要です.

最後に例として9ピンの周波数をかえてみます.
rを1として, 前述の式
f=fc/(2*TOP*r)
より31.37kHとなるはずです.

void setup(){
TCCR1B &= B11111000;
TCCR1B |= B00000001;//rを1に設定 fc/(2*255*1)Hzになる
pinMode(9, OUTPUT);
}
void loop(){
analogWrite(9,100);
}
と簡単なプログラムの結果を図3にのせます
図3 9番ピンで分周比を1とした場合
波形は1V程度のオーバーシュートが見えますが,
周波数は31.36kHzとほぼ想定通りの値になっています.

参考文献

[1] ATmega48PA/88PA/168PA/328Pマニュアル 

キーワード

Arduino PWM 周波数 高周波化

2014年5月6日火曜日

EAGLEへのライブラリ追加 Tips

トラ技2013年5月号を購入したので,トラ技部品ライブラリをEAGLEへ追加

Macへのライブラリ追加は以下の手順で実施できる

1. コピーしたいライブラリを[アプリケーション]-[EAGLE-6.5.0]-[lbr]以下へコピー
 このとき自分で追加するライブラリはフォルダを作成してその中に追加すると後の管理が便利です.ここではtragilibという名前のフォルダを作ってコピーしてみます

2. EAGLEを起動したのち, [Control Panel]の中の[Libraries]を開く. すると下図のように1で追加したデータが表示されているので使用するライブラリの右側にある丸をクリックして緑色にする


以上

2014年4月14日月曜日

Windows XPから移行中〜

VMWare上でWindows XPを使っていたのですが,サポートが終ったので環境を移行をしています.

とりあえず使っていたツールは
LTspice
Xbeeの設定用のX-CTU
回路図エディタBSch3V
です.

LTspiceはすでにMac版がでています
ダウンロードページ

回路図エディタはEagleにもMac版があるのでそちらに移行中.
ダウンロードページ

X-CTUは困ったなぁと思っていたいつの間にやらMac版がでていました.
ダウンロードページ

いい時代になりましたね:)

2014年3月30日日曜日

ARDUINO でお遊び

ARDUINO を始めてみようかなと思いちょっと実験してます.

まずはARDUINO 本体と解説本をamazon から購入してみた.

これを気に電子工作を始める人は
「Arduinoをはじめよう」
 
とスイッチサイエンスの出している「Arduinoをはじめようキット」

を買えば本の流れに従って簡単な工作をしながら何となくARDUINOが理解できます.
電子工作入門としては全然不足ですが, リファレンスは手元にあると便利です.

ちなみに, ブレッドボードや,LED, FET, 抵抗, コンデンサなど既にパーツを持っている人は 単品のArduino Uno を買えばOKかとおもいます. Arduinoをはじめよう 本の58ページでFETを使って
モーターをまわしてみるところがありますが,
これはこの通りではなかなかうまくいきません(笑)

原因は電力と, ノイズ.
モーターをまわす電力が不足するのでMac Book ProではUSBが落ちます.
一度落ちるとさし直してもうまくUSBが機能せず再起動しないといけません.
繰り返しているとパソコンが壊れるので電力供給付きのUBSハブをつけましょう.
今後のこともあるので持っていない人はパソコンを壊す前に買ってしまいましょう.
ELECOM のUSBハブは1000円くらいで買えます.

もう一つはブラシモーターのノイズ.
モーターブラシのノイズがマイコンを落としてしまいます.
モーターに0.0001uF程度のセラミックコンデンサを半田付けしておきましょう.
これで一応動きますが, ほんの脚注にあるようにFETを2SK2232にすると
今度はゲート電流が不足します.
この場合は, モータードライブ用の電源を電池で直接供給してやれば一応逃げられますが
やはりFETはきちんとドライブ回路でドライブしないといけないなぁということになります.

これはまた今度.

この本はほんとに基本的なことしかあげていないのですぐ読み終わってしまいますが,
「Arduinoスパーナビゲーション」にはいろいろと応用例があるのであわせて買っておくとこんなことができるんだぁといろいろ楽しめます.






にほんブログ村 その他趣味ブログ 電子工作へ
にほんブログ村

2014年3月27日木曜日

電子工作部品屋さんリスト

電子部品調達先


秋月電子
定番部品屋さん.

共立エレショップ
定番部品屋さん.

千石電商
定番部品屋さん.

マルツパーツ
定番部品屋さん

RSオンライン
定番部品屋さん

スイッチサイエンス

ARDUINO関連商品が充実してます.

2014年2月26日水曜日

LTSPICEで回路シミュレーション モデル設定

先日"LTSPICE でBSIM3実験開始" で紹介したモデルの読み込み方法だけど, 
いろいろとパラメータをかえながら実験したい時は
[Edit]->[SPICE Directive]
を選び
.model TESTMOS NMOS Level = 8
などと書き込んでやるのが簡単.

いろいろと合わせ込んで定番化したら設定ファイルに保存すればいいかな

にほんブログ村 IT技術ブログ IT技術メモへ
にほんブログ村

2014年2月3日月曜日

LTSPICE でBSIM3実験開始

パソコンで回路シミュレーションしたくてLTspiceを使うことにしてみました.
 BSIM3がいじれるライセンスがめんどくさくないSPICEソフトというとLTspiceが主な選択しですかね. 

LTspiceでBSIM3使えるということでまずは簡単に実験
C:\Program Files\LTC\LTspiceIV\lib\cmp
にある
standard.mosの最後に

.model TESTMOS NMOS
+ Level = 8

を追加してみる

改行いれても問題なく読んでくれるみたい
行頭の+は改行した後に必要です.

パラメータは
パラメータ = 数値

+Vth0 = 2 TOX=1e-8
の様に書き加えます.
あとは回路でMOSFETを配置してTESTMOSを呼び出せばOKです

とりあえず試す場合はこちらを参考にしてください.

最近LTSPICEのMac版がでていて試してみるとUIが結構違う
なんでかなぁと思っていたら
http://eetimes.jp/ee/articles/1312/05/news087.html
に紹介されているように根本的にUIを直す挑戦みたい
確かにWindows版はいろいろな階層がおかしいなぁと感じてはいたのでがんばってほしい

ちなみに今日のおはなしMacOSX版では
/Users/ユーザー名/Library/Application Support/LTspice/lib/cmp
にファイルがあるのでGUIではアクセスできないのでコマンドラインでアクセスして内容をいじる必要がある. ちとめんどう.


これについてはもうちょっといい方法があったのでこちらで紹介