[戻る]
一括表示

PWM制御について 投稿者:まるも 投稿日:2016/09/14(Wed) 01:13:09 No.675

12F683を使用しています。
アセンブリを使用しています。
PWM制御でLEDを高速点滅させております。
かつ、10ms毎に点滅のオンオフをします。
10ms高速点滅 → 10ms消灯 を繰り返します。

10ms高速点滅 → 10ms消灯 へ移行する処理は
CCP1CONレジスタをCLRFします。

10ms消灯 → 10ms高速点滅 へ移行する処理は
初期で設定した値を入れます。

その際他のI/O入力である信号を入れているのですが、その信号に
PWMに同期する様に信号が乗ってしまい入力している信号は無視されてしまいます。
ちなみに、PWM制御で点滅を繰り返すLEDのGNDを外すと、その
信号は消えます。
以上のことが分かりません。
設定等は初期設定できちんとされていると思います。

ちなみに、ずっとLEDを高速点滅させている場合はI/O入力の信号は
きちんときます。
ですので、高速点滅 → 消灯 の際にいじるレジスタが関係しているのではないかと考えているのですが、どうにもピンの設定と関係がないので、
分からずじまいです。

お時間があるときでよろしいのでご教授のほどよろしくお願い致します。

Re: PWM制御について 投稿者:Gokan 投稿日:2016/09/14(Wed) 18:51:57 No.676

これはプログラムの問題ではなくハードウェアの問題だと思います。
・バイパスコンデンサをPICのVDD端子の近くでGND間に接続する
・GNDの配線を短くする
・LEDのGNDを電源のGNDの近いところで接続する

などの対策が必要です。


> 12F683を使用しています。
> アセンブリを使用しています。
> PWM制御でLEDを高速点滅させております。
> かつ、10ms毎に点滅のオンオフをします。
> 10ms高速点滅 → 10ms消灯 を繰り返します。
>
> 10ms高速点滅 → 10ms消灯 へ移行する処理は
> CCP1CONレジスタをCLRFします。
>
> 10ms消灯 → 10ms高速点滅 へ移行する処理は
> 初期で設定した値を入れます。
>
> その際他のI/O入力である信号を入れているのですが、その信号に
> PWMに同期する様に信号が乗ってしまい入力している信号は無視されてしまいます。
> ちなみに、PWM制御で点滅を繰り返すLEDのGNDを外すと、その
> 信号は消えます。
> 以上のことが分かりません。
> 設定等は初期設定できちんとされていると思います。
>
> ちなみに、ずっとLEDを高速点滅させている場合はI/O入力の信号は
> きちんときます。
> ですので、高速点滅 → 消灯 の際にいじるレジスタが関係しているのではないかと考えているのですが、どうにもピンの設定と関係がないので、
> 分からずじまいです。
>
> お時間があるときでよろしいのでご教授のほどよろしくお願い致します。

Re^2: PWM制御について 投稿者:まるも 投稿日:2016/09/15(Thu) 23:50:34 No.677

そうなのですね。
ledに約1kオームつなげたらいけました。

なぜそうなるのかご教授して頂くことはできますでしょうか。

Re^3: PWM制御について 投稿者:Gokan 投稿日:2016/09/16(Fri) 08:32:36 No.678

まず LEDに電流制限抵抗をいれていないとどうなるかというと
LEDは単純なダイオードなので、電流が無制限に流れます。
結局PICの出力ピンの能力いっぱいまで流れます。

これでPICが壊れることはないのですが、別の問題が起きます。
大電流がLEDに流れると、その電流が通過するPICのGND電位が上がり
0ボルトではなくなってしまいます。特にパルス状に流れると
その立ち上がりでGND電位が高くなりPICはもう0ボルト基準では
動作せず、プログラムが暴走することになってしまいます。

このような過電流の状態でなくても、たくさんの負荷が同時に
動作するとき同じような現象がおきます。これによる誤動作を
防止するため、PICの電源ピンの近くにコンデンサを付加して
急激な電流増にはコンデンサに貯めている電気を使うことで
GND電位の変化を抑えるようにして誤動作を防止します。


> そうなのですね。
> ledに約1kオームつなげたらいけました。
>
> なぜそうなるのかご教授して頂くことはできますでしょうか。

Re^4: PWM制御について 投稿者:まるも 投稿日:2016/10/19(Wed) 23:17:39 No.719

Gokan様
お礼が遅くなり申し訳ありません。
Gokan様のお陰で目的のプログラムと基盤が出来ました。
この度は有難うございました。
またよろしくお願いいたします。

- WebForum -