燃料注入の際に、100[us]のオーダーで弁の開閉制御をするのが目的です。AVRの出力H/L切り替え時間は暗黙の掟で周知されているのか、データーシートにもネット上にも全然情報がなかったので、実験することにしました。

今回測定したのは、AVRの出力でどれだけ時間的に短いパルスが作れるかです。つまり、出力をHighにしてからすぐLowにしたら、キチンと5Vまで印加されるのか。H/Lの切り替え時間は何secぐらいなのかということです。

測定に使用したAVRは ATmega328P プログラムは以下のものです

親切な近くの部活動からオシロスコープを借りて、測定した結果は以下です。

H/L切り替え測定(1) H/L切り替え測定(1)

オシロスコープは使いなれていなかったので、別の信号と合成されてしまったのか、思いのほか乱れています。

横軸は1ブロックあたり1[us]、縦軸は1ブロックあたり2.5[V]です。

1[us]で切り替えができているように見えますが、5[V]まで上がり切れていないような気もします。ノイズも、ほかの信号と混ざったのではなく、切り替えが早すぎて最後まで電圧が上昇しきれなかったのでしょうか?

次に、一度Highにした後、1[us]のdelayを発生させてからLowにするコードを書き、測定しました

H/L切り替え測定(2) H/L切り替え測定(2)

今度は、ノイズもなくきれいなパルスになりました。

縦軸のレンジが変化して、1ブロックあたり1.25[V]になっています。

電圧も十分に5[V]印加され、期待以上の性能をAVRは持っているということがわかりました。Highに0.5[us]、delayで1[us]、Lowに0.5[us]、計最短2[us]のパルスならば安定したものが作れそうです。