2010/11/12(金)Sable-2015に非常停止スイッチつけた

2010/11/12 21:44 CNCimportnucho
101106-181325.jpg

PCとSable-2015が結構離れていて、「うお危な!」というときとっさに止めることが出来なかったので非常停止スイッチを取り付けました。

使っているスイッチはベビーブック12月号に付いてきていたつぎ とまりますボタンです。
「とまります」って書いてあるし何となくお洒落だしぴったりかなと思ってボタン目当てで雑誌を買ってきました。

配線と設定をする

配線といっても単純なものです。
101106-165153.jpg

分解して、電池の赤と黒の線が出ているところに線を半田付けし、

101106-213813.jpg

付属のコネクタにつけるだけです。

この方法だとLEDは光りますが、音がならないのがちょっと残念
あとは説明書を見ながらMach3などのCNCソフトに設定を行えば、ボタンを押すことでスピンドルとステッピングモータが止まります。

2010/10/20(水)NokiaLCDライブラリに日本語フォントを組み込んだぞ

2010/10/20 11:53 mbedimportnucho
以前NokiaLCDにNOKIA3300用の設定を追加したものを書きましたが、
今回はさらに美咲フォントを組み込んで日本語表示ができるようにしました。

これにあたって
AD-12864-SPIのコントローラ
mbedからOLEDに日本語表示しましたよ
のお二方のプログラムをパクり…、もとい参考にさせて頂きました。どうもありがとうございます!

ついでに"\n"で改行されるようにもしたので、元からの変更点は
  • NOKIA3300用の設定の追加
  • 日本語フォントの追加
  • "\n"による改行の追加
となります。

動いたところ

101021-130328.jpg

昇圧回路をどこかにやってしまったので、またバックライトが点いてません…。
恰好悪いし見づらいのでそのうち写真差し替えます。
差し替えました。ぴかーん。

プログラム

上の写真はライブラリをインポートしてmain文を以下のようにしたものです。
#include "mbed.h"
#include "NokiaLCD.h"

NokiaLCD lcd(p5, p7, p8,p9,NokiaLCD::LCD3300); // mosi, sclk, cs, rst


int main() {
    lcd.background(0x0000FF);
    lcd.cls();
    lcd.fill(2, 51, 128, 10, 0x00FF00);
    lcd.fill(50, 1, 10, 128, 0xFF0000);
    lcd.locate(0,4);

    lcd.printf("   胎児よ\n\n");
    lcd.printf("   胎児よ\n\n");
    lcd.printf("   何故躍る\n\n");
    lcd.printf("   母親の心がわかって\n\n");
    lcd.printf("   おそろしいのか\n\n");

    for (int i=0; i<130; i++) {
        lcd.pixel(i, 80 + sin((float)i / 5.0)*10, 0x000000);
    }
}

NokiaLCDは元々Streamクラスという抽象クラスを継承しているので、純粋仮想関数となっている_putc()を書き換えるだけで簡単にprintfに対応させることが出来ました。

また、mbed Compilerは日本語の入力に対応していませんが、コピペで貼り付ければ一応表示できます
ただ"Invalid multibyte character sequence"というwarningが出てくるのと、一度閉じると文字化けしてしまうことに注意してください。

余談になりますが、フォントを移植しようとした際にコメント文に文字化けが入っていたのが原因でテーブルデータがずれて読み込まれるということがありました。
コピペで入力できるものの予期しない動作をする可能性があるので、本当はLynx-EyEDさんのようにフラッシュから読み込むという風にした方がいいかと思います。

それでは、作ったライブラリはここに置いておきます。
NokiaLCD_With_JapaneseFont

10/20追記

あら、「表示」と表示させようとしたら化けてしまいました。
液晶の表示向きの関係で90度回転させたやつが使えなかったので、適当に90度元に戻した奴を準備してたんですが、そのせいで一部のフォントが崩れたのかな…。
元気があるときに調べてみます。

2010/10/11(月)cam.pyで基板切削してみる

2010/10/12 01:10 CNCimportnucho
eagleで基板切削をやったという記事は良く見つかるのですが、その他のCADからやったという記事はあんまり見かけないので今回はMBE+cam.py基板切削した記録を残しておきます。
一応うまくはいっているのですが、文字の切削と外形の切りだしはできていません
  • cam.pyの準備
    • pythonの実行環境
    • mm出力に書き換え
  • Gコード作成
    • MBEからガーバーファイルの出力
    • cam.pyでガーバーファイル→Gコードの変換
  • 切削する
    • 面だし
    • パターンを削る
    • 穴あけ
    • 切りだし
    • できた
  • 終わりに

続きを読む

2010/09/29(水)Sable-2015にSSR取り付けた

2010/09/29 05:37 CNCimportnucho
Sable-2015はスピンドルが独立しているため、切削が始まる前に電源を入れて終わったら止めるということをしなくてはなりません。
切削が終わった時にその場にいないということもありますから、できればそこは自動で制御されて欲しいところですよね。

説明書にSSRをとりつけて制御する方法が載っていましたが、具体的な材料などは書いてなかったので製作の例として記事を書いてみました。

作った

材料

100923-174507.jpg

名前買ったところ値段
SSR秋月\250
D-sub15ピン(メス)秋月\50
コンセントダイソー\100
プラグダイソー\100
電気コードダイソー\100
TB-39カホパーツ\200くらい
カホパーツは近所の部品屋さんです。
ケースは適宜適当なものを選ぶということで^^;

配線

ssr_hansen.png

雑ですがこんな感じです。
SSRにはんだ付けするために、電気コードは二つに裂いて一本は二つに切って使いました。
普段意識しませんけど、コンセントに挿すやつはプラグって呼ぶんですね。

できた

100923-215054.jpg

SSRはテイシンのTB-39という箱にギリギリはいるようでしたので、リュータで加工して詰め込みました。
そこそこ綺麗にまとまって満足です。

Mach3を設定する

そのままだと常にスピンドルが回りっぱなしなので設定を行いましょう。
コピペは何となく駄目な気がしたので付属CDの中の説明書を参考にしてください。

これでGコードの主軸回転、主軸停止の信号で制御されるようになります。

現状の問題点

  • スピンドルを回して、一度でも止めるとMach3を再起動するまで二度と回せない
  • PCの電源を落とすとスピンドルが回り始める
    • 使わないときはコントローラ電源を落としておくべき?

2010/09/22(水)G-Simpleを使ってみた

2010/09/22 18:20 CNCimportnucho
G-Simpleというのはフリーで使えるCAD/CAMソフトです。
Free CAMでいこう!というサイトで詳しく説明されています。

以前までは2D CAD+JMM-TOOLという組み合わせで加工を行っていたのですが、
  • 複雑なポケット加工をするためにはGコードを分けなくてはならない
  • たまにMach3で読み込めない?
という欠点がありました。

G-Simpleを使えばこれらの欠点を解決できるかなと思って少し使ってみましたので、メモ書き程度に感想を残しておきます。
全く専門家ではないので、たぶん勘違いがあるということを前置きしておいて(^^;

CAD機能

psd_sekkei.JPG


原点の設定以外は基本的にはマウスをあまり使わず座標を打ちこんで図形を書いていきます。
最初ちょっと使いづらいかなと思ったんですが、慣れるとシンプルで割り合い使いやすく感じました。

2DCADですが、Viewがいくつかあって厚さも見れるので2.5D CADみたいな感じで使えるかもしれません。
DXFファイルのエクスポート、インポートができるので、他のCADとの連携もできます。

CAM機能

設定がやや多いですが、設計データからエンドミルの直径などを考えたツールパスを出力してくれます。
ただ、ホビーCNCというよりマシニングセンタ*1向けのCAMのようで「設計したものを削りだす」というよりはブロックから「ワーク材の上のものを彫る」というイメージのようです。
そのため、中々効率の良いGコードを出力させらなかったり、切り出しのつもりで書いた加工よりも後に穴あけなどを行ってしまったりで、Gコードを編集して加工の順番を変えるなどの工夫が必要になります。
とはいえフリーにもかかわらず複雑な2.5D加工でもきちんと出力してくれるのでそこは大助かりですね。
設定をちゃんとすれば課題と考えている点ももっといい感じになるんじゃないかとは思うんですが…。

gcode_irekae.JPG

ちなみにGコードの編集は上の様な加工するオブジェクトの順番を変えるプログラム*2を作って行いました。
おそらくバグ有りですが、万が一必要な人がいた場合のためにここに置いておきます。
加工の順番を変更するだけなので、順番によってはエンドミルが折れたりして事故の原因になります。
責任はとれませんのでシミュレーションなどして十分注意してください
(9月24日追記)
部分的なGコードが欲しい場合があったので、削除機能を追加しました。


CAMに関しては正直まだよくわかってない部分も多いです。。。
ただ簡単な加工に関してはシェアウェアだけあってJMM-TOOLの方が早くて量産にも向いている気はします。
他に何かわかったら追記します。

*1 : 直に見たことも触ったこともないですが…

*2 : 設定次第では必要ないのかも…(^^;

作ったもの

psd_mounter.jpg

蛇足気味ですがこれが作ったものです。G-Simlpeで設計し、Sable-2015で削りました。
このPSDのマウンタ…のつもりだったんですが、寸法ミスではまらず…orz。
作り直さなきゃ…。

参考

はじめてのG-Simple