なんとか電子鉄琴、AutoCelestaを再構築していて、その中で起きたこと
モータードライバDRV8871 モジュールを使用して、DCモーターを制御して鉄琴を叩く仕組みにしてるんだけれど
以前は制御用マイコン RP2040 の出力ピンが潰れてしまうことがあった
だから今回の再構築では、フォトカプラをRP2040-モータードライバ に挟んでみたらいいかと思っていた

フォトカプラPC817を挟んで、保護したつもり
だけど、動作確認してみたら、PWM波を下げてもほぼ全力でモーターが動く
オシロスコープに少しでも慣れてみようと思い、調査してみることに

この.freq がPWM周波数で hammerbackduty が出力の割合 dutyが小さいとオフの時間が長く、dutyが大きいとオンの時間が長い
PWM周波数 20000(20kHz) duty 60000のとき

↑RP2040 PWMピン直接の出力 きれいにPWM出力が拾えた オシロスコープって周波数まで表示されるんだね

↑フォトカプラを通して出力された波形 出力最大で平坦になっちゃってる
PWM周波数 20000(20kHz) duty 30000のとき(およそ半分の出力)

↑RP2040 PWMピン直接の出力 ピン自体の出力はコードに書いた通りきれいに出てる

↑フォトカプラを通して出力された波形 出力が下がりきらずほとんどオンの状態
いちおう、2kHzに周波数を落として再調査
(だけど、それだと可聴音の域に入るので、モーターから音が聞こえてしまう、、、)
PWM周波数 2000(2kHz) duty 20000のとき

↑RP2040 PWMピン直接の出力

↑フォトカプラを通して出力された波形 やっぱり出力下がるまで時間がかかっている
フォトカプラは遅延が発生するから、PWMには不向き、って後で知ってしまった

↑今回使っていたPC817のデータシート 応答時間 上昇、下降 それぞれ4マイクロ秒 3マイクロ秒 の遅延 最大で18マイクロ秒の遅延

PWM周波数 2000(2kHz) のときのオシロスコープ
白い枠一つ分の幅が上に表示されている250マイクロ秒(μs)に当たるみたい
500マイクロ秒ごとに波形が作られている 上昇側は遅延ほぼないように見える
下降側が50マイクロ秒くらい遅れているように見える??
うまく電圧が逃がせてないとかありそう
結論として
- PWM出力にフォトカプラをかませるのは不向き
- フォトカプラを選ぶ際にちゃんと高周波対応のものを選ぶ
- フォトカプラの組み方によっては電圧が逃げないから波形がよりおかしくなる
ってところなのかな
独学でやっていたら、こういう初歩のようなことでも詰まってしまうね
そもそものところだけれど、IC系は5動作、モーターへの電圧はバッテリーをそのまま繋いで18V
って電源の取り方がまずかったと思ってる
電源別はキープしつつ、モーターへも5V前後の電圧を供給するようにすれば、ピン飛ばないようになるのではなかろうか、、、
コメント