しゃべるペットボトル回収箱2台目

前回作成した物を神戸の姉のところに送りました。
向こうで配線が切れて一旦回収/修理して再送とかありましたけど、とにかく動作はした様です。実際の回収箱自体がまだ届いていないので、取付け及びマイクロスイッチでの検出が上手くいくかどうかはまだ不明です。
なおペットボトル回収箱本体はこの様なものらしいです。

そして今回2台目を作成しました。元々ペットボトル回収箱を二つ設置するのでしゃべる回路も二つ作る予定だったのです。
前回は回収箱の天辺部分に取付ける構造にしていましたが、姉と話していると回収箱の横に少し物を置くスペースがあるとの事。少しでもスッキリさせるためマイクロスイッチ以外は全て箱に入れてしまう事にしました。

箱に入れるならケースをどうするかですが・・・MDF板をレーザーで切ってもいいのですが録音するときだけ蓋を開けて普段は閉めておくという構造が結構面倒です。そこでダイソーのこんなケースを買ってきてスピーカー取り付け穴をレーザーで切ってみましたが、切れたカスがまた本体とくっ付いて上手くいきません。

レーザーカット失敗。
このケースはネジ入れに使います。

スチロール樹脂を切るのが元々難しいのか、それとも条件が悪かったのか・・・・何故か穴位置もずれている様に見えるし。

ダイソーケースは諦めて近所のホームセンター ハンズマンに行ってみたところ良いのがありました。10cm角のサイコロ型段ボールでGoogleのAIY VOICE KITみたいな感じ。

ちなみにAIY VOICE KITはこれ。1年位前に少し動かしてそのまま放置しています。

ところで回路の入った箱は横に置くけどマイクロスイッチは回収箱の蓋に取付けます。よって不用意に蓋を外すと配線を切ってしまう心配があるので3.5Φのプラグとジャックで接続して無理に引っ張ると抜ける構造にしました。

これで上手く働いてくれるといいのですが。

たのまれもの

私の姉は神戸で教師をしています。その学校には今まで紙コップの自動販売機があったのを、今後はペットボトルの自販機に変更するのだそうです。このため空になったペットボトルを洗って回収する為の回収箱を設置するのですが、そこに一工夫を加えてペットボトルを入れると何か喋る仕掛けにしたいという相談を受けました。 きちんと洗って回収した生徒に対し「ご協力ありがとうございます」っぽい事を喋るのだそうです。

普段は自分の好き勝手な工作をしていますが、たまには人様の役に立つ物も作ろうと思って引き受けました。

喋る内容は現地で適当に録音し、状況によって違う事を喋らせる様な複雑な処理までは考えなくて良いので正月休みに帰省した際、日本橋のシリコンハウス共立でこんな録音再生ボード を買ってきました。

共立プロダクツの録音再生ボード

しかしその後で実家で姉と会った時、既に通販で発注していたのが届いたといって写真のボードを持ってきました(しかも3つ)
ペットボトル回収箱は2台設置するので多めに買ったという事です。

マイコンキットドットコムの 録音再生ボード
これが3枚も購入済だった。

どちらのボードも機能はほぼ同じで、録音ボタンを押しながらマイクに向かって最大10秒までの音を吹き込んでおき、再生ボタンを押すと再生されるという物。2セット作るのなら既に3枚あるマイコンキットドットコムの基板の方を使いたいと思います。
そこで早速音声基板を動作させてみたところ、録音再生機能は問題なく動作しますが音量が小さくて学校の中では聞き取れないと思われ、外部にアンプを付ける必要がありそうです。

その後実家ではペットボトルを投入した事をどうやって検出するか、また製作したセット一式をどの様に設置するか等を話し合い、帰省から戻ってきて早速作業を開始です。
まず以前ヨットのスタート練習タイマーを作った時、海上では音量不足なので取り外したD級アンプボードが残してあり、これを付けてみます。ところがこのボードがウンともスンとも言いません。正常な状態で取り外したはずなのですが・・・壊れたのかも。

クリックすると秋月電子のページに飛びます。

仕方ないので秋月電子に別のパワーアンプ基板を発注しました。


クリックすると秋月電子のページに飛びます。

なんで前のと違う基板なのかというと、こっちにはスタンバイ端子が付いているのです。ペットボトル回収箱を喋らせる為にコンセントから電源をとるのも色々と気を遣うのでなるべく電池で動作させたく、喋っていない時は電池の消耗を抑える為スタンバイ状態にしたいのです。

ペットボトル投入の検出はフォトインタラプト方式とかリードスイッチを上手く使えないかとか考えたのですが、電池で動作させる事を考えてシンプルにマイクロスイッチでやってみる事にします。マイクロスイッチのアームをピアノ線で延長し、ペットボトルが当たるとONになるという目論みです。実際のところ回収箱本体が手元になく、これで上手く検出できるかはやってみないとわかりません。
また基板等の取付けも同様で、本体が無く回収箱の簡単な説明資料を基に想像で作るしかありません。

電気的な部分はこんな回路にしようと思います。
SN74HC00でR-Sフリップフロップを構成し、スイッチが入ると再生を開始すると共にD級アンプを動作状態にします。そして再生終了信号が出るとフリップフロップをリセットしてアンプをスタンバイ状態に戻します。スタンバイ時の電流値は手持ちの3.1桁マルチメーターだと測定限界以下(100nA以下)なので、たぶん電池でもそれなりに持つでしょう。
なお音声基板が出す再生終了信号はパルス一発だけなので、万一検出を失敗した場合に備えて数十秒のタイマーでもリセットがかかる様にしています。

ところで共立プロダクツ製の取説には再生終了信号の記載がありますが、マイコンキットドットコムの取説には記載がありません。しかしどうやら写真の青色線を繋いでいるパッドがこれに相当する様です。

ではいつもの様にCNCで基板を削って・・・

こんな感じに仕上がりました。

そして全体像

ペットボトル投入口が二つあるのでマイクロスイッチも2個付けています。

回収箱への取り付けは図の様に考えていますが、これまた実際の回収箱を見ていないので何とも言えず、姉には実物を前に何とかしてもらおうと思います。

いろいろやりかけ

最近、色んな事がやりかけのままです。

FPV LAPタイマー

前投稿に書いた様に受信機を壊したので、新たにモジュールだけ注文して既に届いています。ところが到着を待っている間に熱が冷めたというか、なんとなくそのままになっています。更にはGithubにこんなのが上がっているのを発見してしまったので、こちらでいいかと思っています。

まだ開けていない・・・

どどーんFPV化

私のどどーんもFPV化しました(※FPVとはドローンに搭載したカメラから送られてくる画像を見ながら飛ばすアレです)。このVTX(※画像の送信機です)は約1年前に購入していたのに無線免許の変更申請が面倒でそのままにしていました、しかし最近意を決して申請し、既に免許が届いています。でFPVしてみたのですが、画面を見ていたらどこを飛んでいるのかわかりません、そのうち畑のどこかに墜落して一時は行方不明になりかけました。機体発見用のブザーは載せていたのですが無理に取付けていたので時々外れており、この肝心な時にも外れて鳴らないという失態。結局FPVの電波を頼りにFOXハンティングして見つけ出しました。その後何度も墜落しているうちにFPVモジュールから煙がでて終わってしまいました。仕方なくFPVモジュールを再発注。

壊れる前の写真

FPV用ゴーグル

いつまでも息子のゴーグルを借りる訳に行かないので自分用を購入しました。本格的な人はFatSharkを使っている様ですが高いので、これにくらべてだいぶ安いEachineのEV100を購入。しかし息子の海女さんゴーグルと比べても視野角が狭く、画像が小さく見えます。ちょっとミスったかも。

Eachine EV100
息子の海女さんゴーグル

ゴーグルを買ったらブリキのロボットが付いてきました。何故か2台も。

オマケのロボット

TWEプロポ

MONOワイヤレスのTWE-Liteをプロポ代りにしてマルチコプターを飛ばす計画、こんなコントローラを作ったけど全く制御できなかった事を前回書きました。

加速度センサーでロール、ピッチを制御しようと思ったけど無理でした。

もうこの方式は止めて普通のスティック式にしようと思います。トイドローンの送信機からジョイスティックを取出して使う計画です。

息子から奪ったトイドローン用送信機

そして基板を作成中。

頂き物のCNC。以前の木製に比べ見ていて安心。

ぽんさんから頂いた旋盤

11.11にAliexpressから四つ爪チャックを購入しています。これでセンター出しを完璧にやれる予定(腕さえあれば)。

ソーラー鹿威し

水量安定化の為こういうのを作りましたが、外が寒くなってきてそのままです。

その他

ほかにも色々手を付けたり計画倒れだったりしていますが、そのうち紹介させてください。

FPV LAPタイマーを作ってみる。

先日のドローンレースのタイムアタックではFPV LAPタイマーなる物を使っていました。これはドローンが出すFPVの電波を (ゲート近くの) 受信機が受けて通過した時間を測定するというもの。スタート前にこんな感じで受信感度を調整します。

これ作れないかなーと考えています。そこで手元にあってあまり使っていない受信機RC832のフタを空けてみました。ここから電界強度を示す信号が取り出せないかと。

中身はこんなの。高周波のフロントエンドはシールドされたモジュールになっています。

表側
裏側

このモジュールはおそらくこちらで紹介されているRX5808というモノだと思います。だとするとRSSIという端子が信号強度を出しているはず。電波を受信しながらテスターで当たってみると確かにその様です。

ならばこの端子から電線を引っ張り出します。

リード線をはんだ付けして・・・
プレートに穴をあけて・・・
電線を引き出しました。

引っ張り出した信号の電圧を測定しながらVTXを近づけたり遠ざけたりすると無信号時は約0.5Vで信号が入ると最大1.5V程度に上がります。アンテナを外した状態でVTXを部屋の端まで離しても信号が1.5Vに上がり切ってしまうので最も近づいた瞬間を検出するのは結構難しそうです。受信機全体をアルミホイルで包んでもまだ強力に受信しています。

当初は微分回路でピークを検出できるかと考えていましたが1.5Vに貼り付いてしまうとこの方法が使えません。そこで立上りと立下りの中間時刻を採用しようと思います。途中で速度が変ったり受信機のすぐ近くに墜落したりすると正確に測れないですが、まずは練習用には使えるかと。

またどっちみち信号が飽和するならとコンパレータでデジタルにしてしまってArduinoに入れます。オペアンプをブレッドボードに乗っけて実験・・・

まだ試行錯誤中の回路

まずはどんな感じで受信できるか試す為、 庭に持ち出して信号の立上りと立下りで割り込みが掛かった時刻(millis()関数の結果)をSerial.printでPCに表示させてみます。

・・・が、庭程度の広さだと一番離した位置でも電波を受信してしまいまうのでもっと広いところで試す必要があります。また近づいたときでも結構揺れがあり、H/Lを細かく繰り返していて判定が難しそうです。
本当は広いところでドローンが通過する時の波形をオシロで取りたいのですが、野外で使えるオシロを持っていません。
当面はソフト側で一定時間以上信号アリが続いたらドローンが通過したと判断する方式でやってみます。

・・・という事で練習場に持っていきました。ところが上手く受信できません。
調べたところRC832から引き出した信号線を間違って5V電源につないでいました。マズイ!
これくらいでは壊れないだろうと思いましたが・・・その後RSSI信号が出てこないし画像も受信できていません。
やっちまいました。

この後どうしましょう。折角ここまでやったのに止めたくないし、でもわざわざ受信機を買うか?とも思うし。。。
結局RX5808モジュール単体をAliexpressに発注しました。送料込みで¥1070円、あーもったいない。


ソーラー鹿威し~その2~

ソーラー鹿威しの続きです。
前回、水の注ぎ口はクランプにホースを括り付けただけだったので、今回ちゃんと作ります。

こういうのを作って・・・

穴を貫通させ・・・

中にホースを通し、こんな感じに仕上げました。

ところでこのポンプ、購入時のページには水中ポンプと記載がありますが、見た感じ水につけるとヤバそうに見え、勝手に水没させてはダメだと思っていました。でも水没させないとポンプまでの経路を「呼び水」で満たすのが面倒なんですよね。
そこであちこちのページを見たらやっぱり水没させて使えそうな事が書いてあるので恐る恐る水につけてみました。今のところ問題なさそうなので、やっぱり表示の通り水中ポンプなのでしょう。

という感じでこれで一応は動作するのですが、電源がソーラーだと光の当たり具合で水の出方が大きく変わります。それはまあソーラーを使う以上覚悟はしていましたが、水量が多いときの動作が早すぎてうるさい感じがします。かといってホースを半分塞いで水量を抑えると曇って発電力が落ちた時にロスが大きくなります。

そこで流量を一定に保ち、多すぎる時はオーバーフローさせて水槽に戻す仕組みを考え中です。

こんなイメージ・・・

これを実際に形にするのは結構大変そうです。ペットボトルとかが見え見えになるのもカッコ悪いし。もう少し考えてみます。


ソーラー鹿威し

今日は天気もいいので前からやってみたかった鹿威しを作ります。
材料の竹は既に貰ってあるので適当に切ります。


木材で台を作って・・・


支点の軸はレーザー加工機のシャフトに使った5Φステンレス棒の残り。ホームセンターで買ったものなのでリニアシャフトの様な精度はありませんがサビには強いはず。


当然ながら家の中を自然の川が流れている訳ではないので水はポンプで循環させます。このポンプも一時的にレーザーの冷却水循環用に使っていましたが、水量が少ないのが不安なので取り外したものです。


鹿威しのポンプを動かす為に商用電源を使うのもエコじゃないのでソーラーパネルで発電する事にします。


ソーラーは最大18Vが出る事になっていますがポンプの定格が12Vです。実際そのままつないで直射日光に当てると18V近く出てたのでちょっとマズイです。
簡単に電圧リミット回路を作ってみました。


こんな感じで取り付けます。


では動作させてみます。動画で・・・


ちょっと周期が短い様な気がする・・・。


旋盤とCNCフライス~その5~

Arduino UNO(Grbl)とORIGINALMIND製BlackⅡ1520(TRIO)を接続する為の基板を切削したいのですが、その前に基板切削用刃物を BlackⅡのスピンドルに 取付ける必要があります。
刃物は前CNCの時からORIGINALMIND製の土佐昌典VCを使用していますが、この刃物の軸は3.175mmで、現在の4mmと6mmのチャックには取付けられません。

4mm用と6mm用のチャック


そこで鉄棒を削って3.175mmのチャックを作ってみましたが・・・


刃物を付けて木材に先端を軽く当てながら回してみると、木材が微妙に上下してしまいます。ブレているのです。


もう一度削りなおすのも大変なので現有の4mmのチャックに取付ける変換アダプタ的なものを真鍮で作ってみました。


今度は殆どブレがありません。が、よく考えると穴あけに使うドリルは軸径が2.34mmなのでこっちはどうしましょう?

最近ダイソーで見かけなくなった0.8mmのドリル。
ストレートシャンクだとチャックが滑る事があるのですが、こちらは軸が2.34mmと太くなっているのがいいのです。


結局今まで木製CNCでも使っていたミニルーター用のマウントを3Dプリントして取付ける事にしました。


製作する基板の回路図はこれ。殆ど配線だけで電気的に何かする部品はプルアップ抵抗ぐらいです。しかも当面必要な部品だけ取付けており、ほぼコネクタ類だけです。

実際に切削する前にハイトマップを作ります。単線の切れっ端をセンサー代りにしてワニ口でArduinoのA5端子に接続し、基板の銅箔はGNDに落とします。そしてGrblコントロールソフトCandleの右ペインにある”heightmap”メニューから”Create”を押し、諸々のパラメータを入力後「Probe」ボタンを押すと指定ポイントの高さ測定を順次実施していきます。


ではいよいよ切削開始・・・


そして組立て完了。
XHコネクタが2本あるのは非常停止スイッチとZプローブ用。その他後で接続したくなる事を考えて色々と取付けパターンを設けています。 


ところで非常停止スイッチの保有がありません。そこで旋盤についているこれをヒントに・・・


マイクロスイッチで作ってみました。
普段はこの状態で・・・


スイッチを押されるとラッチがかかって押し込んだままになります。解除する時は横のレバーを押し下げます。
本当はGrblの動作だと一瞬押されればその後放しても停止状態を維持するのですが、まあそこは気分の問題です。


2.5mm厚MDFをレーザーカットしたケースに基板をケースに収め、非常停止スイッチはこのケースに取付けました。USBコネクタの横に2.5Φのプラグが刺さっているのはZプローブの配線をここから取り出す為です。


最終的にはこんな感じで納まりました。


今までのCNCは・・・良く働いてくれましたが引退ですかねー。

お疲れ様。

旋盤とCNCフライス~その4~

引き続き、頂き物のCNCを稼働させようとしています。
前回は古いPC上で動くLinuxCNCを使って試験動作をしてみました。
このPCは随分前にメインPCとして使っていたPentium4-2.8GHz搭載のマザーが載っており、基板切削CNCやレーザー加工機の制御に現役で稼働しています。この頃のPCは普通にパラレルポートが付いていたのでLinuxCNCでの使用に問題はありません。

このPCの後にメインとして使ったのはCore-i5のマザーボードでした。このボードのパラレルポートは直接背面には出てはいないのですが、ボード上にピンヘッダがあり、ケーブルを挿す事で使用できます。本来ならこのボードが現役を退いた後にCNC制御マシンにしたかったのですが、以前このブログにも書いた通りコイツは壊れてしまいました。

CNC制御にはMach3/4やGrblも候補に上がりますが、費用や慣れの問題もあるので、やっぱりLinuxCNCで行きたいと考えました。という事で、HARD OFFで物色するとPentium4 3GHzのPCが¥2900で売られていたので購入しました。

P4-3GHz
HARD OFFで購入。なかなか絶妙な値段です。

LinuxCNCはバージョン2.7のLiveCDからインストールしました。なおLinuxCNCにはそのPCが向いているかどうかの指標としてレイテンシ・テストがあります。LinuxCNCはステッパーの回転パルスをリアルタイムに生成する為、一定間隔で処理を実行する必要があるのですが、レイテンシが大きいと間に合わなくなるのです。LinuxCNC付属のレイテンシ・テストを実行するとMAXジッターという値が表示されます。ドキュメントによるとこの値が50μSあたりまでならまあまあ良し、100μSを超えるマシンは制御には向かない様な事が書いてあります。
早速このPCで実行したところ直ぐに200μSを超えてしまいました。現用のPentium4-2.8GHzが最大でも55μS程度なので不安視していなかったのですが、ビデオカードを交換してみたりBIOSの設定を変えたりとやっても改善しません。

PC代¥2900円が無駄になるは悔しいので何とかしたいところです。そこで次善の策として考えてたのがこのPCでGrblのコントローラーを動かすという方法です。Grblならリアルタイムの部分はArduinoがやってくれるのでPC側はジッターを気にする必要がありません。BlackIIの制御基板(TRIO)にはサンケン電気のステッパードライバが載っておりこれは活用したいので、Arduino+CNCシールドではなく、ArduinoをTRIOにつないで制御してみたいと思います。
ステッピングモーターの制御信号がDIRとSTEPという基本は変わらないので何とかなると思っています。

そこで実験。

Grbl-TRIO

D-SUB25ピンのコネクタはジャンクのマザーから取り外した物です(なので紫色)。TRIOをイネーブル状態にする信号はSN74HC00を使った非安定マルチバイブレータでチャージポンプ信号を入れて動作させましたが、これではGrblが準備できたらONになるという本来の動きはできないので、最終的にはTRIOのJP1をオープンにする事で、単にLに下がればイネーブルとなる制御にしようと思います。

この段階で色々とマニュアルに記載が見当たらない細かいところも試してみました。以下ここまでで分かった事の備忘録

  • TRIOのSPINDLE入力はLが回転、Hが停止。
  • BlackIIのリミットスイッチ(フォトインタラプタ)は普段はLでセンサーをさえぎるとHになる。
  • ArduinoのA0ピン(GrblではReset/Abort端子。内部プルアップされている。)は動作中にLに落とすと動作がキャンセルされて停止する。続きの動作はできず、HOMINGからやり直す必要あり。たぶん非常停止に使える。
  • CNCシールドのE-STOP端子は回路図を辿るとArduinoのリセットに繋がっている。
  • A0端子で止めてもReset端子で止めても動作は変わらないように見える。
  • Arduinoの A1ピン(GrblではFeed Hold端子。内部プルアップされている。)はLに落とすとスピンドルは回ったままステッピングモーターだけが停止する。コントロールソフト(Candleを使用)のステータスにはHOLDと表示され、Pauseボタンを押すと動作が再開する。
  • ArduinoのA2ピンはGrblではCycleStart/Resume端子であるが、これをLに落としても特に何事も起こらなかった。この用途は何でしょう?
  • ArduinoのA5ピン( GrblではZ-probe/Heightmap)もプルアップされていて、高さ検出の際にこれがLになったら刃物がワークに接触したと認識する。
  • Z-probeはCandle右上ボタン群の下向き矢印みたいなボタンを押すと始まる。
  • Height-mapはCandle右部分のheightmapメニューからCreateを押すと採取用設定が現れる。
  • TRIOにはEMG信号という出力があり、スピンドルに過電流が流れたりするとL→Hに変化する。

一番上の 「TRIOのSPINDLE制御入力はLだと回転」というのがGrblの標準とは異なるのでconfig.hの下の行のコメント記号を外しました。

< // #define INVERT_SPINDLE_ENABLE_PIN
---
> #define INVERT_SPINDLE_ENABLE_PIN

またスピンドルの回転数をPWMで制御する事はTRIOのマニュアルを見る限り書かれておらず、当面はON/OFFだけで実行します。この為以下をコメントアウト。

< #define VARIABLE_SPINDLE
---
> // #define VARIABLE_SPINDLE

なおこのコメントをを外すとGrblは旧版との互換性の為、スピンドルイネーブル端子とZ-LIMIT端子の機能が入替わる(HかLかを切り替えるだけでなく、端子の割り当てまで一緒に変更してしまう)。入替わる前提で使ってもいいが将来的な互換性を考えると端子割り当ては標準のままにしたかったので、cpu_map.hの以下を変更しました。

   68c68,69
   <     #define Z_LIMIT_BIT    3
   ---
   >     //#define Z_LIMIT_BIT    3
   >     #define Z_LIMIT_BIT          4
   87c88,89
   <     #define SPINDLE_ENABLE_BIT    4 
  ---
   >     // #define SPINDLE_ENABLE_BIT    4
   >     #define SPINDLE_ENABLE_BIT    3

ところでGrblのヘッダ類を書き換える場合は~/Arduino/libraries/grblの下にあるファイルを変更しなければなりません。最初普通に~/Arduino/grbl-master下のファイルを変更してコンパイルしても変更が反映されなかったので要注意です。

次に非常停止をスイッチをどうするか、以下を候補に考えています。

  • ArduinoのReset端子をLに下げる。
  • ArduinoのA0端子(Reset/Abort)をLに下げる。
  • TRIOのイネーブル信号(チャージポンプ又はH/L)を使ってOFFにする。

なお非常停止は極力ノーマリONのスイッチにすべきです。ノーマリOFFを使ってしまうと接点が劣化していた場合に非常停止を押しても止まらないという事態が予想されます。Grbl標準はReset端子を使うにしてもA0端子を使うにしてもノーマリOFFが標準なのでA0端子の機能を逆転させる事にします。

もう一つ、TRIOからEMG(エマージェンシー)信号というのが出てきます。これはスピンドルモーターに過電流が流れた場合等にHになる信号なので、何とかGrblに伝えたいと思います。

という事でTRIOのEMG信号と非常停止スイッチを両方生かす為、次の様に配線する事にしました。Grblの設定でA0信号はHとLの意味を反転させ、正常時がL、異常時がHと認識する様に変更しています。
これでTRIOから出るEMG信号も非常停止スイッチも反映させる事ができます。

なおA0信号のHとLの意味を反転させるにはconfig.hに以下を追加します。

> #define INVERT_CONTROL_PIN_MASK ((1<<CONTROL_RESET_BIT))

以上で回路が決まりました。次に基板を作っていくのですが、折角なのでこのCNCを用いて基板を切削してみようと思っています。その為にはスピンドルに基板切削用刃物を取付ける方法を考えねばなりません。
・・・という事で次に続きます。

旋盤とCNCフライス~その3~

ぽんさんに頂いた旋盤に続きCNCフライスも稼働させたいと思います。
このCNCはスピンドルの横に1Wのレーザーが取付けられていますが安全のため一旦取り外していずれ活用したいと思います。

ORIGINALMIND製BLACKⅡ1520

コントローラーはORIGINALMIND製のTRIOが筐体の下に収まっています。
TRIOはORIGINALMIND社のWebページで見かけますが実物を見るのは初めてです。ステッピングモーターのドライバには昔欲しかったけど手に入らなかったサンケンのSLA7078が載っています。


基本的にTRIOはPCのパラレルポート(プリンターポート)から接続しますが、最近のPCにはパラレルポートはありません。そこで USBからパラレルに変換する為のCNCdrive製UC100も一緒に頂きました。
因みにCNCをコントロールする場合、USBからパラレルポートに変換するアダプタとして普通に売られている物ではうまく動きません。USBは大量のデーターを送るには優れていますがリアルタイム性は今一つなのでモーター駆動パルスのタイミングが間に合わないのです。しかしこのUC100というインターフェースは内部にDSPを備えておりタイミング精度が必要な処理は内部で行ってしまうそうです。但しMach専用でLinxCNCは対象外です。

Machは基板切削CNCを作成した当初、お試し版( NCコードの行数制限あり )を使用しましたがそれ以降使っていません。
最終的にどうするか未定ですが、まずは使い慣れたLinuxCNCで(古いPCのパラレルポートで)動作を確認してみる事にします。

・・・と簡単に考えていたらハマりました。原因はTRIOに入れるイネーブル信号という物。当初マニュアル無しで動かそうとしていたのでORIGINALMIND社のピンアサイン表にあったM-ENBという信号がイネーブル信号であろうという事までは検討がついたのですが、単にHかLを入れてやればいいものだろうと思っていました。ところが全く動作しないので色々調べてみるとH/Lを繰り返す矩形波を入れ続ける必要があったのです。HかLだとPCの電源投入直後にたまたまそのレベルが出て不用意な動作をしてしまう危険があるので「たまたま」では出てこない信号を入れてやる事がPC側が準備できた証という訳です。
なおこの信号はチャージポンプと言うそうです。 LinuxCNCのマニュアルにもチャージポンプの事が書かれていましたが関係ないものかと思っていました(だってチャージポンプっていったらデバイス内で電圧を2倍とかに上げてFLASHの書込み電圧などを作るやつを思い浮かべますもん。それがLinuxCNCで要る理由は思い浮かびませんが。)
という事でLinuxCNCから「チャージポンプ」信号を出してTRIOのM-ENB入力(17pin)に入れてやる事で動作し始めました。

後日ぽんさんにTRIOのマニュアルを見せて頂き、TRIOは5~10KHzの信号をイネーブルと判断するという事が判りました(実際にLinuxCNCから何KHzが出ているのかは確かめていませんが)。
また基板上のジャンパー1をオープンにする事で単にLを入れるとイネーブルになる方式にも変更できる様です。

ここまででステッピングモーターは動作する様になったのですが、スピンドルを駆動するプーリーベルトが切れてしまいました。

とりあえずハンズマンで買ってきたOリング( 若干太いのが気になりますが )で代用します。

モーター側は良いのですが、Oリングが太いのでスピンドル軸側のプーリー溝には完全には嵌っていません。

ちょっといい加減なところもありますが動作し始めたので適当なデータで木を削ってみます。

切り口がササクレましたが削れています。ササクレは条件を詰めれば良くなると思います。

まずは最低限の動作が確認できました。

この後ですが・・・現在LinuxCNCを動かしているマシンはレーザー加工機と基板切削CNCを受け持っており、新しいCNCを設置したい場所とは部屋の反対側になってケーブルが届きません。基板切削CNCを撤去して代りに今回のBlackⅡ1520を置くというのもアリかと思いますが、まだ基板を削れる状態にはなっていないのです(スピンドルが基板切削用刃物のサイズに合っていないのをどうするか・・)。
コントローラもLinuxCNCで行くか、Machにするか、またはGrblにしてしまうか思案中です。

BRAVO BST12修理 その2

前回の投稿から4年も過ぎてしまいましたが、まだBST12を捨てずに置いていました。今回ぽんさんから旋盤を頂き、修理できる環境が整ったので久々にトライします。

では改めて・・・BST12とはゴムボートに空気を入れる電動ポンプです。本来の動きではBST12からゴムボートにホースを繋ぎ、スイッチを入れると最初はブロアで空気を送り込んで、ある程度空気が入って圧力が上がってくるとコンプレッサーモードに切替わり更に空気を送り込みます。そしてダイヤルで設定した圧力に達するとコンプレッサーが停止して完了となります。圧力に応じブロアーとコンプレッサーを使い分ける事で充填速度と圧力を両立させている訳です。しかしこの故障したBST12は最初からコンプレッサーモードで動作しブロアーモードをスキップしてしまうという症状でした。

配線をイジってブロアーモータに直接12Vを繋いだところ、ガチャガチャという異音と共にぎこちなく回転しました。どうやらモーターが怪しいです。モーターの空気取り入れ口から中を覗くと整流子の電極部分がハガレている様に見えます。

BST12_2_1
整流子の電極が剥がれている様に見える。

モーターの裏ブタを開けてみると・・・やっぱり。

BST12_2_2
やっぱり剥がれていました。

ダメ元で修理を試みましたが直ぐに剥がれてしまうので、これを直すのは諦めてモーターを交換しようと思います。このモーターは550サイズで12Vで動作する必要がありますが、簡単に(安く)入手できるのが無かったので日本橋のデジットで購入した7.4Vの物を使う事にします 。

12V電源で7.4Vのモーターを駆動する為、タイマー555で2/3デューティーのPWMを作って降圧しました) 。

BST12_2_3
降圧回路


ところでモーターとファンの接続は写真の様な金具で接続しています。

BST12_2_4
白いのがファンです。

この円錐と六角を組合わせた様なパーツを新しいモーターに付け替える必要がありますが、これがモーターから外れません。手持ちのギヤプーラーでは全く歯が立たず、冷やしたり温めたりしてもダメで、最後の手段としてモーターの軸をドリルで潰そうとしても歯が立ちませんでした(なんかモーターの軸ってメチャ硬いんですね)。

ダメ元で3Dプリントパーツでも試してみました。3Dプリントで拳銃が作れるくらいなら軸受けぐらいできるかもしれません。

BST12_2_5
ABSで出力した軸受けで試運転

が、やっぱり一撃でダメになり空回りを始めました。

・・・という訳で、ここで途方に暮れて年数が過ぎた訳です。

そして2018年、旋盤という強い味方があります。初めての旋盤工作としてこの軸受けを作ってみたいと思います。オリジナルの軸受けはステンレスっぽいですが、これは初心者には難しそうなので真鍮でやってみます。

材料はこれ。いつだか忘れましたが東急ハンズでこの日の為に買っておいた真鍮の丸棒。

BST12_2_6


まずは旋盤のチャックに挟みますが、芯のブレが極力少なくなる様、ダイヤルゲージで見ながら取付けます。ダイヤルゲージはCNCの調整用に前から持っていましたが、マグネット基台はアストロプロダクツで 急遽購入です。

BST12_2_7


ドリルで真ん中の穴を空けます。

BST12_2_8


そして六角形の部分は後で六角形にするとして、まずは六角形の外周サイズになるまで全体を削ります。

BST12_2_9
おお、旋盤らしい作業。真鍮が削れてピカピカに輝きます。


テーパーの部分はここの目盛りを1.5°に合わせて削りました。

BST12_2_10


最後に突っ切りバイトで母材から切り離した結果がこれ。

BST12_2_11

突っ切りバイトが穴まで届く直前に母材から離れてしまった様で中心部分が少し残ってしまいました。ヤスリで除去します。

後は六角形の部分をひたすらヤスリで削って出来上がったのがこれ。
このパーツを自作できたと思うと感動です。

BST12_2_12
完成!!


モーターの軸に圧入する為、穴径を微調整します。これにはこのビットで広げるとちょうど良いサイズになり、カナヅチで軽く叩いて圧入しました。

BST12_2_13
いつだかカホパーツで安く買った回転ビットセット内の1本


そしてブロアのケースに取付け。

BST12_2_14

ファンも取付け。

BST12_2_14


元の形に収めます。

BST12_2_15


モーターが7.4Vな為に追加したPWM回路は結束バンドで固定しました。

BST12_2_16


動作確認したので 動画にしてみました。 。スタートするとブロアーが動作し、吐出口を塞ぐ事で圧力が上がってコンプレッサーモードに移行します。


あとは久々にケースをねじ止めして完成です。

BST12_2_17


何年も放り出していたポンプですが、やっと修理できました。
旋盤を使える環境になった事で色々と対応できる幅が広がったと思います。
ポンさんに感謝です。