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

 一応完成した手パ(手動パルスジェネレイター=MPG)で
 すが、コントロールするのに、割り当てた信号線を、
 オルタネートでコントロールしてました。ふとしたことで、
 モーメンタリーでもコントロールできるのではと思い、タクト
 スイッチで、簡単な基板を作って、実験してみました。

 結論から言うと、モーメンタリーでも、コントロールが可能
 でした。
 JogモードからMPGモードへの切り替え、各軸の選択は、
 モメンタリースイッチでも大丈夫でした。
 市販のMPGの各軸選択には、ロータリースイッチが使われて
 います。ロータリースイッチにするのは、多分、誤動作防止
 の意味合いが強いのかなと思いました。

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

 本日、やっと最後の部品が届きました。
 なんのことはない、テプラのテープです。
 HCやら、家電店を何件か回ってみましたが、透明に白インク
 のテープがありませんでしたので、○マゾンへ注文し、本日
 やっと届きました。
 文字入れをして、やっと完成です。

 

 文字は、CNCで入れた方が、見栄えが良かったのでしょうが、
 失敗が怖かったので、手っ取り早いテープです。
 モードの切り替えをどうしようと思いましたが、市販のものと
 同じX1、X10、X100にしました。
 自作手パですが、LCD等で、モードの表示でもできたら、
 最高かなと思いましたが、モードの取得やら、信号線が足り
 なくなるでしょうから、信号の変換?やら、とても私の力量
 では、無理かなと思いました。

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

 速度の設定等まだ未知数ですが、手パをSS(スムーズ
 ステッパー)に接続、MACHで動作を確認することができま
 した。
 プラグインのモニターの画面で、PINの状態を確認すると、
 切り替えスイッチのPINも、手パ信号もちゃんと拾ってます。
 手パの信号は、エンコーダーの5に入るようです。1~4は
 DROの信号なんでしょうかね。

 

 青矢印や赤矢印や黄色矢印の部分がきちんと反応してく
 れてますが、 それぞれの軸の数字が変化してくれません。
 あれこれやりましたが、

 

 SSの設定画面の、ポート2の2~9ピンの切り替えを「IN」にし
 て、MACHを再起動したら、やっと動くようになりました。
 今回の設定は、諸兄の設定とほぼ同じです。
 入力ピンの設定と、OEMトリガーと、Encorder/MPG’sの設定です。
 下記のようにしました。

 

 

 

 やはり、それにしても、先達は、すごいです。

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

 ケースに組み込む準備ができましたので、組み込み前の
 テストです。


 LEDの表示もいいようです。1カ所LEDが点灯しない所が
 ありましたが、半田付けの不良でした。
 出力部分のフォットカプラーもLEDの表示に従って、
 接地されるようです。
 今回、ケースに組み込むにあたって、ハードとソフトを多少
 変更して、切り替えがスムーズにいくようにしました。
 そのため、両側ONの跳ね返りスイッチを使い、プログラム
 も多少手を加えました。仕様を変更しても、大部分は、
 プログラムで対処できるのがいいところでしょうか。
 コメント等変更前のものが残ってますが、
 今回使ったプログラムです。
 必要な配線をして、ケースに組み込みます。
 電源は、SSス(ムーズステッパー)から供給するようにします
 ので、SSの設定を外部電源に変更します。

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

 SS(スムーズステッパー)内の配線やら、接続ケーブルやら
 作成します。
 ケースにとりあえずいれておいたSSの基板とコネクター
 の配線を自作の基板(単なる端子台)を経由してしました。
 忘れないために、次のような表を作って配線です。
   (追記 思い違いがあったので、訂正・追記)
      コネクター SS側         MACH設定
       1     ポート3の1     MPG#1(A)へ
       2     ポート3の2     MPG#1(B)へ
       4     5V(外部電源)
       9     ポート2の2     OEM Trig #1へ
      10     ポート2の3 OEM Trig #2+OEM Trig #3
      11     ポート2の4     OEM Trig #3 #4
      12     ポート2の5     OEM Trig #4 #5
      13     ポート2の6     OEM Trig #5 #6
      14     ポート2の7     OEM Trig #6 #7
      15     ポート2の8     OEM Trig #7 #8
      16     ポート2の25(GND)

 

 同時に接続ケーブルもテスターで確認しながら、作成です。

 
 フラットケーブル作成に使ったクランプで端子を固定しながら、
 半田付けです。
 という訳で、完成しました。

 

 代わり映えしない写真ですが、こうやって両端にコネクターを
 つけただけで、材料から部品みたいな感じになるのが
 不思議です。
 ついでにSSをPCに接続して、端子の確認です。
 Machを立ち上げて、Estopの設定をポート2の2
 に設定にして、Active Lowにすると、Estopのスイッチが
 入ってしまいますので、ポート2-2はLOW状態のようです。
 やはり、プルアップが必要なようです。
 自作のインターフェス基板(単なる端子台)のDIPスイッチ
 をONにしてプルアップの設定にしてみると、Active Lowの
 設定で、エマージェンシーの点滅が消えました。
 これで、手パ(手動パルスジェネレーター)切り替え器との
 接続の見通しができました。

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

 部品が届いたので、ケースの加工をします。
 だいたいの大きさで、CF12-18BBを注文しましたが、
 レイアウトの紙を貼ってみると、大きさ的にはちょうどいいです。

 

 今回は、例によって手動?で加工をしようかなと思います。
 60Φの穴の加工がちょっと大変でしょうけど、後は、ドリル
 で一発の大きさなので、パネル面は大丈夫です。
 16芯のケーブルを角形コネクターで接続の予定ですが、

 

 これのメス側の金具の取り付け穴の加工が手間取りそうです。

 

 このケースの前後のアルミの部材は、3mmか4mm程度あり
 そうなので、この部分だけCNCでやろうかなと思います。
 全体的なレイアウトも良さそうな気がします。

 

 しばらく力仕事です。
 ドリルで穴を開けて加工してます。

 

 本当に昔ながらの原始的な方法で穴開けです。60Φが
 大変ですねえ。
 という訳で、加工が終わって、外装?の部品だけを仮組して
 みました。

 

 スイッチの位置がもう少し下側の方がバランスよかったかなと
 思いますが、気に入りました。まだ、表面の保護ビニール
 をはがしてないので、ビニールのめくれが見えます。
 明日は、背面の加工と、基板との結線等をやります。

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

 プログラムがだいたい動作するようになったので、PIC基盤
 の作成を始めました。
 いつも適当にしていましたが、ちょっと、データーシートを見て
 みました。と言ってもLEDのデータですが。
 電子工作を始められたばかりの方が確かめるようにみてみま
 したが、あらためてびっくりです。それは、青色と緑色では、
 がかなり違うことです。データばかりか、値段も約倍です。
 ちなみに、次のようになってます。
         順電圧    動作電流
   緑LED  2.05V    15mA
   青LED  3.5V     15mA
                   (5mAでした。)
 今更、と言われそうですが、やはり未熟者です。
 今回は、結構小さめの基板にもりこんだので、細かい作業
 に時間がかかりました。

 

 久しぶりに、ポリウレタン導線をひっぱり出してきました。
 半田付けにコツがいりますが、絶縁されているので、
 接触させても大丈夫です。まあ、極力、接触、交差のないよう
 にしますが。
 配線をしていて、CNCで、基盤のパターンの切削をされてい
 た諸兄のこと思いだし、切削の方法をちょっと調べて見ました。
 元データーを作るのがちょっと、大変でしょうかね。
 ガーバーデータ作成→→Gコードへ変換の手順になるよう
 です。

---手パ(手動パルスジェネレーター)切り替え器制作(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の復習からでしょうか。