コメを噛め

コメを噛め

rerofumi の電子工作メモ

Archive for 5月, 2011


hatena bookmark

Windows は Vista 以降の 64bit 版で、署名のついていないデバイスドライバーがインストールできなくなった。
動作が保証されているドライバーを使いましょう。使わないで不安定になっても保証できないからね!とか、妖しいドライバーを入れちゃ駄目だよ!とかいったありがた迷惑な配慮からですな。
こういうときに困るのがアマチュア工作家で、電子工作をしてもそのデバイスを PC に繋げないという障害として立ちはだかります。
まあ、愚痴はさておき。

署名のついていないドライバーを Windows7 64bit にインストールする方法を調べると「××というソフトを使え」とか色々出てきますが基本的にそういったソフトは要らない。
Windows の起動時に F8 を押したままにしておくと、セーフモードを選べる非常起動メニューが表示されるが、そのなかに署名無しドライバーに警告を出さないモードで起動というものがある。
それを選んで起動してからドライバーをインストールすれば OK。

64bit版の AVR-CDC のドライバーもそれで入れる事ができた。

~~~
最初はこれらを避けるために VMware 上の WindowsXP 32bit で開発したり確認したりしていたのだが、VMware 上だと AVR-CDC のドライバーインストールとデバイス認識はできるのに、その後信号がさっぱり VMware から外に出ていかないという現象に悩まされた。
初めて見るパターンだったのでまさか環境のせいとは思わずずっと悩んでいた次第。
なんでだろう?


hatena bookmark


前回「USB を INT1,INT2 に繋がないと駄目だよ」ともあさんにご指摘いただいたので作り直した。ISPコネクタが裏返っていたのも一緒に修正。
ちょびちょび直していくのも試作の醍醐味ということで :-)

ガーバーだの回路図だのの詰め合わせ。
Download: fumi2_avrusb_eval1_20110527.zip


回路図エディタは BSch3V を、基板CADは K2CAD を使用。


製作も割と手慣れてきた。
元々、0.8mm ピッチのフラットパッケージ用基板を作るのが目的だったのだけれども、それ自体は問題無く作れる様になった。どっちかというと、ここから先『はんだ付けができるか』の方が問題になっていくような雰囲気。


AVR-CDC を焼き込むと USBデバイスとして認識され、動作していることが確認できた。
USBコネクタ脇のピンヘッダには USART が引き出してあるので、このまま USB-Serial コンバータとして動作する実験基板となる。ISP コネクタの方を使えば SPI なり I2C なりのシリアル通信ができるんじゃないかなあ。
ここから先にマイコンをシリアルで繋いで、PC とターゲットマイコンをUSB繋ぐグルーとして AVR-CDC が使えないかなあという実験を進めていく。


hatena bookmark

AVR toolchain をビルドするスクリプト。
できた toolchain で軽く LED チカチカをビルドしてみたけれども、動作したしイチオウ問題なさそうな案配。

rake script
Download: fumi2_avr_toolchain-0.0.2.tar.gz

MacOSX や Linux でビルドする分には前回の 0.0.1 で問題なし。
mingw-gcc でクロスコンパイルするときに不具合があるのでパッチを当てるのと、相変わらず cygwin でのビルドが難儀するのでいくらか調整。よっぽどのことがなければ cygwin に挑戦しないほうが無難。

今回もおまけの cygwin 版バイナリ。
Download: avr_gcc_toolchain.tgz (60.8MB)


hatena bookmark

AVR でも自分でビルドした toolchain が欲しくなったので、以前 Cortex-M3 の GCC toolchain を作ったように(こことかここの記事参照) ビルド手順を rake ファイルとして記述したものを作って見た。
ARM の時のものを元にさらっと作っただけで動作検証とかはまだしていない。

Download: fumi2_avr_toolchain-0.0.1.tar.gz

toolchain としてビルドするツールとそのバージョンは以下の通り

binutils-2.21
gmp-5.0.1
mpfr-3.0.0
mpc-0.9
gcc-4.5.3
avr-libc-1.7.1
gdb-7.2
avrdude-5.10

このへんのバージョンは新しければ良いというものでもないのだけれども、まあそれなりに新しめなところをあつめてある。
gcc は 4.6.0 が出ているけれども、avr-libc-1.7.1 をビルドできない不具合があるので(1.7.2では修正されるらしい) 4.5.3 となっている。

取りあえず版なので無保証。


hatena bookmark


秋月電子通商でもって 250円で売っているフラットパッケージの ATMega328P-AU を用いた個人的実験用ボードを作ってみた。

CNCフライスでプリント基板を試作できるようになってきたので、今度は表面実装部品を扱うためにどれくらいのピッチがいけるかということを試し始めた。その第一弾。
ATMega328P が 32pin 0.8mm pitch という手頃な挑戦課題だったのでまずはこれから。
個人的に AVR の V-USB は自分で扱えるようになっておきたかったので、それを実験するのをメインに据えたボードになっている。 I/O とか妙に半端なのはそのせい。


回路図。


基板を起こした物。ジャンパーは1本。
ISP のピン番号を振り間違ったらしく、奇数ピンと偶数ピンが逆になっているという失敗をしている。

今回は変換ケーブルを挟んで使うことにした。残念。


ピンの幅が 0.4mm でピン間が 0.4mm の 0.8mm ピッチについては特に苦労なく作成することができた。
なんといっても、USBコネクタのようなユニバーサル基板で扱いにくいコネクタの穴が楽々と作成できるのがありがたい。CNCフライスで基板を作るもう一つのメリットである。

回路図、K2CADファイル、ガーバーファイルの詰め合わせ
Download: fumi2_avrusb_eval1_20110509.zip

これじゃ V-USB できないと指摘されたので取り消し。
後日修正版を作成します。

今のところ、通電して ISP で問題無く読み書きができることと、LED チカチカ等の簡単なテストを行って AVR が動作しているのを確認している。
動作する基板ができたので、次は V-USB でシリアルターゲットでも載せる実験をしていこうかなと構想中。


hatena bookmark

OriginalMind さんが新種の基板加工カッター「美濃昌典」を発売した。
どんな案配かまずは試し彫りをしてみたの記事。


これまでの基板加工カッターは半月型Vカッターが一般的であった。
ただ単純に V字だと切削しにくいので多少の偏りをつけてそれで、切削幅が 0.4mm だったり 0.24mm だったりしていた。都合 1枚刃である。


美濃昌典はドリルのようならせんが付いた 2枚刃カッターとなっている。
先端に 90度や54度 といった鋭い加工がなされており先端だけ使えばパターンをけがく
ことができるし、そのまま下ろしていけばドリルとして穴も開けられるというのが特徴となっている。
ドリルの方はまあいいとして、パターン切削がどれくらいできるかを見てみたい。
4月下旬に新しく 0.8mm軸 54度という精細版が発売されて 2つのラインナップとなった。1.0mm軸 90度はともかく 54度の方がぱっとわからなかったので計算してみたが、要するに

1.0mm軸 90度は彫り込み深さ 0.1mm のとき切削線幅 0.4mm
0.8mm軸 54度は彫り込み深さ 0.1mm のとき切削線幅 0.2mm

ということらしい。わかってみればすっきりしたものである。

さて本当に 0.2mm 幅という精度がでるのか、使い勝手は良いのか実際に掘って試してみる。

左から、
– 端子 0.4mm, 隙間 0.4mm, 0.8mm ピッチ
– 端子 0.3mm, 隙間 0.314mm, 0.65mm ピッチ
– 端子 0.3mm, 隙間 0.2mm, 0.5mm ピッチ
– 端子 0.2mm, 隙間 0.3mm, 0.5mm ピッチ
上から
・0.24mm 幅 半月Vカッター (カッター幅 0.20mm設定パス)
・0.8mm軸 54度 美濃昌典 (カッター幅 0.20mm設定パス)
・1.0mm軸 90度 美濃昌典 (カッター幅 0.24mm設定パス)

半月Vカッターはカッター個体によってバリの出かたにばらつきがあって割と悩まされてきていた。写真だと上からの撮影なので見えにくくなっているが実はでこぼこになっていて指でなでるとひっかかるというか痛いほど。
美濃昌典で切削した後はバリもなく平らに削れており明らかに良好である。さすが二枚刃といったところか。
これほどの差が出るので掘削中の音も違っており、半月カッターの方がうるさかった。いや、うるさいくらい偏芯していので仕上がりが汚かったのかもしれない。
もうこれだけみても以降は「美濃昌典できまりだね☆」と言いたくなるところ。

切削幅については 0.24mm 設定の 半月Vカッターと 0.8mm軸 54度 美濃昌典であんまり差がなかった。
0.8mm軸 54度 美濃昌典は 0.1mm 彫り込み深さのときで約 0.2mm 幅だろうと算出されたが、設計と結果を見比べると実効値は 0.225 ~ 0.25mm と考えた方がよさそうだ。
あくまでもうちの環境での話で、CNC フライス側の精度による部分もあるはず。

これまでの半月Vカッターでも 0.5mm ピッチが作れそうだったのだけれども、バリでエッジが浮き上がる現象があって切削はできてもそのあとのはんだ付けが難しそうと躊躇していたのだ。
だが、今回 0.8mm軸 54度 美濃昌典を試してみて 0.5mm ピッチはいけると確信した。

これで 48ピン~100ピンの LQFP が載る基板を自作できるよ。(片面だけど)
500円未満の STM32 を買い込んでマイコン工作はそっちに移行しちゃおうかな。


0.8mm ピッチは割と余裕でもうすでに試していたりする。
この 32ピンの AVR MEGA328P もこうして自作できると色々便利に使えるだろうね。


hatena bookmark

これまで作成してきたプリント基板作成用のガーバーデータを G-Code に変換するスクリプトに GUI を追加してアプリケーションとしてまとめ上げました。
GUI 製作にも IronRuby を使っており、全て ruby で書かれています。

実行には IronRuby 1.0 が必要です、インストールして準備しておいてください。
IronRuby は Mono でも動作しますので、Mono を使って MacOSX 等といった Windows 以外の環境で動作させる事ができます。

Download: gynostemma-20150228b.zip (1.30MB) 最新版
Download: gynostemma-20150128a.zip (1.30MB) 1つ前
Download: gynostemma-20140615.zip (1.34MB) ワンカッターオペレーション対応版:
Download: gynostemma-20120802.zip (1.34MB) マルチスレッド、ポリゴン対応版
Download: gynostemma-20110910b.zip(1.33MB) シングルスレッド、旧安定版

以前から書いている様に、個人で CNCフライスを使ってプリント基板作成をしたい場合は Eagle とユーザースクリプトを使って G-Code を出力させるのがおすすめです。
それ以外の CAD を使って行いたいというニーズがどれくらいあるのかはわかりませんが、これがなんらかのお役にたてたらと思います。

– 更新履歴
Feb.28.2015 – ドリルデータで全て読み込まれないパターンがあるものを修正
Jan.28.2015 – 線が密集しているところでアウトライン抽出が欠けやすい不具合を改善
Jan.17.2015 – 左右反転機能の追加、アパーチャマクロ型のパッドに対応
Jul.15.2014 – 1本のエンドミルで穴開け、パターン彫り、くり抜きを連続する Export を追加
Aug.02.2012 – 20120721 で入れてしまった2パス目以降が膨らんでいかないバグを修正
Jul.21.2012 – ガーバーのポリゴンフィル(G36/G37)に暫定対応
Jul.09.2012 – パスビルド時の演算をマルチスレッド化
Sep.10.2011 – データによってはパターンの内側に掘削パスがゴミとして残ってしまう場面がまれにあったバグを修正、内側に残る系は無くなったと思う
Aug.07.2011 – 計算ミスで必要な掘削パスが消えてとぎれてしまったり、いらないパスが残ったりしていたのを改善(※まだ起こり得ます)
Aug.04.2011 – パターン処理するデータによっては無限再起ループに陥りクラッシュ終了することがあったので、その不具合を修正
Jul.31.2011 – インチ対応が不十分でアパーチャグリルサイズに適用できていあんかった不具合を修正。横長のアパーチャグリル(パッドなど)に対応
Jul.27.2011 – MBE対応、読み込み時インチデータの判別改善、ドリルデータ読み込みオプションとドゥエル指定の追加
May.14.2011 – ドリルの掘り下げ深さを別個に指定できるようにした
May.06.2011 – 公開開始


hatena bookmark


CNCフライスでプリント基板作成をするために、G-Code変換ツールを作っていたのは以前に書いた通り。(準備その1その2動画)
その後 10枚くらいの基板を設計、作成してちょこちょことスクリプトを変更していた。

ruby で書いたスクリプトではあるもののいずれアプリケーションとして整えて公開しようと思いつつずるずると今に至る。
別に意図して公開していなかったわけではないのだけれども、いまひとつ変なところがあるとか、素のスクリプト状態では使いにくいとかそんなあたりで。
そんなスクリプトだが公開して欲しいという声をありがたいことに頂戴したので、軽く整えて以下に置いておくことにする。

Download: r_gerber_converter.zip (19kb)

通常の ruby ではなくて .NET framework の IronRuby が必要。
また、計算結果のパターン表示に OpenTK を使っているのでそれも準備する必要がある。
ちょっぴり変な実行環境だけれども、その分 MacOSX などでも動作するものになっている(確認済み)ので興味があったら試してみて欲しい。

ファイルの指定などを GUI で行うことのできるアプリケーション版も準備中。
本気出したら割とそれなりにできてきたので近日中に公開できるかも。こちらも IronRuby+OpenTK で作られている珍しいプロジェクトなので環境はあらかじめ用意しておいてくださいな。

# ちなみに計算にはえらい時間がかかるので覚悟してください