k-marine
2025年2月20日 15時50分
==========
製品型番: AX2210-U00D0
Debian/ABOSバージョン:3.20.3-at.3
カーネルバージョン:5.10.226-0-at
==========
お世話になります。
PWM0を使用し、サーボモータを動かしています。
サーボモータが、不定期に動く場合があります。
動かない場合もあります。
サーボモータは、ラジコン用サーボモータ(PWMで位置制御)になります。
サーボモータが問題なのか、ソフトの問題か切り分けができておりません。
以下のように、PWMを設定していますが、なにか他に設定が必要もしくは
値が異なるなどありますでしょうか。
なにか情報あればご教示下さい。
コメント
k-marine
> ==========
> 製品型番: AX2210-U00D0
> Debian/ABOSバージョン:3.20.3-at.3
> カーネルバージョン:5.10.226-0-at
> ==========
> お世話になります。
>
> PWM0を使用し、サーボモータを動かしています。
> サーボモータが、不定期に動く場合があります。
> 動かない場合もあります。
>
> サーボモータは、ラジコン用サーボモータ(PWMで位置制御)になります。
>
> サーボモータが問題なのか、ソフトの問題か切り分けができておりません。
> 以下のように、PWMを設定していますが、なにか他に設定が必要もしくは
> 値が異なるなどありますでしょうか。
>
> なにか情報あればご教示下さい。
>
■設定内容
こちらが、抜けていました。
ご確認ねがいます。
stPersist.stPWM.period[0] = 20000000 # 20ms
stPersist.stPWM.duty_cycle[0] = 2170000 # 2170μs
stPersist.stPWM.change_unit[0] = 10000 # 10μs
stPersist.stPWM.change_interval[0] = 0.01 # 10ms
stPersist.stPWM.duty_cycle_min[0] = 1594000 # 1594μs
stPersist.stPWM.duty_cycle_max[0] = 2746000 # 2746μs
at_makoto.sato
k-marine
at_shota.shimoyama
k-marine
> 下山です。
>
> stPersistなどで検索してみても、それらしい情報にヒットしなかったためお聞きしたいのですが、
> Pythonでは何のライブラリを使用されているのでしょうか?
>
> よろしくお願いします。
■ありがとうございます。
参考は、御社のHOWTOを参考にして、echoで直接PWMドライバを
たたいてます。
https://armadillo.atmark-techno.com/howto/aiotg4-pwm-buzzer
特にライブラリは使っておりません。
下記の4つパラメータ設定し、DUTYを制御しております。
[container /]# echo 0 > /sys/class/pwm/pwmchip0/export
[container /]# echo 1000000 > /sys/class/pwm/pwmchip0/pwm0/period
[container /]# echo 500000 > /sys/class/pwm/pwmchip0/pwm0/duty_cycle
[container /]# echo 1 > /sys/class/pwm/pwmchip0/pwm0/enable
設定順序(ENABLEが先など)や、duty_cycle値の設定分解能(10usceごとに制御)など
ありますでしょうか。ご教示願います。
at_shota.shimoyama
> 設定順序(ENABLEが先など)や、duty_cycle値の設定分解能(10usceごとに制御)など
> ありますでしょうか。ご教示願います。
添付いただいた順序やコマンドで問題ないように思えます。
サーボモータが問題なのか、ソフトの問題か切り分けができていないということでしたので、
まずは問題が発生する最小限のコードを突き止めるというのはいかがでしょうか?
もしPythonを実行せずにパラメータを設定するだけでも発生するのであれば、LinuxのドライバかSoCかサーボモータや周辺の回路に問題がある可能性が高くなります。
ちなみに問題の発生頻度はどのくらいでしょうか?
よろしくお願いします。
at_makoto.sato
2025年2月20日 16時23分
佐藤です。
> サーボモータが問題なのか、ソフトの問題か切り分けができておりません。
> 以下のように、PWMを設定していますが、なにか他に設定が必要もしくは
> 値が異なるなどありますでしょうか。
どのように設定していますでしょうか。
加えて、差し支えない範囲でかまいませんのでソフトからどのように制御しているのか
ソースコード等があると適切なアドバイスができるかと思います。