---Mach3のToolpathdisplay画面の操作---

 今まで、Mach3を操作していて、左ドラグで、立体表示になり
 回転できることは分かってましたが、あらためてマニュアルを
 読んでみました。といっても眺めただけですが。
 次のことが何となく分かりました。
    左ドラグ---切削画像の立体の回転。
    左ダブルクリック---画像をもとに戻す。
    シフトキー+左上方ドラグ---切削図形の拡大
    シフトキー+左下方ドラグ---切削図形の縮小
    右ドラグ----------切削図形の表示位置移動

 

 画像にとって見ました。
 今日も、また、一つ勉強しました。

---手パ(手動パルスジェネレーター)切り替え器制作(3)---

 実際にプログラムのコーディングをして、PICに書き込んで
 動かしてみました。
 PICを始められた方が最初に取り組むLEDを点灯させる
 プログラムと大きな違いはありません。

 

 一応、プログラムで、チャタリング防止のルーチンをいれて
 いますが、タクトスイッチだけだと、タイミングによって影響
 を受けます。画像の右側の基盤には、シュミットトリガーを
 組み込んだタクトスイッチがセットしてあります。
 シュミットトリガーを組み込んだものは、誤動作も少なく動作
 しました。
 シュミットトリガーを組み込んだスイッチでは、4つのLEDを
 順次点滅させています。スイッチを押すたびに、隣のLED
 に移ります。
 左の基盤に組み込んであるタクトスイッチは、3つのLED
 を順次点滅させます。後半の画像ですが、チャタリング
 をうまく吸収できなかった画像になり、一瞬光っただけで
 となりに移ってしまいました。
 一応動作したプログラムをアップします。

 MPG.C

 メインでは、割込等の初期設定だけで、TIMER0の割込の
 ルーチンで、ほとんど処理してます。
 かなり冗長な部分が多いですが、一応うごいたものです。
 今回、動かすにあたって、画像には入っていませんが、
 基板のタクトスイッチで点灯させるLEDが、電源投入して
 1,2秒するとおかしな動きをします。
 シュミットトリガーを入れたスイッチの方は、問題がなく、
 接続を反対にすると、症状がうつりますので、基板の
 ハードの問題のような気がします。

---手パ(手動パルスジェネレーター)切り替え器制作(2)---

 ロータリースイッチの機能をPICに分担させるのに、ちょっと
 工夫します。
 ロータリスイッチの場合隣り合った数字の移動しかできません。
 4接点だと4までの隣同士の数字にしか移動できません。
    1←→2←→3←→4
 1→→4はできません。
 スイッチ一つをPICに分担させると、ダブルクリック等の技を
           (「長押し」も可のアドバイス受けました。)
 検出しないと逆戻りをさせることはできませんので、次のよう
 にします。
 スイッチが1回押されるとカウンターを1加算するようにします。
 一方参照テーブルは、
   1←→2←→3←→4←→3←→2
 のように、6個作っておきます。
 このテーブルにカウンターを次のように割り当てます。
   1←→2←→3←→4←→3←→2
   ↓  ↓  ↓  ↓  ↓  ↓
   1  2  3  4  5  6
 こうすることで、カウンターを加算することで、常に隣の数字
 に移動ができます。カウンターが6になったら、にもどし
 ます。
 (1ではだめでした。割込処理を抜けるとき0にします。
  if(counter==6){counter=0;}は、swtch文の後です。
  割込処理のキーチェックで必ず、1加算されます。)

 これをCのプログラムにすると、

 

 みたいな感じになります。実際には、「待ち時間を作る」、
 「スイッチが押されたフラグのSWをクリアーする」等の
 細かい指示が必要です。
 また、もう一つスイッチを使うなら、2→→1、等の逆戻り
 もできますが、一つだけの予定なので、このままいきま
 す。

---手パ(手動パルスジェネレーター)切り替え器制作(1)---

 低価格の手パ(手動パルスジェネレータ=MPG)を購入しようと
 思いましたが、手持ちのジェネレーターがあるので、切り替え器
 と組み合わせて、ケースにいれてみようと思います。
 ロータリースイッチを使おうと思いましたが、忘却防止のため、
 手持ちのPIC(16F88)を使って、切り替え器を作ります。
 軸の切り替えに一応4(X,Y、Z、4)出力。スピード?の切り替え
 に3(1倍、10倍、100倍)出力。これだけで、7ポート7線です。
 ロータリースイッチ使うと、同じ数だけポートが必要ですので、
 跳ね返りスイッチ2個をそれぞれの切り替えにわりあて、
 出力は、プログラムで処理します。
 入力COMMONを入れて、合計で
 9ポート8線ですみますので、多少余裕があります。
 それぞれの出力にLEDの表示もしますので、PICから直接
 ドライブすると出力電流がオーバーしそうなので、今回、
 トランジスタアレイ(ダーリントンドライバー)を使うことにし
 ました。TD62004APGを使います。多少大げさな選定だと
     (選定を間違ったようです。正解はTD62003でしょうか)
 思いますが、大は小を兼ねる?でやって見ます。
 細かい数値の意味の読み取りができないので、困ります
 が、まあ、トライアンドエラーで、いつもの通りやって見ます。
  PIC→TD62004APG→フォットカプラー→SS
             |
             →LED
 の構成で考えます。
 このTD62004APGは、優れもので、内部に抵抗があります
 ので、PICの出力を直接接続できるようです。

 

 7チャンネルなので、今回の目的にちょうどです。
 昨日、今回は他にもほしいものがあったので、○ツに注文
 しました。肝心のカプラー忘れました。
 それと、多芯ケーブルをどうしましょうかね。
 7芯+電源+グランド等で、9芯のものが最低でも必要です。
 ○タロウのロボットケーブルは、30Vの10芯2mで、
 2600円程度します。ケーブルが一番高いです。
 PICのプログラムは、一定時間ごとに割込をかけて、二つ
 のスイッチの判定をして、それに応じて、出力を順次切り
 替えればいいので、それほど難しくはないかなと思います。
 さて、また、PICの復習からでしょうか。

---手パ(手動パルスジェネレーター)の接続 (7)---

 あれこれ探していて、こんなページを見つけました。
 ここには、VBのスクリプトだと思いますが、
 
 の記述があります。ここに括弧書きで倍率の表示があります。
   Slect step value 1→→1.00(100倍)
   Slect step value 2→→0.1 (10倍)
   Slect step value 3→→0.01(1倍)
 でいいのでしょうか?
 「手パ(手動パルスジェネレーター)の接続 (5)」で
 取り上げた諸兄の設定には、
   #6  5   267:Select Step value 3      2-1
   #7  6   266:Select Step value 2      2-2
 の設定があります。3が1倍、2が10倍ということなので
 しょうか。
 詳細の記述があるHPがなかなか見つかりません。

---手パ(手動パルスジェネレーター)の接続 (6)---

 手動パルスジェネレイター(以下手パ)の設定について、
 将来、接続するために、いろいろ調べています。
 前回までのコラムで、ハードの接続、MACHの設定と自分
 なりにまとめてきましたが、どうしてもとけない疑問があり
 ました。
 それは、各軸を移動するにあたってのスピード?だと思い
 ますが、「X1、X10、X100」のMACH側の設定方法です。

 OEM Buttonsの一覧表を眺めても、「X1、X10、X100」の
 記載はありません。関係しそうなのが、

 

 ぐらいしか、私の英語力では、みつかりませんでした。
 やっと、ヒントの書いてあるHPをみつけました。
 このHPに、「X1、X10、X100」のための設定と思われる画像が
 ありました。

 

 この項目と関係するとなると、OEM_Buttonsの表に、関係の
 ありそうな項目があります。

 

 ちょうど、10の項目あります。
 もしかして、直接指定するのではなく、設定した表の項目を
 指定するように、するのでしょうか。
 もちょっと調べて見ようと思います。

---パルスジェネレーターによるテスト (3)---

 実際にうごかしてみました。プルアップでよかったのか疑問
 でしたが、プルアップの回路でよかったようです。
 ブレッドボードで仮組で動作させてみました。
 オシロで確認しました。DIRの信号は、パルス状にしか、
 オシロ上では確認できないので、LEDをいれてみました。

 

 CW(時計方向)では、LEDが点灯しますが、
 CCW(反時計方向)では、LEDが消灯します。
 ユニバーサル基板に組んでみます。

 

 あまり体裁はよくありませんが、実際に組み込んでみたもの
 です。
 これをステッピングモーターに接続して回してみます。

 

 ゆっくりですが、手パの動作に従って、CW、CCWと追従して
 回ります。
 それにしても、先達は、すごいです。

---パルスジェネレーターによるテスト (2)---

 ○ECさんの回路を参考に、回路図を書きました。
 ○ECさんの回路では、4013のDフリップフロップのICを使っ
 てますが、○月では、SN74HC74のICの取り扱いしかないの
 で、これを使います。
 真理表を見てみると、

 

                     
 のようにSET・RESETとPRE・CLRの条件が反対になってます。
 SN74HC74は負論理?のようです。
 ある方に紹介いただいたサイトには、
  負論理のもうひとつの意味は、前図74HC74の-Qのよう
  に、1と0の論理レベルが反対になっていることを表す場
  合です。
  この場合にはLowで1、Highで0の意味であることを表して
  います。
                            
 記述があります。この辺をよく考えないで、PRE・CLRをプル
 アップする回路にしてしまいました。
 Highで思った動作になるのですが、Highが0だと、なにも考
 えずにグランドに落とせば良かったのでしょうか。
 まあ、これも勉強です。下記のような回路で、出力をオシロで
 みてみたいと思います。

 

   (ICはHC74HC74の間違いでした。)
 どうなることやら。
 回路図では、プルアップの抵抗をいれていませんが、
 実際の配線では、プルアップ抵抗念のためにいれておき
 ました。

---芝の管理 (5)---

 今年は、異常と思えるくらい暑い日が続きました。まだ続くで
 しょうが、今日、幾分、涼しい風が吹いてきます。
 あれほど成長が早かった庭の芝生もやや成長が鈍ってきた
 ように思います。
 昨日、また、芝刈りをしました。4cmの刈り高でやってますが、
 刈り取った芝の量が前回より少なくなってるような気がします。
 水まきが朝晩必要だとマニュアルには書いてありましたので、
 頻繁に水まきをしていました。キノコが生えてるの気がついて
 きをつけてましたが、芝生の一番生育のいい場所に前回とは
 違うきのこが生えてました。

 

 水はけが悪くなってるんでしょうか。
 広がらないように早速細かいものまで回収して、水やりをちょっと
 控えてます。
 部分的に、まだまだ、いい具合に密集してないところがありますが
 今年は、昨年に比べると、管理がうまくいきました。

---パルスジェネレーターによるテスト---

 いつの間にか、ステッピングモーターが増えてしまいました。
 それそれ目論見があって集めましたが、テスト方法に手間
 取ってました。
 ある方の掲示板を見てたら、以前にアドバイスを受けたこと
 のある方の記事が目にとまりました。
 その方は、手動パルスジェネレーターをDフリップフロップ
 回路を介して、直接ドライバーに接続してるようでした。
 Dフリップフロップは、初めての言葉で戸惑いましたが、
 いろいろ調べて見ると、私にもできそうなので、早速部品
 を調達して、トライしてみることにしました。
 通常、手動パルスジェネレーターからは、A相、B相の信号
 が出力されます。

 

 このままでは、ドライバーに入力できません。ドライバーにも
 よりますが、1パルス入力方式の信号に変換する必要が
 あります。

 

 この変換にDフリップフロップの回路が使えるようです。 
 A相の信号は、そのままドライバーのパルスに入力します。
 B相の立ち上がりのタイミングで、そのときのA相の信号のHL
 を判別してその信号を出力する役割をDフリップフロップの
 回路に分担させます。
 CW(時計方向回転)のB相の立ち上がり時のA相は、必ずH
 になります。CCW(半時計回り)のB相の立ち上がり時の
 A相は必ずLになります。

 

 実際には、B相の信号をクロック入力に入れます。A相の
 信号は、ドライバーへの接続とデーター入力の両方に入れ
 ます。こうすると、CWの時は、出力がHに、CCWの時は、
 出力が、Lになります。
 Dフリップフロックを使うことによって、A相B相の信号を
 1パルス(PULSE/SIG CK/DIR)方式に変換できること
 になります。

 幸い、回路図は、○ECさんのHPにありますので、これを
 参考に部品が届きしだいトライしてみようと思います。
 DフリップフロップのICは、○ルツには、
     TC4013BP
 という○ECさんの回路図と同じものがありますが、○月には、
     SN54HC74
       (SN74HC74の間違いでした。)
 というICしかありません。
 この二つは、同じ動作をするようですが、ピン配置・真理等が
 違うようで、ICを差し替えればいいというような互換性はない
 ようです。
 他の部品も必要だったので、○月に注文しました。
 ○ECさんの回路図には、カレントダウンの回路も組み込まれ
 ていますが、とりあえず必要ないので、信号変換の部分だけ、
 まねをします。