2015年6月26日金曜日

バーチカルブラインドの電動化 その3








作って試してみました。

2mm厚のアクリル板をレーザーカッターで切り出してきました。



これを組み立てて組んでみます。


これにMotorDriverとコントロールモジュールの電源用のレギュレータを組み合わせた基板を作ってみました。電源はモーター用が5V、レギって3.3Vをエンコーダーとコントロールモジュールに供給しています。


組立後


組んだ後ブラインドに付けて動かしてみます。

まだ制御ソフトを組んでないのでPWMで制御するportにスイッチを付けて動作させています。




スラットの回転動作は問題無いですが、ブラインドを送っていくと全開に近い方で動くスラットの数が増えてきてかなり重そうです。ちょっと負荷がかかると止まってしまいそうな感じです。

モーターが9Vまで対応しているものなので5Vではちょっと足りてない感じです。
次回9Vにあげて試して見ますが、3.3Vの電源を作るのに3端子レギュレータで降圧しているのでちょっと消費電力的に勿体無いですね。







2015年6月19日金曜日

バーチカルブラインドの電動化 その2


最初に思いつくのはそれなりに力のあるステッピングモーターを使ってベルトをコードを掛けるための滑車に掛けることで駆動する方法です。
ただ、このやり方だとブラインドのレールの上に横並びでステッピングモーターを2つ並べる必要があり、更にベルトのテンションを調整したりちょうどいい長さのベルトがあるかなど、結構大型になり見栄えも悪くなるなど、いろいろ考えることがありそうです。

次に思いつくのは小型のGeard DC motorを使って軸に直結する方法です。小型で適当なトルクが出せるモーターさえあればこの方法がシンプルに出来るかもしれません。
この場合Encoderが必要になるのでモーターの選択肢は結構限られてきます。
switch-scienceさんに丁度手頃なEncoder対応のGeard DC Motorが見つかったのでEncoder基板と共に購入してみました。

https://www.switch-science.com/catalog/1784/
Pololu社の#2215です。

ブラインドのレール内の軸は直径7mm、2本の間隔が20mmなので外径が10mmx12mmのモーターなら2つ並べても余裕があります。
アクリル板をカットして積み重ねることでモーターを支持する構造を作ることも出来そうです。
軸との接続はアクリルパイプと適当なスペーサーを組み合わせてサイズ的にはうまくいけそうです。
ざっくりと頭のなかで想定して、図面に落としていきます。
こんな感じです。



Motor-driver基板はelecrowで見つけたので基板発注時に一緒に買っておいたものがあります。
届いたモーターを試しに5V電源を繋いで回してみるとそれなりのパワーがあり、なんとかいける気がします。

2015年6月12日金曜日

バーチカルブラインドの電動化 その1

うちのリビングの吹き抜けは上下2段のたて型ブラインドを設置しています。
下のブラインドはタチカワブラインドのLINE DRAPE、上のブラインドは同じくタチカワブラインドのバーチカルブラインドを入れています。
これは下はコードで開閉、バトンで回転、上は開閉、回転ともコードで行う構成にしたかったためこういう構成になっています。

上の窓は電動にしたのですが、ブラインドは手動という中途半端な構成にしてしまったたため夏などに窓を外出先から開ける場合には、あらかじめブラインドを開けておかないと風でブラインドがガチャガチャ鳴りっぱなしの状態になってしまいます。
前から気にはなっていたのですが電動化しようとするとレールから入れ替える必要があり、結構な金額になるため諦めていました。

先日ちょっと思いたち、上に付いているバーチカルブラインドのコードの取付部(レールの端の機構部分)をばらして観察してみました。



レール内に回転軸が2本通っていて、1本はネジが切られておりスラット(ブラインドの羽の部分)のランナーがこのネジで送られる機構になっています。もう1本は3本のスジが掘られていて、回転することでランナーの回転子でスラットの回転に変換される機構になっています。
ということはこの2本をモーターで制御できれば電動化出来そうです。
軸の回転にそれなりのトルクが必要かと思っていたのですが、手で回してみると意外と軽く回転します。開閉軸はスラットが端までくるとそれ以上回らないので何らかの方法で検知する必要があり、回転軸はスラットが回らない状態までいくと重くなりますがそれぞれのランナー内の機構が空転して逃がすので回らなくなることはないようです。
これを踏まえてどういうふうに作るかを考えていきます。

2015年6月5日金曜日

KiCadで作成したパターンをelecrowに出図







パターンを引き終わったらDRCを掛けます。
エラー、未配線とも無いことを確認しファイルメニューのプロットからガーバーデータとドリルデータを出力します。
必要なレイヤーはF.Cu,B.Cuの銅箔レイヤー、F.Silk,B.Silkのシルクレイヤー、F.Mask,B.Maskのレジストレイヤー、Edge.Cutsの外形図です。
オプションはフットプリントの参照記号を出力のみ選択します。
ガーバーオプションはProtelの拡張子を使用する。とシルクをレジストで抜く。を選択し、4.6mmで製造ファイル出力を行います。
ドリルデータの方は単位をmmに変更、リーディングゼロサプレス、ガーバーフォーマット、補助座標系を選択しドリルファイルを生成します。
出来上がったガーバーデータ、ドリルデータをガーバービューアーで開いて確認します。
ドリルの穴位置とガーバーの穴位置があっていること、シルクなどの位置を確認してOKならzipで固めてelecrowで手続きします。
今回は67mmX27mmの基板なので100mmX100mmの基板に3面付けしてv-cutを入れてもらい10枚オーダーします。合計30枚出来上がる計算です。
前回は香港DHLを選んだので比較のため深圳DHLを選んでみます。


3/8(日) 注文
3/9(月) 受付、製造開始
3/19(木)19:19出来上がったと写真付きメール、発送したとのDHLのtracking numberの連絡
3/19(木)
1       Shipment picked up                  SHENZHEN - CHINA 20:01
2       Arrived at Sort Facility            SHENZHEN - CHINA 22:03
3       Processed at SHENZHE                SHENZHEN - CHINA 22:36
4       Departed Facility in SHENZHEN       SHENZHEN - CHINA 22:40
5       Customs status updated                     HONG KONG 23:49
6       Clearance event                     SHENZHEN - CHINA 23:50
3/20(金)
7       Clearance processing complete       SHENZHEN - CHINA 00:20
8       Arrived at Sort Facility                   HONG KONG 03:33
9       Processed at HONG KONG                     HONG KONG 04:00
10      Clearance processing complete at HONG KONG HONG KONG 04:00
3/21(土)
11      Processed at HONG KONG                     HONG KONG 02:19
12      Departed Facility in HONG KONG             HONG KONG 02:19
13      Customs status updated                 TOKYO - JAPAN 09:32
14      Transferred through                    TOKYO - JAPAN 10:37
15      Arrived at Sort Facility               TOKYO - JAPAN 12:35
16      Clearance processing complete at TOKYO TOKYO - JAPAN 13:07
17      Processed at TOKYO                     TOKYO - JAPAN 16:05
3/22(日)
18      Processed at TOKYO                     TOKYO - JAPAN 21:15
3/23(月)
19      Departed Facility in TOKYO             TOKYO - JAPAN 01:51
20      Arrived at Delivery Facility in TOKYO  TOKYO - JAPAN 07:03
21      With delivery courier                  TOKYO - JAPAN 08:27
22      Delivered                              TOKYO - JAPAN 12:13

と10日(土日を除くと8日)で製造、4日(日曜を除くと3日)で届きました。
前回は11日(土日を除くと7日)で製造、3日で到着だったので3面付け、v-cutの分で1日余計にかかっている感じです。
出来上がった基板です。



Panelizeと送料含めて$40.27=¥5045でした。

これに部品を載せます。



古いHA-2基板との比較です。



 左側が新しい基板です。
改修がなくなり作るのが楽になりました。


2015年5月29日金曜日

KiCadでパターン設計 その2



部品配置まで終わったら、自動配線をするのですが現在ネット上のFreeRouterは使えないようなのでここの手順を参考にスタンドアロン版を実行しました。

最初にPcbnewのツールー>FreeRouteのSpecctraDSNファイルのエクスポートを実行

linkの手順の中のダウンロードの方法1に書かれているfreeroutingの汎用版を
https://github.com/freerouting/freerouting/raw/master/binaries/FreeRouting.jar
から取得します。

これを実行するのに必要なJRE8をOracleからダウンロード
http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html

コマンドラインから
# java -jar FreeRouting.jar

で起動するのでDSNファイルを読み込み自動配線を行います。
結構時間がかかります。
長時間やっても解決しない場合は適当に止めて残りを手で配線したほうが早いです。
で出来上がったものを再度Pcbnewに読み込みます。
配線がどこを通っているのかなどはひと通り確認した方がいいです。
かなりちゃんとひいてくれますが、たまにすぐ近くのピン同士をつなぐのに配線をよけてものすごいところまで迂回しているものがあったりします。

未配線のところや妙に引き回されている配線を押しのけ配線モードをonにしてひいていきます。
押しのけ配線の様子はyoutubeでkicad interactive routerで検索するとでてきます。
押しのけ配線をonにするにはちょっと判りにくいです。
1.Pcbnewの表示メニューでSwitch Canvas to OpenGLでOpenGLモードにする。
2.右側の上から5番目の配線とビアの追加をon
3.描画領域内にカーソルを持って行きEキーを押す、もしくは右クリックメニューの一番下、配線オプションを選択するとインタラクティブ配線設定のメニューが出ます。
モードの押しのけを選択、オプションはビアの押しのけ、余分な配線を削除、自動ネックダウン、セグメントをスムーズに移動をオンにします。
これで配線を引いていくとDRCの設定に従って他の配線が押しのけられていきます。
ヌメヌメと配線が動いていって気持ちいい?です。

そして適当に修正を入れて、シルクを整えたものがこれです。




2015年5月22日金曜日

KiCadでパターン設計 その1

回路図エディタでERCをかけて問題ないことを確認後、NetをPcbnew用に出力、Cvpcbでリファレンスとフットプリントの関連付けを行います。
その後、Pcbnewを開いてパターンを作成していきます。
最初にデザインルールを設定します。
基板は今回もelecrowにお願いするつもりなのでelecrowのルールを設定します。
ただ、via,パターン間のクリアランスはギリギリを狙わずに200umにしておきました。
手付けで部品をつけていく時に150umだとviaがpadと近すぎてハンダでブリッジしやすくなるためです。
次に部品配置とパターン作成の枠になる外形図をEdge.Cutsレイヤーに書きます。
そのあとNetを読み込むと部品が1箇所にまとめて配置されますので展開します。
ちょっと判りにくいのですが、表示モードを通常モードに戻して上のアイコンからフットプリントモードを選択します。(右から4番目のICに矢印が付いているアイコンです)
その状態で何もフットプリントを選択せずに画面上で右クリックすると上から2番めにグローバル移動・配置のあるメニューが出てきます。ブロック選択をしているとブロックのキャンセルとかが上にあるメニューになってしまうので、選択を解除してから右クリックします。
グローバル移動・配置の中の全てのフットプリントを展開を選択して実行するとフットプリントが重ならないように展開されます。
この状態でA面B面の部品の配置を選択してしまいます。
私はDIP部品と大きめの部品、ICは基本的にはA面、SMDのうちCR等の小さめの部品をB面に配置していますが作成する基板の層構成によっても変わるので作る基板に合わせて下さい。
次に部品の位置が決まっているものをその場所に配置していきます。
今回の基板の場合はコネクタとXBeeの位置は決まっているので最初に配置、あとは大物の部品がラッツネットが多いので、ピン数の多い大きな部品からできるだけ素直な信号の流れになる方向、場所を選んで配置していきます。
その後、大物の周辺の部品を大物の近くに素直な信号の流れになるように配置、大物同士の間に適当な隙間を開けながらその他の部品を配置していきます。

2015年5月15日金曜日

KiCadで部品のフットプリント作成

回路図からcvpcbを実行してフットプリントの無いものを拾っていきます。
フットプリントエディタは回路図エディタからでなく、パターンエディタ(Pcbnew)の方で表示->Switch Canvas to OpenGLに切り替えてから使います。
基本的にはこちらの方がサクサク動いて使いやすいのですがPadのpropertyだけは標準モードと同じで開くのに時間がかかります。
ほとんどの部品のフットプリントは標準ライブラリから持ってこれます。
標準部品として存在しているものは大きさ、ピンの配置、ピン番号、ピンのサイズを確認し、コピーしてLocalLibraryに登録していきます。修正が必要な物はコピーした方を修正し名前を変更内容がわかるように付けておきます。
私が直したところはSMD部品のPadが手付けするには厳しそうなところを少しコテをあてやすいように伸ばしたり、DIP部品の孔径が大きすぎるものを修正したりといったところです。
回路図用の部品シンボルは修正すると回路図にすぐ反映されますが、フットプリントはパターンに対しては独立しているので修正した場合は一度部品のフットプリントを削除してから再度Netの読み込みをしてフットプリントを繋ぎ直す必要があります。
なので、パターンを引く前に念入りにフットプリントを確認しておいたほうが手間がかからなくていいです。

2015年5月8日金曜日

KiCadで回路図作成

今回は以前CadlusXで作成したHA-2基板を作り直しHA-3基板を作ります。
FRISKケースに収めたXBee経由で赤外線リモコンやHA端子、弱電の接点コントロールの機器をリモート・コントロールするためのモジュールです。
雷対策とか機能追加などで改修項目が増えてきて作るのが大変になってきたので作りなおすことにしました。
前回、回路図用の部品をひと通り作ったので回路図自体はすぐに書き終わりました。
以前作ったHA-2基板の回路図と改修内容の修正内容がちゃんと盛り込まれているかひと通り確認しました。
HA-2基板で念の為に入れていた抵抗で機能を切り替える部分もFixしているので外して手間を削減するようにしました。
回路図はこんな感じです。


1時間程度で書くことが出来ました。


2015年5月1日金曜日

KiCadで回路図用部品作成

KiCadの場合、EAGLEと違って部品が回路図用のコンポーネントライブラリ(.libファイル)と基板デザイン用のフットプリントライブラリ(モジュールライブラリ、.kicad_modファイル)、両者の対応を記述するCvPcbで生成される関連付けファイル(.cmpファイル)で構成されています。
私はEAGLEのほうが特殊でKiCadの管理の仕方のほうが理にかなっていると思います。
今回もEAGLEの時と同じで、基本的には自分のLocalに使う部品を集めて管理します。
基本的には標準ライブラリに存在しているものは確認してコピーして使用、ないものは自分で作るという方針で自分のライブラリを育てていきます。あとはEAGLEから変換することも出来るようです。
コンポーネントエディタの使い方は詳細な日本語マニュアルがあるので割愛します。
KiCadは日本語の詳細なマニュアルが付属しているので非常に助かります。
自分のライブラリを育てるためには、最初にメニューバーの設定ー>アクティブなライブラリを設定でユーザー定義パスを設定する必要があります。
あとは近い形のものを標準ライブラリから読み込んで編集し名前を付けて保存していきます。
私は試行錯誤で色々EAGLEと同じように部品ごとに回路図用記号を作成してしまい失敗しました。
KiCADの場合は例えば4ピンのコネクタなら1種類回路記号を作って、フットプリントとの結びつきで部品を分けるべきでしたが、種類ごとに同じ形の回路記号を作ってしまいライブラリに無駄な部品が沢山出来てしまっています。
それ以外の注意点は、標準ライブラリと同じ名前の部品を作らないこと、後でわかりやすいグループ分けでライブラリを作ることと、0.1inchのグリッドで端子を付けておく、ピンの番号を確認できるように表示するということぐらいです。

2015年4月24日金曜日

KiCad for OS-X

以前のHA-2基板、RP-1基板はCadlusで設計してP板.comで基板作成しました。
先日のRP-2基板はEALGEで設計してelecrowで基板作成しました。
今回は前から気になっていたKiCadで設計してelecrowで基板作成にチャレンジしてみようかと思います。

Windows版と違ってMac OS XでKiCadの場合はソースコードからbuildする必要があります。
kicad.jpをみるとBZR4022が安定版のようですが2014-07-20と半年以上前のもので、その後に押しのけ配線等の機能が追加されています。

OS-X向けのbuildについては下記のblogを参考にさせていただきました。以下何箇所か引用させていただきます。
http://ochaochaocha3.hateblo.jp/entry/2015/01/05/installing-kicad-on-mac-os-x
http://www.usagi1975.com/20150116996/

上のblogも含め、幾つかMac用に最近のものをbuildしてくれているものもあったので試してみたのですが、MacのMagicMouseで使おうとするとズームが中ボタンのスクロールに割り当てられていて拡大率の変更も大きすぎて、ちょっとマウスの真ん中を触ると拡大縮小されてしまい使うに耐えない状態です。設定も色々いじってみたのですがどうにもならず、TrackPadでもスクロール、ズームが使えないのが不便でちょっと使いものにならないなというのが感想でした。
KiCadのlaunchpadのbranchを色々見てみるとやはり同じこと感じるようでosx-trackpad-gesturesというbranchがあり定期的にメインブランチとmerge作業をしてくれています。

いずれにしろ自分でbuildすることになるので、このbranchを利用させてもらうことにしました。
最新の開発branchなので色々問題出るかもしれませんが、その時はmain branchのdebug情報を見ながら修正かけていこうかと思います。

私の環境はMcBook Pro(15-inch, Early 2011) 2.2GHz Intel Core i7/8GB 1333MHz DDR3/OS-X 10.10.2 Yosemiteで、既にbrew 0.9.5とXcode 6.2、Command Line Toolsが入っている状態です。
まずbrewの状態をチェック。
# brew doctor
Your system is ready to brew.
と出ることを確認します。

KiCadのbuildに必要なものをinstallします。
今回はosx-trackpad-gesturesはBZR5282 KiCad本体のBZR5595がベースになっています。
# brew install cmake bzr glew cairo swig boost
bazaarに自分の名前とメールアドレスを設定します。
# bzr whoami '自分の名前 <name@example.net>'

作業directoryを作ってKiCadのソースコードをdownloadします。
# mkdir KiCad
# cd KiCad
# bzr branch lp:~gcorral/kicad/osx-trackpad-gestures

wxPythonをjaistのサーバーからdownloadしてscriptで使われるdirectory名に変更します。
# curl get http://jaist.dl.sourceforge.net/project/wxpython/wxPython/3.0.2.0/wxPython-src-3.0.2.0.tar.bz2 | tar xjvf -
# mv wxPython-src-3.0.2.0 wx-src

次にbuild scriptを修正します。
# cd osx-trackpad-gestures
# cp scripts/osx_build_wx.sh scripts/osx_build_wx_yosemite_trackpad.sh
# vi scripts/osx_build_wx_yosemite_trackpad.sh
下記のdiffの5行を追加
----------
# diff -urb scripts/osx_build_wx.sh scripts/osx_build_wx_yosemite_trackpad.sh
--- scripts/osx_build_wx.sh 2015-03-26 14:42:34.000000000 +0900
+++ scripts/osx_build_wx_yosemite_trackpad.sh 2015-03-26 14:46:32.000000000 +0900
@@ -140,6 +140,11 @@
 doPatch "$1" "$3/patches/wxwidgets-3.0.0_macosx.patch"
 doPatch "$1" "$3/patches/wxwidgets-3.0.0_macosx_bug_15908.patch"
 doPatch "$1" "$3/patches/wxwidgets-3.0.0_macosx_soname.patch"
+doPatch "$1" "$3/patches/wxwidgets-3.0.0_macosx_scrolledwindow.patch"
+doPatch "$1" "$3/patches/wxwidgets-3.0.0_macosx_magnify_event.patch"
+if [ "$4" = "10.10" ] ; then
+  doPatch "$1" "$3/patches/wxwidgets-3.0.2_macosx_yosemite.patch"
+fi

 # configure and build wxWidgets
 wxWidgets_configure "$1" "$2" "$4"

----------
# sh scripts/osx_build_wx_yosemite_trackpad.sh ../wx-src ../wx-bin ./ 10.10 -j4
# cd ..
# mkdir build
# cd buld
# cmake ../osx-trackpad-gestures \
      -DCMAKE_C_COMPILER=clang \
      -DCMAKE_CXX_COMPILER=clang++ \
      -DCMAKE_OSX_DEPLOYMENT_TARGET=10.10 \
      -DPYTHON_EXECUTABLE=`which python` \
      -DKICAD_SCRIPTING=ON \
      -DKICAD_SCRIPTING_MODULES=ON \
      -DKICAD_SCRIPTING_WXPYTHON=ON \
      -DKICAD_SKIP_BOOST=ON \
      -DUSE_OSX_MAGNIFY_EVENT=ON \
      -DwxWidgets_CONFIG_EXECUTABLE=../wx-bin/bin/wx-config \
      -DPYTHON_SITE_PACKAGE_PATH=`pwd`/../wx-bin/lib/python2.7/site-packages \
      -DCMAKE_INSTALL_PREFIX=../bin \
      -DUSE_IMAGES_IN_MENUS=ON \
      -DCMAKE_BUILD_TYPE=Release
# make
# make install
# cd ..
ここまででbin/以下にアプリケーションが出来上がります。

次にライブラリ、日本語ドキュメントをまとめていきます。
# mkdir lib
# cd lib
# git clone https://github.com/KiCad/kicad-library.git kicad
# bzr branch lp:~kicad-developers/kicad/doc
# cp -pr doc/doc/help kicad
# mkdir kicad/share
# cp -pr doc/internat kicad/share
# cd ..

これで
Kicad/bin/kicad.app/に/Application/へコピーするKiCadのアプリケーション
KiCad/lib/kicad/に/Library/Application\ Support/へコピーするライブラリ・ドキュメント一式が揃いました。

/Applications, /Libraryへの書き込みはroot権限が必要なので
# sudo cp -pR bin/kicad.app /Applications
# sudo cp -pR lib/kicad /Library/Application\ Support
この時passwordを聞かれたら管理者のパスワードを入力してください。

/Applicationsにkicad.appが出来上がっているのでFinderからDockに登録してください。
これでKiCadが使えるようになります。