バナー
 テクノロード掲示板
ようこそ! ゲスト   [登録]  [ログイン]
返答
 件名:Re:DCモータのPWM周波数について.. 2011-02-20 10:09:36 
syun
参加日時: 2010-11-14 14:35:06
投稿: 1
場所

早速のご返答ながらこちらからの返信が遅れてしまい申し訳ありません。この件は先日試してみました。200kともなると測定が非常に厄介でしたが(というより測定不能)低周波数ではモータを動かすだけのことですが、大体思うようなことができました。どうもありがとうございました。

IP Logged
引用
 件名:Re:DCモータのPWM周波数について.. 2011-02-14 12:07:19 
admin2
参加日時: 2009-08-19 09:20:38
投稿: 113
場所

Coronのご利用有難うございます。

 

DCモータのPWM周期を変える方法ですが、coron_init();後に下記のようにすれば変更できます。

(※動作は確認していません)

ただし、DCモータのPWM制御ではタイマ割り込みを使用している為、

周波数を上げすぎると他の処理(RCサーボなど)に影響が出てきますので注意してください。

 

//DCモータPWM周波数変更関数(Hz=11~720000)

void  DC_PWM_Setting(u32 freq){

    u32 x=0;

    x = 720000 / freq;

    TIM_PrescalerConfig(TIM2,(x-1), TIM_PSCReloadMode_Immediate);

}

 

//周波数変更

    u32 DCfreq = 500;

    coron_init();

    DC_PWM_Setting(DCfreq);   //500Hzに変更

    USB_puts("DC PWM Frequency = ");//周波数を表示

  USB_putn(DCfreq,4);                           //(周波数,4桁)

    USB_puts("  \r\n");                                 //改行

 

10Hz以下の場合はもう少し色々と変更する必要が出てきます。

(周波数が遅すぎるとPrescaler値がオーバーフローしてしまう為です)

逆にそのくらいの速さであれば、mainループ内でPWM信号を作ってしまっても良いかと思います。

 

IP Logged
引用
 件名:DCモータのPWM周波数について.. 2011-02-13 10:21:20 
suzuki

ゲスト

はじめまして。大変お世話になります。

最近coronを購入し、サンプルプログラムやこのフォーラムを利用していろいろと勉強させてもらっています。その中で、標記の件を利用することでDCモータの速度や安定性がどのように変化するのかを調べたいと思っています(実験をやる前の事前検討です)。現状は3k程度で固定されている(何もさわっていません。デフォルトです)ようなのですが、どのようにすれば変更可能なのでしょうか?またそれはCrispy Coronのサンプルプログラムのようにパラメータとして表に出すことはできるのでしょうか?ご教授お願いいたします。

IP Logged
引用
返答
ページ # 


Powered by ccBoard