2016年
1月
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

setup diary

2007|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|06|08|11|
2015|01|02|03|04|05|06|07|08|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|

2016-01-27 モーターの異常

_ USBハブが原因だった

測定装置に組み込んでいるモーターの挙動が変だということなので、原因を調べてみた。このモーターは、USBシリアルで変換した信号を、AVRのtiny2313で読み取って、ソリッドステートリレーを制御することによって、回転させている。しかし、時々逆回転をしたりしている。

まず疑ったのが、rubyのversion問題である。回転方向を指定するときに、binaryを送っているので、以前遭遇したunicodeへの自動変換が行われているのでは無いかと疑った。しかし、これは問題無いようだった。次に疑ったのが、ハードウェアの故障である。しかし、ランプなどを見ていると問題無い。仕方がないので、オシロでシリアルの信号を見てみる。すると、時々文字が化けていることが分かった。

以前、USBのハブが悪さをしていたのだが、モーターのためのシリアルには、大した情報は送っていないので、ハブを介してUSBシリアルを接続していた。これをPCというかRaspberry Pi2に直挿しすると、文字化けは無くなった。しかしこのままではUSBのポートが足りないので、手持ちのUSBハブをいろいろ持って行って、交換してみたら、ひとつ目でうまく行くようになった。

システムを入れ替えたのが7月なので、約半年も気づかずに使っていたようだ。しかし、これで別の装置との通信も安心して行えるようになる気がする。