GR-SAKURA
GR-KURUMI
GR-COTTON
GR-CITRUS
GR-PEACH
GR-KAEDE
GR-ADZUKI
GR-LYCHEE
GR-ROSE
GR-MANGO(*)
SNShield
Web Compiler
IDE for GR
TOPPERS関連
女子美コラボ
その他
※プロデューサミーティング中
作り方使い方資料
イベント関連
作品記事
体験記事
ライブラリ
ツール
その他・過去ファイル
山口と申します。初投稿です^^;
GR-LYCHEEでPWM出力を試したいのですが、
PWM使えるポートはありますでしょうか?
試しに
PwmOut pin(P6_10)
PwmOut pin(P3_10)
とポート指定して使おうとすると
ボード上の4つのLEDがピカピカして(システムエラー?)動きませんでした。
PwmOut pin(P5_14)だと大丈夫そうなのですが、、、
そういうものでしょうか?
見当違いの質問でしたら申し訳ありません。
よろしくお願いいたします。
自由に PWM が使えるのは P5_14(D0) だけだと思います。
ピンマップにある TIOC のピンと半分くらい一致していないので、現在のライブラリの PinMap_PWM[] の内容が適切でない可能性もあるかもしれません。
ぐちさん、fujita nozomuさん、ご指摘ありがとうございます。
mbedのPWM機能を実現するために、LSI機能「マルチファンクションタイマパルスユニット2」のPWMモード1を使用しています。(PWMモード2は全チャネルの周期が共通になるため使用しません。)PWMモードとして使用できる端子は以下の通りです。
ピンマップにあるTIOC端子は以下のようになっており、下記のPWMモードが1の端子のみPWMに指定できます。
端子 機能 PWMモード 補足P2_4 TIOC4A 1 LED_GREENP3_11 TIOC3A 1 LED_YELLOWP3_13 TIOC3D - LED_ORANGEP2_2 TIOC0C 1,2 LED_REDP3_10 TIOC3B - D8P6_8 TIOC3B - D5P6_9 TIOC3C 1 D4P6_10 TIOC3D - D2P5_14 TIOC2A 1,2 D0P4_1 TIOC2B 2 IO19(ESP32)P4_0 TIOC1B 2 IO22(ESP32)P2_3 TIOC0D 2 RSTB(Camera)P2_5 TIOC3A 1 PWDN(Camera)
そのため、自由に使用できるPWM端子はP6_9(LCD未使用時)とP5_14のみとなります。
To:に~のさん上記内容で問題ないようでしたらピンマップのTIOCを修正いただけないでしょうか。
dkatoさん。
長い間検証頂いたみたいでありがとうございます。
少しこちらでも検証してみました。
テンプレートベースで改めて数箇所 pwm 操作用関数を追加したソース一式 (添付します) を添付します。
// ※ でコメントしてある行を(4か所を)追加しています。
で、わかった点ですが、
このノースをそのまま、Lychee基板+カメラのみで実装したところ、上手くいきます。(再現しません)
ところが、いくつか外部に回路を接続すると、ハングします。
接続しているのは以下の2つ。
・I2c Wire( 20pin , 21pin ) →プルアップ抵抗 10kΩ+レベル変換用バッファー(TXS0102DCTR) →モータードライバー(DRV8830)
・Pwm (D0 pin) →レベル変換バッファー(TXB0102DCUR)) →サーボモーター
レベル変換用バッファの一次側電源は Arduino互換コネクタの 3.3V から、二次側は5V モバイルバッテリーから入れています。
なんとなく負荷がかかるとハングアップするように見えますが、そんなことありえるのでしょうか?
ちなみに、上記構成で I2c 側のバッファを ICソケットから外した状態 (プルアップだけがつながっている状態) でも
やはりハングアップしました。
電源は USBコネクタから入れていましたが、そういえばVIN にモバイルバッテリーの 5V を直接入れていたとき、 OpenCV の部分が全く動かないと
いった現象があったのも思い出しました。
(訳が分からなくなってきました。)
> 添付の仕方もわかりませんでした。
[Reply] をクリックの後、`Use rich formatting' をクリックするとファイルをドロップすることで投稿に添付できるようなります。
添付するファイルの種類には制限があるので予め .zip にしておくと良いでしょう。
今回、私もモーター使いましたがTakSanさんの指摘そのまんまの対策を取りました。GR-LYCHEE自体が結構電気食うだろうと思っていたので、USBからの電力供給は選択肢から外し、モータドライバー基板側からGR-LYCHEEに供給する方式としました。ルネサスナイトのLT後もずっと電源入れっぱなしで、帰りの片付け時間までリセットすることなく動作していました。
モーター駆動していない状態で400mA位でした(ESP32のWiFi使ってます)。瞬間的にはもっと高いと思います。バッテリーは電動ガン用のものを使いました。右側のモバイルバッテリーは3200mAhのモノですが、それよりはコンパクトですし瞬発力もあります。
※個人的には、マイコンボード側でモーターの電力まで賄える必要は無いかなと思ってます。
全然PWMとは関係無い話になってしまいましたが、ご参考まで。
横から失礼いたします。
>※Vinは5.5V以上なので、モバイルバッテリーだと電圧不足で正常に動作しないと思います。
私は、VIN から 5V を取って、3Gシールドを動作させることができました(USB 電源では、電流が足りず ? に誤動作します)。GR-LYCHEE の回路図を拝見すると、VIN は TPS563201DDCR につながっています。TPS563201DDCR の仕様書を参考にすると、その IC の入力電圧範囲は 4.5V-17V になっています。
確かに GR-LYCHEE の仕様では、Vin として DC 5.5~16V(Arduino Compatible Pin –Vin-) の記載があり、TPS563201DDCR の入力電圧範囲の仕様 4.5V-17V の両側 1V 内側になっています。TPS563201DDCR の仕様書から、Vout=0.768x(1+R1/R2) であり、GR-LYCHEE から R1=62K, R2=11K ですので、 Vout(=V5R0_IN)≒ 5.1V になります。その後、V5R0_IN は、ショットキーバリアダイオード RB060M-30 に接続された後、基板に供給され、また USB 電源も同じ種類のダイオードに接続されて、基板に供給されているようです。USB電源の仕様は 5V ですが、VIN は 5.5V以上になっています。
GR-LYCHEE の製作者にお尋ねしたいのですが、 Vin の入力電圧範囲が 4.5V-17V ではなく、なぜ DC 5.5~16V で制限されているのでしょうか?
に~のさん、回答ありがとうございます。その後、もう一度、TPS563201 の仕様書を見たのですが、Step-Down Voltage Regulator となっていましたので、Vout=5.1V で設計している場合には、VIN は出力抵抗(RDS(on)h High-side switch resistance)に流れる電流による電圧降下を考慮して、5.1V より多少高めの 5.5V で保証されているのは妥当かと思われます。失礼いたしました。