トピック関連記事
48時間以内の記事は New Mark で表示されます
Re: 続7ーPWM
maboさんへ、

VGSの電圧ですが、2Vからですね、もっと低い電圧からの方がいいと思います。
TR 2019/06/07(Fri) 12:51 No.1597
Re: 続7ーPWM
うわー、またまた引っかかってしまった―

…と思ったらTRさんが立ててくれてた(^^)/


> TRさん

薦める方法は特にありません。使用者が何を求めているか?でしょう。
総体としては、ちゃんとGコードで回転数まできちっと制御するのがマシンとしてはベストなのでしょう。
けれども私は、切削途中で様子を見ながら手動で変えたいタチなので、全くそのような制御は望みません。
強いて言えば、Gコードが終わった時に同時に止まってくれればOKという感じです。

つなぎ方から言えば、そのつなぎ方でも良いかもしれないし、上手くはいかないかも知れないし、といった所です。
重要な部分は最終的な部分、つまりx9c〜ML4が上手く行くかどうかです。
ここをテストしなければ方針も定まりません。

>デジタルでやった方が良いです。
これは「デジタル信号を受信するなら」デジタルで受けた方が良い、と言っただけです。アナログ信号ならADCで受けます。

>Maxでは1kΩ程度ですね。
これは〜4.5Vの部分です。5Vに「0.5V足りない」、という部分が1kΩ相当という意味です。

X9Cに関して、簡潔に言えば、出力ピン=VWピンからLEDを繋いだら(電気を使ったら)ダメという事です。
LEDを取った状態で計測しなければ意味がありません。



> MABOさん
電気を流す時間と回転数が比例するとは思えません。例え合わせたとしても、トルクをかけるとまた条件が変わるでしょう。
あくまで、MACHからの信号は目標回転数としてくるのであって、実際の回転数は別物として制御する必要があると思います。
※これはシンクロにチェックを入れない=PWMで目標回転数を伝える設定の場合です。

で、MACHにその機能(目標回転数に合わせてPWM信号が変化する)があるのなら、そっちがどう動くのかに期待しています。
猛牛ロック   2019/06/07(Fri) 12:57 No.1598
Re: 続7ーPWM
>X9Cに関して、簡潔に言えば、出力ピン=VWピンからLEDを繋いだら(電気を使ったら)ダメという事です。
LEDを取った状態で計測しなければ意味がありません。


抵抗値計測の際を言っているのでしょうか?
無論、LEDやLED付属の抵抗を外しています。

それでも、300〜8500Ωです。
TR   2019/06/07(Fri) 13:58 No.1599
Re: 続7ーPWM
いいえ、電圧を測る際の事です。

となると、RH-RL間は8200Ωなのでしょうか?
で、抵抗値が8500Ωは一応、想定内の数値です。
でも300Ωは多すぎますね。
まぁ、ワイパーの抵抗はあまり関係ないでしょうから、一番大事なのは出力される電圧値です。

でも、https://www.instructables.com/id/X9C103P-Basic-Operation/
あたりの結果が完璧なだけに、何故そんな特性なのか疑問です。
まぁ、販売元なので、信用できるデータかは判りませんけど。
猛牛ロック   2019/06/07(Fri) 14:45 No.1600
Re: 続7ーPWM
猛牛ロックさんへ

英語ができて羨ましいです。

初期化関数の99回ダウンの数値を100に変更
ついでに、アップも99から、100に変更
抵抗値は、下が210Ωになりました。

データシートには100ワイパーとか書いてあったけど、
0を含んで数えている、含んでいないに迷うと、
どっちなんだろうと、悩みます。 
起算値を0にしてとか、表現をして欲しい。

上限の約8.5kΩは、データシートに
End-to-End Resistance, ±20%
と表記されていたので、この関係でしょうか。

一番心配なのは、回りだしてしまうことです。
TR   2019/06/07(Fri) 15:17 No.1601
Re: 続7ーPWM
> 100ワイパーとか書いてあったけど、

その辺りは一緒ですよ。
で、ワイパー抵抗が300→210と約90Ωのダウンですね。
もしかしたらその下に2段階あるのかもしれません。
そして2つ下がったら40Ωになるのかも??
私のプログラムが悪いのかもしれませんね。※場合によってはその回路も含む


例えば、PICは1.8V?から動作します。一方、X9Cは推奨動作条件は5V±10%とかなり狭い範囲です。
で、100ufのコンデンサを付けたらゆっくり電圧は上昇しますから、最初にPICだけ起動して、X9Cが準備が出来る前に
初期化関数が走っている可能性があります。
なので、・・・

初期化関数の前に
__delay_ms(100);
と入れて試してみてください。


で、電圧の方ですけど、Vwの先に何も繋がなければ0〜5Vになると思っています。
(ワイパー抵抗は関係なく、という事です)
上も下も頭打ちなんで、さっぱりわかりません。


> 一番心配なのは、回りだしてしまうことです。
全くその通りですね。


<追記します>

私の読み取った限りでは、ワイパー抵抗とはいわゆる、FETのオン抵抗というやつじゃないかと思っています。
(確信はありませんけど)
つまり、添付図の赤点線の部分の抵抗だと思っています。
そうだとしたら、変形させれば右図のようになるので、ちゃんとRLに繋いだ電圧からRHに繋いだ電圧まで取得出来るだろう、
と考えています。

実際、そうなってくれないと困るんですけどね。

猛牛ロック   2019/06/07(Fri) 15:45 No.1602
Re: 続7ーPWM
猛牛ロックさんへ

今、網戸を張り終えました〜。簡単。

おっしゃっているのは、下記の通りでしょうか?
試しにやってみましたが、相変わらず210Ω〜8.5kΩです。

   記
__delay_ms(100);
//初期化関数
x9c_init();
while (1) {


電圧ですか。
テスター棒の黒をGNDに
VWには何もつけずに、赤テスター棒をVH(テスター棒以外は、何も付けない)を計測
結果、0V

網戸と違って難しいです。


お写真すみません。
抵抗は、0〜99で、100ですね。
TR   2019/06/07(Fri) 16:54 No.1603
Re: 続7ーPWM
プログラムはその通りです。
相変わらずですか。じゃあ、ワイパーは一番下まで来ているのかなぁ?
まぁ、上記のように、ワイパー抵抗はあまり関係ないと思っています。
位置が下がっている事が重要です。
重要なのは出力の電圧が0〜5Vまで動いてくれる事です。

VLにはGND、VHには5Vを繋いでください。


ウチは障子がボロボロになってるんだよなぁ(*_*;
猛牛ロック   2019/06/07(Fri) 17:02 No.1604
Re: 続7ーPWM
maboさんへ
PWM用FETいいやつを思い出しました。

自分のクーラントポンプもPWMでやっています。
パワーMOS FET  IRLI520NPBF
もともとは、秋月電子のPWMキットに使われていました。確かそうです。
TR   2019/06/07(Fri) 21:07 No.1605
Re: 続7ーPWM
TRさん,猛牛ロックさん,こんばんは。


今日は,DCモーターをPWMコントローラーのボリュームの

方に切り替えて,あれこれやってみました。

MACHからのPWMのDUTYをオシロで確認しながら,

ボリュームで,MACHへの入力RPMを変化させたとき,

DUTY比の変化があるのかないのか,確認しました。

同時に,P I Dのそれぞれの数値も大きく変えてみました。

結果,目視ですので,DUTYに多少の変化は見られるような気がするものの,大きな変化は少ない感じでした。

ただ,Pの値を大きくすると,DCモーターの回転が1秒ぐらい回転して,すぐ止まってしまいますので,

影響はあるようです。

調整の幅があるとすれば,そんなに大きくない感じです。



TRさん,FETの紹介ありがとうございます。

このへんは,本当に苦手で,困ります。

今実験に使ってるDCモーターが 24V 150W 6A


のもので,突入電流等を考えると,ちょっと,ぎりぎりかな,

なんて,思ってます。

それと,今使ってるPWMコントローラーのボリューム調べましたが,

やはり,5Vのコントロールで,100Kですので,

TRさんの注文したX9Cで使えるかもです。

ML4で実験する前に,PWMのコントローラー等で,

できるのなら,実験した方がいいかもですね。

コントローラーは,2800円ぐらいなので。

https://www.amazon.co.jp/ZhongKiYi-12V-110V-DC%E3%83%A2%E3%83%BC%E3%82%BF%E3%83%BC%E3%82%B9%E3%83%94%E3%83%BC%E3%83%89%E3%83%89%E3%83%A9%E3%82%A4%E3%83%90%E3%83%BC%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%A9%E3%83%BCPWM-MACH3%E3%82%B9%E3%83%94%E3%83%B3%E3%83%89%E3%83%AB%E3%82%AC%E3%83%90%E3%83%8E/dp/B07P6VPK5X/ref=sr_1_2?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&keywords=%EF%BC%B0%EF%BC%B7%EF%BC%AD+%EF%BC%AD%EF%BC%A1%EF%BC%A3%EF%BC%A8%EF%BC%93&qid=1559915654&s=gateway&sr=8-2


猛牛ロックさん,ありがとうございます。

>電気を流す時間と回転数が比例するとは思えません。例え合わせたとしても、トルクをかけるとまた条件が変わるでしょう。

だと思います。他の物はわかりませんが,今使ってるPWMコントローラーの

FETの特性が偏ってるようなきがしてるのです。

仮に,MACHに調整の機能があったとしても,

その,調整範囲を超えてるような気がするのです。

実際はわかりませんが。

猛牛ロックさんは,否定的なご意見でした

諸兄のHPにある,回転数を見るとMACHへの入力の

5%の範囲に収まってるとの記事があるので,

FETの違いなのかなと思った次第です。
mabo   2019/06/07(Fri) 22:56 No.1606
Re: 続7ーPWM
maboさんへ


質問
ご紹介くださった、PWMコントローラーですが、秋月電子と同じ機能を持っていますか???
http://akizukidenshi.com/catalog/g/gK-06244/
以前、DCモーターのスピードコントロールに使っていました。

アマゾンの商品説明は分かりずらいのでお聞きしました。
同じ機能だと思いますがいかがでしょうか?


>同時に,P I Dのそれぞれの数値も大きく変えてみました。

PIDは、?今回の波形を見る機器ですか?
TR   2019/06/08(Sat) 05:42 No.1607
Re: 続7ーPWM
maboさんへ
今、machの画面で気づきがありました。
smoothstepperのプラグインコントロール クリックして、
さらに、
スムスステッパーのデータモニタリングをクリックすると現れる画面です。
写真の右上方、赤矢印にPWMと怪しい!!
クリックするのでは、そうしたら、SSで、スピンドルの為につないだピンからPWMを発生できるのでは??

でも、今回の計画がうまくいったら、
FUSION360のCAMで作ったプログラムで
スピンドル迄、制御できるので
大変便利になる。

TR   2019/06/08(Sat) 09:01 No.1608
Re: 続7ーPWM
> MABOさん

DCモータの特性から言えば、確かに電圧と測度は比例関係にありますね。
ただ、マブチモータとかはそうかもしれませんけど、工業用の可変速モータや
スピンドル用のモータはちょっと特性が違うと思います。
トルクをかけてもマブチモータのように速度は落ちませんし、(超)低速でも回りません。
回り始めた瞬間にはある程度の速度になります。
まぁ、FETを含めたドライバの特性という事になるんでしょうか。

私自身はモータとドライバと分けてテストする経験が無いので変えればより、比例に近くなるかもしれません。

それと、No.1595の特性ですけど、かなり良いと思います。でもこの特性図から、比例云々はわかりません。
この図で見るべきところはどの位でスイッチングされるか、そして、何アンペアまで流せるか、と言った事です。
「5VのPWMなら半分の2.5Vでスイッチングされているのが良い」、という事になります。
温度特性にもブレが無いですし、電流値、まぁそれはFETの種類で大きく変わりますけど、自分の予定よりも充分大きければ
良いのではないでしょうか。
ただ、問題の「比例関係」の部分では関係のない特性図です。
要はスイッチング速度が速い、ターンオン時間とターンオフ時間が同じ(でかつ短い)という部分だと思います。
FETのゲートはコンデンサと同じですから容量が少ない物が良いと思います。
で、あとやはり気にするのはオン抵抗です。やはり低発熱の物が良いですよね。
といっても、アナログ回路は聞きかじり程度ですから。


あと、MACHの方ですけど、[CLOSED LOOP]にチェックは入れましたよね?(確認まで)



> TRさん

秋月のやつは「ボリュームでPWM設定→モータ制御」という手動スピードコントローラです。

アマゾンのやつは、万能タイプです。
電源もAC100Vも入れれますし、コントロールも手動、MACHからのパルス入力の切り替えもできます。
駆動能力も数倍〜1桁程度違うと思います。
(FETは基板の真裏=放熱器の所にあるのでしょう。確認できません)
猛牛ロック   2019/06/08(Sat) 11:54 No.1609
Re: 続7ーPWM
maboさん、猛牛ロックさんへ


>MACHからのパルス入力の切り替えもできます。

いずれにしても、DC電圧をPWM化できるわけですよね。
このコントローラーの目的は、DC電圧をPWM化することですよね。

そうなると、

SS〜SEC基板(PWM化)〜ローパスフィルター(アナログ化)〜アマゾンPWMコントローラー(PWM化)となるわけですね。
ここから、自分の場合

〜x9c(デジタル処理で平準化される電気エネルギー)〜ML4


上記の流れをmaboさんは、テストの上お勧めなんだろうか?

よくわからないのですが、、
自分の目的は、ML4についている可変抵抗をx9cに換装して、うまくいったらスピンドルモーターを制御できるデス。
この場合、
〜ローパスフィルター(アナログ化)〜アマゾンPWMコントローラー(PWM化)
この部分は不要に思いますが、如何でしょうか?

ここ数回のやり取りでは、そう言われている感じがしますけど。


無論、いきなりではなく、
既存の制御システムを使て、LEDの点灯を確認してから、ML4とx9cを繋ぎます。
テスト方法
SS〜SEC基板(PWM化)〜x9c(デジタル処理で平準化される電気エネルギー)〜LED



しかし、
猛牛ロックさんのプログラムを学習していますが、なぜ、x9cが、約8.5kΩまでしか上がらないんだろうか?
分かりません。
TR   2019/06/08(Sat) 12:49 No.1610
Re: 続7ーPWM
猛牛ロックさんへ

プログラムについて教えてください。

1行目で、初期化関数を呼び出しているので、
1行目で、x9cの値を0としていますよね?

7行目
for文でtargetに、adc配列の値を0,1,2,3の計4回の合計値を代入させていますよね、

8行目
7行目により、4回分雪だるまにしたtargetを、ここで、40.93で割っているのですよね。

9行目は、またまた、難しい、
9行目は、x9c_up関数を呼び出し、
且つ、
初期値0で始まる,//外部変数 char x9c_valの値を
1づつtargetの直近下位の値まで引き上げているのでしょうか?

//初期化関数
01 x9c_init();
02 while (1) {
03 static unsigned int adc[4] = {0};
04 static char num = 0;
05 unsigned int target = 0;
06 adc[(++num)&3] = adconv();
07 for (char i = 0; i < 4; i++)target += adc[i];
08 target /=40.93;
09 if (target > x9c_val)x9c_up();
10 else if (target < x9c_val)x9c_dowm();
11 __delay_ms(1);
12 }


長くなってすみません。
宜しくお願いします。
TR   2019/06/08(Sat) 13:07 No.1611
Re: 続7ーPWM
TRさんの場合=可変抵抗方式なら、関係ないと思います。

> 既存の制御システムを使て、LEDの点灯を確認

いやいや、そんなことをする必要ありません。
例えばその可変抵抗の元になっている3本の線(仮にL5、Lg、Loutとすると)、
@10kΩ程度の抵抗を、LgとLoutを繋いだ状態で動くか?
A10kΩの抵抗を、L5とLoutに繋いだ状態で動くか?
と言った事です。@で動かないで、AでMAXで回れば大丈夫です。
Aで、低速回転や動かないのなら駄目、という事になるかも。

LEDはPICプログラムの確認にしかなりません。


> x9cが、約8.5kΩまでしか上がらないんだろうか?
RH-RL間の抵抗はどのぐらいでしょうか?
実際にはその抵抗値は問題ではありません。問題はワイパー位置が0から99まで動いているか、です。

ML4は抵抗値を計測している訳では無いので、とにかく、電圧の方を計測してください。


if (target > x9c_val)x9c_up();
「目標値」が「現在のワイパー位置」よりも大きければ、ワイパー位置を1つあげる。
という意味です。数段階ずれていたら、whileのループを数回回って、目標値をワイパー位置を同じにします。


> 10 else if (target < x9c_val)x9c_dowm();
最期は、x9c_down();です。
猛牛ロック   2019/06/08(Sat) 14:20 No.1612
Re: 続7ーPWM
計測は、新しいx9c102が来てからにしましょうよ、
実は、ブレットボードからx9c103外してしまいました。
どうしようもなくなったら、再度ブレットボードを組み立てますよ。

9行目は、
C言語不慣れな自分にとっては、見慣れない使い方でした。
どうしてかというと、
関数を呼び出して、かつ、if文が同時にあるからです。
今までは、if文の{}内は、せいぜい、変数でしたから。


x9c_up関数は、wiper upさせる3条件(CS(グランドへ),INK,UD)を実施させる関数ですよね?




//初期化関数
01 x9c_init();
02 while (1) {
03 static unsigned int adc[4] = {0};
04 static char num = 0;
05 unsigned int target = 0;
06 adc[(++num)&3] = adconv();
07 for (char i = 0; i < 4; i++)target += adc[i];
08 target /=40.93;
09 if (target > x9c_val)x9c_up();
10 else if (target < x9c_val)x9c_dowm();
11 __delay_ms(1);
12 }



>例えばその可変抵抗の元になっている3本の線(仮にL5、Lg、Loutとすると)、
@10kΩ程度の抵抗を、LgとLoutを繋いだ状態で動くか?


猛牛ロックさんのの言われている意味が想像つきません。
LEDの代わりに、10kオームをつないだ場合、既存制御システムでマッハが動作するかということでしょうか?

そうであれば、x9cの3端子をL5、Lg,Loutに繋ぐのかな?
TR   2019/06/08(Sat) 15:08 No.1613
Re: 続7ーPWM
猛牛ロックさんの

プログラムですが、>です。
=を付けた方が良いのでは?

前 if (target > x9c_val)x9c_up();

変更後 if (target >= x9c_val)x9c_up();
TR   2019/06/08(Sat) 18:01 No.1614
Re: 続7ーPWM
TRさん,猛牛ロックさん,こんにちは?

今日は,ちょっと,山仕事で疲れてます。


さて,TRさん,

>同時に,P I Dのそれぞれの数値も大きく変えてみました。
これですけど,

P I Dは,MACHにある設定です。

Config→Ports and Pins→Spindle Setup


概要は,下記にもでてます。

https://ja.wikipedia.org/wiki/PID%E5%88%B6%E5%BE%A1



紹介した◯mazonのPWMコントローラーですが,

アリにもより安い値段でありますね。MACH3 PWM でくぐるとかかります。

このコントローラー紹介したのは,

X9CとML4をいきなりつなぐのは,リスクあるかなと思ったからです。

ML4の回路がどうなってるかわかりませんし,いきなりより,
リスク減るかななんて思った次第で,他意はありません。


多分,動作の確認は,できると思います。

このコントローラーを使えば,二通りの確認ができます。

◯SEC(PWM出力) → ローパスフィルター(直流変換) →X9C → コントローラー(電圧制御)→適当なDCモーター
(コントローラーのボリュームとX9Cを置き換え。)

私は,これ,実機がきたら試してみようと思います。

電圧で制御する方が,DUTY比でコントロールするよに,

比例動作に近い動きになるかも,なんて気もしてきました。


◯SEC7(PWM出力)→ → コントローラー → 適当なDCモーター
(コントローラーにPWM信号を直接入れる。)

のふた通りの確認ができまると思います。

ただ,TRさんには,2番目の確認は,必要ないかもですね。


>〜ローパスフィルター(アナログ化)〜アマゾンPWMコントローラー(PWM化)
>この部分は不要に思いますが、如何でしょうか?

はい,Amazon,アリ,のコントローラは,あくまでも,テストのためで,X9Cと置き換えがうまくいけば,コントローラーは必要ありません。

SEC→→ローパスフィルター →→ PICのAD変換 →→ X9C →→ ML4

でいけるかもしれません。

それから,LEDでの確認は,猛牛ロックさんのおっしゃるように,

あくまでも,PICの動作の確認だと思います。

そのPICのプログラムを使って実機が動作するかどうかは,

その,次の段階のように思います。



猛牛ロックさん,いろいろありがとうございます。

もちろん,Closed loop にはチェックは入れました。

いろいろやってますが,ふと,SSを介さないで,パラレルポートだけだと,どうなのか,

気になり出しました。

パラレルでの確認となると,使ってないデスクトップ,
出さなきゃならないので,ちょっと面倒なのですが(笑)。

今日,別なFET,等部品が届きましたので,

ドライバー作成して,実験してみたいと思います。

mabo   2019/06/08(Sat) 18:31 No.1615
Re: 続7ーPWM
TRさん,追記です。

猛牛ロックさんがおっしゃってるのは,

ML4のボリュームの部分にきている3本の線のところに,

抵抗をそれぞれつないで見るということだと思います。

半固定抵抗を固定抵抗に置き換えてみて,

下記のようにすれば,ということだと思います。

>いやいや、そんなことをする必要ありません。
>例えばその可変抵抗の元になっている3本の線(仮にL5、Lg、Loutとすると)、
>@10kΩ程度の抵抗を、LgとLoutを繋いだ状態で動くか?
>A10kΩの抵抗を、L5とLoutに繋いだ状態で動くか?
と言った事です。@で動かないで、AでMAXで回れば大丈夫です。
>Aで、低速回転や動かないのなら駄目、という事になるかも。

実機がきたら,これを,私は,これをPWMのコントローラーで,やってみます。
mabo   2019/06/08(Sat) 18:39 No.1616
Re: 続7ーPWM
添付図のように、元々ついているボリュームから3本外して、
@のテストなら右の図のように接続して、(残りの1本は図のように開放)
スピンドルをオンにして下さい。
Aは青-赤間に抵抗です。

他には何もつけません。その外したボリュームがどういった使われ方なのかの確認作業です。


> if (target >= x9c_val)x9c_up();
駄目です。

> if (target > x9c_val)x9c_up();
> 「目標値」が「現在のワイパー位置」よりも大きければ、ワイパー位置を1つあげる。
> という意味です。

同じ値なのにワイパーの位置を上げたら、目標位置を行き過ぎますよね?
目標位置に達していたら、何もしません。

猛牛ロック   2019/06/08(Sat) 18:47 No.1617

処理 記事No 暗証キー

- JoyfulNote v6.02 -
++ Edited by Hamel ++