MP9943GQ 同期整流式ダウンコンバータ ~その2~

昨日の投稿で最終的に下の様な波形になった事を書きましたが、やはり納得いかないのです。
出力にスパイク状のノイズが見えるのはプローブの当たり方の問題ですが、正弦波っぽく揺れるリプルが大きすぎます。また、そもそもSW出力が一定の周期でないのも変ですよね。

CH1:(黄)がMP9943GQのSW出力。CH2:(青)がインダクタを通った後の最終的な出力。

SWのプローブは取り外し、出力だけを20mVレンジで拡大するとこんな感じで振幅400mV程度で揺れています。

改めてMP9943GQのデーターシートを見ると下の様な波形が載っていました。
出力が3.3Vだったり負荷電流が3Aだったりで自分のとは条件が違いますが、リプルは10mV以下の振幅に収まっているしSW出力も一定周期で変化しています。自分のはやっぱりおかしいですよね。

もう一度回路図を眺めながら・・・

ここでMP9943GQのFB端子にどんな電圧が入っているかを見ようとしてプローブを当てると出力リプルの振幅が20mV程度に減ってしまいました。FB端子からプローブを離すとまた400mVに増えます。

どうやらFB端子回りの問題っぽいです。
苦し紛れにFB端子とGND端子の間に12pFのコンデンサをつけると振幅20mV程度に収まりましたが、あまり対処療法的なのは嫌ですよね。

何が原因でしょうか?
5V出力に設定する為、R7,R8を68K/12Kに設定していますがデーターシートの推奨値は41.2K/7.68Kです。
まあこんな値の抵抗は持ってないし、あまり影響なさそうとは思いつつ39K/6.8Kに変更しましたが、予想通り変化なしでした。

フィードバックの経路にスイッチングノイズが載るんでしょうか?
次にR7,R8の分割抵抗をチップに近づける様、図の場所に移動すると・・・

納まりました!

よく見るとデーターシートにもFB端子回りの抵抗はできるだけチップの近くに取り付けろと書いてありましたね。

5) Place the T-type feedback resistor close to chip to ensure the trace which connects to FB pin as the short as possible.

拡大しても振幅10mV程度になっています。

SW出力もちゃんと一定周期な波形になっているし・・・

たぶん、今度はちゃんと動作していると思います。

MP9943GQ 同期整流式ダウンコンバータ

いきさつ

MP9943GQモノリシックパワー社のDC-DC スイッチングダウンコンバータ用ICで、最近のドローン用フライトコントローラーのBEC回路にはこのICがよく積まれています。
ほいほい堂本舗ではこれまでスイッチングコンバーター用ICMP2359DJ,MP1584ENを試してきましたが、今回MP9943GQも試してみます。なぜこのICを試したいかというと同期整流回路が内蔵されているのです。

同期整流回路はコンバーターの効率UPを目的として使われる事が多いのですが、フライトコントローラーにとってはそれよりもダイオードを省略できるので基板面積を節約できて嬉しいのです。

以前製作したHOIHOIフライトコントローラRev2にはMP1584ENを使った下の様な回路を載せていました。

MP1584ENの内部にはINとSWの間にスイッチング用MOS-FETが入っています。コイツがONの時はVBATからインダクタL1に電流を供給し、OFFの時はインダクタL1に貯めたエネルギーがダイオードD2を通して流れます。なのでD2には結構電流容量の大きなダイオードが必要なのです。
一方、同期整流の場合、外付けダイオードに代わってIC内にもう一つのMOS-FETが入っており、内部でタイミングを合わせてON/OFFしてくれるのです。

上述のHOIHOI-FC Rev2では写真の様な容量2Aのショットキーダイオードを載せていました。MP1584ENの規格上は3Aの能力がありますが、ダイオードが大きくなるので2Aタイプで済ませています。MP9943GQになるとこのダイオードが不要なのに加え、IC自体のパッケージサイズも3mm×3mmとコンパクトになっており、この点でも面積が節約できます

試してみる

という事でMP9943GQを動作させる実験を行います。
例によってジャンクのFC基板からICとインダクタ(10μH)を取り出しました。
(データーシートによるとAMGMとマーキングしてある内、AMGがMP9943GQを示すそうです。
最後のMはyearコードとなっていますがMは何年を示すのでしょうね?)

Ki-Cadで回路を書いて・・・

基板のパターンも書きます。今回基板は切削するので広めに部品を配置して・・・。

それでもこのまま我が家のCNCで加工するのは精度的に厳しいので一旦加工データーをDXFで保存し、jw-cadに読み込んで切削しやすい様に修正しました。

作った基板がこれ。
(配線間にサンハヤトのソルダーレジスト補修液を塗っていますがハンダを載せたい部分にも付着してイマイチなので後で除去しました)

そして一通り部品を載せたところ。。。

なおベタパターンを設けたかったので両面基板にしています。
裏面はこんな感じ。。。

実は片面基板を2枚張り合わせたナンチャッテ両面基板です。

動作させてみる

3mmx3mmのQFNを切削基板にハンダ付けするのに苦労し、何度か加熱し直してようやく動作しました。

5Vの出力端子に負荷として5Ω抵抗を接続したときの波形です。CH1(黄)がICのSW出力。CH2(青)が最終的なDCDC出力。
DCDC出力にスイッチングノイズが載っている様にみえますが、これはプローブの当たり方の影響で、この時はプローブのワニグチクリップでGNDを取っていました。

DCDC出力のみにして200mV/Divに拡大。
このプローブの取り方だとスパイク状のノイズが振幅800mV程度で出ている様に見えます。

そこでプローブの取り方を下の写真の様に最短にしてみます。
(写真右上に見えている白いカタマリは5Ωのセメント抵抗)

すると・・・

スパイク状のノイズはかなり納まりましたね。
でも振幅数十mVでグニャと揺れているのでSW端子と重ねてみると・・・

スイッチング周期と同期している様です。
因みに無負荷だと綺麗に収まっています。


どうでしょう?まあこんなものなんでしょうかね?

ESCを作ってみる~その3~

ESC自作実験の続きです。

回路

何はともあれ目標とする回路図を書いてみました。動作させてみてマズいところは修正していきます。

マイコンのマニュアルはSiLabsの公式ページからダウンロードしました。
 https://www.silabs.com/documents/public/reference-manuals/efm8bb2-rm.pdf
ドライバのマニュアルは良く分からないところからダウンロードしました。
 https://static.qingshow.net/fortiortech/file/1597746029372.pdf

回路をざっと説明すると次の通りです。

  • 制御用マイコン
    SiLabsのEFM8BB21F16G。この中のBLHeli_Sファームウェアが全体を制御します。
  • 出力パワーMOS-FET
    モーターのコイルに電流を流す為のNch MOS-FETで、手持ちの2SK2232を使用します。
    全てはこの6個のMOS-FETを狙い通りにON/OFFする事がESCの目的となります。
  • FET駆動用ゲートドライバ
    FORTIORのFD6288Q。パワーMOSのゲート駆動用ICです。ゲート駆動するのもそれなりのパワーがいるので電圧及び電流容量アップ、またH/L同時ONの防止等を行います。
  • ブートストラップ回路
    NchのパワーMOSを駆動するにはソース端子よりも10V程度高い電圧が必要です。H側FETがONしている時、ソースとドレインはほぼ同電位なので、結局電源よりも高い電圧が必要です。
    そこでL出力期間にコンデンサにチャージしておき、H出力期間に電源以上の電圧を取り出します。
  • 電気角検出回路
    ブラシレスモーターをセンサー(ホール素子等)を使わずに回すには、現在の回転角を検出する必要があります。このためコイル電圧を抵抗分割してマイコン内臓のコンパレーターで検出します。

ゲートドライバICにはパワーMOSと同じ電源電圧を入れているので2~4セル程度の電圧なら回せると思いますが、2SK2232のゲート・ソース間電圧が最大20Vなので6セルで回すとFETが壊れるかもしれません。
なお部品摘出元の市販ESCでは12Vのレギュレータを挟んでゲートドライバに入れてありました。

製作

で、作ったのがこれ。
パワーMOSは手元にあった2SK2232を6個使用しています。
マイコンとゲートドライバは先日作った基板に載せて、それをブレッドボードに挿しています。
モーターは軸が曲がったジャンク品を接続。
黄色いUSBケーブルを挿しているのはHOIHOI-FC Rev1。既にRev2があるので実機には載せないけど諸々の実験には便利に使っています(なにせ内部の回路が全て判っているので)。ここからDshot信号を発生させるのです。

動作

配線をミスってたりQFNのハンダ付けが上手くいってなかったりしましたが、何とか動作しました。
動作中の動画・・・

Bluejayを入れてみる

マイコンにSiLabs EFM8BB2を使ったESCではBluejayというファームウェアをインストールできます。(Bluejayの存在は最近知ったのですけど・・・)
BluejayはRPMtelemtryが使える等の機能強化がなされているのです。
インストールするにはブラウザから下記のサイトを開くとコンフィグレータが立上がります。
https://esc-configurator.com/
(Chromeで実行しました。ほかのブラウザは試していません。
スタンドアロン版もある様ですがメンテしないので非推奨と書かれていました。ドローンの場合ネットが繋がらない環境で使う事も多いので、その場合どうなんでしょうね?)

実行結果が下の画面です。BLHeliSuite同様、FC経由でConnectしてファームを書き換えました。
更にメロディーエディター機能もあるのでスタートアップのビープ音も変更してみました。

Bluejayに書換後、モーターが回らないので焦りましたが、原因はFCのプロトコル設定がPWMになっていました。BluejayはPWMのサポートは無くDshot専用なんですね。

Dshotに変更し、更にRPMtelemetryをONにした動画。BetaflightConfiguratorに回転数が表示されています。

という事で・・・

バラック状態ですがESCを作れる事が分かってきました。
この先ですが、最終的にはFCとESCを纏めて巷で言うAIO(All In One)基板を作るという野望があります。でもこれはかなり大変そうですね。Ki-cad上で基板設計は出来たとしてもチップ抵抗もこれまでより細かいサイズにする必要があるでしょうし、部品点数も多いので手作業での実装はたぶん無理。また基板も4層以上になるでしょうから値段も上がるし・・・
まずは4in1ESCを作るところからかな?

ESCを作ってみる~その2~

大晦日に基板が到着したので作業を続行します。

前回の投稿にジャンクESCからマイコン(EFM8BB21F16G)とドライバIC(FD6288Q)を摘出した事を書きました。これらのICを基板に載せ、ブレッドボード上であれこれ実験する予定です。

基板に搭載

今回はメタルマスクを作らなかったのでコピー用紙をレーザーカットしてクリームハンダを塗ります。

部品を載せて・・・

リフローしました。

チップ内蔵クロックを使用するので発振子も不要ですし、この後ピンヘッダと電源のコンデンサだけを取り付けました。

マイコンの動作確認

ではEFM8BB2マイコンのGNDとP05端子にフライトコントローラー(以下FC)を接続し、3.3Vの電源を入れます。
この状態でBLHeliSuiteを起動すると設定内容を読出せたので、マイコンは生きていますね(ジャンクから取出したので一応確認)。

次はマイコンに何か書き込んでみたいのですが、公式の書込み機(Toolstick)は持っていません。
調べたところEFM8BBxマイコンにプログラムを書き込むにはざっと以下の方法がある様です。

  • C2インターフェース経由での書込み。
    公式の書き込み機(Toolstick)はこのC2インターフェースに接続する様です。
  • ファクトリーブートローダー
    新品状態ではこのブートローダーが書かれていてUARTから書ける様ですが、今回ESCから摘出したマイコンには下記のBLHeliブートローダーが上書きされているので、この方法は使えません。
  • BLHeliブートローダー
    ESCを購入した時点でファームウェアと共に書かれているブートローダーで、FCからの信号端子をそのまま使ってファームを書き換える事ができます。
    普段FC経由でファームをアップデートする時はこのブートローダーが動作しています。

という事でまずはBLHeliブートローダーからのファーム書換えをやってみます。
と言っても普段やっている通りで、FCを接続すると問題なく書換えができました。

しかし将来的に新品マイコンを買ってきた場合にはこの方法は使えないのでC2インターフェース経由でも読書き可能な事を確認したいですね。公式のマニュアルによると開発ツールのSimplicityStudioから書込み機(Toolstick)を使って接続する様ですが、上記の通りToolstickは持っていません。

そこで見つけたのはPCでBLHeliSuiteを立上げておいてArduino経由でC2インターフェースに接続する方法。 この方法ならBLHeliのファームを壊して文鎮化した場合でも書き直せる様です。

BLHeliSuiteからArduino経由C2-I/Fでファームを書いてみる。

ざっと流れを言うと、BLHeliSuiteを起動し、まずArduinoにファームを書込むことでArduinoがC2インターフェースでの書込み機に変身します。(この時ArduinoIDE等は使わず、BLHeliSuiteから直接書くことができます。)
その後Arduinoとマイコンを接続してマイコンにファームを書込む流れとなります。

ではまずPC上でBLHeliSuiteを実行し、「Make interfaces」タブをクリックすると下の様な画面になりました。

次にPCのUSBポートにArduino(今回NANOを使用)を接続しておき、画面右のボード選択でArduinoNANOを選択、画面最下部でCOMポート番号を選んだら右下の「Arduino 4way-interface」をクリックします。

ここで3つのファームから1つを選ぶ画面が現れたので4wArduinoNano_16_PB3PB4v20002.hexを選択しました。
(ここでPB3PB4とかPD3PD2というのはArduinoのどの端子をC2インターフェースに接続するかの違いだと思います。MULTIというのは良く分かりませんが複数のESCを接続できるんでしょうね?)

あとは「開く」とか「OK」(だったかな?)とかを適当に押すとArduinoにファームが書き込まれます。
これでArduinoが書込み機となりました。

次にArduinoとEFM8BB2マイコンの間を接続して電源を入れます。接続は下の3本です。

 <Arduino>     <EFM8BB2>
 PB3又はD11 ⇔  C2CK
 PB4又はD12 ⇔  C2D
 GND        ⇔  GND

BLHelisuiteのメニュー「Select ATMEL/SiLABS Interface」から、B SiLABS C2(4way-if)を選択します。

あとは普段通り。「Connect」→「Flash BLHeli」とボタンを押してファームを選択すると書込みができました。

Lチカプログラムを書いてみる。

上記の方法で当面の目的は叶えられました。でも折角なので前回ビルドしたLチカサンプルプログラムを書込んでみようと思います・・・が、BLHelisuiteでLチカプログラムを書こうとするとエラーが出てきました。「変なものを書いているよ」という警告ですがキャンセルボタンしか無いです。
どうやらなんでも書き込めるわけではない様ですね。

そこで更に調べていくとow-Silprogというのを発見しました。こちらもBLHelisuiteと同じ様にArduino経由で読み書きするツールです(どうやらBLHelisuiteのC2接続機能のベースになったツールっぽい)。
こちらはAvrBurnToor_V101.exeを使ってArduinoにファームを書込みますが、そこからC2インターフェースに接続するので基本的にやっている事は同じです(但しArduinoに書いたファームはBLHelisuiteとは互換性はない様でした)。
このサイトの説明によるとWindows上で動くGUIツールを使った読み書きもできる様ですが、このツールの存在場所を見つけられませんでした。が、コマンドラインから使う為の命令一覧が載っているので、こちらは実行できました。
この方法でマイコンFLASH内のアドレスを指定して内容を読出す事ができます。実はジャンクから摘出したマイコンではファクトリーブートローダーは上書きされていると先ほど書いたのはこれで読んだ結果からです。

で、bwというコマンドではインテルHEX形式を指定して書込めるという事なので、下の様に1行ずつ書き込んでいきました(Lチカプログラムは10行もないのでコピペで実施した)。

これでLチカも動作していますね。
ならばファクトリーブートローダーを書き戻す事も出来そうですがキリが無いので一旦止めて、本来の目的であるESCを動かす事を先に進めたいと思います。

つづく・・・

ESCを作ってみる~その1~

前からやってみたかったESCの製作をしてみました。
以前FCを作ったので、加えてESCも作れるとドローンの主要パーツが揃う事になります。(あ、モーターは別ですね)

※略語の確認
 FC :フライトコントローラー
     マイコン基板にセンサーが載ったやつ。ドローンを制御する。
 ESC:エレクトリック・スピード・コントローラー
     ブラシレスモーターを回すドライバ。

ドローン系ESCの種類

今回もESCのファームウェアを1から作るような根性はないのでオープンソースの優秀なファームを使う予定です。
レース系ドローンでよく使われるESC用ファームにはBLHeliというのがあり、更にBLHeli内の分類、その他最近登場したファームも含めて整理してみました。

  • BLHeli
    AtmelやSiLabsのマイコンが対象ですがちょっと古いタイプでレースではあまり使われません。
  • BLHeli_S
    マニュアルによるとBLHeliのnext generationという事です。_Sが何を意味するのかは判りません。SiLabs製マイコンのみ対象でAtmelは対象外みたいですね。
  • BLHeli_32
    STM32マイコンを使った32bit版です。
    RPM telemetry(回転数をFCに送信する機能)がありFC側でRPMフィルターという高度な処理ができるのですが、上の二つと違ってソースが公開されてないっぽいです。
  • bluejay
    これ最近知ったのですがBLHeli_Sの派生版で、SiLabsのマイコンが対象ですがRPM telemetryが使えます。
  • AM32
    これも先ほど知ったのですがSTM32を使ったオープンソースのファームウェアらしいです。

今回製作するESCはBLHeli_Sを対象にします。そして上手くいけば後にbluejayも試そうと思っています。

SiLabs製マイコンについて

という事でSiLabsのマイコンを使う事になりますが、このメーカーって馴染みが無いので調べてみました。
BLHeli_SでサポートしているのはEFM8BBxという8bitマイコンで、このCPUコアはインテル8051の命令セットとコンパチです。8051って随分昔に使った事があり懐かしいですね。たしか8080に周辺回路をつけてワンチップマイコン化した様なやつだったと思います。でもEFM8BBxは処理速度が大幅に向上しているそうです。
ところでBLHeli_Sのソースはアセンブラで書かれているんですね。80のアセンブラなんてすっかり忘れたなー。

BLHeli_Sのビルド

EFM8BBxの開発環境はSimplicity StudioというのがSiLabsのサイトからダウンロードできます。
そこで絶対必要というわけではない(ビルド済HEXファイルをダウンロードすればよいので)ですがBLHeli_Sをビルドしてみたいと思います。
Simplicity StudioにはWindows上で動くGUIな開発環境が付属していますがBLHeli_Sのビルドはコマンドラインからバッチファイルを実行します。
で、実行してみたところC8051開発ツールが評価版なのでサイズの制限でビルドできないっぽいメッセージが出ました。えー、お金いるの? どうやら内部で使っているKeliというコンパイラ/アセンブラのライセンスをARMから買うっぽいですね。
まぁBLHeli_Sのビルドは絶対ではないので一旦置いといて付属のサンプルからLチカプログラムを実行したところ、やはり同じメッセージが出て止まりました。
でもSimplicity Studioを使うならKeliのラインセンスは無料でもらえっぽいメッセージが出ているので表示に従ってラインセンスをもらうとビルドできてしまいました。
という事はBLHeli_Sもビルドできる様になったのかな・・・もう一度バッチを実行してみると確かにこちらも最後まで進み、無事HEXファイルが出来ていました。

ハードウェアの準備

何はともあれ実行してみる為のハードウェアが必要です。
EFM8BBxの評価ボードを調べると市販はされていますが5000円以上します。でもよく考えるとこのマイコンは沢山持っていますよね。
こんな感じで・・・

ジャンクのESC群。ここから摘出すればよいのです。ついでにパワーMOS FETをドライブするドライバIC(FORTIOR FD6288Q)も摘出できます。
なおドライバICのFD6288QはH側にN-MOSを使う場合に必要な電源電圧より数V高い電圧を発生してくれたり、H側とL側が同時にONして貫通電流でFETを壊す事故を回避してくれます。

という事で摘出しました。
・マイコン:EFM8BB21F16G x3個
・ドライバ:FD6288Q x3個

マイコンとドライバ、どちらも0.5mmピッチのQFNパッケージなのでそのままでは配線し辛く、引き出し基板が必要です。Ki-Cadで描いてFutionPCBに発注しました(送料込みで$16.4)。

引き出し基板が届いたら色々試していきたいと思います。

SUZUKIエブリィのECU

知り合いが自動車整備工場をやっているのですが、ECUが壊れて交換パーツが手に入らず、廃車の危機になっている車があるのでダメ元で見てくれないかと言われました。
見ても解るかどうか不明ですが、「ダメ元」で良いならと預かってみました。

※ここで言うECUとはエンジン・コントロール・ユニットの略で、車のエンジンを色々と制御する、マイコン搭載のモジュールです。

症状としては「吸気の流量を調整するバルブがあって、それを制御するモーターが上手く回らないためアイドリングが安定せずにエンストする」という事です。
話によるとモーターのコイルが短絡状態になった為にECUも故障し、交換用モーターは手に入ったけどECUが手に入らないとの事。

問題のECU

で、これがそのECU。
このECU、プラスチックケースの蓋が接着されていて、分解する前提には作られていません(まあECUなんて大体そんなもんだとは思いますが)。
という事でこちらの面は受け取った時点で強行突破されていました。

そして反対側の面。こちらは開けられていなかったのですが中を見たいのでプラスチックをノコギリで切り取りました。

調べる

これだけ見ても何が何だかさっぱりわかりませんが、整備工場ではサービス情報をダウンロードできるそうなのでECU回りの配線図を付けてもらいました。
流石にECU内部の回路図まではありませんが、どの端子がどこにつながるかという手掛かりがあると少しは進められそうです。

そして関係する部分は下図のあたり。真ん中付近のC09というのが件のモーター、図の一番下に「EPI&A/Cコントローラ」と書いてある囲みがECUです。


しかしこのモーターの配線は普通のモーターっぽくないですが、何処かで見た様な配線ですね・・・ユニポーラのステッピングモーター?
コイルの上側は12Vに接続しているので、予想通りステッピングモーターだったら下側はトランジスタ経由でGNDに落とす筈。。。たぶんこんな感じで。

そこでECUの端子番号11~14から基板の中を辿っていくとそれぞれトランジスタらしき部品につながっています。この部品には「V0 1G」とマーキングされていてネットで探しても型番まではたどり着けませんでした。しかしテスターで当たるとやはりバイポーラトランジスタの様です。なのでやはり上図通りの可能性が濃厚に・・・

このトランジスタの端子配置は下図の様になっています(テスターで当たった結果から)。
パッケージは寸法的にSOT-89,SC-62,MPT3あたりだと思います。
既に手元にないので今確認はできませんがB-E間に抵抗が入っていたと思うので秋月電子にあるRN5006が近いんじゃないかと思います。

そして基板内の4つのトランジスタにはQ141~Q144のシルク表示が書いてあります。
この内Q141だけB-E間がオープン状態なので少なくともこのQ141トランジスタは壊れている様です。

修理

そこでこのトランジスタを交換すべく上記のRN5006を買おうかとも思いましたが実はもう一つ同じECUがあるのです。それが下の写真の物。。。

真っ黒コゲでしょ。中古のECUが一つだけ見つかり交換したら煙が出てこの状態になったそうです。
暫くは動作していたので車検を終えてその帰り道に煙が出たとか。ECUだけで済んだのが不幸中の幸いですね。
で、この基板内に同じトランジスタが数か所使われているので比較的被害を免れているトランジスタを取り外しました。これをテスターで当たった感触は生きている様なので、まずはこれと交換してみます。

ではコゲていない方のECUに戻り、ヒートガンで温めてQ141トランジスタを取り外し・・・


先ほど黒コゲECUから摘出したトランジスタをはんだ付けしました。

この状態で返して試してもらいます。

結果

数日後の連絡によると正常動作したとの事で、防水処理をやり直して使ってみるそうです。
今回は出力端子に近くて比較的分かりやすい箇所でしたが、もし修理不能で交換ユニットも見つからなかったら廃車の危機ですよね。
部品を廃版にするならメーカーが中身を公開してくれたらいいんですけど(メーカー的には新車を売りたいのもわかりますが)。

ハンズマン ガラクタ市2023秋

今年のハンズマン秋のガラクタ市ですがコロナ前だと大体10月末に開催されていたのが、今年は中々始まらないのでもう無いのかと思っていたら11月23日(木)から始まりました。
なお11月23日は勤労感謝の日なので一家そろって出かけました。

朝6時40分頃に到着すると駐車スペースはまだ十分にありましたが入場行列は建物の周りを半周近く取り巻いていました。

そして7時にオープン。

で、今回あまり多くは買っていないのですが、下の写真が買ったものです。

今回お買い得だったのは左上のごついハンマーが298円、タップホルダー、ダイスホルダーはそれぞれ98円。9mmのスパナ/ソケットレンチも98円(9mmって出番少ないですが)。写真の物合計で1576円。

そしていつも通り後日再び訪れると・・・

ダイスが1個298円×5サイズで合計1490円。
まあタップに比べてダイスの出番は少ないですけどモーションフライトシミュレータの時みたいに普通に買うと1個1500円くらいするので買っておきます。

今回の開催中にもう一回ぐらい行きたいと思います。

CBF125T タコメーター故障&作成 ~その2 ステッピングモーター化~

先日液晶表示のタコメーターを作りましたが、液晶ディスプレイが小さいのと昼間はコントラストが低くて見づらかったのでステッピングモーターに置き換えて針を振らせてみました。

まず前回のタコメーターは下の状態。

反射光でもバックライトでも見えるというディスプレイですが、はやりちょっと見づらいのです。

今回のステッピングモーターについて

ステッピングモーターはAmazonで2個¥1940円で購入。
X27-168という型番で、CNCや3Dプリンタで使う様なヤツではなく、下の写真の様にメーター用の軽量のものです。

後ろ

このモーターはこちらのブログで紹介されていました
またデーターシートはここで発見しました

元々付いていた(壊れた)タコメーターと比べるとこんな感じ。電子回路が別に必要だとしてもかなり小さくて済みそうです。

ところでこのステッピングモーター、2相のバイポーラ動作ですがコイルの駆動が5V/20mAで済むのですね。
という事はAtmega328PのArduinoで直接駆動できます。改めてAtmega328Pの絶対最大定格を見たらI/Oピン電流は40mAと書かれています(20mAだと思ってたのでギリのつもりでしたが、実は結構余裕だったのね)。

また通常動作(マイクロステップ等にしない場合)では、1ステップで1/3度回るのでタコメーターの分解能としては十分です。

回路

回路的には先日作った液晶方式からディスプレイを取り外し、ステッピングモーターの配線4本をつないだだけ。
あ、あとパルスを割込みでカウントするため、入力ピンをD5→D2に変更しています(Atmega328PのArduinoで割込みを使うにはD2かD3に入れる必要があるので)。

取り付け

パネルへは新たな穴を開けて直接モーターを取り付けました。
不要になった穴は夜間に光が漏れそうなので裏からプラパテで埋めたのち、表から黒塗りしています。


取り付けにちょうど良いサイズのタッピングビスが手持ちになかったので、モーターの取り付け穴(元々Φ1.85)にタップを立ててM2ネジで取り付けました。

指針は元々付いていたものを使うのですが、軸の太さが元のメーターだと0.8mmに対し、今回のモーターは1mmと太くなります。
そこで指針の軸穴を0.95mmのドリルで拡大したら丁度良くなりました。
因みに0.95mmのドリルは写真のセットに含まれています(Tinyドローンの軸拡大にも時々0.95mmを使うので単品で買っておきたいのですが売っているのを見かけません。通販で買っとけばよいのですが)。

そして一通り接続したところ。。。

プログラム

前回はゲートタイム200mSでパルスをカウントしていましたが、低回転での分解能を改善するため1パルス毎に割込みをかけてArduinoのmicros()時刻からパルス間隔を測定しています。
モーターコイル2本のそれぞれ両端に加える電圧は以下の配列を用意しておき順次切替えています。

// 各ステップの端子状態
int coil1a[]={1,1,0,0,0,0};
int coil1b[]={0,0,0,1,1,0};
int coil2a[]={1,0,0,0,0,1};
int coil2b[]={0,0,1,1,0,0};

動作させてみる・・・

アイドリング時の振れが大きいです。
またキーをOFFした時に0rpmに戻らずその場で止まってしまうのがカッコ悪いですね。

対策

まず振れが大きい問題についてはソフト的にローパスフィルターの処理を強目にしました。

次にキーOFF時の動作ですが、OFFの瞬間に電源が切れてしまうと0に戻せないので、戻すまでの時間分の電力を貯めておく必要があります。なら電解コンデンサでしょうね。
ざっくり計算で10000μF程度をつけたいところですが手持ちにないし大きすぎるので試しに4700μFを、ArduinoNANOのレギュレータに供給している12VとGND間に付けてみました。
・・が、キーOFF時に0rpmには戻りませんね。
でもこれは想定内。単に12VとGND間にコンデンサを繋いだだけではコンデンサに貯めた電荷は車体側にも流れてしまうのであっという間に放電し、タコメーター側に供給する電力は僅かになってしまいます。
これを防ぐため、バイクから供給する12Vとタコメーターの間をダイオードで分離してみます。また電源ON時にガバッと流れるのがイヤなので抵抗とダイオードをパラにつないで下図の様に接続しました。

これでコンデンサの容量を替えて試したところ2200μFでOKですが1000μFだとダメ。よって少し余裕を持たせて3300μFを取り付けました(4700μFの方が安心ですが50V品で大きくてケースに入らないのです)。

実際の配線は下の様なのを作ってギボシ端子接続に割り込ませています。

コンデンサはテープで貼り付けました。この位置ならケース内に納まります。

もう一度動作確認・・・

指針の揺れがかなり納まり、キーOFF時に0rpmに戻る様になりました。
しかし実際に走ってみると、アクセルを開けている間だけまだ揺れがすこし大きいですね。
もう少しローパスフィルターを強めに効かせようと思いますが、またメーターを外すのが面倒なので次回バラす機会があればやろうと思います。

Arduinoのスケッチ

参考に今回のプログラムを載せておきます。

http://www.hoihoido.com/data/tachometerX27_2.zip

トイレ改造。一体型便器に市販の温水洗浄便座を無理やり取り付ける。

※今回トイレの話題という事で、若干汚い画像も掲載しており、気になる方はこの記事はスキップしてくださいませ。

トイレ故障

先日トイレの便座が温まらなくなりました。
夏の間は便座ヒーターをOFFにしていましたが、最近肌寒くなってきてONにしたところで故障に気づいたのです。
ヒーターをONにすると一旦座っていられない程の熱さになったと思ったらその後は冷たいままになっています。
恐らく温度制御が上手くいかなくなり、ヒーターがガンガンに温めてしまい断線したのではないかと想像しています。(だとすると燃えなくてよかったな)

遡ること9年前、我が家を中古住宅として購入した際にトイレをリフォームしました。
当時タンクレスという便器を進められたのですが、これだと便座ヒーターや洗浄機能が故障した場合にホームセンターで売っている様な温水洗浄便座には交換できず、便器を丸ごと交換しなければならないという事だったので却下しました。
不動産会社(経由でリフォーム業者)にはいざという時に市販の便座を装着できるタイプにしてくれと要求した結果が現在使用している便器なのです。

LIXIL DT-Z151U

ところが、そんな会話をして取り付けた便器なのですが、見た感じからは本当に交換できるのかなーという不安はありながらも9年経過し、今回現実に故障したのです。
そこでまずはメーカー(LIXIL)に電話して市販の便座に交換できるか聞いてみたところ、懸念通り「無理」との回答でした。
正直「やっぱりか」という感想ですが、今さら不動産屋にクレームを出して「言った/言わない」のバトルをするのも疲れるし、とりあえずはメーカーに修理に来てもらう依頼をしました。

翌日修理担当者に調べてもらったところ、便座ヒーターはやはり断線しており交換が必要、また制御基板も壊れていて交換が必要、更に蓋をゆっくり閉める為のダンパーも弱っているので変えた方が良い、という事で「合計5万3千円必要です」との回答。また「こういう場合、大抵の人は便器ごと交換します」という事で、そうすると最安でも15万円程度は必要との事でした。
そりゃすぐには決断できないですよね。現在悪い所だけを5万円以上かけて直しても、この先他の箇所も壊れてきそうなので、できれはこの選択肢は取りなくないです。
かといって10年毎に便器丸ごと交換するのはあんまりですよね(本当に一体型便器を使われている皆さんはそうしているのかな?)。
という事で、その日は現状に戻してもらい修理は終了としました。

そしてダメ元で悪あがきをしてみます。

やりたい事はタンクから便器に流す機能は残した上で、温水洗浄便座を市販品に交換する事。
これができるとホームセンターで売られている便座なら2~3万円程度で買えるし、10年後にまた壊れても便座だけ交換で済みます。

そこで誰かやってるだろうと思ってネットやYouTubeを調べたけど案外見つかりません。
また、たまたま水回りのプロ3人程とお会いする機会があったので相談してみたのですが、皆「無理」と言います。プロからしたら便器ごと交換したいでしょうけど、利害関係のないプロも「無理」といわれるのがちょっと不安なところ。

・・・しかしまあ怖いもの知らずの素人なので検討を進めていきます。

中を見て考える

まず便座及びタンクカバーを外すと下の写真の様になっていました(注意:このあたりから写真が汚らしくなってきます・・・)。

タンクユニットと温水洗浄ユニットを分離できそうな構造ですね。ここを分離してタンクユニットだけ残し、温水洗浄ユニットを取り去れば市販の便座を取り付けできそうです。
もう一つ気になるのは便座の取り付け穴の位置ですが、これも市販品と同じ規格に従っている様なので自分の中では「できる」という確信になってきました。

作業開始!

まずホームセンターに出向いて市販の便座を物色します。
購入したのはPanasonicの型落ち品で、税込み1万6千500円。失敗する可能性もあるのでなるべく安いのを購入しました。
これで済めば御の字というものです。

ホームセンターで購入した温水洗浄便座(の取説)。

では家に持ち帰り作業に取り掛かります。
まず温水洗浄ユニットに水を供給するホースを外します。ここの分岐には電磁バルブらしき部品が付いており、ホースを抜いても水が飛び出す事はありませんでした。でも念のためホースの先端を水受け部分内に収めておく事で、もし漏れ出した場合でも便器に流れていく様にします。


次に基板に刺さっている配線類を抜いた後、この2個のネジを外せば温水洗浄ユニットが前にボコッとスライドして取り外せました。

更に温水洗浄ユニットを取り付けてあった上下機構部品を取り外します。

基板も外して・・・

これでタンクユニットだけが残った状態ですが、タンクユニットが市販便座を取り付けるべき穴も占有しているので、赤枠の出っ張り部分を切り落とします。

因みに便器の上物を全部取り除いたのがこの写真。
壁に近い側の両端の穴がタンクユニットの固定穴。手前の2個の穴もタンクユニットに接続していましたが、ここをフリーにして市販の温水洗浄便座を取り付けます。
なおこの便座取り付け穴の間隔は140mmで通常の便座と同じ寸法です。

では不要なデッパリをノコギリで切ります。(しかし切りづらかったのでジグソーに変えたら一撃で切り落とし完了。)
これでもう後には引けません。

以上で取付穴がフリーになったので、ここに市販の便座を取り付けました。

が、ここで問題が発覚。今まで使用していた止水栓がホースとはネジで固定するタイプではなく、Oリングで密閉した継手を差し込んでプラスチックのカバーで固定するタイプでした。
たぶんLIXIL専用なのでしょう。

今まで使用していた止水栓。

下の写真が今回購入した温水洗浄便座に付属の分岐管。通常のネジで固定するタイプなのでLIXILタイプから分岐ができません。
こんなところに落とし穴があったとは。

この分岐を取り付けたいが型が合わない。

これは困りましたね。こういう場合はいつもO氏に相談します(レーザー加工機の排気用換気扇を取り付けるときにお世話になったあのO氏です。彼はリフォーム業も行っているのです)。
すると「ちょうど合う止水栓がいっぱい余ってるからやるよ」とのお言葉。頂いた止水栓だと一旦フツーのネジ固定タイプの出口があり、そこからLIXILタイプの継手に変換する構造なので、これなら分岐管を取り付けられます。
因みにネットで調べるとこの止水栓単体では2千8百円程する様です。

止水栓を交換して分岐できました。
写真で上方向に行くホースが温水洗浄便座に、右に行くホースがタンクにつながります。

以上でタンクにも市販便座にも水を供給できたので一通りの機能は実現でき、見た目を気にしなければ使用できる状態になりました。

ただし、タンクの中身がむき出しのままという訳にはいきませんよね。
今まで付いていたタンクカバーのままでは新しい便座に干渉して取り付けられません。
そこで下図の赤線あたりで切り取って取り付けたいと思います。

またジグソーで切り取ってタンクに被せたところ。。。
緑色の養生テープの下がガバッと開いています。
この開口部はこれから塞ぎますが、だいぶ形になってきましたね。

開口部を塞ぐフタの図をJw-cadで書き、試しに段ボールをレーザーカットし、納得のいく形になったところで手持ちのアクリル板をカットしました。
白色が本体の色とだいぶ違うのは後で考えるとして、裏からグルーガンでくっつけ、表側の合わせ目をプラスチック用パテで埋めました。

完成

開口部も塞がったので一旦完成とします。写真で見ると目立ちませんが、タンクカバーの下の部分が白すぎるので塗装しようかと考えています(でもたぶんやらないです)。


最近の便器って・・・

繰り返してしまいますが、最近の一体型便器は温水洗浄部分が壊れるだけで全体交換ってあんまりですよね。なんだかメーカーおよびリフォーム業界の思うツボな気がします。
陶器やタンクの部分はそう簡単には壊れないので、多くは温水洗浄部分が壊れただけで皆さん丸ごと交換されているのでしょうか?
今回、便器ごと交換すると15万円以上するところ、市販の温水洗浄便座を取り付けることで1/10程度の費用で済みました(まあこの後何か問題が出るかもしれませんが)。

しかしこれまで色々な物を修理したり改造したりしてきましたが、まさかトイレをやるとは・・・

注意:これを見て同様の作業をされ、もし失敗しても責任は持てません。

初代ワゴンRのブロアーモーター修理

最近バイクや車のネタが多くなっていますが、今回も車ネタです。
始まりは今年の7月頃、ワゴンRのブロアーモーターが壊れました。
なんだかエアコンの風が弱いと思っていたら、2~3日の間に全く回らなくなったのです。

まだまだこれから暑くなる時期だったので風が出ないと地獄です。そこで(義弟が営む)修理工場に即刻持ち込んだところ30年近く前の車なのでモーターのブラシが摩耗して止まったのだろうという事です(むしろ今までよく持ったもんだ)。
新品のブロアはもう販売しておらず、数千円かけて中古品に交換し、これでエアコンも効く様になり一安心です。

で、壊れた方のブロアーの中を見たくなりますよね。修理できるものならしておきたいし。
という事で持ち帰りました。

下の写真は汚れを拭き取った後です。
当初ファンは黒い樹脂だと思っていたらカーボンブラシの削れた粉が付着していただけでした。
(何気なく書いていますが手は真っ黒になるし手を洗ったら洗面台も真っ黒になるし、グリスも交じっていて落ちないので洗面台にパーツクリーナーをかけて落としました)

ファンを外すとモーターの頭が見えます。ネジ二本で止まっているので開けてみます(これも汚れを拭いた後の写真)。

中は泥が詰まった様な状態。これも落とします。

回転子の様子。

ブラシと接点の付近。ブラシはすっかり減ってカケラが落ちてきました。銅の接点も削れています。

でもブラシさえ交換できれば動きそうですよね。
できれば将来の為に使える状態にしておきたい。。。

という事で適合するブラシを探します。
残ったブラシのカケラを測ると5.4mm×5.4mm。長さ方向はすり減ってわかりませんが初期の長さは10mm程度でしょうか?
横方向から編線が出ているタイプです。

しかしピッタリの物は見つかりませんね。
国内では見つからず、Aliexpressに6.0mm×6.0mm×10mmの物ならあったのでこれを発注して気長に待ちます。2セット(4個入り)が送料込で329円でした。

そして届いたブラシ。6mm角なので5.4mm角になるまで削ります。

削る前。公称6mmに対し実測は5.94mmでした。

削るといっても基本が鉛筆の芯みたいなものなので紙やすり(というかベルトサンダーの切れたやつ)で擦るとあっという間に削れてしまいました。若干削りすぎた感もあります。
紙やすりよりも普通の紙でよかったのかも。

1個削って新品と比較。ちょっと台形になってしまいました。

もう1個も削りました。そしてハンダ付け。

ところでブラシを押し付ける為のバネがあった筈ですが1個しかない事に気づきました。
分解後に長距離ツーリングに行ったりして暫く放置している間に行方不明になった様です。
仕方ないのでジャンク箱の中から近いバネを探して無理やり修正し、押した感触が同じ程度になる様にして試してみます。

本来ならブラシもバネも純正品を取り付けるべきなんでしょうけどね。
寿命に影響しそうな気がしますが無いものは仕方ありません。

こんな感じで取付けてスムーズに出入りする事を確認します。

あとは元の状態に組み立てました。
さて回るでしょうか?まずはファンをつけず無負荷で、電圧も低めで回してみます。
5Vぐらいでも回転しますね。徐々に電圧を上げて12Vでの無負荷電流は約0.7Aでした(これが正常なのかは分かりませんが、まあ異常な大電流は流れていない様です)。

ではファンを取付けまして・・・

回してみます。動画で・・・

大丈夫なんじゃないでしょうか(ファンありの電流を測り忘れました)。
次回故障時には活用したいと思います(なんじゅうねん乗る気や?)