|
setup diary |
GPIBからステッピングモーターを制御していたのだが、これが微妙にうまく動いていなかったので、その原因を探っていたら、予想外のところが引っかかっていた。モーターでバルブを開ける時には、30000パルス送っていて、閉めるときには確実にその一割増しにしていた。そのとき、開けることはできるのだが、閉めることができない。最初は、モーターの指定とか、排せんの異常を疑っていたのだが、いろいろと調べていると、パルス数を少なくすると動くことが分かった。AVRの中のプログラムをどのように書いたか忘れてしまったが、整数型を使っていた気がする。そういえば、2^{15}は32768ので、2byteを使ったsigned intだと、-32768から+32767まで表現できる。閉めるときには、一割増しにしているので、33000パルス送ると、ぎりぎりでこの範囲を越えることになる。これがうまくいっていなかった原因だった。そこで、開ける時に29000パルスにしたら、無事に動くようになった。なかなか難しいな。