BananaPi M2 0のPWM

BananaPi M2 0のPWM

バナナパイゼロM2の「ドキュメント」は混乱しても楽しいです。目標:PWMが正しく機能するようにします。

そのため、インストールしてarmbianUSB OTGケーブルが来るまで1週間待ってから(デフォルトのSSHが失敗するため)、SSHを設定して次の手順に従いました。ここにあります。修正された配線pi --utilityをインストールしますgpio。 L / H設定ピンが有効であることを確認できます。

次のステップは、PWMがどのように機能するかを確認することですので、ここから楽しみが始まります。ピンアウトはRaspberry Piと同じように見え、次のように主張します。 ここに画像の説明を入力してください。

私は最後のRPI 0でボードを設計し、ピンGPIO 12(wiringPi 1)を使って次のようにしました。

# gpio mode 1 pwm
the pin you choose is not surport hardware PWM
you can select PA6 for PWM pin
or you can use it in softPwm mode

したがって、読んだように、これは「ウルトラ」ではなく、PA6を試してみる必要があります。

PA6が何であるかわからないので検索して発見しました。このトピックのトピック

だから、次のように設定しました。

# gpio mode 7 pwm
you choose the hardware PWM:1

これは私がPWM:1を選択したことを意味します。 (1 on?)もちろん、デューティサイクルを設定してLEDが点灯するのを待っていましたが、前述のスレッドの紳士のように、次のような結果が得られました。

# gpio pwm 7 100
val pwmWrite 0 <= X <= 1024
Or you can set new range by yourself by pwmSetRange(range

入力したデューティサイクルの値によってエラーは変わりません。

私が見つけた次善策PWMオーバーレイを追加し、PWMを有効にし、期間とデューティサイクルを設定します。コマンドはエラーなく通過しましたが、LEDは点灯しません。制限の始まりで提案されているように、PWMラインはGPIO 15(UART_TXD)に接続されました。- そうなんですか? ?

これは私のものです。armbianEnv.txt

# cat /boot/armbianEnv.txt 
verbosity=1
bootlogo=false
console=both
disp_mode=1920x1080p60
overlay_prefix=sun8i-h3
rootdev=UUID=986b3dcb-01f8-4965-8a16-03b55c7341fd
rootfstype=ext4
overlays=i2c0 pwm w1-gpio
usbstoragequirks=0x2537:0x1066:u,0x2537:0x1068:u

気づいたばかりで、i2c0ユーティリティで追加できるのでw1-gpio大丈夫でしょう。overlaysarmbian-config

しかし、私に尋ねるなら:

root@bananapim2zero:~# ls /boot/dtb/ | grep pwm
root@bananapim2zero:~# ls /boot/dtb-6.1.11-sunxi/ | grep pwm

そのようなオーバーライドは表示されないのでわかりません。

最後に、すべての略語を理解したいと思いますPAGPIO ピン名はここにリストされています。CON2-私の言葉は、そこにいくつかのロジックがあるようですが、なぜこれらの名前の前に2つの別々のテーブルがあり、2つの異なるGPIOCON3-があるのか​​わかりません。P{0-24}UARTとは何ですか、なぜセーター

主に:PWMを操作する方法は? i2c と w1 がその後をきちんと追いついています。

私はその答えが、RPIの代替案を探すより多くの失われた魂にインスピレーションを与えると信じています。

ありがとうございます!

ベストアンサー1

はい、わかりました。

昨夜遅く、私はGPIO 40ピンヘッダーの外側にベンダーからUARTというラベルが付けられた3つの個々のピンがあることに気づかなかった。 ここに画像の説明を入力してください。

2つの異なるUARTを見つけることができます。 ここに画像の説明を入力してください。

gpioユーティリティは次のいずれかを通知します。 ここに画像の説明を入力してください。 ただし、これはビジュアルに過ぎず、PWM:7に設定したピンにはラベルが付けられていません。少なくとも出力にはありません。そしてそれはうまくいきません。だから葉巻はありません。私はそれがなぜ起こるのか知りたいです。なぜなら私が見ることができるからです。dev bontagoは、このボードの目的に合わせてこのユーティリティを特別に調整しました。

ピンアウトの混乱を解消するために、カード側のRx UARTピンは、最初の図のようにPWMです。

ここでは、OSレベルでPWMを有効にして使用する方法を確認できます。

# activate the PWM. On H3 only 1 PWM is supported, so exporting PWM 0
echo 0 > /sys/class/pwm/pwmchip0/export
# set period to 10ms
echo 10000000 > /sys/class/pwm/pwmchip0/pwm0/period
# set normal polarity. needs to be reset explicitly. Bug?
echo "inversed" > /sys/class/pwm/pwmchip0/pwm0/polarity
echo "normal" > /sys/class/pwm/pwmchip0/pwm0/polarity
# enable the PWM
echo 1 > /sys/class/pwm/pwmchip0/pwm0/enable
# set duty cycle to 1ms
echo 1000000 > /sys/class/pwm/pwmchip0/pwm0/duty_cycle
  • はい、PWMは1から始まるので、それをエクスポートして「一般」極性を最初に設定してから、慣れた方法で実行できます。

# uname -a Linux bananapim2zero 6.1.11-sunxi #23.02.2 SMP Sat Feb 18 05:52:53 UTC 2023 armv7l GNU/Linux

おすすめ記事