2014-12-11 Thu
旋盤の調整をするのに以前、安物のエアーリューターを買いました。
確か、3千円程度でしたが、使えることは使えるので
すが、付属のコレットしか使えないので、不便に思ってました。
いろいろ検索しましたが、このクラスで、使えそうなのは、
MS3Hのようです。
このリューターには、オプションで、2.34mmのコレットが準備
されてます。このコレットで、2.6千円ぐらいですから、いい値段です。
3mmと2.34mmのコレットがあると、使えると研磨砥石
の幅が広がります。
ドレメルのコレットのセットで、代用しましたが、軸ぶれをして
だめでした。
前回は、安物買いの銭失いでした。
2014-12-09 Tue
昨日もNTTから、ADSLから光に変更をお勧めする電話がありました。工事費無料でできるのが、8日までということ
で、20時過ぎの電話でした。
料金も、プロバイダー込みで、今のADSLより安くなるという
ことで、変更をすることになりました。
それにともなって、電話も光へ。
停電の時に使えなくなったり、する不便さがあるのですが、
まあ、家電の使用頻度はそれほど多くないので、潮時の
ようです。NTTは、アナログ回線は、全部廃止したいんで
しょうね。
ということで、急遽、光ケーブルを引き込むことに。
屋根裏に上がって、電話線、ドアフォンの配線等の確認
をしました。ご丁寧に、全部CD管の中を通っています。
納戸の下の方で、中継をしているようです。
以前から気になってたのですが、
細い電話線の結線に、このコネクターが使われてます。
名前を調べたら、UR(UY)コネクターというようです。Rは赤で、
Yは、黄色だそうです。自分でもできそうですが、電話線をいじる
には、国家資格がいるようです。
また、一つ勉強しました。
2014-12-06 Sat
いつの間にか、Mach4が発売になってました。検索してみると、木製CNC自作の先輩のHPがヒットします。
Mach4は三つのバージョンに分かれたようで、値段も違います。
Mach4 Lite OEM
Mach4 Hobby 200$
Mach4 Industrial 1000$~2000$
それに、下記の注意書きがあります。
IMPORTANT NOTE: The LICENSE will only work for the Computer
for which you supplied the PC ID.
Each PC has a unique ID code and
the license works in coordination
with this code.
一つのライセンスで、一台のPCでしか動かせないようです。
ソフトをインストールすると、ソフトがPCに個別のIDをふって、
そのIDに対してのライセンスを買うという形なんでしょうかね。
ちなみに、Mach3は、一ドル80円の時に買いましたら、値段
比べてみると、
Mach3 175$× 80円=14,000円
Mach4 200$×120円=24,000円
1万円と高くなります。今は、何台かのPCで使ってますが、
そんな便利な使い方もできなくなります。また、基本的に
PCのパラレルポート使わないようです。使う場合は、有料の
プラグインのソフトをさらに購入する必要があるみたいです。
今回は、見送りですね。
2014-12-01 Mon
ヘリカル切削のGコードを自分流に作れるようになったので、旋盤の自動送りの使うステッピングモーターを旋盤に取り付け
るマウントの切削データー(Sabl-2015用)を作りました。
サブルーチンの作り方等が分かったので、繰り返しの部分は、
サブルーチンにしました。
また、NCVCで、読み込んで、その都度、シュミレートしながら
デバッグをしました。
NCVCでは、サブルーチンや変数の処理はそのままではでき
ないので、掲示板で教えてもらったマクロをつかいました。
その成果、NCVCが何度か固まりました。
サブルーチンの威力はすごいもので、コンパクトにまとめるこ
とができます。マクロで展開したものを見ると、コメントを含め
ても約1300行オーバーになります。サブルーチンを使った
ものは、135行程度です。
サブルーチンを使ったプログラム。
展開したプログラム。
非力なSabl-2015用ですので、切り込み量が0.2mmですので、
今回使用予定の10mmのアルミを切削するのに、同じこと
を最低でも50回行うことになります。一筆書きできるのであれ
ば、50回ですすみますが、離れている箇所の切削をする
には、切削箇所×50回同じことをするこになりますので、
プログラムの行数もかなりになります。
本番の前に、MDF等で、試し切削をするようです。
2014-11-30 Sun
NCVCのサポート掲示板で、変数は使えないのか、問い合わせてみました。早速の回答があり、スクリプトを使うと、マクロや
変数を含んだGコードを使えるようになるとのことで、早速ため
してみました。
O2
G00X18.Y5.
G00Z#1F100(#1の深さで切削)
G02X12.I-3.
X20.I4.
X10.I-5.
X22.I6.
X8.I-7.
X24.I8.
X6.I-9.
X24.I9.
#1=[#1-0.2](#1の値を-0.2だけ増やす)
G00Z10.
G00X18.Y5.
M97
「#1」というMACH3でも使える変数を使って過日の
プログラムを書き換えたものですが、私には、わかりや
すくなりました。「G92Z0.」という基準点をその都度変えて
いたのでは、大本の原点が分からなくなるので、
メインテナンスがしづらくなると思います。「IF」文も
使えると、回数を数えなくてもいいのですが、MACH3でも
「IF」文を使うには、マクロ(VBスクリプト等)を使う必要
があるようなので、変数が使えるだけで、デバックが
しやすくなります。
2014-11-30 Sun
MACH3のサポートフォーラムをあれこれ探しました。サブルーチンの呼び出し方と、ループの方法が分かりま
した。サブルーチンの先頭には、「O」(オー)と番号をつけます。
たとえば「O1」のようにします。呼び出すには、「M98」を
使い、「M98 P1」のように記述います。「P1」は、
サブルーチンの「O1」を呼び出すという意味です。
また、呼び出す時に、繰り返しの回数も記述できます。
「L」を使い、繰り返す回数を「L5」のように記述します。
「L5」だと5回サブルーチンを呼び出すということになります。
この繰り返しを使うと、やりたいことに一歩近づきました。
% (プログラムの開始)
(2014/11/29 15:43)・・()はコメント
G90G54G92X0Y0Z10.
M08
S3000
M03
O1・・メインルーチン名
M98 P2 L5 (L ha,kurikaesi,kaisu)・・サブルーチンO2を
5回呼び出す
M98 P3・・サブルーチンO3を呼び出す。
O3は終わりの処理
O2・・サブルーチン「渦巻き処理」
G00X18.Y5.(START-POS)
G00Z-0.2F100.(0.2mm DEPYH)
G02X12.I-3.
X20.I4.
X10.I-5.
X22.I6.
X8.I-7.
X24.I8.
X6.0I-9.
X24.I9.
G92Z0.・・(0.2mm掘り下げた位置を基準点0にする)
G00Z10.
G00X18.Y5.(START-POS)
M99・・(サブルーチンの終わり)
O3
M09
M05
X0Y0
M30・・(プログラム実行の終了)
%(プログラムの終わり)
このような、Gコード(NCコード)で、渦巻き状に1mmほり
下げるプログラムにできました。「IF」と「変数」が使えると
楽なんですが、変数は、MACH3では、使えるようですが、
NCVCでは使えませんでした。後で、サポート掲示板で、
問い合わせしてみようと思います。
ちなみにMACH3で変数は、「#1」のように数字に#を
つけると、変数の扱いにできるようで、この変数の操作は、
#1=[#1-1](変数を1減らす)
#1=15(変数に15を代入)
のようにします。これで「IF」が使えると楽なんですが。
「IF」が使えないので、0.2mm掘り下げて、その位置
をその都度「0」(ゼロ)の基準点に変更することで、
だんだん切削点を下げてます。
NCVCで、上記のプログラムを読み込んでみると、
のようになります。エミュレートしてみても、
いいようです。
2014-11-29 Sat
渦巻き状に切削するNCコードの作成がしたくて、検索しましたが、お手軽にできるものは、見つかりませんでした。
NKさんのHPに「渦巻きソフト」がありましたが、WINDOWS7では、
動きませんでした。
MACH3のプラグインソフトの「Circular Pocket」で渦巻き
のNCコードを作成できるようでしたので、いろいろ作って、
動かしてみました。コードと、逐次変化する画像をみていると、
円を半分にしたものを組み合わせていることに気付きまし
た。もうちょっと難しいことをやってるのかと、思いましたが
円の組み合わせということで、目から鱗でした。
MACH3で作った渦巻きのコードは、NCVCでは、うまく読み
込めないようでしたので、NCコードをいろいろいじって、
渦巻きを作ることができました。
この渦巻きのコードの一部は、
G00X18.Y5.(18.5のXY座標に移動)
G01Z-0.2F100.(-0.2mmまで、垂直に切削)
G02X12.I-3.
(18.5の座標から、半径3mmで、
12のZ座標まで下半分の半円を切削)
X20.I4.
(半径4mmで、X20の座標まで、
上半分の半円を切削)
X10.I-5.
(半径5mmで、X10の座標まで、
下半分の半円を切削)
X22.I6.
(半径6mmで、X22の座標まで、
上半分の半円を切削)
X8.I-7.
(半径7mmで、X8の座標まで、
下半分の半円を切削)
X24.I8.
(半径8mmで、X24の座標まで、
上半分の半円を切削)
X6.0I-9.
(半径9mmで、X6の座標まで、
下半分の半円を切削)
X24.I9.
(半径9mmで、X24の座標まで、
上半分の半円を切削)
の意味のようです。
これをサブルーチンとして活用できれば、楽になります。
NCコードでも、サブルーチンの呼び出しができるようですが、
細かい文法が分かりません。研究課題です。
2014-11-26 Wed
===AD変換後の割り込み===また、また、はまりました。
ステッピングモーターのコントローラーは、一応完成しましたが、
ステッピングモーターの速度の可変がスムーズにいかないの
で、再度、PWMでのパルス発生とAD変換の組み合わせで、
プログラムの変更を試みてます。
諸兄のHPには、AD変換後、割り込みを発生できるとありますが、
ADIF = 0;//AD割り込みフラグクリアー
ADIE = 1;//AD割り込み許可
GIE= 1;//割り込み全体の許可
の記述をしても、AD変換後の割り込みが発生しません。
ヘッダーファイルを眺めたり、ネットで検索しまっくりました。
約一日あれこれやりましたが、やっとヒットしました。
ここに、その記述がありました。
なんと、周辺機器の割り込みの許可もしないと、AD変換後
の割り込みをしないんだそうです。
ADIF = 0;//AD割り込みフラグクリアー
ADIE = 1;//AD割り込み許可
PEIE=1;//周辺機器の割り込み許可
GIE= 1;//割り込み全体の許可
赤の周辺機器の割り込みの許可を記述すると、すんなり、割り込み
発生。
割り込みのロジック図を見るとすぐ分かったんですね。今まで
見方がわかりませんでした。
ロジック図を見ると、AD割り込みは、PEIE割り込みの下部にあり
ますので、PEIEの許可が必要なことがわかります。
2014-11-24 Mon
===「LCD表示ライブラリー」===PICのプログラムを組んで、検証するのに、LCDの表示が便利
です。秋月のSD1602というLCDを使ってますが、これを使うに
あたって、表示のためのライブラリーが必要です。
諸先輩のHPを参考に動かしていましたが、
使用ピンを変更したくて、あれこれやりました。
プログラムを見ると、
#define LCD_DATA PORTB
void lcd_write(unsigned char c){
__delay_us(40);
LCD_DATA = ( ( c >> 4 ) & 0x0F );
//上位4ビットを右に4回シフトしてRB0~RB3に書き込む
LCD_STROBE();
LCD_DATA = ( c & 0x0F );
//下位4ビットをRB0~RB3に書き込む
LCD_STROBE();
}
という項目があり、データをBレジスタで書き込んでいる
ようですので、ここを書き換えるといいはずでした。
プログラムでは、8ビットのデータを2回に分けてRB0~RB3
に書き込んでいるようでしたので、ここを変更すれば、
違う端子から書き込みができるはずでした。
ここを、RB4~RN7に変更すべく、
void lcd_write(unsigned char c){
// 送信データのバイト列上位4ビットを処理
RB4 = ( ( c >> 4 ) & 0x01 ) ;
RB5 = ( ( c >> 5 ) & 0x01 ) ;
RB6 = ( ( c >> 6 ) & 0x01 ) ;
RB7 = ( ( c >> 7 ) & 0x01 ) ;
LCD_STROBE() ;
// 送信データのバイト列下位4ビットを処理
RB4 = ( ( c ) & 0x01 ) ;
RB5 = ( ( c >> 1 ) & 0x01 ) ;
RB6 = ( ( c >> 2 ) & 0x01 ) ;
RB7 = ( ( c >> 3 ) & 0x01 ) ;
LCD_STROBE() ;
}
と変更してみましたが、うまくいきませんでした。考え方は、
これでいいみたいでしたが、ネットでくぐると、
別な方のHPに同じ考えのライブラリーが載ってました。
最初の#defineのところで、使用ポートを記述すればいいので、
便利だと思います。
今日も一つ勉強しました。
ライブラリー用に編集したものをここに掲載します。
ヘッダーファイルは、HITEC-Cのサンプルのを
そのまま使います。
2014-11-17 Mon
ステッピングモーターのコントローラーをケースれるために、パネルの加工をしています。
形状のちょっと複雑な電源の差し込みコネクターの穴を開け
るのにsable2015を使おうと思い、Gコードの作成にかかった。
いつもの通り、「花子→JWCAD→NCVC」とデータを作成した
が、NCVCで「原点レイヤーが読めない。」と怒られてしまう。
あれこれやってネットでも検索して、JWCADのデーターを
そのまま読み込むときちんと原点レイヤーも読み込まれる。
JWCADで、DXFファイルに変更すると原点レイヤーが読み
こまれなくなる。
あれこれさがして、JWCADのレイヤーの書き込みか、と
あたりをつけて、設定のところを見てみると、
ありました。オプションのところに「レイヤーに番号を付加する」
オプションがあり、しっかりチェックが入っていました。
ここを外して、保存して、読み込むと、あっさりよみこめました。
めでたし、めでたし。
ちなみに、新しくNCVCとJWCADをインストールしたばかり
でした。デフォルトでは、だめだったんですね。
TOP PAGE △