PC不調

最近メインで使っているPCの調子が悪く、電源投入後一発で立ち上がらない。
正常時は電源投入の数秒後にピッという音が鳴ってOSを読み始めるのだが、このところはピッの段階になる前に電源が落ち、その後10秒くらい経ってから勝手に電源が入る動作を数回繰り返した後にやっと立ち上がる。
最終的には立ち上がるのだが、何度も電源がON/OFFするとマトモなところまで(HDDとか)壊れそうな気がして精神衛生上よろしくない。
どうも寒くなってからこの現象が起きている気がする。

寒い時に立ち上がらないというと電源が怪しい気がする。そこで電源の蓋を開けてみたが、明らかにコンデンサがイカれている様子などは見当たらない。またヒートガンで電源を温めても立ち上がりやすくなる様子はない。

他のあちこちを順番に温めてみたところ、どうもマザーを温めると立ち上がる模様。マザーも目視する限りはコンデンサのパンク等は見えないが、どこか見えないところがイカれているのだろう。

ウチのPCはGIGABYTEのGA-P55-USB3というマザーにインテルi5を載せている(だいぶ前にメモリーチェックを繰り返すとエラーがでる件を書いたけど、結局は未だに使っているのだ)。

いっそマザー+CPUを新しくしようと考えたが結構高い上に、新品で手に入るマザーだとメモリーがほとんどDDR4になっちゃってて、そうするとメモリーも変えないといけない(今使ってるのはDDR3)。
今の構成で特に速度的な不満はないので中古マザーをネットで買おうかとも考えたが、それも何だかねえ。

という事で毎回ヒートガンで温めながら立ち上げてます。春まで耐えれば喉元過ぎて、また数カ月はそのまま使うのかも。

レーザー加工機 排気 ~2~

先日失敗した換気扇取り付け穴はビニールを張ったままです。

その後考えたのですが、筋交いの角度を延長していくと、ほぼ部屋の端で一番下に着きます。
そこから考えると、壁の内側は下図の様になっていると想像しています。
ならば少し右に開けなおせばいいんではないかと。
筋交いはもしかすると一本ではなく、X状になっているかもしれませんが、そうだとしても この位置なら影響はない筈です。また間柱もあと何本かあるでしょうが、それも影響ないと思われます。

壁裏想像図

たぶん、壁の裏はこうなっていると思う。

今度、この位置に開けてみようと思います。勇気が必要ですが。

Grbl × NCVC

レーザー加工機Grbl化で、NCVCで生成したGコードだと上手くいかずくハマっていましたが、なんか見えてきました。

何をやっていたかというと、まず実機に乗せる前に以下を試しました。

  • ArduinoUNOに現在最新と思われるGrbl1.1eを書き込む。
  • PC(Windows10)にはbCNCをインストールする。
  • とりあえずCNCシールドは載せずに今までのGコードを走らせてみる。

・・・なのですが、Gコードを実行すると途中で停止してIdle状態になってしまいます。
あちこちググッて以下の内容を試しましたがこれらは全て効果ありませんでした。

  • リミットスイッチや非常停止に変な信号が入らない様、プルアップを外部に追加、およびコンデンサ取り付け。
  • ArduinoUNOをバッタ物から純正品に交換。
  • PC側をGrblControllerに変更。
  • Grblのバージョンを0.9にダウングレード。

レーザー加工用データは全てNCVCで生成しています。そこで試しに基板加工用データを実行したところ、これだと最後まで実行できました。基板加工データはGynostemmaで生成しています。
Gコードを比べると、Gynostemmaが生成したコードは全て(曲線も含め)G01の直線を組み合わせて描かれいるのに対しNCVCで生成したコードは円や円弧(G02,G03)を使用しています。途中で停止する箇所は色々変わるのですが大抵は円を描くあたりで止まっている様です。

最終的に変更したのはNCVCの設定4点です。

  1. 「オプション」→「 切削パラメータの設定」から設定ファイル(ウチではLaser.nci)を選び、「表記」タブ内の「ゼロは省略」のチックを外す。
  2. 同じ「表記」タブ内の「全円は2分割」にチェックを入れる。
  3. 同じ設定ファイルの「生成」タブ内の省略指定の「Gコードモーダル指定」にチェックを入れる。
  4. LinuxCNC用にヘッダにG64を追加していたのを廃止。

これで最後まで進むようになりました。

1.はNCVCのサポート掲示板に記載がありました。
2.についてですが、円を描くとき、今までNCVCが次の様なコードを出していました。「G03J1.5F500.」
円なので始点と終点は同じにつきXやYの位置は省略していますが、これでLinuxCNCでは問題なく 動作していました。しかしGrblはダメな様です。
Grblでは「G03Y8.5J1.5F500.」の様に指定してやる事で正常動作しました。しかしNCVCにこの為の設定が見当たらなかったので「全円は2分割」設定にしました。これにより円弧を2回描く事になり、円弧であれば終点の指定が入るので正常動作します。
3.はコードの一番最後に原点に戻す「X0Y0」がなぜか実行されず、「G0X0Y0」だと実行できたのでG0が連続してモードが変わらない場合でもG0を明記する様に設定にしました。
4.のG64はLinuxCNCの時、これがないと直角に折れ曲がる筈なのに角が曲線になってしまった対策で入れていました。GrblではG64はサポートされていない様です(何故なくてよいのかは調べていません)。

以上により、何とかArduino単体では動作する様になったので先に進めます。

変更箇所(備忘録)

 

レーザー加工機 排気

現在いろんな事がやりかけのままですが、ここでレーザー加工機の排気用に換気扇を付けようと思いたちました。  が、やらかしてしまいました。 素人がいい加減な事をするとこうなるという見本です。

まず我が家は2年程前に中古で購入したのですが、その時点でトイレにはかなり強力な換気扇が付いていました。扉を閉めて換気扇を回すと空気が薄くなりそうな気がします。そこでまずこの換気扇をそれなりのサイズのものに交換します。

換気扇交換後1

換気扇の交換後です。
まだスイッチに課題アリです。

トイレ換気扇2

外側にはガラリを取り付け。

で、取り外したのがこれ。
これを工作室の壁にとりつけ、前を箱で囲ってそこにレーザーの排気ダクトを接続しつつ、普段は箱の蓋を開ければ部屋の換気にも使えるという計画です。

換気扇1

木枠は新たに作りました。
外壁につけるフードは先日も書いたハンズマンのガラクタ市購入品です。

取り付け先である我が家の工作室は、前の持ち主がオーディオルームとして使われており、音楽室みたいな有孔ボードが貼ってあります(きっとオーディオ好きの方にはいい環境なのかもしれませんが、私には猫に小判です)。
まずは壁の中を調べる為、ホールソーで直径10cmぐらいの穴をあけてみました。

壁穴1

石膏ボードが見えてきました。

石膏ボードの向こうがどうなっているか分かりません。そこで100均のコンクリートドリルビットで中心に穴をあけてみます。

壁穴2

ドリルで石膏ボードに穴。

穴をのぞくと断熱材が見えます。グラスウールみたいなやつです。穴から針金を突っ込んでみましたが、それ以上の情報は得られません。そこで更にホールソーで石膏ボードに大き目の穴をあけてみました(木工用ホールソーなので手動でゆっくりと切ってみました)。
ここでまた針金で上下左右を探ったところ、換気扇取り付け予定範囲に柱はなさそうです。なお有孔ボードのつなぎ目には柱らしきものが見えているのですが、これは石膏ボードの手前だけで、石膏ボード裏側の柱は別の位置にある事が分かりました。一瞬戸惑いましたが有効ボード用の柱っぽい木材も結構がっちりしているのでこのままここに取付けようと思います。

後で考えると、ここでの確認が不足していたのですが・・・ノコギリで有孔ボードを切ってしまいました・・・

壁穴3

有効ボードをカット

そして石膏ボードもカッターで切って・・・・

壁穴4

石膏ボードも切ってしまった。

四角い穴をあけました。しか~し、
ここで断熱材よりも奥に筋交いがある事を発見!まずいです。
柱と筋交いの場所に斜線を描いてみました。
筋交いって断熱材よりも外側にあるのね・・・。(T_T)

壁穴と筋交い

筋交いと左右の柱の場所

また地震が来るかもしれませんし筋交いを切るのはマズイと思われ、とにかくこの位置には設置できません。
柱と筋交いを避けて上にずらすと天井ギリギリになってしまいます。かといって下げるとかなり低い位置になってしまいます。また全く違う場所にすると中がどうなっているか分からず、再び同じ失敗を繰り返すかもしれません。

素人が無茶するとこういう事になります。
対策を考える間、とりあえずビニールで塞いでいます。

壁穴5

取りあえず塞いで考え中。

対策ですが、今のところダクトでの排気に変更しようかと考えています。Φ100程度の丸穴なら筋交いを避けて出せそうなので、ここに加工機のトイレファンを接続しようかと。
よく考えてから再開します。

 

OpenStick無線化実験~その2~

前回の実験ではTWE-Liteの標準アプリを用い、それなりに動作はしましたが微妙な遅延が気になりました。 そこで今回は最低限の遅延で動作する様、新たにTWE-Liteのアプリを作成してみました。

構想

TWE-Liteにアナログジョイスティックやボタンを接続し、その値を電波で飛ばします。それを受信側のTWE-LiteでUARTの信号に変換してPIC18F14K50に渡します。前回と違うのは受信側のTWE-LiteとPIC18F14K50の間をPWM→AD変換ではなくシリアルで直接伝える点で、無駄をなくした分反応が早くなる事を期待しています。

OpenStickAir-2-

無線には下のデータが流れます。またTWE-LiteとPICマイコン間の通信も全く同じフォーマットが流れます。先頭のR::に続く2桁の16進数はボタンの状態、続く3桁の16進数×4はアナログ軸の状態です。

R:01:3ff:3ff:3ff:3ff
R:00:3ff:3ff:3ff:3ff
R:01:040:0C0:3ff:3ff
R:01:040:0c0:3ff:3ff

 

TWE-Liteのプログラム

TWE-Liteは搭載されたマイコンのプログラムを書き換える事が出来るという特徴がありますが、このプログラムの作り方が結構分かりづらく、一度挫折した事があります。今回はDSAS開発室の部屋の記事を参考にさせて頂きました。このサイトはLチカから始まって基本的なところを説明してあり私でも理解できました。 但し今回の実験ではペアリングの設定処理は省略しており、チャンネルやアプリケーションIDはハードコーディングしています。

PIC18F14K50のプログラム

OensStickLiteのファームを改造しています。OpenStickLiteではマイコン内蔵のADCやGPIOの状態を取り込んでいましたが、これらをUART入力に変更します。
UARTからは上に記したフォーマットでデータを受け取り、これをジョイスティックの状態としてUSBに流します。

実行結果

前回の標準ファーム使用時よりだいぶ早くなっています。無線を使わないときと比べると微妙な遅延はありますが、まあこんなもんではないでしょうか。
今回は遅延確認だけを目的としているので公開するにはまだ色々と変更が必要です(ペアリングのあたりとか、コンフィグツールとか・・)。

BTLE化

並行してBluetooth化も検討していますが・・・なんか難しいです。先日から写真の本を読んでいますが、これでで基本的な知識を付けた上で公式サイトの資料を読む必要があり、ここでまた英語を頑張る必要があります。いつ完成するかわかりません。

BTLE本

BTLE本

これまたぼちぼちやっていこうと思います。
最近は「ぼちぼち」ばっかりです。「ほいほい堂本舗」ではなく「ぼちぼち堂本舗」にしようかと思います(ウソです)。

Grbl,CNCシールドとか水流センサーとか

だいぶ遅くなってしまいましたが、あけましておめでとうございます。
本年もぼちぼちとやっていきたいと思います。

ぼちぼちと言いつつ早速ですがCNCシールドの続きです。正月休みに帰省した際、日本橋のシリコンハウスに行く事ができたので4pin、2pinのハウジングを購入してきました。これでモーターやらリミットスイッチやらを接続しようと思います。
4pin,2pin

で、接続方法を調べているのですが、リミットスイッチや非常停止信号は今までの接続とGrblの標準が異なる様なので、とりあえずGrblの設定にて論理を反転したりしてやってみようと思います。ところで現在LinuxCNCで使っている制御回路は次のようになっています。色々継ぎ足したので特に非常停止信号周りはややこしくなってしまいました。

レーザーコントロール回路

そういえば水流センサーを取り付けた話はブログで報告していませんでした。のんさやさんのレーザー管破損記事も見ていたのでいつか付けねばと思っていたところ、昨年のMFTの後に秋葉原でセンサーを見つけたので購入して取り付けておりました。

水流センサー

水流センサー
ホースと接続する金具はホームセンター「ハンズマン」で購入。

水が流れるとセンサーから流量に応じたON/OFF信号が出ます。ウチの水ポンプの場合1秒あたり25から35発くらい出ていました。それを90円マイコンのPIC12F629で検出し、10発/秒以上なら水流ありの判定としました。水流が無い時は2pinがH,3pinがL、水流ありならその逆を出します。そして2pinから2SC1815を通してレーザーを強制OFFにしていますが、これだともし2SC1815が故障したらレーザーをOFFにできないのであんまりよい回路ではないと思いますが、簡単に後付するためこうなってしまいました。

WaterFlowSensowI/F

水流センサーインターフェース
後付けなので宙ぶらりんです。

このあたりの回路をCNCシールドに載っけるのが結構面倒です。とりあえずはLinuxCNCで動いているので、やっぱり「ぼちぼち」になりそうです。

参考までにPIC12F629のプログラムをここにアップしておきます。
(MPLAB IDE 8でコンパイルしています)