RepRap組立て開始

RepRap Prusa Mendel の組立てを開始した。

RepRap組立て1

まだ、これだけ・・・

話は変わるが、昨日も書いた不調のPC、メモリーだけ買ってきて交換してみた。その後、最初は調子良かったが、何度かBIOS設定を変えながらメモリーチェックをやっているとNGが出た。でもその後は出ない。 これはやっぱりマザーか?
CPUはIntel i5-750なのだが、色々調べていると、この頃からメモリーコントローラはCPUに内蔵されたそうな。。。 ってことは、CPUの可能性もあるってこと? とりあえず、また暫く様子を見ながら使ってみることにした。

RepRap キット到着

先日blogで報告したRepRap Prusa Mendelのキットが届いた。
MakerGearで購入。 初の海外からの通販だった。

中身を並べて写真をとってみる・・・

Prusaキット到着

チョコレートが1枚入っていた。サービス?

部品一覧とにらめっこして欠品が無いかチェック。オリジナルのRepRap Prusa MendelMakerGearで改良してあるので部品名と実物との対応がイマイチ判らなかったりするが、多分問題なし。ワッシャとか細かいのは数えてないけど。。

頭はすっかりRepRapモードなのだが、メインで使っているPCの調子が悪くなったので、そっちも何とかせねば。 最近、時々ブルースクリーンが出るのでメモリーチェックをしたらエラーになったのだ。 2枚あるモジュールを片方ずつ試したり、メモリースロットを変えてみたりしたが、どの組み合わせでもエラーがでる。もしかしてマザーに原因があるのかも(だったらヤダな)。  BIOSをいじっていると、(特にどこを変えたわけでもないのに)そのうちエラーが消えるが、暫く使っているとまた調子が悪くなる。

とりあえずメモリーだけ買って交換してみようか。。。

基板切削CNC ステッピングモータの省エネ

CNCで色々やっているとステッピングモーターが結構熱くなる。使用しているモーターは秋月で購入したST-42BYG020-1809で、秋月のページにも20分程度で触れない程熱くなると書いてある。 コイルと直列に12Ωの抵抗(かなりトルクが犠牲になっているのかも)を入れてあるのでマシにはなっていると思うが、電源を入れたまま動作していない時にも熱くなるのが勿体無いというか気に入らないというか・・・
そこで1秒以上停止した場合は省エネモードに入る様にしてみた。ここでいう省エネモードは、PWMのデューティーを制御してコイルの平均電流を約1/4にしている。 PICのタイマーを使って1秒経ったら割り込みが入って省エネモードに入る様にした。 モーターが回転した場合は、その都度タイマーを初期化するので回転を続けている時は従来通りのデューティーで動作する。  また、空きポートから、回転中か省エネモードかをH/Lで表す信号を出したのでLEDで動作を確認できる様になった。

ベンチでモーターを回してみると、回転中およびその後1秒以内は手で無理には回せない程度のトルクがあるが、1秒過ぎると少し力を入れるだけで回る様になる。 CNCで使っている送りねじはピッチが細かい(建築とかで使う「全ネジ」です)ので省エネ状態の時にトルクが負けて回ってしまう事はないと思う。

実際に使ってみると、停止しているときは殆ど熱くならない。動作中も各軸毎には停止している時間が結構あると見えて発熱がかなり抑えられているので、これは正解だったと思う。

# PWMのデューティを調整すれば抵抗は外しても良いかも。 今度試してみよっと。

基板切削CNC マイクロステップ動作の実験 -2-

マイクロステップ仕様のプログラムをCNCに組み込んでみた。
動作は非常にスムーズで音も静かになったが、速度を出すと脱調する。
今まで(ハーフステップ)の85%程度でしか動作しない。また動作中に手で押してみると明らかにトルクが低下している。

そこでPWMのパターンを見直してみた。先日書いた通り電気的な波形はは64ステップで一周するので、0から始まってハーフステップ動作での1ステップ目はマイクロステップでの8ステップ目に相当し、デューティ67%に設定している。 ハーフステップの場合は100%なのでトルクが減っても不思議ではない。
そこで直交するコイル間(X,Yと呼ぶのかな?)の比率はそのまま保ち、常に最大入力になる様に調整してみたのが次のグラフ(黄色)である。

uSpattern2

トルク最大波形(黄色)を追加

64ステップ全体の図は次に様になる。

uSpattern2X

トルク最大全体図

このパターンでプログラムを書き込むとハーフステップの時と同じ速度で動作する様になった。音も静か。でもこれで良いんかな?トルクは脈動してそうな気がするが・・ でもとりあえずスムーズに動いているので暫くはこれで使ってみよう。

基板切削CNC マイクロステップ動作の実験

いままでステッピングモータは1-2相励磁(ハーフステップ動作)で制御していた。
今回、以前から考えていたマイクロステップ動作の実験をしてみる。
CNCを動作させていて曲線を描く場合等、各軸の動きが少ない部分ではコリコリというステップ音がするが、マイクロステップ化によりこのあたりがスムーズになる事を期待している。

ドライバとして使用しているコントローラはマイクロチップのPIC18F1230で、PWM出力端子を6本もっている。現在使用している回路は 元々マイクロステップ化を予定していたので、ドライバ出力端子にはPWM出力と兼用のI/O端子を割り当てている。よってPWMによるデューティの調整のみで実現できればハードウェアの変更は不要のはず。

PWMの周期を256とし、電気信号的には64カウントで一周する様にプログラムしてみた。フルステップ動作だと4カウントで一周なので16分割のマイクロステップとなる。
なおモーターの軸はフルステップの場合200カウントで一周するのでマイクロステップだと3200カウントで一周する計算になる。

で、動作させてみると16分割中動きが多い部分と少ない部分がある。回転速度にムラがある感じ。
下のグラフはドライバ出力の一本の山ひとつ分(0~32カウント)を抜き出し、PWMパルス幅をプロットしたものである。 横軸はカウント値、縦軸はPWMのパルス幅(0が0%、256が100%)を示す。 当初は青色のSINカーブを用いていたが、山の中腹付近(8,24カウント前後)だけ動きが大きかった。そこで試行錯誤の末、赤色のカーブにするとまぁまぁ良い感じになった。

マイクロステップパターン

青がSINカーブ、赤は補正後のカーブ

動画をアップしてみた。

次は実際にCNCの乗せて試してみよう。。。

基板切削CNC 木を削ってみる

CNCを作った動機の一つに木を削るというのがあった。
模型飛行機のリブなど、同じものを手作業で何枚も作るのは面倒なのだ。
材料は薄いバルサやベニヤが削れれば良いで基板が切削できたならこれも可能だろう。

・・・という事で、まずは適当なベニヤを削ってみた。 データは「ほいほい堂本舗」の名前をJw-cadとNCVCをつかってGコード化した。
なお、これまで基板を削る時はORIGINALMIND製美濃昌典という刃物を使ったが、これは結構なお値段がする。そこで近所のホームセンター「ダイヤミーリングドリル」なるもので試してみた。これでも1650円するが美濃昌典さんと比べると安い。

で、切削を始めたのだが・・・早速折ってしまった。

失敗写真1

折ってしまった。1650円が・・・

原因はよくわからないが、途中から急に木が焦げだし、変だなと思った次の瞬間に折れてしまった。

木と刃物

木と刃物

表面をよく眺めると、焦げたあたりは掘り込みが深くなっている。尖ったピンセットを突き刺してみると1mm以上入る。 Z軸が脱調したのか?考えられる原因を並べてみた。

  • Z軸の負荷が重い
    まずこれが頭に浮かぶが、そこでZ軸に重量物を載せて動かしてみたが、1Kg程度を載せても問題なく動作している。スピンドルを上げるだけでそんなに負荷がかかるかなぁ・・?
  • Z軸の油切れ
    そういえば刃が折れるまえ、Z軸が動く時に少しキコキコ音がしていた。これが原因か?
  • Y軸のベアリングアセンブリ固定ネジ脱落
    実は動作途中でベアリングアセンブリ(アルミのLアングルにベアリングをネジ止めしたパーツ)を止めているネジが脱落していた。Y軸自体は何事もなく動作していたが、これでZ軸に影響がでるか???
  • テーブルの水平ずれ
    切削跡の右側が若干深堀りしている。水平を測りなおしたら0.1mm程度右が深くなっていた。でも焦げ跡付近は1mmくらい掘れているしなぁ・・・。
  • 電気回路の誤動作
    これも若干心当たりがある。プログラム的なノイズ対策をする予定だったがデバッグの際に消してそのままになっているのだ。

とりあえず出来る所から対策をして行った。

  • Z軸に注油
    送りねじとナットにCRC-556をシュ。とりあえずキコキコ音は消えた。というか、注油する前から音は消えていた。 想像だが、同じ高さを何度も上下しているとその部分だけ油切れするのではなかろうか? で、一度大きく上下させると、また油が回る・・とか?
  • Y軸のネジ
    外れたネジは当然締めなおした。その他のネジも増し締めし、可能な部分にはネジロック材を垂らした。
  • テーブルの水平
    ダイヤルゲージで再調整実施。水平調整用に6mm厚のMDFボード(ダイソーで購入)をネジ止めしているのだが、これが少し反っていたのでメインテーブルとの隙間に木切れを詰め込んで調整した。
  • 電気回路
    ソフトウェア的にノイズ対策をした。具体的にはカウントパルスを割込みとして受けた後、信号をもう確認して同じでなければノイズと判断し、無視する様にした。

これらの対策で効果があるのかどうか不明であるが、ダイヤルゲージのみ取付けて動作させた限りではZ軸のずれは起らなかった。

そこで再トライしたいのだが、もう少し安い刃物を探したところ「精密ミニヤスリ」というのがあったので購入。ドリルの様なZ軸方向に掘り進むのはヤバそうだが、横に進むならいけるのではないだろうか?値段は448円で、先のものよりはお手頃である。

今回使用した刃物

左が「ダイヤミーリングドリル」、右が「精密ミニヤスリ」左は折ってしまったので中身は空です。

そして削った結果がこれ。Z軸の異常は発生せず最後まで削り終えた。ベニヤの片面が黒に塗装してある(廃材コーナーで5円で購入)ので見やすい。刃物が少し太すぎるかも。切り口がガタついているのは回転数不足?

ベニヤの切削再トライ

いろいろあったが、木が削れたので一歩前進したとしよう。

基板切削CNC EMC2のジョグ -2-

EMC2でジョギングが止まってしまう問題、色々と試して暫定策が見つかった。

まず、「止まってしまう」症状は、矢印キーを押し続けた時に発生する。
キーをチョイ押しして少しずつ動かした場合は問題ない様だ。

次にGUI上の+やーボタンでジョグ動作させてみたところ、こちらは問題なし。

なんとなく気になっていたのがキーボードリピート。これを止めて試したら、矢印キーを押し続けても問題なく動作している。 キーボードリピートが入り続けると内部の動作が追いつかなくなるのか?

そこでキーボードリピートを最も遅い設定にしてみたが、これでも停止してしまった。

とりあえずはキーボードリピートを無しの設定にして使う事にした。

# もしかするとキーボードをPS/2接続している事が関係するかも?
# 関係ない気はするがUSBキーボードで試してみよう。

基板切削CNC EMC2のジョグ

EMC2でジョギングをすると、なぜか途中で止まってしまう。
その後、コードの実行はできるがジョグ動作は全く出来なくなる。
こうなるとEMC2を一旦終了して再スタートするしか無い様だ。
なぜだろう? 英語のマニュアルを苦労して読んでいるが良く分からない。

基板切削CNC 切削手順覚え書き

(自己流)基板切削手順、忘れぬ内に覚え書き。

1.回路図作成
KI-cadを使用。これで回路図を描いて次の3点を出力する。

  • ガーバーファイル(裏面)
  • ドリルファイル
  • 外形ファイル

2.NCコードへの変換
切削は裏面(半田面)から行なうのでガーバーも反転データにする必要がある。 しかしKIcadのガーバー出力は裏表反転メニューを選べない様だ。そこでPerlスクリプトgvmod.plを通す事でY軸の極性を反転したデータに変換する。外形ファイルも同様に処理する。 なおドリルファイルは「y軸でミ ラー」にチェックを入れる事で直接KI-cadから反転出力可能。
その後NCコードに変換する。これにはreofumi氏が公開されているGynostemmaを使わせていただく。
なお出力されるNCコード先頭の「O1234」行はなぜかEMC2でエラーが出るので削除する。この行はプログラム番号が1234である事を示すそうだが、無くても良いのでとりあえず消す。

3.NCコードをUbuntuに転送する。
これはネットワーク経由で転送する。

4.EMC2での切削準備
ウチのCNCにはhomeスイッチを付けておらず、原点は手動で合わせる。実際にはまず基板を両面テープでテーブルに貼り付けておき、その上までスピンドルを移動させる。そしてZ軸を適当なところまで下げ、チャックを一旦緩めて刃先が銅箔表面に当たる所でチャックを閉め直す。  その後X,Y,Zそれぞれに対し「Touch Off」ボタンを押して0位置に設定する。
スピンドル制御基板のタクトスイッチを押して回転を確かめる。

5.パターンを切削
パターン用NCファイルを読み込みスタートする。
6.穴あけ
穴あけ用NCファイルを読み込にスタートする。
ドリル径毎に複数のファイルがある場合は、それぞれ繰り返す。
7.外形
外形用NCファイルを読込む。今のスピンドルで基板を最後まで切断する自信がないので線を引く程度にする。(Gynostemmaは複数回に分けて削っていく様にコードを出すが、一周目より後はエディタで削除する)

8.削った後の作業

  • 切削粉を掃除する。
  • 基板を貼り付けている両面テープをはがす。
  • クレンザーで銅箔を磨く。
  • 銅箔面にフラックスを塗る。

・・・完成ヽ(*´v`*)ノ

基板切削CNC スピンドル制御 -2-

スピンドル制御基板に部品を載せて配線した。

EMC2の設定ではパラレルポートの14番ピンを「Spindle ON」に割り当てた。

これでNCコードのG03(G04も可)で回転を開始し、G05で停止する。

SpindleCTL

真ん中のオレンジ色のリレーが載っているいるのがスピンドル制御基板。

ついでに配線をまとめたのだが・・・まとまった様にみえないな。

回路は次の様な簡単なもの。パラレルポートからの信号がHになるとリレーがONになる。KI-CADで書いてみた。

SpindleCTL_sch

スピンドル制御回路


あ、リレーコイルの逆起電力吸収用ダイオードを忘れてた!基板の裏から付けよう。