C12880MAの動作確認(1)
はじめに
さて、11月中に完了しているはずだった案件。1ヶ月遅れでの実施、ブレッドボード上に組んだ回路の動作確認である。
シャッターの動作
モータードライバの動作確認。シャッター機構の代わりにLEDを接続した。早くてわからないけど5回点滅しているはず。
I²Cレベルコンバーターの動作確認
FXMA2102で動作できることは判っている。これをFXMA108の余剰ピンに割り当てたことが失敗だったのだ。
で、今回もここでミス。左がブレッドボードで使いやすく変換基板に載ったFXMA2102、右が回路図上の記号。確認せずに8ピンの配置と勘違いして、GNDにOE信号の3.3Vを入れてしまった。壊れた。しかも2度同じミス、1個200円、計400円を無駄にした。
最終的には3.3Vの信号が5.0Vになることを確認した。
デジタルポテンショメータの動作確認
MAX5477 デジタルポテンショメータをI²Cで接続。
1 2 3 4 5 6 7 8 9 10 |
from machine import Pin, SoftI2C SDA = 29 SCL = 6 i2c = SoftI2C(scl=Pin(SCL), sda=Pin(SDA), freq=100_000) a = i2c.scan() for addr in a: print(hex(addr)) |
上記のコードを実行。以下の結果が帰ってきた。
MAX5477のアドレス設定ピンはすべてGND接続なので、アドレスは0x28であるので通信できている。
1 2 3 4 |
MicroPython v1.21.0 on 2023-10-06; Raspberry Pi Pico with RP2040 Type "help()" for more information. >>> %Run -c $EDITOR_CONTENT 0x28 |
オペアンプの動作確認
オペアンプに0-5Vの100KHZの矩形波を入力(黄色)した。その出力(水色)が3.3Vに収まるように増幅率とオフセットを調整した。MAX5477の設定は以下の通り。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
if __name__ == '__main__': # Test assuming op amp operation register = MAX5477(0x28) # writing data to non-volatile memory. # offset register.command("write_NVREG", "R0",99) # amplification register.command("write_NVREG", "R1", 90) # copy non-volatile memory to volatile memory. # offset register.command("copy_NVtoV", "R0", 0) # amplification register.command("copy_NVtoV", "R1", 0) |
使用しているオペアンプはNJU77701Fスルー・レートは35V/μs。入力の立ち上がりが40 nsecに対して、オペアンプ出力の波形は450 nsecで10倍ほど大きくなっている。
入力信号を500kHzにすると信号が鈍るが、立上りの時間は変化ないのな。ちょっとオペアンプの理解に勘違いがあった。
FXMA108の動作確認(C12880MA制御信号)
これはテスタで5V出力を確認した。特に問題なし。
最終テスト
年末の実家への帰省中で、実家に持ち込んでテストしてたりする。C12880MAを持ってきていないので、最終テストは来年に実施する。ちょっと、手持ちのオシロスコープ類を総動員してみた。据え置きの従来型のオシロスコープはこのところ活躍する場がないな。