E-Lab 500in1 メンテナンス       2017/11/3
E-LAB 500in1は実験に慣れない学生が扱うため、スイッチの接触不良やボリュームの断線が発生し易いので修理をしてみました。
また、内臓されているポリスイッチは、低電圧 (電池1本) では電流(約1A)が遮断されず発熱し電池室モールドが溶けてしまうのでヒューズに換装しました。
次の部品の分解掃除と交換を行いました。
      スイッチ    9個  SWICHとSW1~SW8
      可変抵抗器 1個  端子No. 58~60
      ポリスイッチをヒューズに交換




SW1~SW8
タッピングスクリュー(11本)を外し、基板を持ち上げます。



はんだ付けのフラックスが残っており、パターンに広がってしまいました。
アルコールで掃除します。

スイッチ接点もアルコール洗浄をしてバネ高さを調整し組みなおします。

6Pスイッチはアキバでも代替品も見つからず分解掃除となりました。

スイッチのツメ4か所を丁寧に伸ばして分解すると、スイッチ内部に油が溜まっており
モールドから染み出たもののようです。

アルコールに浸して洗浄しても、しばらくすると油が出てきましたので1週間程浸しておき使っています。



ボリュームの交換

ポリスイッチは乾電池のGND線に入っています。

ポリスイッチを外して配線をヒューズ接続します。

エボルタ電池の発熱によりモールドが溶けたものがあります。

パナソニックのエボルタ電池の単三(LR03)は1A放電を24分間続けることができます。
優れた特性です。


ロードスターNB
ドライブレコーダーケーブルをピラーに収納   2017/10/10
後付けのドライブレコーダーのケーブルをピラーの中に通してスッキリしました。
ピラーカバーの外し方ですが
最初にサンバイザーとフック金具(トルクスネジ)を外します。
左側だけなので室内灯はそのままですが、外す場合はレンズを引っ張って外せばネジが見

ます。
引き出しポイントにドリルで穴を開け、カッターを切れ込みを入れます。
左のピラーには各穴と丸穴が開いており、各穴はクリップ、丸穴は位置決め支柱用です。








aitendo TM4D595を用いた回転計  (2017/9/6)
屋外で使う回転計の表示部分にLCDを使うと、熱や紫外線で表示部分が黒くなり見えなくなってきます。
電流は食いますが昔ながらのLEDが良いようです。
使ったのは
aitendoのTM4D595ですが、提供されている参考スケッチの出所は次のようです。
https://hackaday.io/project/3662-74hc595-digital-led-display-based-on-arduino
このスケッチは0123と表示するデモなので、次のように修正して回転計にしてみました。
回転数は pulseInで測定し、n回測定して平均化しています。
最上位桁の表示が濃くなりますが、タイミングの問題なのでメインルーチンが完成した後での調整が必要です。1処理毎に1桁表示すれば良いかもしれません。




9回路図は前々バージョンから変わっていません。


9200rpmを表示させときのオシロによる測定値は3.276mSで、9157rpmになり-0.47%の誤差があります。
使用したオシロの水平軸確度は50ppm (50×10のマイナス6乗(0.005%))ですから無視できます。
また、pulseinの誤差±3(uS)も無視できます。
ソフトの問題かもしれませんが、現状では低めの回転数表示となるということです。

設定に次の4行を追加します
int kaitensu; //回転数
int sum = 0;
int n=2;//測定数
int i;

メインは入れ替えです。
void loop()
{
sum = 0;
for (int i = 0; i < n; i++) {
kaitensu = pulseIn( A0, LOW );
sum = sum + kaitensu;
}
kaitensu = sum / n;
kaitensu = 60000000/(kaitensu*2);
data = kaitensu/10;
d0=data % 10; // 最下位
d1=data % 100 /10; // 10位
d2=data % 1000 / 100; // 100位
d3=data / 1000; // 最上位
unsigned char dopp =0;
for(unsigned char i=0; i < 4; ++i)
{
if (i ==0)
HC_dio_analyze(0,d0,0);
if (i ==1)
HC_dio_analyze(1,d1,0);
if (i ==2)
HC_dio_analyze(2,d2,0);
if (i ==3)
//ゼロサプレス
if (d3 < 1) {
break; // 消灯
} else {
HC_dio_analyze(3,d3,1);
}
delay(3);//最上位桁濃度調整
}
}