hiro yamamoto works

マイコンハード、ソフトを作ったりしています。
お家や現場のお困りごと解決に!
内容利用は自己責任でお願いします。

タコメーターの回路をマイコンで置き換える(実機テストの前に不要になる)

2023-09-12 17:12:26 | ナレッジ_knowledge

※日本精機製タコメータが動かない※
電解コンデンサのショート不良可能性あり。基板中央付近の円筒形470μF6.3Vを、
テスタ抵抗レンジで数Ωなら可能性高いので交換してみて。

実機テストの準備のため、オリジナルのタコメーター基板から配線を引き出して、
マイコン搭載サブ基板を接続しテストを行った時に、見つけてしまいました。
サブ基板にスペース的に載らない電解コンデンサは、オリジナル基板のやつをそのまま使う様に接続
テストするがメーターは動かずで、原因調査
そこで見つけました。電解コンデンサがおかしい

自己流メモ書きだらけの回路図で、間違いなどあります。<br />※ワーニングLEDの配線が回路図と違っていることについて 追記※
回路図では+3.3V共通にして、抵抗を通ってLEDのアノードへ、
カソードからマイコンの端子へ接続するようになっていますが
組み立て品はGND(マイナス)を共通にしてLEDのカソードへ、
アノードから抵抗を通ってマイコンの端子へ接続しています。
これは+3.3V配線がGNDとショートした時、
マイコン搭載のレギュレータを破壊しないようにするためです。
ポリスイッチなどの保護素子は入っていませんので、ショートすれば間違いなく破壊します。

別の電解コンデンサに変えると動きます。これはつまりそうゆうことです。

下の写真はテスト用パルス発生設定値 2300μSで13,043rpm だいたいメーターと合うでしょ

オリジナルタコ基板へ配線接続(一部部品は回路都合により取り外してあります。)

下の写真 オリジナルタコ基板を故障電解コンデンサを交換して、取り外してあった部品を復元してテスト
ちゃんと動きました。つまり、電解コンデンサの故障によりタコメーターが動かなかった。

取り替えた電解コンデンサはサイズが大きいので、サイズが合うものに交換する予定です。

経験値UP 引き出しが増えました。

残りの資料は順次投稿します。


タコメーターの回路をマイコンで置き換える(テスト中)不良部品発見!

2023-09-11 08:52:05 | ナレッジ_knowledge

※日本精機製タコメータが動かない※
電解コンデンサのショート不良可能性あり。基板中央付近の円筒形470μF6.3Vを、
テスタ抵抗レンジで数Ωなら可能性高いので交換してみて。<br />
これっておかしいですよね?ショートしていますよね?
しばらく測り続けても変わりません。
タコメーター基板に実装されていた 470μF/6.3Vです。
これがタコメーターが動かなかった原因?
※後日追記※
タコメーターが動かなかった原因は、電解コンデンサのショート故障によるものだったことがわかりました。

”タコメータが動かない”で相談を受けて調べ、ICの故障かな・・・ということで、
タコメーター基板をマイコンで置き換えを進めていた訳ですが、
ここまできて動かなかった原因らしきものを見つけてしまうなんて・・・

これは(下の写真)同じ静電容量の35V品ですが、40.7MΩでこれが正常です。
(470μF/35V)
測定開始直後は抵抗値が変化しますが、しばらくすると安定します。
(コンデンサへの充電が完了するため)

(下の写真)おかしいやつの静電容量も測定するとオーバーレンジとなります。

正常なものは静電容量が表示されました。(下の写真)
470μFのはずですが少なめです。
ちなみに静電容量許容差±20%つまり376〜564μFなら規格内 測定条件の違いもあるかも

メーターの基板(下の写真)おかしいコンデンサは中央付近の直径10ミリの円筒形のやつです。
このコンデンサはメーターに並列接続されています。
“並列接続でショート“はつまり全ての電流がコンデンサを流れてしまうので、
”メーターが動かない”の原因となります。
交換後の動作確認はまだやっていませんが、
タコメーターが動かない原因の一つに電解コンデンサのショート不良がありそうです。
動作確認の結果については後日追記します。

交換用を探すなら
日本製で一般用または、電源用で、温度範囲〜+105℃
静電容量は470μF
耐圧は6.3V以上 直径10mm以下、高さ13mm以下(リードの間隔が5mmならさらに良い)使えると思います。
最近の電解コンデンサは小さくなっているのでリード間隔5mmは難しいかもしれません。
コンデンサの特性によってメーター指示値に違いが出る可能性があるかもしれません。
注意
エンジンの振動による基板や部品へのダメージを軽減し故障を防止するため、
部品リードはプリントパターンに密着するよう折り曲げてはんだ付けしてください。
リード間隔が3.5mmの場合は基板穴間隔5mmと合わないため、部品と基板を無理に密着させないで下さい。
近隣の部品同士を接着剤等で固定するなど、振動による干渉対策をとってください。

タコメーターが動かなくなってお困りの方は
この記事を参考にしていただければと思います。


タコメーターの回路をマイコンで置き換える(テスト中)その2

2023-09-10 11:19:35 | マイコンハードウェア

※日本精機製タコメータが動かない※
電解コンデンサのショート不良可能性あり。基板中央付近の円筒形470μF6.3Vを、
テスタ抵抗レンジで数Ωなら可能性高いので交換してみて。
タコメータの回路をマイコンで置き換えるプロジェクトです。
メーターはオリジナルのままのアナログタイプです。

タコメーター回路はseeeduinoXIAO(XIAO SAMD21)が載った基板です。
ブレットボード上はありあわせの部品で組んだCDIの代用回路(通電チェックLED付き)
Arduino UNOはパルス発生用

CDI代用回路が簡易なため、調整用の入力直列抵抗と、ツェナーダイオードを別付けしてテストしています。
パルスの入力回路はオリジナルタコメータ基板回路をベースにして、ネット記事を参考にアレンジ&改変しています。
今後は
実機でのテストをお願いして、動作確認とメーター指示値の校正を行う予定です。

準備ができたら
部品レイアウト&配線図を投稿します。(手書き回路図は見にくいのでやめときます)
ArduinoIDEで書いたスケッチも(プログラム)
その後で
KICADで回路図を書いて、基板も設計しておきたいと思います。


タコメータの回路をマイコンで置き換える(テスト中)

2023-09-02 14:15:11 | マイコンハードウェア

※日本精機製タコメータが動かない※
電解コンデンサのショート不良可能性あり。基板中央付近の円筒形470μF6.3Vを、
テスタ抵抗レンジで数Ωなら可能性高いので交換してみて。<br />
これを

これで代用できるか

タコメータが動かないということで、相談を受けて回路を調べましたが、
ICまで信号は入っているようで、ICが故障しているのではないかという結論になりました。
IC(T8016A)は入手困難のようです。
※後日追記※
後日の調査で故障している部品が見つかりました。
メーターに並列に接続されている電解コンデンサがショートしていました。
“並列接続でショート“はつまり全ての電流がコンデンサを流れてしまうので、
”メーターが動かない”となります。別の記事に投稿します。


そこで別の回路に置き換えて動かしてみようということに
オリジナルタコの回路は原理的にはF-Vコンバータでいいんじゃないかと思います。
メーターは電圧計の針の可動範囲を大きくしたようなものです。
つまり、
パルスが少ない時(低い周波数)は低い電圧を出力し、
パルスが多い時(高い周波数)には高い電圧を出力する。
電圧に応じてメーターの振れが変化する。
F-VコンバータICはTC9402CPDやNMJ4151Dなどが秋月電子通商で入手できそうですが
まず手元にある部品で出来ることをやってみようということで
マイコンATSAMD21Gの小さいやつSeeed-StudioのXIAOでやってみることにしました。
他のマイコンに変更することも比較的かんたんです。

ネット公開されている記事を参考に(ありがとう)、
ありあわせの部品でテスト用擬似回路を組んでテスト中です。

プログラムの構成をざっくりと・・・
外部割り込みを使いイグニッションのパルスのたち下がりを捉え、
パルスの間隔を測ります。パルス間隔から回転数を計算します。
回転数をメーターを振らせるための電圧に変換します。
電圧の上下はPWMで、デューティ比(パルスのOFFとON時間の比率)を変えて行います。

1回転1パルスとした場合の考え方はRPM = 60 / (パルス間隔時間(秒))
ちなみに、2気筒エンジンで1回転に2パルスらしい。(2パルスなら2で割れば良い)
回転数はかんたんに計算できるのですが、メーター目盛りと回転数をあわせるのが難しい。

方法1(プログラムはかんたん)メータ目盛りと合わせるのが難しい(無理)。
    map関数を使って回転数をPWM値(0〜255)に変換する。

方法2(処理多め)メータ目盛りに合わせられる。
   回転数ごとの目盛りに合ったPWM値をメモリー(配列)に入れておき、
   配列使うと高回転域が表示できない?ので、回転数毎の値をコード内に書くことにしました。
   回転数毎に読み出して出力する。
   低回転域(〜4,000rpm)は500回転毎、(4,000〜10,000rpm)は200回転毎のPWMデータ、
   高回転域(10,000〜14,000rpm)は100回転毎のPWMデータを用意する。

現在 方法2でコードを書き直し、メーターの合わせ込みもできました。

メーターの誤差について
例えば、高回転側から少しずつPWM値を下げた10,000回転の指示値と、
PWM値24(3,000rpm)ぐらいからどんと上げた同回転数の指示値に差が出ます。
前者は高め、後者は低めになります。後者で合わせ込みました。

続きは今後の投稿で紹介したいと思います。