2019-07-07 Sun
ーー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信号よりかなり
高めの回転をします。
http://mabo52.sakura.ne.jp/index.php?e=1223
で確認した,IRF740等のFETを使うと,きっと,応答速度
もよくなるのかと思います。
2019-06-18 Tue
いくつかのFETを使って,PWMで,モーターのコントロール
をしてみました。
4種類ほどですが,だいたい似たような傾向でしたが,
一つだけ範囲の広いものがありました。
IRF740というFETで,◯華製3040というCNCに使われている
ものです。
PWMの範囲が広いので,コントロールするには,やりやすい
のではないかと思いますが,他のものよりも発熱量が多い
ような気がします。
ただ,今回は4つのFET全部同じ回路でテストしました。
厳密に言えばきっと,使ってる抵抗等もFETの特性に応じた物
だと結果が違う物になったかもですね。
実家においてあったPCをもってきましたので,パラレルポート
での,PIDのコントロールについて,調べてみようかと思います。
過日SS(スムーズステッパー)の本家のフォーラムを覗いて
みましたが,印象としてESS(イーサネットのSS)とMACH4
での話題が多くなってるような気がしました。
2019-06-07 Fri
いろいろやってますが,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
これでは,入力した回転数と離れてしまうのは,当たりまえ
ですね。
2019-05-28 Tue
スピンドルをPWMでコントロールすべく,いろいろやってました。
MACH上に,回転数数を表示するのに,以前,
EESX911R
というオムロンのフォトインタラプタ―を使いましたが
〇月にある、
CNZ1023
を使おうと思いました。使えれば、CNZ1023の方が
一個20円と格安なので、コスパ最高なのですが。
結論から言うと、オシロでは、きれいな波形が確認で
きるのですが、残念ながら、私の力では、MACHに
取り込めませんでした。
諸兄のHPを参考に、
プルダウンの抵抗やらいろいろ変化させてみましたが、
だめでした。もしかしたら、前回のように、フォトカプラー
等で、処理しないとだめなんでしょうかね。
ということで、前回使った
EESX911R
で、回転数を取り込んで表示さて、入力した数値との
比較を行いました。
結果、クローズドループのコントロールになるかなと
思いましたが、だめでした。
結果は次のようでした。
回転数入力 ポート2 10番ピン
PWM出力 ポート2 14番ピン
カーネル 2500khz
PWM基本周蓮 1000Hz
MACH SRO 20パーセント
(これが一番数値が近かった)
入力 表示 RPM
1000 1339
2000 2339
3000 3178
4000 3932
5000 4623
6000 5250
7000 5778
8000 6218
9000 6222
MACHの、フィードバック、クローズをコントロール、の
項目にチェックをいれても大きな差はありませんでした。
ただ、またまた未知数なのですが、P、I、D の設定の
項目もあり、ここはデフォでしたので、もしかして、設定
によっては、うまくいくのかな、と思ったりもしました。
ありきたりの実験の様子です。
MACHからのPWMの基本周波数は変換してませんので、
後日、変換した後どうなるか、見てみたいと思います。
なかなか思うようにできないですね。
2019-05-25 Sat
MACHからのPWM制御で,PWMコントローラを通して,モーターを回してみましたが,入力値と,回転数がかなり
離れています。
MACHの問題なのか,PWMのコントローラーの問題か,
それとも,別の問題なのか分からないので,
PWM発生器から,DUTY比を変えて,回転数との関係
を見てみました。
PWMの基本周波数は,2khzにしました。
モーターの最高回転数は,9400rpmです。
DUTY比 回転数
10% 3466rpm
20% 5700rpm
30% 7058rpm
40% 7800rpm
50% 8200rpm
60% 8600rpm
70% 8800rpm
80% 9000rpm
90% 9400rpm
100% 回転せず
PWMのDUTY比と回転数は,比例しないようです。
正確なコントロールをするには,やはりループバック
でコントロールする必要があるのでしょうかね。
回転数をMACHに入れて,ループバックでのコントロール
をしてみたいと思います。
2019-05-20 Mon
前回の記事書いたのもう3年もまえなんですねえ。やるつもりでしばらく(ずっと)中断してました。
機会があって,またその続きをしました。
今回は,実際のスピンドルモーターをMACHから,
コントロールしてみました。といっても,私の実験環境
でですけど。
次の環境で確認しました。
MACH3→Smooth Stepper→◯ECさん基盤
↓ ↓
スピンドルモーター ステッピングモーター
MACH3からのPWM信号は,
◯ECさん基盤→汎用出力 14番
Smooth Stepper→ポート2の 1,14,17
のそれぞれで確認でき,写真赤丸の
PWMコントローラーを介してモーターをコントロールで
きました。
という訳で,今回は,MACHへの数値の入力と実際の
回転数について調べました。
kenerl Speed 25000Hz
Pwm Base Freq. 1000
Pully Selection Min Speed 0
Max Speed 10000
Ratio 1
の設定です。ちなみに,モーターをPWMコントローラー
を介さないで回すと,9949rpmで,約10000rpm
位ですね。
入力数値 実際の回転数
500 2488
1000 4300
2000 6540
3000 7668
4000 8254
5000 8610
6000 8813
7000 8997
8000 9105
9000 9200
10000 回転せず
小さい数字の入力だと
100→約1000
200→約2000
で入力のほぼ10倍になってました。
回転数をMachにフィードバックしていませんので,
フィードバックするように
Use Spindle FeedBack in Sync Mode
チェックを入れるともっと正確になるんでしょうかね。
諸兄のHPにあった,基本周波数と分解能の問題
のような気もしますが。
多分,基本周波数を上げて,分解能をあげると
もっと細かい制御ができるのかなと思います。
後日,基本周波数を変更して,確かめてみようか
と思います。
2016-06-08 Wed
パルスジェネレーターの信号をMACHに入れて見ました。パルスジェネレーターのスイッチをON,OFFしたときだけ,
赤枠の部分の数値の変化がありました。
一度変化すると,その後変化がなくなりますので,多分,
パルスジェネレターの設定のせいかな?と思います。
それで,今日は,フォットインターラプタをつないで,MACH
に入力してみました。
紙をインターラプタに出し入れしてみると,それにつれて,
黄色枠の数値が変化しました。
やはり,考え方としては,いいようです。
円盤を作って,それにスリットを入れて,実際の回転数
を表示させてみたいと思います。
作った円盤をドライバードリルに取り付けます。
手持ちでインタラプターをセットして,回転させると,
回転数を表示することができました。
あれこれ見ていると,パルスの入力設定に関係ありそうな
項目がありました。
Usb SmootStepper v1.7fe Config の設定で,
Spindle IndexPrescaleの項目です。
この数値が,1回転あたりのパルスの数の設定のようです。
写真のように10に設定したところ,タコメーターで測定した
数値の1/10になりましたので,あってると思います。
数値が安定しないのは,もしかして,フォトインタラプタとMACH
の間にフォトカプラーを入れてますので,このカプラーの応答
速度の関係かもしれません。
2016-06-07 Tue
以前,ロックヒルさんの掲示板だったでしょうか,スピンドルの回転数をMACH上に表示することに関する書き込みがあった
ように思います。他の諸兄の掲示板だったかもしれませんが,
ちょっと不確かです。
それによれば,MACHで回転数を表示するには,確か「index」
に信号を入力すればいいような書き込みだったと思います。
この「index」にパルスを入力すると,
ここに表示されるのでしょうか。
手元にある○月のファンクションジェネレーターでパルスを
生成して,簡単なインターフェースを介して,入力してみた
いと思います。
このジェネレーターは,矩形波だと0Hz~10KHzまでの
波形を生成できます。
オムロンのパルスメーターだと,1回転に必要なパルスの
回数を設定できますが,MACHでは,ざっと見たところそ
れがないようなので,たぶん,1パルス1回転の表示になる
ような気がします。
たどすると,このジェネレータで,
(訂正 勘違いでした。RPMですので,0~600000rpmですね。)
なるはずです。さて,どうなるか・・・・・・・。
追記 10000rpm程度まで,表示できればいいので,
パルスジェネレーターで生成するHzは,
10000÷60=166.6
ですね。
インターフェースは,パルスジェネレーターとMACH(PC)の間
にフォットカプラーを入れて,MACHでindexに設定した端子
をアクティブローの設定で,グランドに落とすだけなので,
フォットカプラーと抵抗だけです。
2016-05-17 Tue
ちょっと前に,諸兄のHPを参考にPWMの基本周波数変更の記事を書きました。
作ったプログラムを使って実際の運用はしていないのですが,
運用すべく次の段階に移ります。
今回は,市販(アリエクスプレス)のPWM制御の基盤を使って
みようと思います。
何日か前に書き留めで届きました。これにはちょっとびっくり
です。通常の郵便で届くかと思いましたが,これだと,間違い
も少ないでしょうね。
という訳で,今日,ちょっと調べて見ました。
以前にSABLEの静音スピンドルを購入しましたが,これについ
ていた24Vの電源を使って,PWMの出力波形を見てみました。
最初,オシロに出力波形を出してみて,びっくり。
ノイズだらけ?です。本体が壊れているのかとおもいしたが,
念のために,電源を変えてみました。すると,
きれいな波形です。波形が波形が汚かったのは,電源のせい
でした。こんなに違いがあるんですね。
ちなみに,ノイズがひどかったのが,
の電源です。
ちなみに,PWMの制御基板も○華製です。
波形を見てみると,基本周波数は,約10khzで,PWM
は0%~100%まで,調節可能なようです。
次は,MACHからの信号で,制御してみようと思います。
ちなみに,波形がきれいだったのは,
の電源で,コーセルのメーカーです。
波形がきたなかったのは,
たぶん,○華製でしょうかね。
TOP PAGE △