Team for GR-PEACH Producer Meeting

PWM出力 ArduinoのD5/D6との互換性

30 Nov 2014

DFROBOTのモーターシールドを接続しようとしたのですが、D5/D6のPWM出力(PwmOut)がGR-PEACHではうまくいきませんでした(LEDと同様のプログラミングでは動かないです)。 仕方がないので、D5/D6をDigitalOutにして、正逆の回転切り替えの動作は確認できました。

DigitalOut motor1_dir(D4,1); /* 0で逆回転 */

DigitalOut motor2_dir(D7,1); /* 0で逆回転 */

DigitalOut motor1_pwm(D5,1); ← 本当はPwmOutにしたい

DigitalOut motor2_pwm(D6,1); ← 本当はPwmOutにしたい

ライブラリに問題があるのでしょうかね? あと、回路図で気になるのが Arduino-D5相当のDIO5はP11_12が割り当てられており、PWM機能がないのかなと心配しています。

/media/uploads/skycatneo/--------.jpg

ちなみに、ETHERのコネクタが邪魔なので、ユニバーサル基板を加工したものを間に挿入しました。

01 Dec 2014

ぐだぐだ設計者です。

本来D5がPWMの信号にArduinoはアサインしてある為の問題だと思われます。D6はPWMになるはずなんですが・・・

D6/7のUARTがGR-SAKURAとTX/RXが逆になっているとのご相談もありますのでこのあたりは善処できるか検討させていただきます。

01 Dec 2014

新野さん、前野です。 お世話になります。 D6の方は私のプログラミングが間違っていたようで、修正後に正常にPWM出力できました。 ありがとうございます。 D5の件、PWMが出せるように検討をお願いします。 ArduinoのD3/D5/D6/D9/D10/D11はPWM可能なので、 世の中のシールドとの互換性の為にこれらのPWM機能は必須かなと思います。

01 Dec 2014

ぐだぐだ設計者です。

PWMに関してはRZの制限もありますし今アサインしているUARTやSPIを潰すことになると思います。 この辺はPWMをどの程度の人が使用しているのか調査が必要になりますのでご希望どおりにPWMをアサインできない可能性があります。 D3かD5に関してはD8とスワップすればI/F数を減らさずに済む気がしますがD3かD5のどちらかは諦めることになると思います。 D10/D11に関してはSPIと被りますのでどちらをとるかの話になると思います。 個人的な見解で申し訳ないのですがPWMよりSPIの方が使用する方が多いのかな?という感じでアサインしておりますので。 ミーティングでもお話したと思うのですが全てのシールドをサポートできるかどうかというのも難しい話になります。 どちらにしろ検討課題とさせて頂きます。

01 Dec 2014

モーターシールド用にD8とD5のスワップだけでもお願いします。 SPIは使いますのでD10/D11は現状維持だと思います(PWMは諦めて)。