2017年6月11日日曜日

win10home64bitにKiCad4.0.1とfreerouting(Freerouter)自動配線を入れてみた。その④(書きかけ)

やっぱ、自動配線すごいです!

Kicadは片面基板を選択できないようなのですが、FreeRoutingさまは、片面実行を指定できるので問題はないようだ。
FreeRoutingがないと、KiCadのアドバンテージ低くなるねー、

私的にはこれ(freerouting)がない場合、Eagleのほうを取ると思う

両方あると最高になる!

相互のI/Fがファイル渡しで、操作が途切れるのが気に入らないですが良いですこれ。

また続き書くかも、、

以上


win10home64bitにKiCad4.0.1とfreerouting(Freerouter)自動配線を入れてみた。その③

freerouting(Freerouter)自動配線機能の本家はよくわかりません。ググるとソースは<freerouting/freeroutingページ>にあるようです

最初の壁、ここからソース一式をダウンロードするのですがwin10標準で入っているブラウザ[edge]又は[IE]では素直にダウンロードできません。私は[crome]を使ってダウンロードしました。

画面右端の[Clone or download]→[Dounload Zip]を選択するとmaster.zipがダウンロードされます。











これを適当な場所に解凍します。展開すると[freerouting-master]というフォルダが作成されます。その下に、ソース類が展開されます。フォルダ内に[src]などのフォルダ(階層構造)が出来ていれば成功です。

次にコンパイル環境を整えます


※2017/6/13 追記
 コンパイルは必要ありませんでしたすいません。配布しているFreeRouting.exeは実行できませんでしたが、FreeRouting.jarをダブルクリックで動作します、、
しかも、kicad\binFreeRouting.jarをFreeRoute.jarの名前でコピーすると
pcbnew(プリント基板エディタ)の下のボタンから起動できるようになります。
※なんかヘルプファイルが無いようなエラーが出ますが気にしない、、

このネタは<ATMEL AVR RTOS館>さんの<kicad Mac 日本語化>ページから拝借しました。



■JDK(Java development kit)の導入と設定
私が使用したのは[Java SE Development Kit 8u131]です。これの入手方法はjdkでググるといろいろ出てきます。
<Java SE ダウンロード - Oracle>のページに行き、そこで紹介されている最新版(USAサイト)に飛びます。そこでJDKの最新版を示すボタン(Java DOWNLOADと書いてるボタン)を押下します。

そのページにてライセンス記載事項に同意した上で[Accept License Agreement]のトグルを選択します。同意できない場合ダウンロードできません。(使用してはいけません。)

今回のターゲットマシン[Windows x64]のJDKを選択しダウンロードします。
私は[jdk-8u131-windows-x64.exe]をダウンロードしました。

ダウンロード後、このexeをダブルクリックしJDKをインストールします。全てデフォルトを選択しインストールします。
インストール後、下の設定をおこない動作環境を整えます(環境設定)。

・タスクバー左下の[ここに入力して検索]にsystemと入力します。
 [システム コントロールパネル]というものが選択枝に出るので選択します。

・システム コントロールパネルで[システムの詳細設定]を選択します。


・[システムのプロパティ]画面で[環境変数]ボタンを押下します。


・[環境変数]の画面で[Path]への追加と、変数[CLASSPATH]の新規追加をおこないます。
 [ユーザ環境変数]でも[システム環境変数]のどちらでも良いのですが、私は[ユーザ環境変数]の方へ設定しました。

― Pathへの追加
 [環境変数]の画面で[Path]を選択した上で、[編集]を押下。
 [環境変数名の編集]という画面で空欄にJDKのバイナリへのパスを記載します。jdk-8u131のデフォルトインストールであれば[C:\Program Files\Java\jdk1.8.0_131\bin]です。記載後[OK]ボタンを押下します。

ー CLASSPATHの追加
 [環境変数]の画面で[新規]ボタンを押下します。
 [変数名]に[CLASSPATH]、[変数値]に[C:\Program Files\Java\jdk1.8.0_131\lib\tools.jar]と記載し[OK]ボタンを押下します。

・設定内容の確認
 タスクバーの[ここに入力して検索]にcmdと入力し、コマンドプロンプトを表示させます。
 コマンドプロンプトで[javac]リターンと入力しつらつらと[使用方法]が表示されれば、Pathは正常に設定されています。
   コマンドプロンプトで[echo %CLASSPATH%]リターンと入力し、設定したパスが表示されれば、環境変数CLASSPATHは正常に設定されています。


■ant(Apache Ant™ Javaのビルドツール)の導入

ここでは、antを一度だけ(今回だけ)使用すれば良いという趣旨で記載しています、あしからず。

antのバイナリを<本家>よりダウンロードします。本家ページ、左側の下方の[Download]下の[Binary Distributions]を選択します。
画面下方に[Current Release of Ant]と記載されている下に配布のバイナリへのリンクがあります。

私は[apache-ant-1.9.9-bin.zip]をダウンロードしました。
※apache-ant-1.10.1-bin.zipを使用しなかった理由は単に見間違いのためです、、

これを適当な位置に解凍します。[apache-ant-1.9.9]フォルダが作成され、その下に[bin]などのフォルダが作成されていれば成功です。
antの導入は以上です。

使用する場合、binまでのフルパス+antのコマンドラインで実行します。
※antを指定するとant.cmdが実行されると思いますが、ant.batかもしれないので指定はしませんでした。

sample:c:\apache-ant-1.9.9\bin\ant

これで環境は整いました。

■コンパイル

cmdプロンプトからコマンドを入力してコンパイルします、流れは次の通りです。

1.コマンドプロンプトのホームディレクトリをFreeroutingが解凍されたフォルダへ移動する。
2.antコマンドで古いコンパイルデータ(ゴミ)をクリアする。
3.antコマンドでコンパイルする。
4.Freeroutingを実行してみる。

本当は、作成したバイナリ等を適当な場所に移したり、実行する際に便利なようにスタートメニューに入れるなり、可能であればKiCadに組み込んだりするべきなのですが、そのへんは知らない。では1~4までを記載します。

1.コマンドプロンプトを開き、カレントディレクトリを移動する。

-カレントディスクを移動する。(cドライブに入っている場合は下記にする。dならd:)
>c:

-カレントディレクトリを移動する。
>cd <freerouting-masterをフルパスで指定>


-確認
>dir build.xml
※「ファイルが見つかりません。」と出なければOK


2.antコマンドでゴミを消す

<フルパスのantコマンド> clean
※「BUILD SUCCESSFUL」と出ればOK

3.antコマンドでコンパイルする。

<フルパスのantコマンド>
※「BUILD SUCCESSFUL」と出ればOK
警告とか注意とか出ますが、私は気にしない(直せたら直した方がいいと思いますが)、、

4.Freeroutingを実行してみる。

>cd binaries
>dir
作成されたファイルが表示される。
FreeRouting.exe
FreeRouting.jar
が現在日時で作成されているはず。

>FreeRouting.exe
これで実行でき、Freerouting開始用のダイアログが表示されます。



以上

win10home64bitにKiCad4.0.1とfreerouting(Freerouter)自動配線を入れてみた。その②

win10home64bitへのkicadの導入について、私的なお勧は下記の通り、、
KiCadの日本語版を[kicad.jp](オープンソースのPCB CAD『KiCad』の日本ユーザ コミュニティ)でゲットする(2017/6現在)。
ここではヘルプまで日本語化されたkicadや日本語のチュートリアルを公開している。

最新版しかダメだという人か英語でOKの方でなければ、[kicad.jp]の日本語化した物が良いのではなないかと思う。ちなみにKiCadの[公式サイト]は英語です。

日本語化されているKiCad日本語バージョンにInteractive Router(押しのけ配線機能)は付いてるのかな、、この情報は他をあたってください。
kicadの導入とチュートリアルは上のリンク先にあるのでここでは記載しません。
freerouting(Freerouter)自動配線機能の使い方もここでは記載しません、導入だけです。

freerouting(Freerouter)をwin10home64bit版で動作させることができた方法を書く前に、できなかった方法を少し書きます。上述のページにある、FreeRouting.exeをwin10home64bitでは実行できなかった、それだけです。[NetBeans]を導入したりするなど、他の方法は試していません。

freerouting(Freerouter)を動作させた方法はその③で書きます。

以上






2017年6月10日土曜日

win10home64bitにKiCad4.0.1とfreerouting(Freerouter)自動配線を入れてみた。その①




PCB cadのKiCadというものを入れてみることにした。
本日導入しチュートリアルをやってみたのですが、KiCadは私にとって使い勝手がよいようです。日本語化されているもの(現在4.0.1)があり、チュートリアルとかヘルプとかも存在するし手が付けやすいと思う。
初期ライブラリにpicマイコンも入っていて良い感じです。

しかしながらautoroute(基板面の自動作図)機能がありません(素人的にEagle cad の素晴らしいところだと思っている、以前少し使っていました).
Freerouterというソフトを使えば、autorouteできるのですが面倒臭いような気がします(現状での使用感と環境準備)。でも、これが無いと価値低い、、、
(総合的に使い勝手は良いわけではない?)
※追記:Interactive Routerという[自動配線]ぽい機能(そこのけ配線とも言われているな、、)もあるようですが、なんか違う気がする。これは手動で選んだ2点を自動で配線してくれる機能ぽい、、全自動ではない気がする、、autorouteのが良い?これについてはまた別の機会に試してみます。

お気づきでしょうがKiCadとFreerouterは別物で、Freerouterの最終更新日は2014年6月になっており(2017/6現在)、FreeRouterの今後の発展は期待できないかも、、
KiCadとautorouterの併用が素晴らしいものであるかどうかは、今のところ分かりません。なんせ今日入れたばっかなので、、他に情報ないかな、、

win10home64bitでFreerouterを使うためには、ソースからのコンパイルが必要です(というかこの方法で動作させた)。

※2017/6/13 追記
 コンパイルは必要ありませんでしたすいません。配布しているFreeRouting.exeは実行できませんでしたが、FreeRouting.jarをダブルクリックで動作します、、
しかも、kicad\binFreeRouting.jarをFreeRoute.jarの名前でコピーすると
pcbnew(プリント基板エディタ)の下のボタンから起動できるようになります。
※なんかヘルプファイルが無いようなエラーが出ますが気にしない、、

このネタは<ATMEL AVR RTOS館>さんの<kicad Mac 日本語化>ページから拝借しました。

環境はすべて無料で手に入りますが、FreeRouterのソース一式、JDK(JAVA開発環境)、ant(Apatchのjavaビルドツール)の導入が必要です。(Eclipseについては存じません。)

ここまで読んでこの環境を整えようとするのは、どのくらいいるのだろうか、、謎


その②に続く

以上






2017年5月21日日曜日

LM35DZを使った温度計、、(pic16f819)

LM35DZのバカヤロー!

ナショナルセミコンダクターの日本語資料PDF(2000年11月)というのに次の文言がある、、「LM35 の持っている低出力インピーダンス、リニア出力、そしてデバイスが固有に持っている正確な較正能力によって、表示回路または制御回路とのインタフェースが特に容易に実現されます。」

ほぉ、A/Dコンバータで直接読んで問題ないということか、他の方の回路図もそういうのが散見できる、、、のでブレッドボードで組んでみた、、

値がふらつく、、テスタで出力値を読むとさほどふらつかないが、、picで読むとふらつく、、、飲んでやがるのかLM35DZめ!馬鹿にしやがって(怒)


2017/4/17に記載した「picのA/Dコンバータ」の試験(抵抗で分圧した値を読んだだけ)では一切ふらつかなかったのに、、ふらつく、、何故だ、、やはりドライブ力に問題か?
(実は、過去にLM35DZを1回試し同じ現象が出たので諦めていた)

ということで、ググってみたら、、ありました。スダさんという人の「SIESTA」というページにありました、LM35にかかわる情報ページはここ

やっぱりふらつくんだ、、そんな情報、他で見かけないよ!

私の環境ではA/Dコンバーターの対象はLM35DZが1個でA/Dコンバータで読むと値がふらつく、、

ということで「日本語のデータシート」があったので読んでみた。データシートのp7代表的なアプリケーションに示唆する説明と回路図が載っていた。
「負荷に50pf以上の容量があれば正常に動作しない」ということらしい。
確かにLM35DZとA/Dコンバータの間に1m程度の線をかましていた。これが原因?

それで、スダさんページ記載の「2.コンデンサをぶら下げる」(保護抵抗なし)を試してみた。
抵抗は5kΩ、コンデンサは1uFと220uFで試してみたが、どちらでもふらつきはましになった(ソフトのほうもふらつきが目立たないよう工夫した、、)
ふっ、、読んでないオレが悪かったのか、、、、
LM358N(オペアンプ)でのボルテージフォロアは効果がありませんでした。

最終的に電池駆動を考えているのですが、公開した情報(A/Cアダプタ駆動)のものは3.6mAも電気を消費しちゃいます(電池がもたない)、、

記録しとくか、、、やるきないなぁ、、












補足:LM35DZは1mくらいの電線で接続、その電源線は念のためツイスト(撚線)しています。シャントレギュレータへの入力抵抗は1KΩです。

ソフトウェアは
LCD関係は「AM50288Hってどうよ」ページからDLできる「AM50288H.h」と「AM50288H.c」
メインがこれ

以上

2017年5月15日月曜日

PAM8403(D級の3Wアンプ)

アマゾンで買える中華の電子パーツをいろいろ購入してみました。

購入したショップは送料無料の3か所、2か所は1週間ちょいで届いた!
だぶんラッキーだったんだろう。しかし驚くほど安い、儲け出るのか?

品揃えがもっと豊富なら日本の電子パーツ屋を駆逐しますね、、
そういう魂胆なのかもしれない、、
大阪日本橋のデジットのような掘り出し物(ジャンク)はないだろうなぁ、、

買ったパーツの中で最初に手につてたのが、これ、、、気になってたんですよ


HiLetgo 10PCS PAM8403 2 * 3W クラスD ミニ デジタル パワー アンプボード AMP 2.5-5V入力
10個で\237円!!

つながっているので、パキッと割る1個23.7円、この値段、この大きさどうよ、、


そのまま、配線、ボリュームなし、PCから線を繋げ音量はPCで
コントロール、電源は古い携帯電話充電器(ACアダプタ)の5.7Vを使用
(5Vだけど、壊れたら、その時だ、、)

さて、音は、、、、、

感動しました、、、解像度、音量、一級品(私的に)!!
某ショップで買ったデジタルアンプ(キット)を使っていたのですが
それよりも音が良いです!!(チップの世代の問題かな、、)

高音も低音もしっかり出るし、音の輪郭もはっきりわかります!!

ワット数は3Wですが、部屋で聞く分には十分、
どこまで音量が出るか確認は不要でした。(近所迷惑になるよ、、)
ちなみに部屋は8帖のフローリングです。

内部の配線には信号の劣化が少ないと一部で言われているLANケーブルを
ばらして内部に使いました。
スピーカーとの接続もLANケーブル(CAT5)を切って
使っています。CATE5ケーブルは性能いいよ!

CATE5ケーブルは8本構成になっていて、スピーカー1本にまるまる使います。
撚線(2本)を2つまとめて1本の線にします。

スピーカーはONKYOのD-02Aという少し古いやつ(中古なら2000円くらい
らしいです。)を鳴らしています。

いいねぇ、、中華アンプ

2017年5月9日火曜日

AM50288Hってどうよ(pic16f819)


デジットで販売しているAM50288Hという14セグLCDが気になったので買ってみた。



なんと!「OPTREX」製品でIM50175Hと同じメーカー、かつシリアル制御なので簡単に使えるか!!と期待しまたが、、、、

IM50175Hはかろうじて配線を取り出せますが、AM50288Hは配線を取り出せない(普通に見るとだけど)、、

配線するためにはフィルムケーブル、フィルムケーブルのコネクタさらに変換基板が必要です。全て買えば莫大な金額になります、、このlcdでないとダメなのであれば仕方ないですが、そうでなければ600円くらいでもっと使いやすそうなlcdが買える、、
(3線で制御できるのはなかなかないですが、、死蔵にもしたくない、、)


ここでedyさんの<迷走の果て・Tiny Objects>のページの情報をネタにしながら配線を取り出し、、



picで動かしてみた~



pic16f819で動かしたソースは これと、 これと、 これです。

IM50175Hとはマップの構造がガラリと変わっているので
だいぶ手が入ってます、、

以上


2017年4月23日日曜日

AC調光機(PIC16f819)(位相制御ともいうらしい)



忘れないうちに、、ソースはこれ。(たぶん少しおかしい、、)

2017/5/9 LCD表示に関する型変換ミスのバグを修正(ソース分割は面倒なのでしない、、

作ったは良いが、電球がちらつく。基板でちゃんと作れば安定するかもしれないという代物。ゼロクロスを計測するところ(ハード)、トライアックを制御するところ(ハード)にハマりました。、、

ゼロクロス計測のはまったところ、定数決めるのが難しかった、、
※他の方法も試してみます、、またいつの日か新しく、投稿します。

結果的に上のようにすると、ふらつきはあるもののゼロクロス信号が読めるようになりました。フォトトライアックによるので、定数とかは「ACゼロクロスの検出試験(ソフトPIC16F819)」で確認しながら進めるのがいいかな?


PIC16F1705って、ZCD(ZeroCrossDitect)機能がついてる、、そっちのがいいけどpickit3持ってないからなぁ、、、ま、いいか


トライアック制御ではまったのは、2か所

知っている人は知っている、秋月電子のSSRキット、これに信号を送ってみたんですが、、これは位相制御用には使えないのかもしれない、回路図違うし、SSRと名打ってるし、、
(今回の位相制御テストでは機能しなかった)


あきらめて作ったのがこれ、 トライアックにスナバーレストライアックBTA24-600CW
とフォトトライアック(LP560G)[何かばらしたときに取っておいたもの]を使用しトライアック制御用のパーツを作りました。結線図はここには載せませんがいろんなとこで公開しているようなので、そちらをどうぞ。


これをドライブしようとしたのですが、うまくいかない(フォトトライアックのデータシート読んでないしな、、)、、、


ドライブ用回路(トランジスタ2SC1815で増強)をかます
(ベースに抵抗も入っていない全くまねできない結線だ、、と自分で思う)


これで、AC調光は一応動いた(ボリュームを動かすと、調光ができる)、、


しかし問題が、、
つまみを動かすと、ちらついたり、強弱が変になったりします。
ソフトのバグ取りが必須です。

ワットチェッカーで電球直結だと35Wの消費電力なのですが、調光器を接続すると22Wまでしか消費電力があがらない、、(見た目、光量は変わらないのですが、、)


また、更新するかもしれない、、とりあえずEND

2017年4月21日金曜日

PICのADコンバータ(PIC16F819)


この写真は頂き物です。
ADコンバータの写真は絵的に変化がないのでこれにしてみました。
PICのソースコードはこれ

2017/5/9 LCD表示に関する型変換ミスのバグを修正済。(ソース分割は面倒なのでしない、、)

あまりに不親切なのので、図を載せておきます。


追記:AD converterで読み込んだ値を前述のLCDに表示させているだけのプログラムです。

2017年4月18日火曜日

ACゼロクロスの検出試験(ソフトPIC16F819)


ACからのセンシングした情報(この写真は失敗情報)です。PICのソースコードはこれ

2017/5/9 LCD表示に関する型変換ミスのバグを修正済。(ソース分割は面倒なのでしない、、)

内部クロック2MHzを使用、FOSCで1/4,さらにプリスケーラで1/8にしたタイマを使用し、0Vを10回拾った時のタイマ値を表示していますが、、想定の倍の値になっている。
何か間違っているのだろうか、、

2M/(4*8)*1/120=520.83 x10なのに、倍だ、、、、

もしかして、ACフォトトランジスタのLED1個壊れてる、、、、壊れてました、、、
入力側、一方向でしか、出力側が反応しなかった、、、、、、


気を取り直して、センサ部を作り直し(前の記事見てください。)

結果を確認したのですが値が正しく出ない。
プログラム側の検証、プログラム一番下のcount値の値を1に変更した結果がこれ

検出1個目のカウント数、期待する520の半分でした、、


プログラム側の検証、プログラム一番下のcount値の値を2に変更した結果がこれ

検出2個分のカウント数
760-247=513

想定に近い値が出た!!

ということで、ACのゼロクロスの検出は成功としよう!
次は、AC調光器につかう「つまみ」、ADコンバータだな、



2017年4月17日月曜日

AC100Vで遊ぼう!ゼロクロス検出(ハード)(危険だから自己責任で)


※また、ゼロクロスの実験記事書きます(たぶん17年の6月くらいには、、)、、100Vは怖いですが、ほかの方法もやってみる


PICを使ったAC調光器を作ろうと思い立ちフォトトランジスタを買ってきた。入力(センサ側)がAC対応のやつ(TLP520らしい)です。これを使って正弦波(ACね)との同期信号を得ます。


フォトトランジスタの入力にACを入れるわけですが商用電源に直でつなげると、たやすくぶっ壊れるわけです。トランスを入れると安全な気がするのですが大きく、重く、値も張るのでそれ以外の方法で、、、ということで下の写真のようにしました。

AC100-コンデンサ(473)→100MΩ→フォトトランジスタ(LED)→AC100




片方のLEDがぶっ壊れました。
ACで使えるフォトトランジスタだったのですが、一方の機能が死にましたorz
そらそうか、片方からは容赦なく電流が流れるからね、、



で次の方法に変えたら壊れずに動作しました♪
AC100V-コンデンサ(473)→フォトトランジスタ(LED)→コンデンサ(473)→AC100V



商用電源(100V60Hz)にコンデンサ473を繋げています。リアクタンスがあるので1.772mAだけ通されるはずですが、両方に繋げてるので2倍かな?このフォトトランジスタには1.1Vかかっています。

動作確認については次の記事に書いてます。






2017年4月15日土曜日

今更、、IM50175H(PIC16F819)

2008年6月2日にこのブログで書いた100円LCD(死蔵)を掘り出して動かしてみました。「あしたなにしよぉぅ」さんのページに詳細が載ってたのでそれを頼りにXC8で書いています。詳細はソースを載せます。もう買えないけどシリアルレジスタの液晶になら応用が利くのではないかと思います。PICとの接続線は3本です。

プログラムは0x0000~0xffffまでをカウントし10進数表示するものです。バグというか、、2599以降、百の桁の値がおかしくなります。XC8の問題なんだけどね

※LCD表示へ表示する際の型変換の使い方がおかしかったみたい、ソース修正しました。2017/5/9

ソースにインラインアセンブラでアセンブラのswapコマンドを使用しています。いろんなとこでシフト演算子(<<)を使えばいいとありますが、インラインアセンブラのほうがマシンコードが少なかったです。無償XC8の素のコンパイル(最適化)って無いに等しいのかもしれない、、

IM50175Hの使用したピンを記載しておきます。pic側はソース見てください。

1 電源 +5V
2 未使用
3 未使用
4 LATCH (立ち上がりで出力)
5 DATA
6 CLK (立ち上がりでDATA取り込み)
7 GND





修正したついでに、、
表示用関数と、ヘッダファイルと、main部分(表示関数を呼び出して使っている箇所)にソースを分割しておいた。