---モグラ取り器の作成 (2)---

 昨日に引き続き,モグラ取り器の制作ですが,今日は,弁をつけて
 モグラ取り出し口をつけて完成です。

 

 弁を水糸でつけました。
 根本の方に切り込みを入れて,とります。

 

 これをガムテープで塞いで完成です。

 

 明日にでも,釣具屋さんに行って,ミミズを購入し,中に
 入れて,仕掛けてみようと思います。

---モグラ取り器の作成 (1)---

 庭が以前からモグラの被害にあってました。
 そこで,いくつものモグラ取り器を仕掛けてきました。
 唯一,筒状のモグラ取り器に2~3匹捕獲することができました。
 過去記事
 
 ただ,この捕獲器は,土中に埋めるせいか,錆がかなり
 でてきました。
 一説によると,モグラは,においには敏感で,人工的な物
 の臭いがあると,警戒するとの記事も見かけました。
 そこで,YouTubeにもでていた,竹製の捕獲器を制作する
 ことにしました。
 知人の家から,太めのの竹と,細目の竹をもらってきて加工
 します。
 太めの竹です。孟宗竹かな。

 

 これを6等分ぐらいにします。

 

 これを電動カンナで,厚さ4~5mm程度の板状に加工します。

 

 糸鋸でだいたいの形を切り出し,グラインダーで整形します。

 

 中くらいの竹と加工した弁です。

 

水糸?で竹の中に半固定します。
 後,モグラの取り出し口をつけると完成です。

PWM信号発生器のシリアル通信

 過日,いろいろ試すのに◯mazonkから,PWM信号発生器を購入し,
 便利に使ってました。

 

 商品の説明にもシリアル通信ができると記述があり,基盤の裏
 にも TXD RXD の記述があるので,外部からコントロール
 できるのかなと思ってました。
 手持ちのシリアル通信のアダプターに接続し,PCから,あれこれ
 やってみました。
 最初「テラターム」でやりましたが, FAIL の文字が帰ってくる
 だけで,通信はできているようでしたが,うまくいかないようでした。
 「シリアル通信ソフト」というソフト名のプログラムをベクターから
 DLして,試してみると,あっけなく通信ができました。
 (起動にあたっては,管理者権限で起動しないとだめでした。)
 難しいプロトコルが必要かとおもいましたが,簡単なコマンドで,
 制御できるようです。

 

 写真は, ”read” のコマンドで,設定の状態を読んでいます。

   F055 → 周波数
   D090 → DUTY%

 と,表示されている数値を読み取ることができました。
 ちなみに,設定するには,

  周波数 001→999     F*** (ex F090 →90Hz)
  周波数 1.00→9.99   F*.**(ex F1.45 →1.45KHz)
  周波数 10.00→99.9  F**.*(ex F10.45 →10.45KHz)
  周波数 1.0.0→1.5.0 F*.*.*(ex F1.4.6 →146KHz)
  DUTY  1→100       D***(ex D090 →90%)
  read    設定データの読み取り

 でした。まだ,やっていませんが,PICからもコントロールでき
 そうなので,これを使った方が,手軽にPWMの信号のコントロール
 できるかもですね。

---SPINDLEのPWM制御 (その2) (8)

ーーMACH パラレルポートでのPIDコントロールーー
 パラレルポートでの,PIDコントロールについて,調べました。
 Smooth Stepper では,うまくいかなかったのですが,
 パラレルポートでは,うまくいきました。
  kernel Speed 100Hz
  Moter Control
    Use Spindle Motor Output と PWM Controlにチェック
  Special Function
    Closed Loop Spindle Control にチェック
    P→1.6 I→1.0 D→1.0
  PWMBase Freq 100
  Index 入力 ポート 1の11ピン
  PWM 出力 ポート 1の14ピン
 の設定で試してみました。
 入力した回転数に,MACHの方で,追従していく様子が確認
 できました。
 MACHは,やはり優れ物です。
 PIDの設定を最適化すれば,応答速度等,よくなるような気が
 します。
 最初デフォルトの
   P→0.25 I→1.0 D→0.3
 でやりましたが,入力回転数に追従する時間が多少かかり
 ました。Pを1.6に増やしたら,かなり追従までの時間が
 短くなりました。一端上がって,下がります。
 念のため外部の回転計でも回転数を計測しましたが,
 MACHの表示とほぼ同じでした。
 パラレルポートでは,確認できましたが,Smooth Stepperで
 実施するには,なにか設定があるのでしょうかね。

 

 私が確かめたのは,写真のような実験環境です。

 

 パラレルポートにジェンダーコネクターをつなぎ,ジェンダー
 コネクターから引き出した線に各信号線を結線しであります。
 今回使ったPWMのコントローラーは,◯華製のもので,
 PIDコントロールしないと,MACHからのPWM信号よりかなり
 高めの回転をします。
    2019年6月18日の記事
 で確認した,IRF740等のFETを使うと,きっと,応答速度
 もよくなるのかと思います。

振り子--スイング

 ポケモンgo等のゲームで,歩く距離を稼げるのうたい文句
 で,ちょっと前にAmazonで購入しました。

 

 最近,システム側で,この装置の検出を組み込んだみたいで,
 以前のようには,距離を稼げなくなりました。
 そこで,ダメ元で,ちょっと分解してみました。中には,
 コイルが。

 

 振り子の裏側はトランジスタとおぼしき半導体が。

 

 という簡単な構造でした。
 ネットでくぐると,多分下記のような,回路ではないかと
 想像できました。

 

 この動作原理はちょっとわかりませんが,
 簡単な構造だったんですね。
 分かる方なら,ちょっとの改造で,規則的な振り子の運動
 を,不規則なものに改造できるんでしょうね。
 ちなみに,システムに感知されないように,不規則な動き
 ができるようになったものが,発売になってます。

自作デジポット(デジタルポテンショメーター)---(3)

ーーーグレイコード(3)ーーー
 A相とB相の信号を使えば,回転方向を検出できることは,
 理解できました。
 これをプログラムで実現するには,いくつか方法がある
 ようです。
 自作のMPG関連では,B相の立ち上がりを検出し,それを
 DFFのICにいれて,回転方向を検出してました。
 今回は,別な方法でやってみようかなと思います。
 基本的な考え方は,◯月の取説にあったように,前回と
 今回の2回のサンプリングをして,その組み合わせの全部
 から回転方向を決める方法です。
 エンコーダーから,出力されるグレイコードをバイナリ変換
 して,前回と今回の2回のサンプリングの差を取って,+1
 の場合は時計方向,-1の場合は逆時計方向としてもいい
 のですが,バイナリ変換するのにビット操作が必要なので,
 私にはちょっと苦手かなと思います。
 それで,組み合わせを全部拾い出し,それをインデックスに
 して,回転方向を決めるのが私には分かり易いかなと思い
 ました。
 前回グレイコード(2)記事の表から,前回と今回の
 サンプリングの可能性を考えて見ます。
 可能性は,次のようになります。
  
  時計回転
  前回→今回
  00 →00 動かない(0)
  00 →01 時計回転(+1)
  00 →11 一つ先に移動(エラー)
  01 →01 動かない(0)
  01 →11 時計回転(+1)
  01 →10 一つ先に移動(エラー)
  11 →11 動かない(0)
  11 →10 時計回転(+1)
  11 →00 一つ先に移動(エラー)
  10 →10 動かない(0)
  10 →00 時計回転(+1)
  10 →01 一つ先に移動(エラー)
  逆時計回転
  前回→今回
  00 →00 動かない(0)
  00 →10 逆時計回転(-1)
  00 →11 一つ先に移動(エラー)
 
  10 →10 動かない(0)
  10 →11 逆時計回転(-1)
  10 →01 一つ先に移動(エラー)
  11 →11 動かない(0)
  11 →01 逆時計回転(-1)
  11 →00 一つ先に移動(エラー)
  01 →01 動かない(0)
  01 →00 逆時計回転(-1)
  01 →10 一つ先に移動(エラー)
 全部で16通りありますので,前回を2ビットシフトして,
 今回と合計すると,その数値がインデックスの数値として
 使えることになります。エラーを100とすると,
  m[(前回<<2)+今回]=数値
  m[0000]=0
  m[0001]=1
  m[0011]=100
  m[0101]=0
  m[0111]=1
  m[0110]=100
  m[1111]=0
  m[1110]=1
  m[1100]=100
  m[1010]=0
  m[1000]=1
  m[1001]=100
  m[0010]=-1
  m[1011]=-1
  m[1101]=-1
  m[0100]=-1
 のようになり,[ ]内を16進数に直すと,
  m[0]=0
  m[1]=1
  m[3]=100
  m[5]=0
  m[7]=1
  m[6]=100
  m[F]=0
  m[E]=1
  m[C]=100
  m[A]=0
  m[8]=1
  m[9]=100
  m[2]=-1
  m[B]=-1
  m[D]=-1
  m[4]=-1
 のようにすることができます。この配列を使えば,
 回転方向の検出ができることになります。

自作デジポット(デジタルポテンショメーター)---(2)

ーーーグレイコード(2)ーーー
 グレイコードをWikipediaでは,
 グレイコード(英: Gray code、交番二進符号
 (こうばんにしんふごう、英:Reflected Binary Codeなどとも)
 とは、数値の符号化法のひとつで、前後に隣接する符号間
 のハミング距離が必ず1であるという特性を持つ
 よような事が書いてあります。なんの事やらと思いましたが,
 どうやら,連続する2進数の符号の変化が,一つだけする
 表記の仕方のようでした。
 ですから,通常の表記とは,違ってるようです。下記がその
 対比表です。

 

 通常の2進数では,
   3→4の変化で 0011→0100
 のように3箇所変化してますが,
 グレイコードでは,
   3→4の変化で 0010→0110
 のように,1カ所しか変化していません。
 この性質が,エンコード等のデータの変化を取り出すのに
 エラーが少なくなるとのような記載もありました。
 エンコーダーの出力をみてみると,その出力は,まさに,
 グレイコードでした。

 

 エンコーダーの出力を Hightを 1 Lowを 0 として,
 B相を1ビット目,A相を0ビット目とした,2進数の出力と
 見てみると,見事にグレイコードの出力になってました。
 なぜ,回転の出力をA相,B相の出力に分けてあるのか,
 なんとなく理解できました。

自作デジポット(デジタルポテンショメーター)---(1)

 ーーーグレイコード(1)---
 縁あって,X9C,AD5220というデジタルポテンショメーター
 を弄る機会に恵まれました。
 存在は,たまに見かけて知っていましたが,スピンドルの
 DCモーターのコントロールもなんとかできました。
 そこで,同じような原理で,自作してみようかなと思いたち
 ました。
 構想として,ロータリーエンコーダーや,タクトスイッチ等で
 アップ・ダウンができること。
 7セグLEDかLCDでモニターできること等,できればいいなと
 思ってます。
 そこで,いろいろ調べ始めました。手始めに,
 ロータリーエンコーターをあたりました。
 以前,自作のMPGを作成した時に,ちょっと,調べたのですが
 調べるといくつか分からないことがでてきました。
 まず目にとまったのが◯月の,
  http://akizukidenshi.com/catalog/g/gK-00083/
 の取説の記事で,
  現在の値をf(t1),一つ前の値をf(t0)とし,記号”<”を
  左ビットシフト,”+”を ex-or をそれぞれ表すものとし
  て,
    D=f(t0<1)+f(t1)
  という回転判別式を定義します。
  (1)時計回りの場合
     入力系列が 00,01,11,10・・・・・・であるので,
    D0=(00<1)+01=01     D1=(01<1)+11=01     D2=(11<1)+10=00     D3=(10<1)+00=00  の記述があり,演算結果の2ビットめを見ると,回転方向  を判別できると記載がありました。  ここで,なぜ,シフトするのか,なぜ,ex-orをするのか,  釈然としませんでした。  いろいろHPをあさりましたが,どうやら,グレイコードに  関係がありそうだということが諸兄のHPで分かりました。   ロータリー・エンコーダの使い方
  ロータリーエンコーダの使い方
  
 等を見て,シフトやex-or グレイコードに関係する
 ということがなんとなく分かりました。
 グレイコードについて,調べて見ます。

---SPINDLEのPWM制御 (その2) (7)

 いくつかのFETを使って,PWMで,モーターのコントロール
 をしてみました。
 4種類ほどですが,だいたい似たような傾向でしたが,
 一つだけ範囲の広いものがありました。
 IRF740というFETで,◯華製3040というCNCに使われている
 ものです。
 PWMの範囲が広いので,コントロールするには,やりやすい
 のではないかと思いますが,他のものよりも発熱量が多い
 ような気がします。

 

 ただ,今回は4つのFET全部同じ回路でテストしました。
 厳密に言えばきっと,使ってる抵抗等もFETの特性に応じた物
 だと結果が違う物になったかもですね。
 実家においてあったPCをもってきましたので,パラレルポート
 での,PIDのコントロールについて,調べてみようかと思います。
 過日SS(スムーズステッパー)の本家のフォーラムを覗いて
 みましたが,印象としてESS(イーサネットのSS)とMACH4
 での話題が多くなってるような気がしました。

根付きました。

 防犯カメラ設置のきっかけになった,レオナルド・ダビンチの
 バラですが,おられた幹を捨てられなくて,何本かに分けて,
 挿し木をしました。
 20本近く挿し木しましたが,そのうちの3本がどうやら大丈夫
 なようです。

 

 新しい葉っぱも出てきて,元気よく育ってるような気がします。
 大きな鉢に植え替えたいですが,もうちょっと,待って植え替え
 たいと思います。
 ただ,どうなんdねしょう,もともとのバラは,台木に接ぎ木
 がしてありました。
 接ぎ木しなくても,育つんでしょうかね。