ジャンクマザーボードH170M-PLUS修理

ジャンクなLGA1151世代マザーボードをゲットしました。

お値段なんと500円でした!!

ASUS H170M-PLUS

ゆーやつです。

 

f:id:Hamakita:20170812011257j:plain

お家に持って帰ってまずやったことはマザーボードを眺めることです。

舐めるように眺めます。

外見から故障箇所が解れば儲けもんです。

購入時CPUソケットをチェックしてみましたが、

ピン折れはなさそうでした。

他の箇所も特に怪しいところはありませんでした。

 

動作確認をしてみます。

 

f:id:Hamakita:20170812012411p:plain

おっ画面映ったぞ、これは当たりか??

と思ったらすぐにシャットダウンしてしまいました。

なにかエラーを吐いてたみたいなので確認してみると

USB Device Over Current Status Detected !!

と表示されていました。

USBデバイスに電流が流れすぎてます‼

というエラーみたい

USBがショートしてるのかな??

 

今度はUSBに繋いでいたマウスとキーボードをはずして起動してみました。

 

USB Device Over Current Status Detected !!

同じエラーがでました。orz

 

マザーボードにほこりがつまってショートさせることもあるので

エアーダスターできれいにしてから起動してみました。

USB Device Over Current Status Detected !!

同じエラーがでました。orz

 

こういうときはとりあえずcmosクリアを試してみます。

ボタン電池を外して数十秒放置すればOKです。

USB Device Over Current Status Detected !!

同じエラーがでました。orz

 

うーんとりあえずどっかのUSBがショートしているのは間違いなさそうなので

マザーボードからでてるUSBの電源を1つずつチェックしていったら

電源がきてないやつがあるはずだ!!と思ってチェックしてみたら

 

ありました!!

 

f:id:Hamakita:20170812011329j:plain

このUSBポート2つです。起動している時、他のUSBは電源がきてるのに

こいつらだけきてないです。

 

USBの電源供給の切り替えを行うFETがどっかにあるはずなので

そいつが壊れてショートしてると目星をつけました。

 

みつからない……どこにあるの??

 

さんざん探しましたが結局分かりませんでした。

しばらく悩みましたが。

思い切って逆に電源を供給してみる事にしました。

 

テスターでチェックしてみると

電源がきてないUSBポートは、ショートしているわりには

電源とGND間の抵抗が髙かったのです。

本当にショートしてたら、電源を供給するのはまずいですが、

どーせジャンクだし、このまま動かないよりは試してみよう!

とゆー事でお隣のUSBからジャンパーして電源を引っ張ってきます。

f:id:Hamakita:20170812011021j:plain

 

そして電源おーーん

 

 

 

 

f:id:Hamakita:20170812011045j:plain

きたあああああああああああああああああああああああああああああああああああああああああああああああああ

BIOSに入りましたあああ

やったーーーーーーーーーー

最近のBIOSは近未来的でかっこいいなぁぁぁぁぁぁああああいえええええええいい

 

windows入りのHDDを繋いだら無事windowsまで起動してくれました。

一通り周辺機能を確認してみましたが問題なく動いているみたいです。

結論として電流が流れすぎてますよーというエラーは今回の場合

USB電源の供給部分が壊れていて電源きてなかったから起きてたみたいです。

 

最終的に壊れたUSBポートの電源はお隣から鈴メッキ線で引っ張ってきました。

f:id:Hamakita:20170812011031j:plain

この状態で問題のUSBポートにデバイスを刺したら

問題なく動いてくれたました。

 

 

ジャンクGTX1070修理

ジャンクなGTX1070搭載グラボをゲットしました。

お値段なんと5000円でした!!(桁間違えてないです)

意気揚々と購入し早速PCへ刺してみました。

 

わーーLED光ったあああああああ通電はするぞ

きたか?

 

 

映らない…

うーん

 

あっ電源が足らないのかな??

デュアル電源にしてみよう!

 

グラボ専用に550w電源をつけて

スイッチおーーーん!!!

 

映らない…

 

あれ??これもしかしてPCIe用電源ピン6ピン刺してもダメなのかな??

でも使っている電源に8ピンPCIe電源コネクタはないなー

創ろう!!

 

f:id:Hamakita:20170809024934j:plain

こんどこそ!!

 

映らない…

 

あああああああああああああああああああああああああああああああああああああああああああああああああああああああああああダメなのかーー!!!

5000円損したのかあああ

 

グラボのヒートシンクをはずしてコンデンサがぶっ飛んだりしてないかチェック

してみたけど

f:id:Hamakita:20170809024954j:plain

怪しいところはとくになし…

 

こうなったら最終手段でジャンク界では有名なグラボ修理法をためしてみよう

オーブンレンジで焼きます!

 

先人達のブログを拝見させていただき焼き時間を決めました。

主にこちらのブログを参考にさせていただきました。

 

PCが起動しなくなったのでグラボ(R9 270X)をオーブンで焼いて修理した話 | SmartAll(スマータル)

 

今回は190℃で4分ほど焼いてみたいと思います

焼きたいGPU以外はアルミホイルで保護します

f:id:Hamakita:20170809024944j:plain

焼き終わったら急には冷まさずゆっくり冷まします。

オーブンレンジ内に1時間程放置しておきました。

 

動作チェックしてみます…

 

 

 

f:id:Hamakita:20170809024925j:plain

映ったーーー!!!

ん?どうやらPCIe電源を刺し忘れていたようですね。

グラボに補助電源を投入したら無事windowsが起動してくれました。

ちゃんと映ってます。画面にノイズがあるわけでもないです。

ゲームもできました!

やったああああああああ!!!!!!!

 

 

 

 

 

acerP223Wd 修理

パソコンディスプレイとして使っていた

acerP223Wdというディスプレイが壊れて電源がつかなくなったので

分解して修理してみました。

まず本体を覆っているカバーを外しました。

これが曲者でなかなか分解に手間取りました。

結局綺麗に分解することができず

一部破壊してしまいました。(;_;)

 

f:id:Hamakita:20170711022349j:plain

中には基板が二枚入っており

映像信号をディスプレイへ表示する基板と

AC100vから基板の電源とバックライトの電源を作る基板です。

この2枚目の基板をよく見てみるとコンデンサが2つ膨らんでいました。

どうやらこのコンデンサが原因のようです。

f:id:Hamakita:20170711022421j:plain

 

同じ容量のコンデンサを購入し交換しました。

f:id:Hamakita:20170711022412j:plain

仮組み立てをし電源を入れてみると動いてくれました。

f:id:Hamakita:20170711023518j:plain

ググってみると同じ製品でまったく同じところが壊れている記事をたくさん見かけました。

PIC18F23K20 電子工作を始めよう #5 LEDフラッシャー改

今回は前回のLEDフラシャーのプログラムに改良を加えます。

タイマー割込みを使うことで、点滅タイミング切り替え時

長押しをしなくてよくなります。

またスイッチを押している間点滅が停止することもなくなります。

 

PIC入門GUIプログラミング#5LEDフラッシャー改 - YouTube

【ゆっくり】PIC入門GUIプログラミング#5LEDフラッシャー改 by 電子ライダー ニコニコ技術部/動画 - ニコニコ動画

完成形のプログラムを提示します。

main.c

/**
Generated Main Source File

Company:
Microchip Technology Inc.

File Name:
main.c

Summary:
This is the main file generated using MPLAB(c) Code Configurator

Description:
This header file provides implementations for driver APIs for all modules selected in the GUI.
Generation Information :
Product Revision : MPLAB(c) Code Configurator - 4.15
Device : PIC18F23K20
Driver Version : 2.00
The generated drivers are tested against the following:
Compiler : XC8 1.35
MPLAB : MPLAB X 3.40
*/

/*
(c) 2016 Microchip Technology Inc. and its subsidiaries. You may use this
software and any derivatives exclusively with Microchip products.

THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY IMPLIED
WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A
PARTICULAR PURPOSE, OR ITS INTERACTION WITH MICROCHIP PRODUCTS, COMBINATION
WITH ANY OTHER PRODUCTS, OR USE IN ANY APPLICATION.

IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS
BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE
FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN
ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.

MICROCHIP PROVIDES THIS SOFTWARE CONDITIONALLY UPON YOUR ACCEPTANCE OF THESE
TERMS.
*/

#include "mcc_generated_files/mcc.h"

/*
Main application
*/
#define LED0 PORTAbits.RA0
#define LED1 PORTAbits.RA1
#define LED2 PORTAbits.RA2
#define LED3 PORTAbits.RA3
#define SW0 !PORTBbits.RB0
#define SW1 !PORTBbits.RB1
#define SW2 !PORTBbits.RB2
#define SW3 !PORTBbits.RB3

void interrupt_10ms(void);
int mode=0;
void main(void)
{
// Initialize the device
SYSTEM_Initialize();

// If using interrupts in PIC18 High/Low Priority Mode you need to enable the Global High and Low Interrupts
// If using interrupts in PIC Mid-Range Compatibility Mode you need to enable the Global and Peripheral Interrupts
// Use the following macros to:

// Enable high priority global interrupts
//INTERRUPT_GlobalInterruptHighEnable();

// Enable low priority global interrupts.
//INTERRUPT_GlobalInterruptLowEnable();

// Disable high priority global interrupts
//INTERRUPT_GlobalInterruptHighDisable();

// Disable low priority global interrupts.
//INTERRUPT_GlobalInterruptLowDisable();

// Enable the Global Interrupts
INTERRUPT_GlobalInterruptEnable();

// Enable the Peripheral Interrupts
//INTERRUPT_PeripheralInterruptEnable();

// Disable the Global Interrupts
//INTERRUPT_GlobalInterruptDisable();

// Disable the Peripheral Interrupts
//INTERRUPT_PeripheralInterruptDisable();

TMR0_SetInterruptHandler(interrupt_10ms);
unsigned int i;
while (1)
{
// Add your application code
switch(mode){
case 0:
LED0=1;
LED1=1;
LED2=1;
LED3=1;
for(i=0;i<30000;i++);
LED0=0;
LED1=0;
LED2=0;
LED3=0;
for(i=0;i<30000;i++);
break;
case 1:
LED0=1;
LED1=0;
LED2=1;
LED3=0;
for(i=0;i<30000;i++);
LED0=0;
LED1=1;
LED2=0;
LED3=1;
for(i=0;i<30000;i++);
break;
case 2:
LED0=1;
LED1=1;
LED2=0;
LED3=0;
for(i=0;i<30000;i++);
LED0=0;
LED1=0;
LED2=1;
LED3=1;
for(i=0;i<30000;i++);
break;
case 3:
LED0=1;
LED1=0;
LED2=0;
LED3=1;
for(i=0;i<30000;i++);
LED0=0;
LED1=1;
LED2=1;
LED3=0;
for(i=0;i<30000;i++);
break;

}
}
}

void interrupt_10ms(void){
if(SW0) mode=0;
if(SW1) mode=1;
if(SW2) mode=2;
if(SW3) mode=3;

}
/**
End of File
*/

 

 

PIC18F23K20 電子工作を始めよう #4 LEDフラッシャー

前回はLチカまでやりましたので、今回はLEDフラッシャを作ります。

自転車のライトとかスイッチを押すたびに発光パターンがかわりますよね。

アレをつくります。

回路にLEDとスイッチを追加しましょう。

回路図はこちらです。

f:id:Hamakita:20170416181840p:plain

単純にLEDとスイッチを追加するだけです。

スイッチをつないでるピンが抵抗を介してVCCへ接続されているわけは、

もしこの抵抗がないと、スイッチが押されていない時にピンが

どこにもつながっていない状態になります。つまり0か1かわからない状態となります。

これではまずいのでスイッチを押したら0押されていないときは1となるように抵抗を介してVCCへ繋いでます。このような抵抗の事をプルアップ抵抗と呼んだりします。

直接VCCに繋ぐとスイッチを押したときにショートするので抵抗を介してるわけです。

完成したハードウェアは次のようになります

f:id:Hamakita:20170416182422p:plain

プログラミングの方は動画を製作したのでこちらをご覧ください。

youtube

pic18F23K20 LEDフラッシャー - YouTube

ゆっくり解説版

【ゆっくり】PIC18F23K20 LEDフラッシャーを作る - YouTube

ニコニコ動画

pic18f23k20 LEDフラッシャー by 電子ライダー ニコニコ技術部/動画 - ニコニコ動画

 ゆっくり解説版

【ゆっくり】PIC18F23K20 LEDフラッシャーを作る by 電子ライダー ニコニコ技術部/動画 - ニコニコ動画

#5へ続く

 

 

PIC18F23K20 電子工作を始めよう #3 Lチカ

LED点滅をします。

マイコン工作ではまず初めにLED点滅をしてみるのが定番なのです。

Lチカと言われています。

ハードウェアは#1で制作したものを使用します。

PICとPICkit3の接続方法を説明します。

PICkitは1ピンから順に

  1. MCLR
  2. VDD
  3. GND
  4. PGD
  5. PGC
  6. PGM(このピンは使いません)

です.

1ピン、4ピン、5ピンはPICのデータシートを見れば、同じ名前の端子があるはずなので

そこへ繋ぎましょう。

PIC18F23K20の外形図は次のようになっています。

f:id:Hamakita:20170408202839p:plain

1ピン、27ピン、28ピンにそれぞれ割り当てられているのでそこへ繋ぎましょう。

PICkit3の2ピン、3ピンは電源線です。2ピンはプラスに3ピンはマイナスに繋ぎましょう。

正しく接続されれば写真のような形になります。

f:id:Hamakita:20170404234453j:plain

写真ではブレッドボードの上下の電源ラインをつなぎ忘れてますが、ジャンパーでつないで下さい。

Lチカのプログラムは動画を製作したのでこちらをご覧ください。

youtube

youtu.be

ニコニコ動画

PIC18F23K20 MCCによるLチカ by 電子ライダー ニコニコ技術部/動画 - ニコニコ動画

#4へ続く

PIC18F23K20 電子工作を始めよう #2 MPLAB X IDEインストール

PICをC言語により開発するために開発環境を構築します。

動画での解説もしております。

youtube

youtu.be

ニコニコ動画

MPLAB X IDE インストール方法 MCCまで by 電子ライダー ニコニコ技術部/動画 - ニコニコ動画

 

 

  1. MICROCHIP社のホームページにアクセス
    http://www.microchip.com/

  2. MPLAB X IDEのページへ移動

  3. 画面下のDownloadsからMPLAB X IDEをダウンロード

  4. Download ArchiveからXC8コンパイラをダウンロード
  5. それぞれインストーラを起動しインストールしてください。
  6. インストール完了したらIDEを起動します。
  7. Tollos/Pluginsをクリック
  8. Available PluginsよりMPLAB Code Configuratorを選択しInstallをクリック

以上です。動画の方がわかりやすいと思いますのでよければそちらを見てください。

#3へ続く