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

 以前作っておいたPWMの基本周波数変換のプログラム
 XC8 V1.35 用に書き換えました。
 PWMの発生器で動作も確認しましたが,大丈夫なようで

 す。元になった諸兄は,変換後の周波数は,少なくとも
 20kHz必要だと書いていましたが,私は,
     100Hz→→10KHz
 にしてみました。まだ,基板に組んでないのですが,
 実験基板で,実際のコントロールがどうなるか確認して
 みたいと思います。参考までに,下記がプログラムです。
  main.c
 例によって,コメント,ゴミ等が沢山あります。

“---SPINDLEのPWM制御 (その2) (5)” への4件の返信

  1. AGENT: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:67.0) Gecko/20100101 Firefox/67.0
    TRさん,書き込みありがとうございます。
    このプログラムは,PWMの基本周波数を変換するものです。
    MACHからのPWM信号を使って,モーターを回転させるためです。
    変換しないで直接モーターやPWMコントローラーにMACHからの信号いれてもいいようですが,
    MACHからの信号の解像度を上げるのには,
    基本周波数を低くする必要があるようです。
    一方,モーターをコントロールするには,PWMの基本周波数が高くないといろいろ不具合がですので,
    低→高 に変換した方がうまくいくということなので,
    やってます。
    プログラム難しそうですが,それほど複雑なことはしていません。
    ただ,割り込みを複数使ってますので,一見複雑にみえます。
     timer0→→MACHからのPWMの信号の有無を割り込みから判断し,なければ出力のPWMのDUTYを0にする。
     timer1→→コメントアウトしてますが,信号の表示用です。
     timer2→→MACHからの信号のサンプリングで,MACHからの信号のDUTYを計ります。それと出力のPWMの生成。
     外部割り込み→→計ったDUTYに基づいて,出力のDUTY比の入力と,信号の有無を判断
    みたいなことやってます。
     

  2. AGENT: Mozilla/5.0 (Linux; Android 7.1.1; ASUS_X00HD) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.157 Mobile Safari/537.36
    推測です。
    machからPWMが発生しているが、PICでPWM基本周波数を変換し、変換後の値をmachの画面のMotorControlのPWM BaceFreqに書き込まないと駄目なんだ!?

  3. AGENT: Mozilla/5.0 (Linux; Android 7.1.1; ASUS_X00HD) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.157 Mobile Safari/537.36
    周期を変える?
    それとも、DUTY比を変えるプログラムですか?

  4. AGENT: Mozilla/5.0 (Linux; Android 7.1.1; ASUS_X00HD) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.157 Mobile Safari/537.36
    めちゃ長い!です
    ギブ
    理解不能

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA