ーーーグレイコード(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
での話題が多くなってるような気がしました。
根付きました。
値段の不思議
---SPINDLEのPWM制御 (その2) (6)
いろいろやってますが,MACHからの信号でDCモーターを
回す,回したモーターの回転数をMACH上に表示,の二つ
は,どうにか達成することができました。
ただ,MACHに入力した回転数と実際の回転数にかなりの
開きがあります。
MACHからのPWM信号のDUTY比を調べたところ,入力
の回転数とほぼ比例していることがわかりました。
そのPWM信号を入れている◯華製のコントローラーを調べて
みると,入力のPWM信号のDUTY比と回転数は,比例関係
にはなっていないようでした。
よくわからないのですが,これは,もしかして,回路に使われて
いるFETの特性に関係あるのかなと邪推しました。
そこで,先達のHPを参考に,別なFETを使って,ドライバー
を作ってみることにしました。
どうなることやら・・・・・・・・・。
ちなみに,◯華製のコントローラーと入力DUTY比の関係は,
およそ,最高回転数9000RPMのDCモーターで,
次のようでした。
入力DUTY比 RPM 予想されるRPM
4% 1283 360(9000×0.04)
6% 2256 540 ・・
7% 3049 630 ・・
11% 4061 990 ・・
14% 5003 ・・ ・・
19% 6125 ・・
25% 7000
36% 8015
69% 9000
これでは,入力した回転数と離れてしまうのは,当たりまえ
ですね。
---番外編---
PICをあれこれいじってます。
ところが,昨日,突然,PICへの書き込みができなくなりました。
思いつくこと全てやりましたが,だめでした。
それで,PICKITが故障かなと思い,安いの早速ポチりました。
夜,また試してみようと,あれこれやると,
原因が判明しました。PICと基盤接続の自作のコードの一本が
コネクターの部分で,断線してました。
あーあ,あーあ,
ジェジェジェジェッ
でした・・・・・。