ebay で売っていたもの。 J-Link OB と書いてあってかなり怪しい製品。STM32 に J-Link として動くファームが書いてあるっぽいがよくわからない。試した感じは使えることは使えそう。

接続までの基本

ケーブルが色分けされているが赤がGNDで白がVCC(3.3V)だったりするので気をつける。逆挿しされてんのか? と思ったけど、逆挿しできないコネクタだったので、ケーブルの配線が適当なんじゃないか。

試しに BLE Nano と接続してみた。nRF51 なので

openocd -f interface/jlink.cfg -c "transport select swd" -f target/nrf51.cfg

で繋げることができる。

ただし、NRF_POWER->RESET = 1; していると SWD の信号でリセットがかかりまくるっぽいので外しておくこと。

書きこむには

#!/bin/sh

set -x

# SoftDevice を .bin 形式にしておく
arm-none-eabi-objcopy -I ihex -O binary mbed-dev/targets/hal/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s130_nrf51822_1_0_0/s130_nrf51_1.0.0_softdevice.hex .build/softdevice.bin

# Softdevice S130 でのアプリケーションスタート位置 リンカの FLASH ORIGIN
STARTADDRESS=0x0001C000

# write softdevice
openocd -f interface/jlink.cfg -c "transport select swd" -c "set WORKAREASIZE 0" -f target/nrf51.cfg -c "init; reset halt; nrf51 mass_erase; sleep 500; flash write_image .build/softdevice.bin 0x0; verify_image .build/softdevice.bin 0x0; mww 0x4001e504 1 ; mww 0x10001000 $STARTADDRESS; mww 0x4001e504 0; reset run; shutdown"

# write application
openocd -f interface/jlink.cfg -c "transport select swd" -c "set WORKAREASIZE 0" -f target/nrf51.cfg -c "program .build/keyboard.bin $STARTADDRESS verify reset exit"

SoftDevice は一回書きこんだら基本的に変えないのでコメントアウトしても良い。

書きこみに時間がかかる。アプリケーション 45KB で 14秒ぐらいかかった。

gdb 使うのはまた今度 (ほんとは gdb したくて ebay で買ってみたんだけど、届くのに時間がかかってる間に熱がさめてしまった)

ref.

↓ の Makefile 使うと簡単に書けそう。結局ここから最低限抜き出した感じになった。program で .elf 書けば一発だろと思ったけど、そんなことはなくてダメだった (たぶん余計な情報があるから?)。

  1. トップ
  2. tech
  3. 中華製の J-Link OB を使い OpenOCD で nRF51 に書きこむ

これは思いのほか大変だった。。本体部分が途中で微妙に膨らんでいて、なおかつ線が全周に入っているので、それをどうフィーチャにするかで悩んだ。結局側面にスケッチを書いて push/pull したけど、完全に正しいモデルではない感じ。まぁ見た目の問題だけだからいいんだけど……

オフセット平面とか、中立平面とか、3Dでのコンストラクションを使ってフィーチャをミラーするみたいなのに多少は慣れてきた。ヒストリーの編集もだいぶ使っている。ヒストリー編集してるときは後続フィーチャがぶっこわれないかヒヤヒヤする。

図面的に、最初にできるだけ1枚のスケッチに複数平面にわたる全てのジオメトリを書きがち。これだととからオフセットさせてスケッチをコピーみたいなのがやりたくなるけど、スケッチのコピーというのはできないっぽい。コピーではなく、プロジェクト(投影って意味のほう)を使って別のスケッチのジオメトリを新規オフセットスケッチに投影するのが正しいっぽい? やりたいことはこれでできることがわかった。


あと、これとは関係ないけど、コンポーネントのインスタンス化のとき、ユーザパラメータを指定することはできないんだろうか? コンストラクタ引数を渡したいという感じなんだけど…… コンポーネント自体をコピペするしかないんだろうか?

  1. トップ
  2. tech
  3. Fusion 360 - RCサーボモータ S03T 2BBMG

相変らずバカにされているという感じを毎日感じている。何かしら製作しているときはそれを遠ざけることができるが、部品待ちでちょっとやることがないとか、あるいはやる気がちょっとなくなってきたりすると、即座に沸きあがってくる。


主観的には「自分は良くやっている」と思っても、たびたび客観的に自分を見るように強制される (例えば人事評価など) 。「他人の評価を気にするな」というのは無理な話というか、それをすることは社会生活上許されていないように思える。金が無限にあればいいんだろうけど、金がないのでしかたない。「他人の評価を気にするな」とか平気で言ってる人は金持ちなのだろう。

主観的な「自分は良くやっている」は、振り替えったときに「この頃よりもできることが増えたな」というときに感じることができる。


自分はソフトウェアエンジニアというかプログラマである自己認識があるが、それだけやってれば楽しいだろうという気持ちはない。根本的には自分が作りたいものを自分で作りたいのであって、それはソフトウェアに限らない。

しかし社会的には特定分野のスペシャリストが求められており、広く浅いことをしていても無視される。場合によっては遊んでるんじゃねーよみたいに言われる。スペシャリストはもちろん必要。ただ、おおむね絶対数としてはなんでもできるほうが求められているはずだと自分は思ってるけど、社会的にはそうではないらしい。

どんな分野でも「自分でやってみる」ことによって初めて理解できることがとてもたくさんある。もし全ての人が「自分でやってみる」ことを心掛けたら優しい世の中になると思う。でも大抵の人はそんなことをしようと思わないらしい。そもそも想像だけで相互理解なんて無理な話なのだ。想像力は経験からしか生まれない。


価値観に関して。自分の中では「箸の持ちかたを正しくする」とか「モールスを聞けるようになる」とかが特にカッコイイという価値観なのだけど、これは一般的ではないようで、他人からは見向きもされない。これに限らないが、こういう評価のギャップというのはたくさんあって、積もり積もって「一般」を司る社会全体への不信に繋がっている。

標題の通りだけど、洗濯の際、柔軟剤としてミョウバンを使って仕上げると消臭に劇的に効果があった。

【焼ミョウバン】硫酸アルミニウムカリウム(乾燥) 500g - 健栄製薬

健栄製薬

5.0 / 5.0


乾燥まで毎回やっているので、カビはあまりないはずなんだけど、だんだん臭い自体が蓄積するようで、乾燥直後でも微妙な臭いを感じることがあって不満だった。

これまでクエン酸を柔軟剤として使ってアンモニア臭は解消させていたが、それ以外の臭いがすこし残る感じ。

で、ミョウバンを使ってみたらいい感じで、全ての臭いが消滅してくれた。ミョウバンの水溶液は弱酸性なのでアンモニアの中和もでき、消臭に関してはクエン酸の上位互換といえる。デメリットは金属 (硫酸アルミニウムカリウム) を含むことによる毒性のようだけど、皮膚からアルミニウムは吸収されないらしいので洗濯においては気にする必要はなさそう。基本的に食品添加物なので、使いすぎなければ問題になることはないはず。


ミョウバン製品は普段から愛用してて、風呂あがりに↓のやつを塗ってる。別にミョウバンでもいいんだけど、固形のほうが使いやすい。これも劇的に効果があって、ほんと全く臭くならなくなる。まじ便利。人類に義務化してほしい。

【医薬部外品】デオナチュレ クリスタルストーン ワキ用 直ヌリ 制汗剤 - デオナチュレ

デオナチュレ

5.0 / 5.0

【医薬部外品】デオナチュレ ソフトストーンW ワキ用 直ヌリ 制汗剤 スティック ハーブの香り 単品 20グラム (x 1) - デオナチュレ

デオナチュレ

5.0 / 5.0


変な臭い (香り) 付きの柔軟剤が流行っててイライラするが、作ってるメーカー潰れてほしい。

だいぶ前 (数年前) からからモヤモヤしてて何度も似たようなことがある度に↓みたいなツイートとかはしていたんですが、ちゃんと日記に書いてなかったので書いておく。


サービスプロバイダが、ユーザーから提供されたコンテンツを一方的に審査し、内容のあるなしを判断して削除するというのはおかしいのではないかみたいな話です。

公序良俗に反する場合というのは、だいたい同意がとれた「これはダメでしょ」という範囲があり、明確に社会の害があるので削除されるというのは納得ができます。

しかしそれ以外の「コンテンツの内容のあるなし」というのはあまりにも曖昧な基準です。それがあって社会的にはあまり害にはならない。どこに害があるかといえば、そのサービスのブランドというところでしょう。これはサービスブランド維持のために、ユーザーから提供されたコンテンツすなわちユーザに権利がある財産を、一方的に破棄しているといえるわけです。これはCGM サービス提供者がやっていいことの範囲を超えているのではないかと思います。言うまでもなく、CGM サービスはユーザ提供のコンテンツあってのサービスであって、それなしではやっていけない性質のものです。提供されたコンテンツを選んで、都合のよいものだけ残して削除するというのはあまりに虫がよすぎる。コンテンツを利用するなら、それ相応にコンテンツを守る責務があると考えます。

サービスプロバイダがやることは必要ないコンテンツを削除することではなくて、有益なコンテンツの露出をあげることだけのはずです。たったそれだけの話なのに、わざわざ筋の悪いコンテンツ削除にコストをかけてユーザの権利を侵害している、というように見えるわけです。


利用規約に書いてあるからやってもいい、おかしいと思うなら利用しなければいいというのはもっともなので、その手の行いをするサービスからは自分のコンテンツを消すようにしていますが、今後もこういったサービスが増え続けると嫌だなあという感じがします。

自分(ユーザー)からしたら、自分の投稿するコンテンツの「内容のあるなし」というのは自分では自信が持てません。つまり投稿した結果、一方的に「お前に書いたものには何も内容がない・価値がない」とか言われて削除されて傷付くという可能性があるわけです。最近流行りの言葉でいうとある種の「心理的安全がない」ということです。一度でもこういうことをやってるサービスは明確な声明がない限り使う気になりません。

具体的なサービスはいちいち書かないことにしますが、目に余るなというのは数年前から感じていて、ウェブがどんどん詰まらなくなる一端だなと思ってます。まぁ結局、ノウハウ蓄積みたいなコンテンツってASP型で預けるのは不安がありすぎるので、自力で配信しようねみたいなウェブ縄文時代みたいな話になるんですが……

第一電波工業 ダイヤモンド 同軸切り換え機 CX210A - Diamond

Diamond

5.0 / 5.0

これもめんどうだと思ったけど意外と基本図形の組合せでできていた。ただ、曲線部分はいまいちよくわかなかった。円弧の一部とみなして作図した。結構慣れてきて、これも1時間ぐらいでできた。

立体をコピペしたいな… と思ったときは大抵コンポーネント化するのが正しいっぽい? とりあえずそうしてみた (コネクタ部分)。


そのうち(いつ?)、3D CAD 上でサーボモータでスイッチを回すようなものを設計して、信頼性の高いリモート同軸スイッチを作ってみたい。VHF 以上の周波数で汎用パワーリレーを使うのは無理があるので。

  1. トップ
  2. tech
  3. Fusion 360 同軸切換器 CX210A

読みたいものはやる気になれるようなコンテンツなのに、そういうのは流れてきにくい。意識高い系クズがどうたらこうたらみたいな話ばかり。そういうエントリをブクマすればブクマするほど、そういうエントリを書いてるクズが増えて、どうでもいいクソエントリが増えるのに、ブクマ数は増える。

と思ったけど、ブックマーカーからしたら筋が通ってるのかもしれない。クズエントリがいっぱい増えたら、クズエントリを叩くブクマコメをつけれる。ブクマ数が増えると似たようなクズエントリが増える。ブックマーカーはまた叩き先ができる。クズエントリを書いてるやつとクズエントリをブクマするやつは共生関係にある。何もしてないやつが何もしてないやつに何か意味のないことを言う。

これは(自分からすると)悪循環にしか見えず、ただただサービスの価値は下落していくだけに見える。要するに、ここには求めるものがない。

ミツトヨ 500シリーズ ABSデジマチックキャリパ CD-S15CT 500-454 - ミツトヨ(Mitutoyo)

ミツトヨ(Mitutoyo)

5.0 / 5.0

結局ミツトヨのデジタルノギスを買ってしまった。ノギスは測定道具の中でも使用頻度が高くて便利な道具なので、まぁいいか…という気持ちになった。

500 Can't connect to lowreal.net:443 (certificate verify failed) というエントリを書いたけど、やはりデジタルは便利なので、3Dモデリングするときにかなり使っていた。しかしどうしても滑りが悪く、ガリガリひっかかってイライラしてしまっていた。同価格帯の別のデジタルノギスも検討してみたが、それで失敗しても嫌だし、さっさと評価が安定したものを買うという手になった。

以前のものと比べ

  • 絶対値センサーである
  • 圧倒的に動きが滑らか
  • 器差が 0.02mm
  • サムローラー付き
  • 太陽電池

という点で異る。ケース付きで、中に品質チェックのシートも入っていた。

サムローラーが付いているノギスは初めてで、使ってみてわかったけど、これはとても便利。

太陽電池式なので「電源をオンにする」という操作がない。たケースから明るいところに出して数字がでるまで数秒待たされる。ホールド機能もないので普段の使用で使うボタンはない。原点初期化用のボタンが1つある。

計測だけなら結構暗い環境でもできる。が、原点初期化(相対距離測定)のために計測時より明るい場所が必要になる。蛍光灯の近くとかなら問題ない。

↓ のアナログのポケットノギスと比べると価格が10倍ぐらいになってウケるけど、国産 (Made in Japan って書いてある) のデジタルノギスが1万円ちょいと考えると安い気もする。

シンワ測定(Shinwa Sokutei) ポケットノギス 100mm 19518 - シンワ測定(Shinwa Sokutei)

シンワ測定(Shinwa Sokutei)

5.0 / 5.0

シンワ測定(Shinwa Sokutei) デジタルノギス 大文字 ホールド機能付き 15cm 19975 - シンワ測定(Shinwa Sokutei)

シンワ測定(Shinwa Sokutei)

3.0 / 5.0

  1. トップ
  2. tech
  3. デジタルノギスは良いものを買うべきと学んだ

東急ハンズで真鍮の円柱を買ってきてそなりに磨いて、表面にM3で穴をあけてタップを切ってネジをさしこんだ。ネジ部分を Probe のワニグチクリップでつかんで使う。

ノギス(マイクロメーターを持ってないので)で計測すると約10.13mm なので、Probe したあとの Touch Off で 10.13 と入力すれば原点が正しく設定される。真鍮製で重いので簡単には動かず便利。

実際は非導体系用だけではなく、PCB のときもクリップでつかめないときが多いので使いそう。

  1. トップ
  2. tech
  3. 非導体系材料用に Touch Probe を作った

Fusion 360 で SVG をインポートしてスケッチに利用する | tech - 氾濫原 でモデリングしたものを削り出した。

ちょうどいい色の材料がなくて、ちょっと微妙だけど、削り出すのはうまくいった。

CAM

Vカッターは「面取りミル」。「ポケット加工」で条件をうまいこと設定すると綺麗に削れる設定ができる。切削深さが適当になってないとちゃんと削れない。

削ったあと

プラモデル用の塗料を適当に塗った状態

耐水サンドペーパー #1500 で軽く磨いておわり

  1. トップ
  2. tech
  3. モデリングしたものを削り出す

ストレートでいけるかな? と思ったらダメでした。

なの L型も作った。

なにがダメでしたなのか

なんでコネクタ類を執拗に作ってるかというと、ケースを作る際に干渉しないかとかを事前に知りたいため。主要なものは全てモデリングしないとダメなので地道。

ストレートのDCプラグだとケース内に入れたいものが納まらないことがわかったという意味。

  1. トップ
  2. tech
  3. Fusion 360 の練習 DC プラグ2連発

受動喫煙と肺がんに関するJTコメントへの見解 << 国立がん研究センターについて

(国立がん研究センターの見解)
⇒ 受動喫煙は「迷惑」や「気配り、思いやり」の問題ではなく、「健康被害」「他者危害」の問題である。健康被害・他者危害があるという科学的事実に基づいて、公共の場および職場での喫煙を法律で規制するなど、たばこ規制枠組み条約で推奨されている受動喫煙防止策を実施することが必要である。

この調子でちゃんと規制されてほしい。

  • 駅前でタバコ吸ってるやつってなんなの?
  • 公園でタバコ吸ってるやつってなんなの?
  • 保育園の前でタバコ吸いながら歩いてるやつってなんなの?
  • マンションの廊下でタバコ吸ってるやつってなんなの? 家から追い出されてるの? 自分の家族の健康被害は考慮するけど他人は殺してもいいっていう思想なの?

広く薄く人に危害を与えてるやつは罪に問われないってのはおかしい。そして、加害者と被害者という関係なのに「どっちもどっち」みたいなこと言ってくる思考停止自称中立人間も消滅してほしい。


そこらじゅうに「路上喫煙やめよう」みたいなノボリが立ってるし、駅前には「禁煙」の張り紙が多数ある。「喫煙者のマナー」とかいうけど、言葉が通じない相手に「マナー」とか言っても全く意味がない。早急に実効性のある対策を国がやってほしい。言葉が通じない相手に個人が対抗する手段はないので、警察がなんとかすべきことだと思う。

Machinekit (LinuxCNC) では G64 P0 (Blend Without Tolerance Mode) がデフォルトになっており、これは「送り速度優先」「公差無視」のモード。なのでフィードレートを早くしていると細かい動作のとき大きな公差が発生する可能性がある。(まんまとハマってしまった)

G64 P0.002 のように明示的に公差を指定するか G61 で常にパスに従うように指定する。普通に考えると公差指定のほうが良さそう。機械的要素から限界の精度は求められるので、すくなくともそれ以上の公差は指定したほうが良い。

パスの差

白い線が通るべき線、ピンクの線が実際に通った線

デフォルトだとこんなにカクつく…… (各種条件によります)

適切に公差指定すると以下のように

Fusion 360 では

ポスト処理には「tolerance」パラメータがあるのだけど、吐き出される GCode には G64 が含まれない。なんでやねんという感じだけど、どうやら linuxcnc.cps が対応してないっぽい。

しかたないので自分で .cps を書いた。machinekit.cps。自分のものは以下に置けばいいらしい。

~/Autodesk/Fusion 360 CAM/Posts

備考:.cps ファイルの差分

ちなみに、デフォルトの .cps は以下にある

~/Library/Application Support/Autodesk/webdeploy/production/{versionid}/Libraries/Applications/CAM360/Data/Posts

.cps ファイルはぱっと見 JavaScript ファイルっぽい。謎文法のクソファイルとかじゃなくていいですね。

試した感じ linuxcnc.cps に追加して、onOpen 関数の最後で以下のようなのを書いておけばよさそう。これでポスト処理ダイアログで指定できるパラメータが出力される。

  if (tolerance) {
    writeBlock('G64 P' + tolerance);
  }
  1. トップ
  2. tech
  3. Fusion 360 + Machinekit (LinuxCNC) でちゃんとパスがトレースされない


Fusion 360 の練習 非常停止ボタン | tech - 氾濫原 に加え、つばをつけたもの。本来このボタンにはついてないものなので、別のデザインとして作って、元のスイッチはリンクで参照している。

SVG を挿入

Fusion 360 には「パスにそって文字を配置」という機能はないので、これを実現したい場合は外部からインポートするしかない。今回は「EMERGENCY STOP」を円状に配置したかったので、ここはインポートするしかなかった。

「挿入」 → 「SVG を挿入」で挿入するとパスを元にスケッチが描ける、のはいいんだけど、かなり制約が多いと感じる。

Photoshop の画像アセットで生成されるパスでは読めないことがある

テキストレイヤをパスに変換して生成すると、ブラウザではちゃんと表示できても、読みこめないパスになることがある。Inkscape でも途中までしか読めないので Fusion 360 が悪いのは限らないが、ブラウザだと表示できるので、誰が悪いのかよくわからない。

Fusion 360 は SVG の単位 (ビューボックス) を認識しない

生で書いてある値をそのまま 1mm として扱うらしく、縮尺があわない。これはどうしよもなくてなんとかしてほしいが、エクスポート元で 1mm のパスを一緒に入れて、計測した逆数を尺度に入れて再インポートするしかない。

ベストプラクティスは……

Inkscape でパスを描く。テキストの場合、配置したあと Object to Path をすること。

しかし Inkscape は使い勝手が良いとはいえないので、結構悩ましい。なので Fusion 360 といったりきたりするような試行錯誤はかなり面倒。

一番個人的に良いのは Photoshop の書きだす SVG を修正して普通のSVGにすることなんだけど、適当なツールだとうまくいかなかった。というか何が問題なのかわからない。

  1. トップ
  2. tech
  3. Fusion 360 で SVG をインポートしてスケッチに利用する

デフォルトでよく使うような外観設定が多数登録されていて、非常に簡単に綺麗なレンダリングまでできるところ。外観設定も簡単なところ。そしてデフォルトのレンダリング環境が非常に良いところ (詳細なモデリングとともに調整すると実写かと思うぐらいのときがある)。

それと外観設定が通常モデリング環境でも多少影響してわかりやすいところ。なので、適切に外観を設定することはレンダリングだけではなくモデリングでも意味がある。

モデリングのしやすさはもちろんあるけど、どちらかといえばある程度綺麗なレンダリングができる状態というのが大事で、やる気が沸きやすい。

リッチェル ベビーガード はがせる多目的ストッパー - リッチェル

リッチェル

4.0 / 5.0

チャイルドロックってのはこういうやつです。メーカー的にはドライヤーで温めて剥すのが正当っぽいですが、プリント合板につけたりしていると、表面のプリントが一緒に剥れてしまう場合もあります。

結局、確実なのは無水エタノール (100% アルコール) を使うことで、これをシール部分に沁みこませて、スクレイパーを使えば綺麗に剥せます。シール剥しよりも無水エタノールのほうが使い道が多いので、こっちのほうがお勧めです。

健栄製薬 無水エタノールP 500ml(掃除) - 健栄製薬

健栄製薬

5.0 / 5.0

オルファ(OLFA) スクレーパーL型 35LB - オルファ(OLFA)

オルファ(OLFA)

5.0 / 5.0

D-Sub 25 の規格とか初めてみたりした。ピンはスケッチの段階で「矩形状パターン」を上と下で2回やっている。

付け根のモデリングのために「ロフト」を使ってみた。このコマンドは難しい。平面を2つ定義してやるとなんとなくできるってことはわかった。

  1. トップ
  2. tech
  3. Fusion 360 の練習 DB25 のプラグ (オス) コネクタ

Machinekit にしたかった主な理由の一つがこれでした。事前に基板表面を一通り Probe し起伏のマトリクスを得て、これをもって補正しながら実際の切削動作を行う方法です。これにより 0.2mm ぐらいまでの細かいパターンを安定して切削できるようにできるというわけです。

# Autoleveling
software=LinuxCNC
al-back=true
al-probefeed=40
al-x=10
al-y=10

をオプションに加えるとオートレベリング用の gcode が同時に吐きだされます。この例だと 10mm ごとに Probe を行う設定です。

実際の動作

実行開始すると「Probe をつけろ」とメッセージが出て一時停止するので、Probe をつけて Resume する。

全部 Probe が終わると Probe を外せとでるので、外して Resume する。すると実際の切削が始まる。

めんどい点

一旦実行終了すると (回路が切られて各領域が絶縁されるので)、二度とオートレベリングできません。切削深さの微調整とかができないので悩ましい。

一回使った Probe データを使いまわせればよさそうですが……

備考: LinuxCNC の PROBEOPEN / PROBECLOSE

コメントのフォーマットで命令が書いてある。

(PROBEOPEN RawProbeLog.txt) と (PROBECLOSE) の間は probe 結果が指定したファイルに書き出される。

#[#101 * 3 + #102 + 500] = #5063 ( Save the probe in the correct parameter )   

が補正パラメータを変数に入れているところ。#5063 は probe の結果。#101 は X iterator / #102 は Y iterator、3 は加工範囲 / al-y - 1っぽい。500 は固定のオフセット。ということで #500 以降に補正データが入る。

なので、冒頭の probe プロセスを RawProbeLog.txt の結果を使って #500 以降への代入に置換すれば Probe データを再利用して再度切削できそう。

  1. トップ
  2. tech
  3. pcb2gcode のオートレベリングを使ってみる

これはかなり簡単な形状だと思うけど、むずかしかった。プラス端子側のモデリングのしかたがわからなくて試行錯誤したけど、あってるかよくわからない。

3D CAD で既存のをトレースするの思ったよりも面白いところがあって、例えば「ああここは面取りされてるな」みたいなのって、普段なに気なさすぎて気付かない。そういうのに気付けるのは面白い。一見しょぼい製品であっても、ちゃんと面取りされていることが多い。


いまいちわからないけど、今のところは「その部品がどういう作りかたで製造されるか」みたいなのをもっと想像したほうが良さそう。最初六角ナットの面とりのやりかたがわからなかった。正解は回転で削る、なのだけど、変なやりかたをしてしまったりした。むずかしい。

ブログに貼れる機能があって今時っぽい…… (スマフォで固まるのではずしました)

  1. トップ
  2. tech
  3. Fusion 360 の練習 RCA ジャック

USB の規格的にはダメな気はするけど ebay でしばしば売っているパネルマウント可能な USB 延長ケーブルのコネクタ部分

結構慣れてきた気がする。ノギス片手に1時間ぐらいでモデリングできた (図面がないので)。

細かい部分、微妙に角度がついて折りまげられている部分を再現してない。どうやってやるのがいいのだろう……

  1. トップ
  2. tech
  3. Fusion 360 練習 パネルマウント USB コネクタ (USB 内部延長)

オートレベリング、つまり加工前に加工対象の表面を一通り Probe して起伏のマトリックスを作る場合、Probe の速度をできるだけあげたくなります。理論的にどれぐらいまであげられるのか計算しました。

前提

  • 1066.667steps/mm
  • 1ms サンプリング (Machinekit)

計算

1066.667steps/mm なので、約937.5nmが最小ステップ(加工精度の限界)。

Probe のサンプリング頻度は 1ms ごと、つまり1kHz。これは servo-thread の実行間隔なので、実際はもう少し膨らむ(周波数は低くなる)。

1msごとに937.5nm進む速度が最も正確にProbeできる限界になるので、937.5nm * 1kHz = 937.5um/sec = 56.25mm/min。

サンプリングスピードを上げるほど速度をあげられ、精度が上がるほど速度が下がります。

  1. トップ
  2. tech
  3. 最適な Probe 速度を計算する

これが Machinekit での初切削。今まで (Grbl) と同じやりかたで gcode を生成し、そのまま実行させたもの (なので特にオートレベリングなどしてない)。

Probe のとき G91 を一緒にいれてあげないと意図しない結果になる気がする。G91 G38.2 F10 Z-1 がよさそう。

Machinekit での全体のワークフロー

  1. 起動
  2. Home All
  3. ファイルを読みこむ
  4. 設定する原点位置までジョギングで移動 (X/Y)
  5. X軸とY軸をTouch Off
  6. Probe できる範囲まで Z 軸をジョギング (1mm以内にする)
  7. Probe 端子を接続
  8. Probe (G91 G38.2 F10 Z-1)
  9. Probe 端子を外す
  10. Z軸を Touch Off
  11. (確認プロセス) Z軸を10mmあげる (G91 G0 Z10)
  12. (確認プロセス) Z軸を Touch Off
  13. (確認プロセス) 実行開始して挙動を確認して適当に停止する
  14. (確認プロセス) 本来の原点に戻す (G90 G0 X0 Y0 Z-10)
  15. (確認プロセス) Z軸を Touch Off (本来の原点設定に)
  16. 実行開始

AXIS GUI の見方

ステータスバーの「Position: Relative Actual」が地味に重要

Relative のときは (マシン座標の代わりに) オフセット座標が使われている。この場合マシン座標原点はシアンで示される。上記スクリーンショットの場合 G54 でオフセットされた座標が X/Y/Z に表示されている。G54 X/G54 Y/G54 Z はオフセットを含んだマシン座標

Actual は機械動いた結果どこにいるかを示していますよってこと。Commanded の場合、どういう指示をしたかを示していますよってこと。

  1. トップ
  2. tech
  3. Beagle Bone Black + Machinekit での PCB Milling