免責事項

注意、免責事項について
・高電圧、大電流その他高エネルギを扱う実験を行う際にはくれぐれも安全に配慮し、細心の注意を払って行うようにしてください。
・当ブログの記事を参考にして発生した損害についてFEL研究室はいかなる責任も負えませんでご了承ください。
・当ブログに掲示している画像、動画及び文書の著作権は放棄しておりませんので、転載等の際はご一報していただくようにお願いします。
・何かありましたらkkt_322[at]yahoo.co.jp([at]を@に変えてください)までご連絡ください。

2018年3月26日月曜日

NT京都2018に出展してきた

お久しぶりです。KKTの方です。
ここで告知したかは覚えてないですが、題名の通りNT京都2018に出展してきました。

出展の様子です。
出展物はIHです。毎年同じような光景になってしまうのはなぜでしょうか。

なんか既視感のあるIH(おままごと用)。

来てくださった方、ありがとうございました。


Web拍手反応

>X線出しまくってると被曝するぞ
X線のやつやりたい

>山形県の魅力を教えてください!
山形県ってフルーツがおいしそう…と思ってググったところフルーツがおいしいそうです。

それではまた
http://clap.webclap.com/clap.php?id=fellabo

2018年2月4日日曜日

AVRで正確にタイマー割り込みを使いたい

お久しぶりです。随分と間が空いてしまったような気がします。
日付が変わったところですが、昨日は節分という祝日でした。豆まきをしたり、恵方巻きを食べたりするのが一般的ですが、私はスパゲッティを食べたことを報告しておきます。

AVRでタイマー割り込みを使う時に、普段はメインルーチンを回していて、一定期間ごとにタイマー割り込みが入るような構成になることがよくあると思います。しかし最近、そんな感じのプログラムを組んでいて、タイマー割り込みを使っているのに何故か僅かに割り込みの周期が遅れる現象に嵌ったので、原因と解決方法(?)を書き留めておくことしにしました。

まずATMega8にこんなアセンブラのプログラムを書き込んで走らせてみます。

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
.include "m8def.inc"

//ATmega8 lfuse = 0xe1 = 0b1110_0001 hfuse = 0b1101_1001
//10MHzのセラロックで使いたいので lfuse = 1100_0011 hfuse = 0b1100_1001
//avrdude -c avrisp -P COM12 -b 19200 -p m8 -U lfuse:w:0b11001111:m -U hfuse:w:0b11001001:m

.EQU fclock = 10.0//[MHz]
.EQU freq = 15.734//[kHz]
//.EQU timervalue = (fclock/freq)*1000.0

//こうしたいがEQUシンボルは4バイトINT型
.EQU Htime = 635//[cycles]

.DEF temp = R16
.DEF temp2 = R17

.ORG $0000
    RJMP RESET ;各種リセット
    RETI//RJMP EXT_INT0 ;外部割り込み要求0
    RETI//RJMP EXT_INT1 ;外部割り込み要求1
    RETI//RJMP TIM2_COMP ;タイマ/カウンタ2比較一致
    RETI//RJMP TIM2_OVF ;タイマ/カウンタ2溢れ
    RETI//RJMP TIM1_CAPT ;タイマ/カウンタ1捕獲発生
    RJMP VideoOut//RJMP TIM1_COMPA ;タイマ/カウンタ1比較A一致
    RETI//RJMP TIM1_COMPB ;タイマ/カウンタ1比較B一致
    RETI//RJMP TIM1_OVF ;タイマ/カウンタ1溢れ
    RETI//RJMP TIM0_OVF ;タイマ/カウンタ0溢れ
    RETI//RJMP SPI_STC ;SPI転送完了
    RETI//RJMP USART_RXC ;USART受信完了
    RETI//RJMP USART_DRE ;USART送信緩衝部空
    RETI//RJMP USART_TXC ;USART送信完了
    RETI//RJMP ADC ;A/D変換完了
    RETI//RJMP EE_RDY ;EEPROM操作可
    RETI//RJMP ANA_COMP ;アナログ比較器出力遷移
    RETI//RJMP TWI ;2線直列インターフェース状態変化
    RETI//RJMP SPM_RDY ;SPM命令操作可

Reset:
    LDI R16,high(RAMEND)
    OUT SPH,R16//スタックポインタ上位設定
    LDI R16,low(RAMEND)
    OUT SPL,R16//スタックポインタ下位設定
//スリープ設定
    LDI temp,(1<<SE)//アイドル動作に設定する
    OUT MCUCR,temp
//タイマ設定
//16bitレジスタに書き込む時は上から
    LDI temp,high(Htime)
    OUT OCR1AH,temp
    LDI temp,low(Htime)
    OUT OCR1AL,temp
//TCCR1Aは初期値のまま
    LDI temp,     (0<<COM1A1|0<<COM1A0|0<<FOC1A|0<<FOC1B|0<<WGM11|0<<WGM10)
//タイマA比較一致有効
    OUT TCCR1A,temp
    LDI temp,(0<<TICIE1|1<<OCIE1A|0<<OCIE1B|0<<TOIE1)
    OUT TIMSK,temp
    LDI temp,

(0<<ICNC1|0<<ICES1|0<<WGM13|1<<WGM12|0<<CS12|0<<CS11|1<<CS10)
    OUT TCCR1B,temp
   
    LDI temp,(1<<PD0)
    OUT DDRD,R16//PORTDの0ビット目を出力に設定
    SEI

Main:
    //SLEEP//待ち時間はスリープにしておく
    RJMP Main

VideoOut:
    SBI PORTD,0//high
    CBI PORTD,0//low
    RETI


↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑

改行が微妙に入ってしまって読みにくいことこの上無いのですがどうしたら良いのでしょうか。
まずReset:で色々な初期設定をして、Main:を無限ループさせて一定時間ごとに入るタイマー割り込みごとにパルスを出すようなプログラムです。SBI、CBI命令はそれぞれ2クロック掛かるので出るパルス幅は2クロック分、クロックが10MHzなので200nsということになります。タイマー割り込みの周期はHtimeというシンボルに入れたサイクル数になるようになっていて、クロックと周波数から自動で計算しようと思ったのですがコメントにもあるようにシンボルは4バイトのint型なので小数点以下の計算ができずだいぶざっくりなサイクル数になってしまうので諦めてサイクル数は手計算しました。Htimeに入れる周期は理想のサイクルから2か3くらい引かないと、タイマー割り込みの固定的な遅延時間で遅れるのでご注意ください、ってデータシートにも書いてると思います。
ラベルでピンと来た人もいらっしゃるかもしれませんが、これはビデオ信号の水平同期処理をタイマー割り込みでやろうとした時のソースの一部です。
とまぁタイマー割り込みで一定周期のパルスが出るだろうと動かしてみると下のような波形が出力されました。
なんとタイマー割り込みが入るタイミングが一定ではなくちょうど200nsずれて入っている時があるようです。これは遅延掃引で62.7us立ち上がりから遅らせている波形なのですが、ズレの部分の明るさがさほど変わらないことからたまーに遅れる(ないし早く割り込んでいる)どころでは無く頻繁に割り込み時間が変化してしまっていることもわかります。私はこれで相当悩んだのですが、結論から言うと原因は割り込みが入った瞬間に実行している命令の影響です。
データシート(https://www.mouser.com/ds/2/268/Atmel-2486-8-bit-AVR-microcontroller-ATmega8_L_dat-1065398.pdf)の16ページを見ると割り込みの応答時間についての記述があります。
"... If an interrupt occurs during execution of a multi-cycle instruction, this instruction is completed before the interrupt is served. ..."
複数サイクル命令の実行中に割り込みが入ると、 命令が実行され終わってから割り込みが入ります。とのことです。
1サイクル命令なら何の問題もないのですが、RJMPやBR**系のジャンプが入る命令は2サイクル掛かりますし、SB**系やLPM等は3サイクルかかるものもあります。つまりこれらを実行中に割り込みが入ると、命令を実行し終えるまで割り込みが入れないので遅延が発生することになります。タイマー割り込みって言うんだったら勝手に正確に割り込みが入ってくれたらいいのにと思ったんですがそんなに甘くは無いみたいです。
上のプログラムは、割り込み待ちの時に回しているループのRJMPが2サイクル命令なのでRJMP命令を実行している時には2サイクル遅れ、RJMPを実行する前なら遅れないので設定数値通りと2サイクル遅れたパルスが出力されているようです。なおタイマー割り込みの周期を1サイクル小さくするか大きくするとこのズレは無くなります。
解決策としては、割り込み待ちの処理の命令を全て1サイクル命令にするというのが一番本質的な解決になるような気がしますがまず無理なので私はスリープを使うことにしています。スリープが許可されている状態でSLEEP命令が実行されるとプログラムはそこでスリープ状態に入り、以後の命令は実行されません。そこに割り込み等が入るとスリープから復帰し、また命令を実行し始めます。スリープから復帰する時には4サイクル掛かるのですが、逆に言えばスリープに入ってさへいれば遅延が4サイクルに固定されるということです。ですので、予めこのサイクルをタイマー設定の数値に計上しておいて、タイマー割り込みが入る前にスリープにさせることで設定値通りの割り込みが実現できるのではないかと思います。

Web拍手反応
>海外からのアクセスすごそう
ほぼ無いですね

> 綺麗に立方体ならんかったやつほんま草
あれステレオの片方だけ作ったところでやばいなって感じて放置してあります。時々鳴らしてみたりするんですがなんとも。

> 今更なんですけどHF SSTCの記事投稿の予定ってあるんですか?
そうですねぇ…。予定と言ってしまえばどうとでもなるのですが、今のところ無いです。書きたい記事ではあるのですがいまいち全体として再現性のあるものになら無さそうで結局写真集みたいになっちゃうかもしれません。

> 電子工作について質問しても良いでしょうか?
先日「矩形波」を「くけいは」と読むと知り、びっくりしました。そこで不安になったのですが、「方形波」ってなんて読むんでしょうか?是非ご教授頂ければと思います。
そんなこと聞かなくてもいいです。

> いっぱいのおっぱいがいる
> マ
 ル
  ク
   ス
> あけましておめでとうございます。今年もFEL研究室をよろしくお願いします。
> なかた
おめでとうございます。マルクスのコメントは黙殺することにします。

> NTでは何を展示するんですか
NT京都2018に出展することにしました。KKTで申し込みしています。出展内容としては超音波関係の何か(未定)を持っていく予定です。また完成したら報告します。間に合わなければIHかテスラ持って行きます()。

それでは、今日はこの辺で
http://clap.webclap.com/clap.php?id=fellabo

2017年11月17日金曜日

部族の首飾りみたいなの

毎度お久しぶりと言っている気がしますがお久しぶりです。私です。
前アクセス数が~とか言ってて今見たら46000!?そんなに見るもんあるんですかね。何かを期待されているならその期待に応えないと、と思いますがよくわかないので書きたいことを書いていこうと思います。

ところでいつも題名で記事の内容を察する方も多いと思いますが今回はどうでしょうか?

紆余曲折あって飲料缶のプルタブを集めてしまったのですが、特に利用法も思い付かなかったのでどこかの部族が下げてそうな首飾りを作ってみました。
う~んなんかこうもうちょっとかっこよくなるかなと思ったんですがいかんせん地味ですね。

プルタブ洗った覚えが無いのであんまり綺麗じゃないかもです。
ちなみにこの紐、元は十字架が付いておりました。

Web拍手反応

> マルクス完成しましたか!
してないです。すいません。

> はやおでーす!
どうもー

> ティッシュ白くなってて
シリコングリスが分泌する男性いたら貴重なんでモテそう

> 中華CNC
>    欲しい!
>いかんせん情報量が少ないのでこういうサイトはありがたいです
中華CNCで基板掘る記事まだ書いてませんでした…。コツがわかりつつあるのでまた書きます…。

> Hello,Ms.KKT.
Ms.じゃないんですねぇ

> FEL研究室更新まだ?
>(チョットキイテ!)KKTはやく記事書いて
>おもしろスコップを新調しました(まぁオレにはおよばんけど)(・・・
>次はお前や(ポ ン)
>!
なんとかゼミの漫画メーカーの作品でこういうのがあるんですよ。

> オススメのおかずを教えてください
グルメ系ブログにするのはNG

それでは、今日はこの辺で。
http://clap.webclap.com/clap.php?id=fellabo

2017年9月29日金曜日

100均のMDFでスピーカボックス製作

お久しぶりです。KKTと申します。
今の時期が最も過ごしやすいようで、実は朝と昼の差が激しかったりして微妙ですね。

題名の通りダイソーで売っているMDFでスピーカボックスを作ってみました。寝る前にちょっと音楽聞くようなスピーカが欲しいなと思ったのが作ろうと思ったきっかけです。結果だけが知りたい人のために一言言うなら、出来栄えは失敗集にするか迷ったくらいの出来です。

件のMDFはこれです。
100*100と言うキリが良い大きさで、6枚入り100円(108円)は非常にお買い得に見えます。

そしてスピーカはと言うと、東京のラヂオガーデンというお店で買った300円くらいのものです。
8Ω10Wと記載があります。

まずはMDFにスピーカが顔を出す穴を開けましょう。
ステレオですので二個作るということで、二枚重ねて加工しました。ちなみに大穴はホールソーと言う工具で開けました。一番安いのを買ったのですがいまいちでした。

ネジを通してスピーカを留めてみました。今のところ悪くないんじゃないでしょうか。

後ろはターミナルをつけたりしたかったのですがそれに近いものが無かったので線を出すことにしました。穴を小さめに開けてかなりキツく線が通っているので結び目も設けませんでした。

お気づきの方もいらっしゃると思いますが、実は正方形の板6枚だとなんというかうまいこと立方体にならないみたいです(?)。
さらに、家を探したところボンドがありません。エポキシがあったような気もしましたが、案の定B剤だけしかなかったのでこれもダメ。普通なら明日買ってきて作ることになると思うのですが、そもそもボンドや接着剤の待ち時間を待てるか怪しい男が明日に作業を持ち越すなど無理な話ですので両面テープで貼り付けることにしました。

両面テープが思いの外分厚いのでかなりかっこ悪くなりそうで心配になってきました。


うーん…。

だいぶダサくて笑いましたが箱にはなりました。

早速アンプに繋いで視聴してみたのですが、スピーカ裸よりはわずかにマシかと言う程度で残念ながら心地よく眠れそうにないです。両面テープの厚みのせいや、貼り付けが適当なせいで側面の板同士に隙間が結構あるみたいで、これは原因の1つだろうと推測しました。 
隙間があるなら塞ごうということで、両面テープで隙間を埋めました。
音は割りとマシになったように思えるんですが、まだまだ安眠に貢献してくれそうにないのでどうにかしたいところです。あと見た目がアレすぎる。


という事でほぼ失敗しました。せっかちを治すのと、作業を丁寧にするのを心がけでまた製作してみようと思います。
珍しく木工まがいのことをしてみましたがいかがでしたでしょうか。

Web拍手反応
> Hi,Mr.KKT. This is Nakata desu.
なかたくん、ちょっと前に一度もWeb拍手のメッセージ送ったこと無いって言ってましたが嘘みたいですね。

> ボウゲイ^^
捕鯨の間違いかな?

それでは、今日はこの辺で。

http://clap.webclap.com/clap.php?id=fellabo

2017年9月3日日曜日

東京遠征2017

ご無沙汰しております。KKTの方です。
前回記事の通り30000アクセスありがとうございますなどと思っていたらもう35000を超えていてなんというかありがたいことです。

今回は東京遠征ということで、内容は主に前から行きたかったハムフェア2017についてです。私は無線は全くわからないのですがおもしろそうなジャンクがあるとの噂を聞いて行ってみました。

9月2日 夜行バスにて東京到着
 5:30くらいだったので人が激少なかったです。

取り敢えず天丼てんやを下見。在(東)京中は二度か三度入りました。

この後秋葉原で人と合流したり部品を購入したりしました。
↑千石で売られていたArduinoのシールドです。

技適とかよくわかりませんが日本で使って良さそうならなんかしてみるかもしれません。

9月3日 ハムフェア

今回初めて東京ビッグサイトに来ました。あいにくの雨でしたが涼しくてむしろ過ごしやすかった。

なかなか変わったデザインの建物です。

わーい

企業のブースや一般の方が集まっているクラブのような団体が出展されていて、ジャンク部品などは後者の団体さんが出されていました。 

購入した品物
おなじみの大きめ電解コンやチップ部品、スイッチング電源がお買い得でした。
あまり店頭では見られない円盤型のコンデンサや大きめのスイッチングトランスもあってつい買ってしまいました。

溶接機に使われていたんでしょうか。非常に強そうなチョークとトランスです。


余談ですが、宿は毎度おなじみおずやをお借りしました。
某動画に出て来るピングーの真似をしようとしてポップコーンを作りました。
まぁまぁおいしかったです。

あと同席していた海苔の者から大変貴重そうなおみやげも頂きました。

朱肉。

Web拍手反応

> ドンドコ!
> おぱんちゅ
> 背中痒いんやが....
> よすまい
> ちんぽこシコったろか?
うぃ

> なんとお呼びすれば...?
かかとくんって呼ばれる時あるけど推奨はKKTです。

> ジョボ??
> 噂のジョボガハ!
あの…

> 浮遊溶解をぜひしてほしい
浮遊溶解は一度だけ試したのですが適当に円錐な感じに銅管曲げただけじゃやっぱりうまいこと上がりませんでした。銅管がちゃんと曲げられさへすれば回路的に特に難しそうな部分は無さそうなのでまた試してみようと思います。

> こんにちは!記事わくわく!
工作系の記事が無くてすみません。

> 30000PVおめでとうございマズル
> 30000兆円でなにかつくってみるとかどうでしょうか
> いつも楽しみにしてます言語
何するか全然決めてなかった。

> はやくいれて
> 今日も更新お疲れ様でした!
いつもお世話になります。

> チュイッタァーの公式アカゥントができたらしいですね!
よくご存知で!
こちらの方にございます。
なかたくんがBotの投稿を管理しており、今のところランダムでリンクを投稿しているようです。ご質問等は私またはなかたくんが手動でお返事いたします。

> >>回路についてはまた別の記事で動画とともにお送りする予定なのでよろしくお願いします。
> はやくいれて
あの記事のIHの回路は4046とMOSFETのフルブリッジだったと思います。諸事情で装置が現在手元に無いので新調するか戻ってきたら動画にしようと思います。

それでは、今日はこの辺で

http://clap.webclap.com/clap.php?id=fellabo

2017年7月19日水曜日

アクセス3万突破

おかげさまでFEL研究室のアクセス数が3万を突破しました。
ありがとうございます。

記念になんかしたいので今KKTと企画中です。
してほしいことや記事にしてほしいことのリクエストがあればweb拍手やコメント欄にどうぞ

http://clap.webclap.com/clap.php?id=fellabo

2017年5月28日日曜日

中華CNC「CNC2418 ER11」でCADデータを切削してみる~二次元CADの場合~

どうも、KKTです。

今回は前回購入したCNCで加工までの流れをご覧に入れようと思います。
全体の流れとしては、

1.CADソフトで加工したい形状を描く
2.CAMソフトでGコードに変換するとともに切削条件等を決める
3.GRBLControllerでGコード読み込み切削する

という感じです。では早速やってみましょう。

1.CADソフトで加工したい形状を描く
まず対象の材料をどのように加工するのかを考えます。今回は基板のパターンでは無く単なる材料の切削、つまりアクリル等で部品やケースを作る時のことを考えます。
CADソフトはお好みのもので構わないと思いますが、今回は「Jw_cad」を使用しました。ホームページより最新版(Version 8.03a)をダウンロード、インストールして使用しました。
まず起動するとこんなんになると思います。
どうでもいいかもしれませんが、設定→基本設定の「用紙枠を表示する」にチェックを入れておくと見やすいです。

続いて、後のCAMソフトにデータを渡すための設定を行います。画面右のレイヤー一覧から、現在選択されている赤丸のレイヤー番号を1度右クリックします。
するとレイヤ一覧が開きますので以下のように(0)にORIGIN、(1)にCAMと名前を付けて閉じます。私は(3)にもAuxという名前を付けていますが、補助線用のレイヤなので必須ではありません。名前も適当で良いです。名前はレイヤの数字を1度クリックすると変えられます。この設定はCAMソフトで読み込まれるもので、ORIGINレイヤに存在する円の中心が原点に、CAMレイヤが切削データとしてそれぞれ読み込まれます。

さて、まずは作りたい形を②のレイヤに作りたい形状を描いてきます。後からわかりやすいように線の色を変えることをおすすめします。レイヤは数字を右クリックすると選択されます。

僕はこんな感じにしようと思います。
左と下にある直線は基準線なつもりで描いたのですが意味が無かったので無視してください。

さて、次はレイヤを①に切り替え、また違う色で掘るべき線をなぞっていきます。線モードで点の近くで右クリックするとそこから線が始まりますので、次の点近くでまた右クリックすると線をなぞることができます。
大きくなっているのは拡大しているからです。このような図形ではほとんど②レイヤで補助線を描く意味がありませんが、もっと複雑な図形になると大いに役に立つと思います。

最後に、原点を示す円を0番レイヤに描きます。念のため色を変えておきます。
原点を置く位置としては、図形の一番左端がわかりやすいと思います。円のアイコンをクリックして、円の中心を指定すれば描けます。半径はなんでも良いです。線の端や点を原点としたい場合も同様に右クリックすれば一番近い点(ないし線の端)が原点になります。実は上の画像ではTの下端の方がKの下端より下でしたのでこの後修正しています。

これで描画はおしまいです。一応レイヤの様子も載せておきます。
これでjw_cadでの作業は以上ですので、jww形式で保存しておきましょう。

2.CAMソフトでGコードに変換するとともに切削条件等を決める
使用するソフトは、NCVCというソフトです。ド定番のようなソフトらしいのですぐダウンロードはできるかと思います。デフォルトのフォルダにインストールした場合僕の環境では管理者権限の関係で一部の設定ファイルが書き込めなかったりしたので管理者権限で実行する必要があるかと思われます。起動したら、Read_jwから先程保存したファイルを読み込みましょう。

こうなりました。
なんかエラーが出る場合はなんとかしてください。

続いてオプション→切削パラメータの設定 を開き、「Init.nci」を開きます。取り敢えず以下のように設定して、新規保存しておきました。
主軸回転数は(rpm)となっていて、これがそのままS****というGコードとなって送られます。ちゃんとしたCNC加工機であれば主軸の回転速度が調速されるはずですが、購入したマシンでは0~1000の間で単にPWMのデューティ比が0~100%に変化するだけのようです。つまり最大が1000、最小が0なだけで正確な回転数では無いということですね。今回は音がやかましいのと、振動で精度が悪くなるのを考慮して500としました。
続いて送りはF****というGコードになる部分で切削加工の際、何mm/分で動かすかを指定するものです。試験的に60mm/min、1秒に1mmの速さです。
R点は切削時どれくらい刃物を上げるかです。切削する時は当然刃物は材料の表面より下にあるはずですが、切削が終わって刃物を別の場所に移動させる際そのままですと材料を削りながら移動することになったり刃物が折れたりするので一旦上げる必要があります。その高さをここで指定します。今回は5mm戻していますが、ワーク(切削対象)は平板の予定なのでもっと小さくても問題ありません。NCNVの設定では、加工中はすべてR点の高さに、加工終了後は切削原点の高さまで戻ります。
切り込みは刃物を材料の表面をどれくらい深く切削するかです。今回はMDFを切削予定なので結構深くしても問題無いですが、硬い材料を切削する時は深刻を使用して何回かに分けて切削するべきです。マイナスで指定しませんと意味が無いので注意。

カスタムヘッダー・フッターはデフォルトのままですと後の工程でエラーが出ますので以下のように修正しました。デフォルトとは別の名前に新規保存してデフォルトは残しておくことをおすすめします。
ヘッダー
{G90orG91}
{Spindle}M03
 
フッター
M05
{G0XY_Initial}
M30

すべて設定できたらOKで閉じて、ファイル→NCデータの生成→標準生成 でOK押せば指定したフォルダに*.ncdというファイルが出来上がっています。一応中身をメモ帳なりで確認しましょう。

G90
S500M03
G00Z5.
G01Z-0.3F60.
Y17.221
G00Z5.
X9.788
G01Z-0.3
X0Y8.254
X10.156Y0.221
G00Z5.
X15.141Y-0.044
G01Z-0.3
Y17.177
G00Z5.
X24.929
G01Z-0.3
X15.141Y8.21
X25.297Y0.177
G00Z5.
X35.031Y0.448
G01Z-0.3
Y17.074
G00Z5.
X42.17
G01Z-0.3
X27.598
G00Z10.
M05
X0Y0
M30

Gコードはググったら出てきますのでプログラムがどんな流れで動いているのかは把握すべきだと思います。手打ちでプログラム書いた時や修正した時は、Z軸(刃物)が切り込んだままG0等の速送りが行われていると致命的なので確認しましょう。
最後に、出てきた*.ncdファイルの拡張子を.ncに変えておきます。


3.GRBLControllerでGコード読み込み切削する
使用するソフトはCandleというソフトです。以下よりダウンロードできます。
このソフトでシリアル接続されたCNCマシンに移動やGコードを送っての制御ができます。最新版をダウンロードしてみたところうまく動きませんでしたのでversion 0.8.4を使用したところうまく動作しました。ソフトを起動してCNC2418とPCをUSBケーブルで接続します。Service→Settingsを開くと設定画面が現れます。
Portは接続していれば再読込マークで認識されると思います。いくつかシリアルポートが存在するPCならデバイスマネージャなりから調べて設定します。変更したものだけ記載します。
Baudは115200で動きました。9600では動作しなかったような気がします。
Spindle Speed minは最小主軸回転数で0を設定します。
maxは1000にします。
認識されるとこんな感じになると思います。

説明の便宜上右の方の拡大図を用意しました。
右の方のJogという項目で各軸の手動送りができます。ボタン押すと動くと思います。送り量は①で指定します。スピードはSettingsで変えられたはずです。ほんとに操作したように動くので刃物を変なとこに当てて折ったりしないように注意しましょう。ワークやテーブルをいじったりする時は必ずContolのSafe Z(②番)を押すなりして刃物を安全な位置まで移動させましょう。図に書き忘れましたがZ軸はX+の字の上と下にある三角で操作します。

続いて原点の調整を行いましょう。まずワークをテーブルの中心付近にしっかり固定します。
付属していたバイス(?)の使い方がよくわかりませんが取り敢えず固定できているのでよしとします。

次にワークのどの位置を原点とするかを決めます。
今回は鉛筆で描いた四角の位置に文字を掘ることにしました。JogでXY軸を操作してこの四角の大体左下辺りまで持ってきます。

持ってきました。この状態でControlのZeroXY(③番)でここをXY原点とします。

Z軸の原点も当然設定しないといけないので、Zの送り量を0.01または0.1にして細心の注意を払いながら刃物の先端と材料の隙間が0くらいになるまで下げます。硬い材料だと失敗すると刃物が折れるの注意しましょう。なお材料に導電性があるものでしたらZ軸プローブなる機能で自動で設定できたりします。また基板加工の時にお話しようとおもいます。
導電性が無い材料の時、僕は紙を挟んで動かしながら0.1づつ下げていって紙が動かなくなるところで④番のZero Zを押します。
設定できたら②番で一旦上に上げて、紙を除きます。

CNCマシンは今設定した原点を元に加工します。加工する前には必ず設定しましょう。

次にCandleに2.で作成したNCデータを読み込みます。File→Openから開きましょう。
先程作ったデータが読み込まれました。なぜか一番左のKの字の線が見えませんがGコードを見る限り問題無いのでこのままいきます。原点を調整してあればこのままSendを押せば加工が始まります。加工中は今どこにいるのかがウィンドウ内に表示されます。おもしろい機能です。

しばらく待つと完成します。
まさかの失敗してます。

加工中の音でわかったんですけど、Tの直線を加工中にステッピングモータが脱調して縦線が少し短くなってしまいました。今までこんなことなかったのですが、Y軸の送りの抵抗が大きすぎるようです。油を差すなり組み立てをやり直すなりする必要があるようです。


以上が加工までの流れとなります。失敗してしまいましたが普通はうまくいくと思います。次回は本命の基板切削かもうちょっと発展した加工の記事となる予定です。お楽しみに。

Web拍手反応


> 次回はマルクスの記事です。
ちがいます。
 
> 5月中におじき出した経験談など教えてくださいな
あんまり工作してません。と言うかそんな月に何度もおじき出しているイメージなのでしょうか。怖気づく経験はそんな良くするものじゃないような…。
怖気づくとは違うかもしれませんがやらかしたことを貼っておきます。
見事にテーブルに傷を入れてしまいました。一生モンの傷です。


それでは、今日はこの辺で。
http://clap.webclap.com/clap.php?id=fellabo