工作日録
工作日録:2009年8月〜
table of contents
20100322:XCodeのエディタをemacsとして設定する方法
20100118:Arduino関係の情報リンクメモ
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ソフトを探し続けていた。
ありました
。USBCNCgoogle
。使い勝手もいいし、分かりやすい。特に、エンドミル直径を基準に、切削パスを外枠/内枠(指定可能)で自動計算して出してくれるので、CAD側では、そのままの寸法で描く事が出来るのが楽。
これでパネル作りの目処がたった感じです。CAM設定は、次のリンク -> USBCNC-CAM機能、が簡潔で分かりやすい。
結果、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 エンドミルを折る
HAKU 2030の動作テストをする環境がととのったので、本日、アルミ板の加工を試す。1.5Tアルミに40mmの穴をあける。さいしょ、一回の切削量をアクリル板のノリのまま0.2mmにしたら、なんともはや、暴走した。写真右の穴がそれ。エンドミルも折れる
。
0.04mmに設定。OK。
20090913:mini CNC HAKU 2030センサー取り替え
分不相応な工作機械を持っている。CNCフライスのHAKU 2030google である。「工作」と言えば機械でしょ、と思い込み、電気工作始めた時にえいやあxと買ってしまったものでした。
組み立てた直後、すこしだけ動かして、あとは地蔵化していた一品。
右は、唯一、試削したもの。アクリルです。
地蔵化したのは、位置センサーが破損したから。電極を逆にさしてしまって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個ほど手に入れてしまったというか、かってに手が動いたというか。
そのうちの一つがSilicon Laboratories のSi4700datasheet
である。写真の左の玉は、新発売のフリスクオレンジ。決してあやしい錠剤ではありません。QFNなので足が出ていない。うまく動くかどうか判らないが、ながくなりそうなので、とりあえずSi4700 FMラジオの試作で日誌をつけてみる。
20090816:TA8122AN revisited
FCZgoogle コイルを使って、一昨日(日が替わったから「さきおととい」か)の「ラジヲ」をFM放送と仲良くできるようにためしてみる。
144Mhz用のコイルを、このために?5個ほど手持ちしているのだ。僕は掃除もせずに、いったい何をしているのだろうか(w・・。
近辺のFM局を3局、受信出来た。でも同調はクリティカルで、音もよくない。ボディエフェクトは半端じゃない。すべて想定内。
以上。
20090813:掃除サボりの日:TA8122ANでFMラジヲを作ってみる
8月になってからというもの、埃っぽくなった部屋の掃除をつづけてる。部屋の片隅で以前(たぶんイーエレさんで)買ったらしいTA8122ANdatasheet が3個見つかった[1]。見つかったというか、ソファーを動かして掃除してると、足裏に突き刺さった 。こいつめ!こいつめ![2]
で、フクシュウのために、掃除をほっぽり出して、FMラジヲを作ってみる。鳴れば満足というやつである。バリコンでの同調路線。
TA8122ANのラジヲ作例はいくつもあって、作例をまとめてくれてるサイトもある。
1.778ピッチなのがビッチである。写真のように、蛇の目に突っ込める以外の足は、フクシュウの意味モコメテ伸ばしてやることにした。えいえい。で、最初片面基板で作ろうとしたが、配線の引き回しが面倒そうなので、両面に変更。秋月のCタイプ:72x47mm。
回路は、ほぼデータシートのまま。FMだけなので、pin4, 7,20,24は使わない。
margin-left[4em] margin-top[2.5em]
コイルはテスター棒に錫メッキ線を数回巻いてテキトウにくっつけるだけ。 5Vで動作させてみる。
ををを、結構ちゃんと聴こえるやん!!!。一発成功。
しかしTV局っぽい。ちょっと周波数上か。テレビをつけて調べてみる。
6チャンネルだ。WEST TOKYO TV-FM DX[3]サイトのアナログ各TV方式のチャンネルと周波数対照表でチェックする。
なるほど、そうですか。。。187.75Mhz ですか。はいはい、なるほど結構、上まで使えますね。TA8122AN君は。
以上
20090813:ブログとうぇぶの間
MovableTypeがともだちになったの巻にあるように、ブログも作ったのだけど、工作話をかくばあい、必然画像が多くなるし、ブログだとアクリル端材で工具立てを作るmyblogとか工具掛けを作るmyblog程度の量を書くだけで疲れちゃうので、それを超えるようなものはこの雑記頁に書いとくことにしよう。