hiro yamamoto works

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

JBL Flip4 スピーカー落下で電源が入らなくなった

2025-02-06 16:21:36 | ナレッジ_knowledge

落っことしたら電源が入らなくなったというスピーカーを直せるのか?
直りました。

原因と処置内容
基板のコネクタからフラットケーブルが抜けていた。
(ケーブル挿入が浅く接触不良になったと推定)

ケーブルをコネクタの正しいセット位置まで挿した。
(最後まで読んでください)

発生メカニズム(推定)
・落っことしたことでバッテリーが僅かに動き、
バッテリーとケースの隙間を通ったケーブルが引っ張られ、
コネクタから外れた。
・落っことす毎に少しずつ外れていった。
・初期からケーブルの挿入が浅かった。

修理事例として投稿します。
故障箇所を見つけるために、必要以上にバラさなくても良いので
参考にしてください。

途中までバラした状態で届きました。
まずバッテリーのカバーネジ2本を外して、コネクタを抜いておきます。
(中央の太い配線コネクタ)

FLIP4と文字の見えるゴムカバー外側、充電用USB端子と入力端子?部分を
固定しているネジを外して浮かせておく。(下画像)

電源、JBL Connectスイッチと表示LEDをカバーしているゴム部分を、
端からめくって少しずつ剥がします。

めくり上げた奥に見えるのがコネクタです。(下画像)

目視では何も問題が無いように見えますが、
フラットケーブルコネクタの基板側半田付箇所を、
ケーブル行き先との間で導通確認すると導通なしでした。
基板のコネクタからフラットケーブルが抜けかけていたか、
ケーブル挿入が浅く接触不良になったと推定されます。

作業上のポイント
コネクタの黒い部分(ケーブルを端子に押し当てる部分)を起こして、
ケーブルが抜ける状態にします。
ケーブルを引っ張ろうとしますが・・・
難点
・・・出ているケーブルが短く、指でつまんで引っ張れません。
・・・ペンチ等は端子を傷付けるので使えません。
・・・軽く引っ張ったくらいでは動きません。
・・・(バッテリーとケース緩衝材等の僅かな隙間を通っている)

指でつまむ部分を作るため、ポリイミドテープを使って、
フラットケーブルを挟むように貼り付けて、引っ張ったら出てきました。
ケーブルにダメージはありません。
コネクタにセットしたときに、ケーブルがたわむくらい多めに引っ張り出しておく。
ケーブルをセットしにくくなりますが、再発防止のためにやっておきましょう。

ケーブルをコネクタの奥まで挿し、黒い部分を元通り倒して処置完了です。
元通り組み立てます。

組み立て完了
電源ボタンを押してみると、LED点灯して、起動音が出ました。
動きそうです。ヨカタ

念の為
"リチウムイオンバッテリーの危険性"についてご了解いただきました。
(バッテリーが収納されている筐体ケースには損傷がありませんでした。)
バラしたことによって防水性能は低下します。
またメーカー保証は受けられなくなります。<br />
その他確認したこと
プリント基板を外して(引き抜いて)外観チェックしましたが、
拡大鏡+目視では問題見つかりませんでした。

"動作確認OK"と連絡届きました。


基本は大事(コンパイルエラー)

2024-06-07 11:24:03 | ナレッジ_knowledge

こんなことがありました。笑ってやってください。

4年前に書いたスケッチが必要になり、書き込みしたらコンパイルエラーになって

"exit status 1
control reaches end of non-void function [-Werror=return-type]"
調べたら<br />void以外の関数で戻り値が無いと次のエラーとなる。<br />"戻り値"が必要ないこともありますが・・・<br /><code>return true</code>と入れたらコンパイル出来ました。
ちなみに
次のスクリーンショットArduino IDEの環境設定で"コンパイル"のチェックを外すとエラーになりません。<br />以前からチェック入れていて、エラーは出なかったと記憶しています。
でも、これからは正しいcodeを書くようにしたいと思います。


教えてもらいました(XIAO ESP32C3でWEPを使う時)

2024-05-23 20:57:45 | ナレッジ_knowledge

”古めのWi-Fiアクセスポイントを活用したい”とご依頼があったので、
google先生に聞いてみたら
ESP32で”WEP”を使う方法を見つけました。
感謝して使わせてもらいました。
WiFi.begin(ssid,password);の前に1行追加するだけで、
”WEP”アクセスポイントへ接続できるようになりました。
  WiFi.setMinSecurity(WIFI_AUTH_WEP); // Lower min security to WEP.
// or
//WiFi.setMinSecurity(WIFI_AUTH_WPA_PSK); // Lower min security to WPA.
  WiFi.begin(ssid, password);


教えてもらいました。(ESP32で現在時刻と時差時刻を使いたい時)

2024-05-06 12:00:20 | ナレッジ_knowledge

chatGPT先生に教わりました。

現在の時刻と一定の時間差を設けた時刻を使いたい。
サンプルスケッチ "ESP32"- "Time"-" SimpleTime"を使って改変点を載せます。
//void printLocalTime()の中に入れました。
  time_t now;//time_tは時刻を表すために使用される型 "time_t"型の"now"を宣言
  time(&now);//現在のUNIX時間を取得しその値をポインタ経由で変数"now"に格納
//中略
//以降は関数"void printLocalTime()"の最後の方に入れる
  //例として9時間前の時刻を取得する
  time_t some_hours_ago = now - 9 * 60 * 60;
  struct tm *some_hours_ago_info;//"some_hours_ago_info"構造体を宣言
  //'*'(間接参照演算子)ポインタが指し示すメモリ上の値を取得するために使用されます。
  //'&'(アドレス演算子)変数のアドレスを取得するために使用されます。
  
  //"->"[ポインタが指し示す構造体]のメンバアクセスする際に使用されます
  some_hours_ago_info = localtime(&some_hours_ago);
  
  //"some_hours_ago"というtime_t型変数のアドレスを渡している。
  //some_hours_agoが示すUNIX時間を地元時間に変換する
  //その地元時間の情報を格納した"struct tm"構造体へのポインタを返す
  //シリアルモニタへ表示してみる
  Serial.println(some_hours_ago_info->tm_year + 1900);
  Serial.println(some_hours_ago_info->tm_mon + 1);
  Serial.println(some_hours_ago_info->tm_mday);
  Serial.println(some_hours_ago_info->tm_hour);
  Serial.println(some_hours_ago_info->tm_min);
  Serial.println(some_hours_ago_info->tm_sec);
//以降変更なし省略



車載用アマチュア無線機の表示が点かない(電球切れ〜LEDへ交換)

2024-01-15 11:19:54 | ナレッジ_knowledge

今回は修理の事例です。
小径の電球を取り外しLEDへ変更します。電流制限抵抗も交換します。
車載用アマチュア無線機 TMー732 KENWOOD

部品(秋月電子通商)
I-01126 LED光拡散キャップ 3mm 白 (20個入)
I-17012 3mmウォームホワイトLED OSM5YK3Z72A (10個入)
1/6W510Ω2本
工具
サンハヤトのリードベンダー(MODEL RB-5)

操作表示部が分離できるタイプの無線機です。4芯のケーブルで本体と接続されています。
周波数などを表示する「ディスプレイが光らなくなった」というご依頼です。
(下の写真はLEDへ交換済みなので表示が見えます)

分解して調べてみると
照明電球は2個ずつ直列接続されて2回路あります。
回路ごとに1個ずつ切れていたので、全部点かなくなったようです。
インターネット検索では、トランジスタ(2SB1149)の故障事例も出てきましたが、
このユニットでは大丈夫でした。


表示液晶の周囲を覆っている金属製のカバーを外して、シールを剥がさないと
1個だけランプが抜けてきませんでした。

取り外した電球(電球ですものそりゃ切れますよ)

秋月電子通商で購入したLED(直径3ミリ)と光拡散キャップです。
リード加工は樹脂部にストレスをかけないように注意深く行う必要があります。
サンハヤトのリードベンダー(MODEL RB-5)で加工しました。
この距離がストレスかけない限界点かと思います。

サンハヤトのリードベンダーでTO-92の所が使えました。(MODEL RB-5)

ちょっと難しい、注意するところ

ランプよりLEDの直径が大きいため、どのランプ位置でも導光部やカバーに干渉します。
カバーを少し曲げる等の工夫が必要です。特にボリュームが取り付けられている側は、
奥まで入らないので、リードの曲げ方を工夫して基板に届くように(Uの字のようにとか)
する必要があります。注意 LED樹脂部にストレスをかけないようにするため、
曲げ位置をLED側へ寄せすぎない方が良いと思います。
Uの字リード曲げ加工・・・Lの字曲げ→Uの字を目標に曲げて、しの字ぐらいでカット
また、金属カバーとボリューム端子のショートを防止するため、外側面にポリイミドテープを
貼っておくと良いと思います。
前述のシールが貼ってあったランプ位置以外は、金属カバーを取り付けてから
作業したほうが良いかもしれません。

LEDを4個取り付けて抵抗を交換しました。
チップ抵抗の代わりにリード付き抵抗を取り付けました。
R8リードが接近するので、R5上にポリイミドテープを貼り付けました。
写真の左側LEDは、他の3個より挿入深さ浅めでリード追加工(Uの字)

参考 半透明な光を導き拡散させる部分(導光部と表現)

表示の明るさは調整の必要があるかもしれません。
510ΩでIF=10mA程度と思います。
暗ければ300Ωぐらい(20mA)までは抵抗を交換して調整可能と思います。

おわり