home>>電気工作:素材と道具>>工作日録

工作日録

工作日録:2009年8月〜

工作日録:2009年8月〜

20100322:XCodeのエディタをemacsとして設定する方法



XCode の外部エディタ設定

20100118:Arduino関係の情報リンクメモ



  1. 本家
  2. 日本語マニュアル(リファレンス)
  3. 四谷工作研究所
  4. Experiment:I2C communication between two Arduino boards

20091204:hidspxでのarduino fuse bitメモ



最近avrdude/usbaspからhidspxに乗り換えた。hidspxのメモ

hidspx -qmega168 -d10 -fL0xFF -fH0xDD -fX0x00

こんな感じでOK

20091030:mini CNC HAKU 2030の利用環境を変更する



前の(下の)記事で書いたHAKU2030の利用環境を変更した。Gコード生成にDesKAMを使っていたのだが、もはや本家サイトが提供もしてないアプリを使うのはどうもむずいので、Polylineを使えるCAMソフトを探し続けていた。

ありましたhappy 。USBCNCgoogle 。使い勝手もいいし、分かりやすい。特に、エンドミル直径を基準に、切削パスを外枠/内枠(指定可能)で自動計算して出してくれるので、CAD側では、そのままの寸法で描く事が出来るのが楽。

これでパネル作りの目処がたった感じです。CAM設定は、次のリンク -> USBCNC-CAM機能、が簡潔で分かりやすい。



cnc-cam-g-code.png

結果、DraftingCAD Pro ->dxfファイルで出力-> USBCNC ->CAMデータを含んだGコード出力(ここまでiMacの作業)-> Mach3でGコード読み込み -> HAKU2030となりました。

本当は、愛用してるOmniGraffle PROgoogle がdxfを吐き出してくれると、とてもいいんだけど残念ながらムリ。OmniGraffleで基本デザインして、切削関係だけはDraftingCADで描くという二度手間を余儀なくされている。



20091005:mini CNC HAKU 2030:ソフトウエア覚え書き



製造販売元オリジナルマインドgoogle のサイトでは、CADはJW-CADgoogle ,Gコード生成はJMM-TOOLgoogle ,確認はNCVCgoogle を例示ソフトとして多くの記述がありますが、JW-CADは多機能すぎて学習を断念(もはや、Windowsアプリを使い込む気にならないというのが率直なところ)。JMM-TOOLはpolylineが扱えないのでパス。

検討の結果、CADはDraftingCAD Progoogle を選んだ。評判は知らないが2万円程度で買えるのでポチってしまった。

Gコードの生成はDesKAM 2000google を使うことにした。ただしDesKAMはオリジナルサイトでの提供は既に終わってるっぽいので(でもなぜかバイナリは僕の手元にある)、今から使うのは辛いかもしれない。サイトとしてはhttp://design761.blog35.fc2.com/blog-entry-26.htmlが参考になった。

DraftingCAD Proで描画後、Paralles for Desktopのwindows xpでDesKAMを動かす。あとはG-codeをMach3google で読み込みHAKUを動かす。Mach3/HAKUは、Mac上では動作不能なので(レガシーパラレルポートが必要)、古いXPが入ったデスクトップPCを別途用意。必要なGコードファイルはsmbでMacから共有をかけて読み込んでいる。

20091003:mini CNC HAKU 2030 エンドミルを折る



PA040014.JPG PA040013.JPG

HAKU 2030の動作テストをする環境がととのったので、本日、アルミ板の加工を試す。1.5Tアルミに40mmの穴をあける。さいしょ、一回の切削量をアクリル板のノリのまま0.2mmにしたら、なんともはや、暴走した。写真右の穴がそれ。エンドミルも折れるasease

0.04mmに設定。OK。



gcode.png

20090913:mini CNC HAKU 2030センサー取り替え



haku2030.JPG

分不相応な工作機械を持っている。CNCフライスのHAKU 2030google である。「工作」と言えば機械でしょ、と思い込み、電気工作始めた時にえいやあxと買ってしまったものでした。



P1040208.JPG

組み立てた直後、すこしだけ動かして、あとは地蔵化していた一品。

右は、唯一、試削したもの。アクリルです。



ee-sx-671a.JPG

地蔵化したのは、位置センサーが破損したから。電極を逆にさしてしまってXYZ軸のうち2個がこわれそのままになっていた。

なくても動くのだが、動かす気にならず、かれこれ4月たった。さてさて、このたび、取り替え部品を入手し稼動したのは、慶賀すべきであります。OmronのEE-SX-671Adatasheet というセンサー。出力端子を抵抗でプルアップし、感知時には信号がOFFになる。これ2個で2000円(高いなあと思った)。MonotaROで購入。



20090829:Arduino (Diecimila/Pro)ブートローダ書き込み覚え

FUSE,ブートローダー、Lock ビットの書き込み

やるたびに忘れてしまうので、ここで覚えを書いておく。writerはusbasp。ツールはavrdude

まず新品Atmega168+16/8Mhzと通信できるかどうかのチェック

avrdude -c usbasp -p m168 -v

Reading | ################################################## | 100% 0.01s
avrdude: Device signature = 0x1e9406
avrdude: safemode: lfuse reads as 62
avrdude: safemode: hfuse reads as DF
avrdude: safemode: efuse reads as 1
avrdude: safemode: Fuses OK

OK

Arduino Diecimilaの場合

Contents/Resources/Java/hardware/boards.txtのDiecimilaの値

diecimila.bootloader.low_fuses=0xff
diecimila.bootloader.high_fuses=0xdd
diecimila.bootloader.extended_fuses=0x00
diecimila.bootloader.file=ATmegaBOOT_168_diecimila.hex
diecimila.bootloader.unlock_bits=0x3F
diecimila.bootloader.lock_bits=0x0F
diecimila.build.mcu=atmega168

Arduino Pro o Pro Miniの場合

pro.name=Arduino Pro or Pro Mini :3.3V

pro.bootloader.low_fuses=0xc6       
pro.bootloader.high_fuses=0xdd       
pro.bootloader.extended_fuses=0x00       
pro.bootloader.file=ATmegaBOOT_168_pro_8MHz.hex
pro.bootloader.unlock_bits=0x3F       
pro.bootloader.lock_bits=0x0F       

となっているので、

FUSE デフォルト 変更後 変更内容
low 0x62=01100010 0xff=11111111 システムクロック8分周を禁止(7)。クロック出力許可(6)。内蔵RCからクリスタル用低電力発発振器に変更。かつ低速立ち上がりへ(5:4)。内蔵RCからクリスタル発振に切り替え(8-16Mhzに)(3:0)。
low(Proの場合) 0x62=01100010 0xc6=11000110 システムクロック8分周を禁止(7)。クロック出力許可(6)。内蔵RCからフルスイングクリスタル発振に切り替え(3:0)。
hight 0xdf=11011111 0xdd=11011101 低電圧検出を許可しMin値を2.7Vにする
exptended 0x01=00000001 0x00=00000000 リセットベクタ選択しない

上の変更内容を理解した上でavrdude で FUSEを設定(以下Dicimillaの例)。

---

avrdude -c usbasp -p m168 -U efuse:w:0x00:m -U hfuse:w:0xDD:m 
-U lfuse:w:0xFF:m

FUSEが変更されているか確認

avrdude -c usbasp -p m168 -v

avrdude: safemode: lfuse reads as FF
avrdude: safemode: hfuse reads as DD
avrdude: safemode: efuse reads as 0
avrdude: safemode: Fuses OK

次にブートローダーを書き込む

---

cd arduinoのフォルダ/hardware/bootloaders/atmega
>avrdude -c usbasp -p m168 -D -U flash:w:ATmegaBOOT_168_diecimila.hex:a

avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.01s
avrdude: Device signature = 0x1e9406
avrdude: reading input file "ATmegaBOOT_168_diecimila.hex"
avrdude: input file ATmegaBOOT_168_diecimila.hex auto detected as Intel Hex
avrdude: writing flash (16294 bytes):

Writing | ################################################## | 100% 5.29s
avrdude: 16294 bytes of flash written
avrdude: verifying flash memory against ATmegaBOOT_168_diecimila.hex:
avrdude: load data flash data from input file ATmegaBOOT_168_diecimila.hex:
avrdude: input file ATmegaBOOT_168_diecimila.hex auto detected as Intel Hex
avrdude: input file ATmegaBOOT_168_diecimila.hex contains 16294 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 4.65s
avrdude: verifying ...
avrdude: 16294 bytes of flash verified

avrdude: safemode: Fuses OK

avrdude done.  Thank you.

ロックビットを0x0Fにする。なお、工場出荷後、lock bitが一端設定されると、設定し直す場合には avrdude -eでchip eraseが必要。

---

avrdude -c usbasp -p m168 -D -U lock:w:0x0F:m

ブートローダ無しのmegaにArduinoの*.hexを書き込む手順

ブートローダ無しの素の168+16M/8M xtalでArduino の*.hexを書き込む場合は、FUSEだけは合わせておいて*.hexを下記の手順で書き込めばいい。

*.hexは、Complieして、かつ転送ボタンを押すと(エラー表示になるが)、appletフォルダが生成され、その中に*hexが出来る。転送ボタンを押さないとだめ。あとは

---

cd arduinoの目的のスケッチフォルダ/applet
avrdude -c usbasp -p m168 -D -U flash:w:なんたら.cpp.hex:i

とすればいい。

20090822:というわけで、TA8122でFMを聞くのは諦めて、FMチップSi4700に挑戦してみる

TA8122ANへの復讐を簡単にあきらめ、部屋の片付けも一段落した今日この頃、一つは聞こえるFMラジヲを作ってみたいと思う。。。。じつは、先日BeagleBoard Rev C2google をDigikeyで購入しちまったのだけど(このお話はまたいつか)、その時に、ついでに「FMラジヲ用ワンチップIC」を3個ほど手に入れてしまったというか、かってに手が動いたというか。

Si4700.JPG そのうちの一つがSilicon Laboratories のSi4700datasheet である。写真の左の玉は、新発売のフリスクオレンジ。決してあやしい錠剤ではありません。QFNなので足が出ていない。うまく動くかどうか判らないが、ながくなりそうなので、とりあえずSi4700 FMラジオの試作で日誌をつけてみる。



20090816:TA8122AN revisited

ta8122kai.jpg

FCZgoogle コイルを使って、一昨日(日が替わったから「さきおととい」か)の「ラジヲ」をFM放送と仲良くできるようにためしてみる。

144Mhz用のコイルを、このために?5個ほど手持ちしているのだ。僕は掃除もせずに、いったい何をしているのだろうか(w・・。

近辺のFM局を3局、受信出来た。でも同調はクリティカルで、音もよくない。ボディエフェクトは半端じゃない。すべて想定内。

以上。asease

20090813:掃除サボりの日:TA8122ANでFMラジヲを作ってみる

8月になってからというもの、埃っぽくなった部屋の掃除をつづけてる。部屋の片隅で以前(たぶんイーエレさんで)買ったらしいTA8122ANdatasheet が3個見つかった[1]。見つかったというか、ソファーを動かして掃除してると、足裏に突き刺さった 。こいつめ!こいつめ![2]

で、フクシュウのために、掃除をほっぽり出して、FMラジヲを作ってみる。鳴れば満足というやつである。バリコンでの同調路線。

TA8122ANのラジヲ作例はいくつもあって、作例をまとめてくれてるサイトもある。

P8120069.JPG

1.778ピッチなのがビッチである。写真のように、蛇の目に突っ込める以外の足は、フクシュウの意味モコメテ伸ばしてやることにした。えいえい。で、最初片面基板で作ろうとしたが、配線の引き回しが面倒そうなので、両面に変更。秋月のCタイプ:72x47mm



ta8122an_test_circuit.png

回路は、ほぼデータシートのまま。FMだけなので、pin4, 7,20,24は使わない。



margin-left[4em] margin-top[2.5em] P8130072.JPG

コイルはテスター棒に錫メッキ線を数回巻いてテキトウにくっつけるだけ。 5Vで動作させてみる。

ををを、結構ちゃんと聴こえるやん!!!。一発成功。

しかしTV局っぽい。ちょっと周波数上か。テレビをつけて調べてみる。



6チャンネルだ。WEST TOKYO TV-FM DX[3]サイトのアナログ各TV方式のチャンネルと周波数対照表でチェックする。

なるほど、そうですか。。。187.75Mhz ですか。はいはい、なるほど結構、上まで使えますね。TA8122AN君は。

以上asease



20090813:ブログとうぇぶの間

MovableTypeがともだちになったの巻にあるように、ブログも作ったのだけど、工作話をかくばあい、必然画像が多くなるし、ブログだとアクリル端材で工具立てを作るmyblogとか工具掛けを作るmyblog程度の量を書くだけで疲れちゃうので、それを超えるようなものはこの雑記頁に書いとくことにしよう。














annex

補足情報はありません













note
[1] 工作はじめたばっかりの半年まえなら、こんなぞんざいな部品の扱い方はしなかったはず。反省。
[2] 全然反省していない。
[3] このサイトは、とてもcool ですね。