「電子工作な日々」カテゴリーアーカイブ

電子工作に関連するお話など・・

オープンソースのEDAツールKiCAD

データロガーのソフトの完成度が上がってくると、ハードも整理して、プリント基板製作の準備も進めなければならないー

以前(10年以上も昔)には、EDAツールとして、アドバンストスケマティックを使っていた、それに、数十万円の投資も行った事がある。
※オートルーターとしてNuroRoutoも導入していた。
現在OSがWindows7になり(OS-X)、以前に買ったこのツールも動作させる事が難しい(無理やりインストールしても動かない)、とはいえ、Windows2000(NT4.0)をインストしたマシンを起こして、それにインストして使うのもそれはそれで大変だし、このプロテルのツール、自分のバージョンはバグだらけで、不安定、かなり神経をすり減らす代物だった、今更高いお金を払ってバージョンアップする気もおきない(基板を作る仕事が減った事も要因)。

そこで、オープンソースとかフリーで使えるEDAのツールを色々試して評価していた。

google 先生に聞いた色々なリンクを巡り、日本語の説明や解説を読み、本家のページから最新版をダウンロードして、ちょこちょこ試してみたが・・・
なかなか「ベスト」な選択が見つからないでいた。

※プロテルで養ったワークフローを元に、以下のような目安をポイントとしていた。
(1)回路図(スケマティック)とPCB(基板のトラック編集)、部品管理などが一貫している事
(2)バックアノテーションが出来る事(PCBで追加したトラックなどを回路に反映させる機能)
※これは、まぁ無くても・・
(3)オートルーターがある事
※できれば・・
(4)ミリ系の部品とインチ系の部品を上手く扱える事
(5)基板の大きさに制限が無い事(少ない事)
(6)4層基板程度までは出来る事(6層とかならさらに良い)
(7)デザインルールチェックが出来る事
(8)ガーバーデータ(フォトプロッタの為の描画命令コード)、ネットリスト、部品リストなど、基板屋さんが受け付けてくれるデータを出せる事
(9)フリーで使える
(10)バグフィックスとバージョンアップに期待ができる

かなり要求があるが、今は、こんな要求に答えてくれるソフトが入手できる(良い時代だ)

結果としてKiCADがもっとも良い選択なのではと思った。

だけど、「先人」たちも熟慮したであろう「どれが一番良いの?」を、一応これからEDAを始める人への参照として、他のソフトの評価などを書き添えておきたい。(断っておきますが、詳細に調査したわけではなく、簡単な回路を作って、少しの時間だけソフトを使っての評価なので、必ずしも適切とは言えないかもしれない事を念頭において欲しいと思います、また、評価したバージョン(時期)も重要で、時間が経って機能が追加されたりすれば操作性は変わるので、評価もおのずと違って見えます)

(1) BSch3v 「水魚堂の回路図エディタ」
・回路を描くには、申し分ないアプリで、使い方を見なくても、マウスをつっいていれば使い方が何とか判るような感じ、メニューとかも日本語なのでとっつきやすい。
・PCBのエディターもあるようだが、使っていない(オートルーターとかは無いようだ)
・ネットリストは出るので、PCBだけは別ツールで行うのもパスとしては「アリ」かもしれない。
・Windows版が主流だが、移植版もあるようだ
・オープンソースでGPL

(2)EAGLE Light
・これはフリーでは無いが、大きさなど制限された「ライト」版をフリーで使えるもの、小規模なPCBしか作らないのであれば、これも選択枠としてはアリかもしれない、当然ライセンスを買って無制限バージョンを使う事もアリかもしれないが(数百ドル~、趣味のレベルでこのコストを払えるか疑問)・・
・さすがに、売っているだけはあり、大変良く作ってあり、機能も豊富で、これだけの機能があればかなり大きな物でも困る事は少ないと思える。
・EAGLE Light に慣れ、もっと大きな規模に移りたいと思った場合に、今までのノウハウを捨てて、別ソフトに移行するのか、無制限版を買うのかなど考えると、良く出来ていてもうかつに手を出さない方が良いと思える。(自分の考え)
・Lightで痛いのは回路図が「1枚」だけしか使えない点

(3)TinyCADFreePCB
・日本語の説明やメニューを日本語にするなど、多くのリンクがあり、日本では、かなり多くの人が使っている感じで、HowToも豊富な感じ
・ともにフリーで使え、制限もほぼ無いが、FreePCBにはオートルーターの機能は無い
・別々のソフトなので、「連携」は少し弱いかもしれない
・操作性もある程度スッキリしていて、違和感も少なく、少し慣れれば、問題なく使いこなせると思われる。
・Windows版、オープンソースでGPL

-----

そしてダークホースのKiCADなのだが・・・

日本語での解説も少なく、評価している記事も割と古い版の物だった、最初ダウンロードして起動してみたが、そもそも回路図エディターすら満足に使う事が出来なかった、それで、別のソフトの評価を行ったのだったが、全体の構成とか、機能など、捨てがたい魅力があり、再度挑戦。

「やはり、自分の最初の印象は間違った前提によるものだった」

回路図エディターで、負論理のラベルに「バー」が付けられないのがなぁとか、細かい部分でいきなり駄目だししたのだが、オープンソースでソースコードも公開されているので、気に入らなければ自分で作ればいいだけの話。
多国語対応で各国色々対応しているのだが、「日本語」リソースだけ無い?

自分の評価は「KiCad-2010-05-05-BZR2356-final」バージョンだが、(RC4だが、「KiCad-2011-01-25-BZR2754_RC4a」の版もある)
基本的な機能にアクセスするのが、「面倒」と思ったのだったが、このソフト、マウス+キーボードで両手で操作する事が前提のようだ、キーボードは機能ボタンとして働く(右ボタンでメニューを出してそれを選択する事でも出来るが・・)、それが理解できれば、かなり小気味よい操作性で、使いやすい!
部品ライブラリーの操作も、基本的な操作を覚えれば簡潔な事が判った。
※新規ライブラリーの作り方が少し独特で判らない部分であったが・・

この独特な操作性で、日本での評価が少ない(低い)のかもしれないが、考え方としてはむしろ「正統」なのだと思う、EDAは機能としては、複雑なので、機能ボタンを沢山用意して、回路図(又は部品、トラック)と機能ボタンとの間でマウスポインターを行き来するよりは、キーボードを機能ボタンとして働かせた方が断然使いやすい、ユーザーに機能とキーボードボタンの対比を覚えてもらうハードルがあるが、回転(R)、移動(M)など基本的なボタン操作だけでも覚えれば、もうそれでも十分な操作性でもある。

PCBにはオートプレース(まだ使い方が良く判らない部分がある)やオートルーターがありWEBベースのオートルーターの機能を呼び出す事も出来る(まだ試していない)し、部品とフットプリントのマネージメントを行う機能もあり、プロジェクトとして一貫した操作が出来るのが素晴らしい。

基板の3D表示(OpenGLを使う)も出来、機能満載である。

マルチプラットホーム、Linux版やOS-X版もあるようだ。(使っていないが・・)

これなら、ほぼ申し分ないと思う、これからもっと深く使って、順次評価も深くしていきたいが、とりあえず、これで出来そうな感じと印象を得た。
暇が出来たら、メニューを日本語化して、リソースを本家に送ってみたいと思う(英語のメールを書くハードルがあるけど・・)。
回路図で「バー(負論理の表記)」が付くようにするパッチも作りたい。

データロガー(ATMEGA1284P版)

先日、「秋月」でAVRの新製品がラインナップに追加された。(AVRの中では600円と高い部類だけど安い)
ATMEGA1284P がそれなのだが、一番のトピックは内蔵RAMが16KBもある点で、AVRで少し痛いとこが大分改善される。

以前にATMEGA64で作っていたデータロガーだけど、メモリーが少なすぎるのと(外部バスにメモリーを増設できるけど)、クロックが最大16MHzなので、途中でペンディングとなっていた、今回その時に作ったソースコードを生かして、作りなおして実験してみた。
クロックもこのデバイスは20MHzまでいけるので、19.6MHzを採用し、GPSデータの取得と100Hzでアナログ8チャンネルのデータ収集など基本的な部分の動作確認も出来た。


↑これも秋月で売っている液晶を使って、基板サイズをそれに合わせてあるのでそこそこコンパクトに仕上がった。

SH2 で作っているデータロガー、高機能なのだが、部品の入手性、コストなど考えると、今回の仕様でもまぁ十分ではある。
もうすぐモータースポーツのシーズンも始まるしで、とりあえず廉価版を早急に仕上げる事とした、安く作れるので、他にも利用用途が沢山ある。

GPSはSUP500Fを別途モジュールとしている、本来は、本体に取り付けても良いのだが、本体の取り付け位置によっては、良好な衛星の受信状態を維持出来ない可能性もある為、あえて外部モジュールとした。

※CR2032をバックアップ用電池として使っているが、実験してみると、もの凄く急速に電池が減るので実用性は無い・・
※SUP500Fはバックアップ電圧を加えないと動作しないようだ・・
※SUP500Fには1PPS出力があるのでLEDを付けたが、ほとんど電流を取れないのでバッファを付ける必要があるようだ、トランジスタも駆動出来なかった。

ATMEGA1284Pはメモリーもそれなりにあり、高速で良いのだが、ポートが少ないのが痛い、デコーダーを追加したり、色々工夫が必要。

後、やっぱり、メモリー空間が、RAM領域とROM領域が別になっていて、アクセスに気を使わないとならないのは多少痛い。
最近のフレームワークではChaN氏のFatFSを利用させてもらっている、毎度の事だが、このパッケージは凄く完成度が高く、高性能で移植性に富んでいる、この場を借りてお礼を言いたい、「ありがとう御座います~」便利に使わせてもらっています。

LEDライト(その2)

以前、ライコランドのセールにて、先着でLEDライトが貰えるキャンペーンがあった、その時はチェーングリスかなんかを買ったら最後の1個ギリギリでゲットした。
早速、中身を確かめてみると、単4電池3本仕様で、5mmの白色LEDが9個付いている。

自分的には、使い捨て電池を買いたくないので、エネループで使いたい、しかし・・・

そもそも、白色LEDに電池3本を直列に繋ぐ事自体、かなり無理な仕様で、LEDに流れる電流は、電池の電圧によって大きく変化してしまい、電池が新しい場合は定格を超えて電流が流れて、LEDを痛めてしまう。

そこで、改造(改善)、電池ボックスは、単4、3本仕様なので、エネループの単4を2本仕様として、空いた1本分のスペースにLEDドライバーを組み込む。
以前に沢山買ったリニアテクノロジーのLTC3490を使い、点滅用のマイコンも仕込んでみた。
※問題は、点滅モード切り替えをどうするかだ・・・(これは今後の課題)
※中にホール素子を入れて、外からマグネットで制御するのが良さそうかな

5mmのLED9灯なので、350mAでは流れすぎる、LTC3490は凄く良く出来ていて、「CTRL/SHDN」端子の電圧を制御する事で、電流を制御出来る、今回は、電源電圧を半分(1M+1M)にして、150mA(計算値)とした。

ドライバー回路を組み込んだ事で、グランドを別に取る必要があり、色々考えた末に、電池ボックスの後ろに銅版を曲げて、接続端子を設けた、クッションの付いた両面テープで張ってあるので、その微妙なクッションで、ケースに接触出来ている。

自転車用LEDライト

最近売られているライトは、ほとんどが LED の物になっています。

1000円も出せば、LED のライトが購入できますけどー、そこはやっぱり自分の欲しい機能が無いので創るしかありません。

リニアテクノロジーの白色LED用ドライバーICとしてLTC3490があります。
電池1本~2本の電圧を昇圧して白色LEDに必要な電圧を得る事ができ、1Wクラスに必要な350mAを得る事が出来ます。
内部は同期整流式となっていて、スイッチング周波数も高いので、外部インダクターに小型の物を使えます。

ストロベリーリナックスでも完成モジュールとして扱っているようですが、自分は、扱いが始まる以前に、リニアテクノロジーから30個程調達していました。

白色LEDは、350mAで100ルーメンとゆー、明るさがでるCREEのデバイスを使います。
CREE XLamp XR-E WH-Q4

凄く昔に、自転車用のライトとして購入した(一応ハロゲンランプ仕様)「CATEYE」のケースなどを利用して、そこに組み込みました。
※電池4本仕様だったので、エネループ二本仕様にして、空いたとこにドライバーを組み込んでいる。
LEDライト全体

最近の流行りは、やっぱ「点滅」です、電池も長持ちするし、目立つので、良いと思います。
点滅回路の制御には、AVRのATiny2313Vを使っています。
タイマーIC555なんかより、マイコンを使った方が簡単で柔軟で、しかも安いとこが凄い気がします、しかもプログラムはC言語を使って、gccを使えます、何とも良い時代です(笑)

LED は350mAとか流すと、かなり発熱する為、銅版を切り貼りして、放熱器を付けています。
LED 放熱器

LTC3490には、バッテリーの電圧が低下した場合のロックアウト機構が付いています、プログラムでは、この端子を確認して、電池の交換(充電)を知らせるようにしています。
※1秒間隔、デューティー5%の点滅
※通常は0.3秒間隔、デューティー30%の点滅

「CATEYE」の電源スイッチは2段になっていて、明るさを二段に変えられたのですが(驚いた事にチョッパーの電子回路が入っていた)、これを取り去り、このSWの切り替えを利用して、点滅モードを切り替えるようにしています。
※別途モード切り替えのスイッチを設けても良いのですけどね・・

今回作ったモードは4つ:
・常時点灯
・点滅
・3点バースト点滅
・5点バースト点滅
モードSWを切り替えする度に、4つのモードが切り替わります、AVRには小容量のEEPROMがありますので、モード切り替えが4秒程ホールドしたら、そのモードをEEPROMに記憶して、次回電源が入った時はそのモードで起動するようにしています。

LEDライト全体

ドライバークローズアップ

ソースコードとコンパイル済みバイナリー
※flicker

USB 充電パック

以前にストロベリーリナックスで買った、同期整流タイプのDC/DCコンバーター

それを使って、エネループ2本で、iPhone 用に USB 充電パックを作ったのだが、エネループ2本の電圧から昇圧すると、イマイチ電流が足りない為、充電器としてのパフォーマンスが悪い。

先日秋葉原に行ったら、秋月で、単三4本+USBコネクタが付いた電池ボックスを売っていた。

内部は、ダイオードの順方向電圧降下分で電圧を落として、それをそのまま USB の電源とする、かなり強引でヤバイ構成なので、DC/DC を入れ安定した電圧を出すようにし、エネループ3本仕様に変更、電池1本分のスペースが空くので、そこにDC/DC をレイアウト。

例によって、USB の D+、D- 信号に抵抗で分圧した電圧を出すようにして(これをしないとiPhone は外部電源モードにならない)おき、USB の電圧としては、5Vより少し高い5.2Vくらいになるように、DC/DCのフィードバック抵抗を加減した(R2の470キロを外して、430キロを付けた)

※分圧抵抗は、

iPhone/iPad コネクターアサイン
↑ココを参照。

D+: 2.0V、(+V)-33K-(D+)-22K-(GND)
D-: 2.8V、(+V)-33K-(D-)-47K-(GND)
な感じ。

DC/DC コンバーター

電子工作で何か自作する時に困るのが電源です。
ACアダプターを使うのが前提なら、そんなに困りませんが、電池駆動だと、安いコストで電源周りを作るのは意外と大変です・・

まず、たとえば、電池2本くらいから、5V や 3.3V を作る場合には、DC/DC コンバーターが必要ですが、自分で作るとなると、部品点数が少なく、それなりに電流が取り出せるもので良い物が少ないです。

最近、秋月電子で入手できる物で、「HT7750A」は外付け部品も少なく、良いのですが、MAX200mAと、取り出せる電流が少なく、少し物足りません(スイッチ素子を追加してブースト出来ると思いますが・・)。

昔から良く使われる汎用の IC で、 MC34063 と言うのもありますが、部品もそれなりになり、効率や、スイッチング周波数が比較的低く、リップルなど、これもイマイチな感じです。

ストロベリーリナックスで、AS1322A と言うICを使ったDC/DCコンバーターの基板を入手する事ができます。

AS1322A 電源モジュール(ストロベリーリナックス)

これは、同期整流で、小型、取り出せる電流など、かなり良いのですが、840円なのが、少し痛いとこです。
※それでも、一般流通で購入出来る中では、かなり安い!

裏技として、コンビニで売っている携帯の使い捨て充電器に、同じIC(セカンドソース?)が使われているようです。
こちらは570円くらいで、アルカリ単三電池2本付き!

他に、リニアテクノロジーとかの最近のICを買って、自分でそれなりの物を作る事も考えれますが、問題なのは、日本で入手しようとすると、IC 1個や2個では、凄く高い物となってしまう事です、リニアテクノロジー(アメリカ)から航空便で送ってもらう事も出来ますが、航空運賃もそれなりの金額となってしまいます、他に、コイルなども揃える必要がある事や、パッケージが自作に向かない場合などもあり、イマイチです・・・

先日、秋葉原の千石電商で、ジャンクですが、リチウム電池内蔵の携帯電話の充電器を売っていました(500円)、最初はスルーしてましたが、良く考えると、3.6Vのリチウム電池が内臓で、リチウム電池の充電回路が内蔵(USBで充電する)で、3.6Vから5VにコンバートするDC/DCも入っていて500円とゆー点に気付きました~

早速1個試しに買って、開けてみました。

DLG-MRD100

全体

裏側

3.6V 1000mA のリチウムポリマー電池と、充電回路、DC/DC コンバーターが内臓されてます(600mA取り出せます!)。

リチウム電池は使えないものと思ってましたが、普通に使えるようです。
※充電ランプは通常「赤」充電完了で「青」となります。
※出力プラグを差すと電源が入り、5.5Vが出力されます。
仮に使えないとしても、充電回路とDC/DCでも500円は安いですね!

※普通に買うと3150円みたいだし、売り切れ必至なので買いだめするしか・・

充電回路+DC/DC部

↑この4端子のDC/DC-IC、どこのだろう?

ちょっと調べたが該当なし・・(BAU82と刻印)

ショットキーダイオードが外付けなので、効率はイマイチかもしれませんが・・・

ラップタイマー

SH-2A でデータロガーを作ってるのだけどー、車速やエンジン回転をキャプチャーする必要があり、その実験用にエンジン回転数などのシュミレーターを作った。

※まだソフトが完全でないが・・

ついでに、サーキットで使うデジタルサインボード用のコントローラーも兼ねている。
表示はLEDセグメントを作る予定で、そのコントローラーとして機能するようにソフトを作っている。

サインボードには、色々表示したいが、ラップタイムと周回数などが主なものなので、ラップタイム計測機能も付けた。
128×64のグラフィックス液晶とATMEGA-644で組んでみたが、上々の出来かな!?
操作系も、ロータリーエンコーダーとスイッチ2個とシンプルなものだが、操作しやすく判りやすい操作系で考えて作っている。
まだまだ、これから機能を色々追加する必要があるけど、ハードはほとんど整ったので、基板のトラックを引き始めるかね・・

また、P-LAP の代わりにラップタイムを表示するデバイスとしても使えるかな・・

LapTimer ATMega644 表
↑基板部品面

LapTimer ATMega644 ハンダ面
↑基板ハンダ面

メニュー画面
↑メニュー画面

ラップ計測画面
↑ラップタイム計測画面(上手く撮れてないので醜いですけど・・)

現在までのソースコード

インターフェース6月号付録SH-2A基板

雑誌付録のCPU基板、何枚買った事か・・

ARMやSH2、他色々、いつも、おお!、これは~と思い買うのだがー
遊びでちょこっと使う分にはまぁ良いが、実用性が乏しかったりす
るのがいつもの事。
※RTC使いたいけどバックアップの事が考えられていない、配線も
出来ない。
※明らかな間違いがある。
※表面実装部品の下に目的のトラックがあり、改修不可能。
などなど・・・

しかし、今回は、いつもと少し違うかも。

SH-2Aの仕様が素晴らしい!
・144MHz
・FPU
・1MB-RAM
・64KB高速RAM
・LCDインターフェース
これなら、ボード単体で、相当色々な物が作れそう~

以前からレース用のデータロガーを作成趣味としてて(笑)
今回、ようやく、適したベースが作れそう!

一番の問題は、「液晶表示」なんですよ・・
データロガーと言うより、バイクのデジタルメーターを自作したい
事が始まりで、ついでにデータのロギングもして、ラップタイム
や、エンジンや車両の状態などを記録したいと考えてました。

そこで問題となるのが液晶の表示で、カラー液晶で、それなりの
解像度となると、フレームバッファやインターフェースなど、
色々追加部品を組まなければならない・・、しかし、このSH-2Aに
は全て揃っている!

とゆー訳で、この人を使って、プロトタイプを作り直してみます。

-----
以前に、AVRと白黒液晶を使ったものや、ARMを使った物など、途中
まで作って「ボツ」にした経緯があるので、今回は、最後まで作っ
てみようと思います。

電波時計モジュール

電波時計作りたくて、モジュールを探していたが・・
※なんで作りたいかのかと言うと、980円で買ったCASIO
の電波時計、使えん・・・
何が駄目かと言うと、アラームがキッチリ鳴らないのですよ。

自分は、アラームの時刻を頻繁に変えるんです、起きる時間
がマチマチだから、でも、この時計は、設定した時刻に鳴ら
ない場合がある事に気がつきます。
一瞬、「ピッ」って鳴って、後鳴らないとか、でもこれが
再現性が低く、鳴らないロジックも微妙で判らないし・・

それに、暗いとこで時刻合わせしようと思っても、ランプが
直ぐに消えるとか、アラームの時刻合わせとかしてる時くらい
ランプの点灯時間を延長するとかくらいしろ!

もうとにかく腹が立って・・・

そんで、自分で作ってみたくなった訳ですがー
売っている電波時計モジュールは、

http://akizukidenshi.com/catalog/g/gK-00559/

↑こんなのとか・・
でも、不必要な部分も付いてるし、40KHz専用で値段も高い。

モジュールだけ欲しいけど・・
で、色々探すが、売って無い。

CASIO の時計をぶち壊してモジュールだけ抜いてやろうかと
思ったものの、分解すると、一体構造で、モジュールだけ分離
出来ないし・・・

そんな時、同じ事考えてる人はいるもんです。

http://diode.chips.jp/blog/?p=111

安い電波時計を分解して、モジュールを取りだすと・・

自分もこの記事参考に電波時計モジュールゲットしました。
出てくる時刻コードの解析とかはまだなので、これも解析
せんとね・・・