(続)ESP32のLEDCについて調べてみた。 [ESP32]
某SNSで、LEDCで16チャネル分のPWM出力した時、チャネル8以降でDutyを0に設定してもLOWにならない!と言う話。その後
https://www.facebook.com/groups/927623023964478/permalink/2015391691854267/
件のコードは以下。
前回は秋月で3450円で売っている簡易オシロ( http://akizukidenshi.com/catalog/g/gM-12972/ )で確認した。このオシロではDuty=100%時になんかヒゲが出ている事は確認している。
今回はもう少しましなオシロ( http://akizukidenshi.com/catalog/g/gM-10135/ )で確認してみる。
チャネル8の出力で、Duty=100%と0%の両方で止めてみた波形が以下
Duty=100%
Duty=0%
ともにおよそ15μsのヒゲが出ている事が観測される。またDuty=100%ではLOWに落ち切らず、800mVくらいオフセットが出ている。
※15μsは、PWM周波数が256Hz、分解能が8bitからであろう。
※どうも8bit分解能ではDuty=100%にする為には256を設定しないとダメみたいだ。0~256???
※Duty=0%にしてもLOWに落ち切らない現象はチャネル8(以降?)で発生する。
※件の問題の原因がこれかどうかは判らない。
※しかしこれはライブラリのバグでしょう!
※esp32-hal-ledc.cのledcWriteを見てみると、
チャネル8が所属するグループ1側は値の変更に対して、チャネル0~7のグループ0はクロックの停止をしている?なぜグループで対応が異なるのかは判らない。
※githubでも報告されていますねん!
https://github.com/espressif/arduino-esp32/issues/1909
https://www.facebook.com/groups/927623023964478/permalink/2015391691854267/
件のコードは以下。
#define L1 27 #define L15 2 void setup() { Serial.begin(9600); pinMode(L1,OUTPUT); ledcSetup(0, 256, 8); ledcAttachPin(L1, 0); pinMode(L15,OUTPUT); ledcSetup(8, 256, 8); ledcAttachPin(L15,8); delay(10); } void loop() { for(int vr = 0; vr <= 255; vr++) { ledcWrite(0,vr); ledcWrite(8,vr); Serial.println(vr); delay(10); } delay(2000); for(int vr = 255; vr >= 0; vr--) { ledcWrite(0,vr); ledcWrite(8,vr); Serial.println(vr); delay(10); } delay(5000); }
前回は秋月で3450円で売っている簡易オシロ( http://akizukidenshi.com/catalog/g/gM-12972/ )で確認した。このオシロではDuty=100%時になんかヒゲが出ている事は確認している。
今回はもう少しましなオシロ( http://akizukidenshi.com/catalog/g/gM-10135/ )で確認してみる。
チャネル8の出力で、Duty=100%と0%の両方で止めてみた波形が以下
Duty=100%
Duty=0%
ともにおよそ15μsのヒゲが出ている事が観測される。またDuty=100%ではLOWに落ち切らず、800mVくらいオフセットが出ている。
※15μsは、PWM周波数が256Hz、分解能が8bitからであろう。
※どうも8bit分解能ではDuty=100%にする為には256を設定しないとダメみたいだ。0~256???
※Duty=0%にしてもLOWに落ち切らない現象はチャネル8(以降?)で発生する。
※件の問題の原因がこれかどうかは判らない。
※しかしこれはライブラリのバグでしょう!
※esp32-hal-ledc.cのledcWriteを見てみると、
チャネル8が所属するグループ1側は値の変更に対して、チャネル0~7のグループ0はクロックの停止をしている?なぜグループで対応が異なるのかは判らない。
※githubでも報告されていますねん!
https://github.com/espressif/arduino-esp32/issues/1909
2018-11-26 09:31
nice!(0)
コメント(0)
コメント 0