ATX電源故障2020/10/13 22:35:48

7年使っていたSeasonicの660W 80Puls Platinium ATX電源が壊れた。
周辺機器にPC待機時にも給電したかったので、ここ最近メインの電源スイッチは切らなかったのだが、周辺機器の動作がおかしくなったため、メインスイッチを切って一度完全電源断を行った。
PCを起動するためにメインスイッチを入れてPCの電源ボタンを押したが、起動しなくなった。
常時出力があるはずの5V電源も出力されていない状態になった。
故障個所を特定するために、ワット数の少ない手持ち電源をMBに接続したところ、基板上のLEDは点灯した。
電源モジュールは消耗品なので、新しい電源をネット注文した。
在庫があったので、翌日(本日なのだが)届いたので交換したところPCは無事起動させることができた。
今回は家に存在する他のPCとの互換性を確保するためと今後のPC買い替えに備え、出力容量の大きいCOLSAIRの850W 80Plus Gold ATX電源を調達した。
無駄に出力容量が大きい電源(しかもPlatinumkaraGoldになっているし)だと効率が悪いという話もあるようだが、上記理由により決めた。

ITX-PC暫定復活22020/10/07 20:02:38

電源を追加してしばらく使っていたが、高負荷になると消費電力が増加するためか動作が不安定になってしまう。
仕方がないので、しばらく使っていたATX電源に戻した。
今度は電力がもう少し多く供給できる回路を作って対応する予定。
もしかすると電圧自体も低めなのかもしれないため、電圧も測定したいとがんが得ている。

ITX-PC暫定復活2020/09/08 18:39:54

1年以上前に80Wのファンレス電源(ACタップ)の基盤が壊れて、余っていたATX電源で動かしていたITX-PCが暫定復活した。
このマザーボードは何回か電解コンデンサが膨らんで動かなくなったため、その都度コンデンサ交換して直していた。ファンレス電源が壊れた時にもついでにコンデンサ交換したが、うまく半田付けできていなかったらしく、Network Interfaceが起動してしばらくすると動かなく事象が発生していた。先日、久しぶりにケースからマザーボードを取り外した際に、半田の浮きを発見して対処したところ、発生頻度が0に近くなった。
あと、これもだいぶ前に交換したが、マザーボード付属のCPUファンの回転信号が取れなくなり、音もうるさくなったので交換していた。CPUファンを交換する際に動作電圧とサイズ、ボールベアリングくらいしか気にしないで部品調達していたため、風量が若干少なく、高負荷になるとPCがハングアップする事象も発生していた。追加ファンでごまかしていたがケースが閉まらないので、元のファンより風量のあるものをamazonで調達して対応した。注文画面では3ピンで回転信号が出てきそうなものを頼んだのだが、さすがφ華クオリティなのか、画面とは異なるメーカーのファンが届いた。一応空冷目的には必要なところはカバーされていたのであきらめて使ったが、回転信号は取れなかった。さらにノイズはそれなりにあり、耳に障る高い音がしていたので、回転軸をカバーしているシールをはがしてチューブ入りの耐熱シリコングリスを押し込んだらかなり静かになった。
電源については、120Wのファンレス電源を購入していたが、3.3Vと5Vの初期電流が足りないらしくうまく起動しなかった。自作別基盤で3.3Vと5Vの電源を用意したところ、起動や長時間利用含めて安定するようになった。

マザーボードのコンデンサ交換2019/02/16 21:51:24

16年ほど前に買ったP4のPCが起動しなくなった。
確認したところマザーボードのコンデンサが液漏れしていた。
液漏れのひどいコンデンサと同じ規格のものが手元に3個だけあったので、ひどいほうから順番に交換した。
運良く?3個目で起動するようになったので一安心。
あと9個ほどコンデンサが膨らんでいるので、コンデンサを購入しておこうと考えている。

zmart DC-ATX-160W 160W ACアダプター電源 キット pico BOX ATX ITX psu2019/01/03 18:52:03

PCのACアダプタータイプの電源が故障してしまったので注文した。
あまりお金をかけたくなかったので安いほうにしたが、安物買いのなんとやらにならなければいいが...

アイネックス ケース用ファン40mm 薄型静音タイプ CFY-40S2019/01/03 18:48:52

PCのファンがうるさくなり、回転数の信号も取れなくなってきたので新しいものを注文した。
今回は静音と耐久性を求めて2ベアリングタイプのものにした。

Nexus5バッテリー交換2018/06/22 20:40:26

だいぶバッテリーの持ちが悪くなってきたので交換することにした。
バッテリーとY字ドライバーを入手。
交換後、だいぶバッテリーの持ちがよくなった。
これでしばらくは延命できるかな。

Raspberry Pi3でAQM0802Aを動かす2016/07/18 13:20:22

Raspberry Pi3B(2Bも)ではpull up抵抗の関係でLCDのAQM0802Aがうまく動作しないらしい。
参考:http://raspibb2.blogspot.jp/2015/12/blog-post_31.html
実際接続してもうまく動作しなかった。
せっかく買ったのに残念だったので、ソフトウェア(Python)でI2Cの実装をしてI2C専用GPIO(pin3,pin5)を使わないで動作を試みた。
結果としてとりあえず動作したので、そのソフトウェアを公開します。

写真の配線はすごく適当ですみません。
3.3V電源(pin1)とVDD,RESETを接続、GPIO27(pin13)とSDAを接続、GPIO22(pin15)とSCLを接続、GND(pin20)とGNDを接続しています。
AQM0802Aのpull up抵抗は有効にしています。

改版は自由に行っていただいて構いません。AQM0802Aを有効に使ってください。

LCD_test.py
--------------------
#!/usr/bin/env python
#
#http://firewall.asablo.jp/blog/
#
import RPi.GPIO as GPIO
import time

#GPIO27 = Pin13
#GPIO22 = Pin15
GPIO_SDA = 27
GPIO_SCL = 22
clock = 400000 #100000 or 400000
wait = float(1) / clock

GPIO.setmode(GPIO.BCM)
GPIO.setup(GPIO_SDA,GPIO.OUT, pull_up_down=GPIO.PUD_OFF, initial=True)
GPIO.setup(GPIO_SCL,GPIO.OUT, pull_up_down=GPIO.PUD_OFF, initial=True)

def I2C_Start():
time.sleep(0.5)
GPIO.output(GPIO_SDA, False)
time.sleep(wait)
GPIO.output(GPIO_SCL, False)
time.sleep(wait)
return

def I2C_Stop():
time.sleep(wait)
GPIO.output(GPIO_SCL, True)
time.sleep(wait)
GPIO.output(GPIO_SDA, True)
time.sleep(wait)
return

def I2C_WriteAddress(data):
data = data << 1
data = data & 0xFE
for i in range(8):
bit = data & 0x80
if(bit % 127 == 1):
GPIO.output(GPIO_SDA, True)
else:
GPIO.output(GPIO_SDA, False)
time.sleep(wait)
GPIO.output(GPIO_SCL, True)
time.sleep(wait)
GPIO.output(GPIO_SCL, False)
time.sleep(wait)
data = data << 1
GPIO.setup(GPIO_SDA,GPIO.IN,pull_up_down=GPIO.PUD_OFF)
GPIO.output(GPIO_SCL, True)
time.sleep(wait)
result = GPIO.input(GPIO_SDA)
time.sleep(wait)
GPIO.output(GPIO_SCL, False)
GPIO.setup(GPIO_SDA,GPIO.OUT, pull_up_down=GPIO.PUD_OFF)
GPIO.output(GPIO_SDA, False)
return result

#動作未確認
def I2C_ReadAddress(data):
data = data << 1
data = data | 0x01
for i in range(8):
bit = data & 0x80
if(bit % 127 == 1):
GPIO.output(GPIO_SDA, True)
else:
GPIO.output(GPIO_SDA, False)
time.sleep(wait)
GPIO.output(GPIO_SCL, True)
time.sleep(wait)
GPIO.output(GPIO_SCL, False)
time.sleep(wait)
data = data << 1
GPIO.setup(GPIO_SDA,GPIO.IN,pull_up_down=GPIO.PUD_OFF)
GPIO.output(GPIO_SCL, True)
time.sleep(wait)
result = GPIO.input(GPIO_SDA)
time.sleep(wait)
GPIO.output(GPIO_SCL, False)
GPIO.setup(GPIO_SDA,GPIO.OUT, pull_up_down=GPIO.PUD_OFF)
GPIO.output(GPIO_SDA, False)
return result


def I2C_Write(data):
for i in range(8):
bit = data & 0x80
if(bit % 127 == 1):
GPIO.output(GPIO_SDA, True)
else:
GPIO.output(GPIO_SDA, False)
time.sleep(wait)
GPIO.output(GPIO_SCL, True)
time.sleep(wait)
GPIO.output(GPIO_SCL, False)
time.sleep(wait)
data = data << 1
GPIO.setup(GPIO_SDA,GPIO.IN,pull_up_down=GPIO.PUD_OFF)
GPIO.output(GPIO_SCL, True)
time.sleep(wait)
result = GPIO.input(GPIO_SDA)
time.sleep(wait)
GPIO.output(GPIO_SCL, False)
GPIO.setup(GPIO_SDA,GPIO.OUT, pull_up_down=GPIO.PUD_OFF)
GPIO.output(GPIO_SDA, False)
return result

#動作未確認
def I2C_Read():
data = 0
GPIO.setup(GPIO_SDA,GPIO.IN,pull_up_down=GPIO.PUD_UP)
GPIO.output(GPIO_SDA, False)
time.sleep(wait)
GPIO.output(GPIO_SCL, False)
for i in range(8):
time.sleep(wait)
GPIO.output(GPIO_SCL, True)
time.sleep(wait)
bit = GPIO.input(GPIO_SDA)
GPIO.output(GPIO_SCL, False)
time.sleep(wait)
data = data << 1
data = data + (bit & 0x01)
GPIO.setup(GPIO_SDA,GPIO.OUT,pull_up=GPIO.PDU_UP)
GPIO.output(GPIO_SDA,False)
GPIO.output(GPIO_SCL, True)
time.sleep(wait)
GPIO.output(GPIO_SCL, False)
time.sleep(wait)
GPIO.output(GPIO_SCL, True)
return data

#main
#Initialize
I2C_Start()
I2C_WriteAddress(0x3e)
I2C_Write(0x38)
I2C_Write(0x39)
I2C_Write(0x14)
I2C_Write(0x70)
I2C_Write(0x56)
I2C_Write(0x6C)
time.sleep(0.2)
I2C_Write(0x38)
I2C_Write(0x0C)
I2C_Write(0x01)
I2C_Stop()


#1行目
I2C_Start()
I2C_WriteAddress(0x3e)
I2C_Write(0x00)
I2C_Write(0x80)
I2C_Stop()

#AQM0802A
I2C_Start()
I2C_WriteAddress(0x3e)
I2C_Write(0x40)
I2C_Write(0x41)
I2C_Write(0x51)
I2C_Write(0x4D)
I2C_Write(0x30)
I2C_Write(0x38)
I2C_Write(0x30)
I2C_Write(0x32)
I2C_Write(0x41)
I2C_Stop()

#2行目
I2C_Start()
I2C_WriteAddress(0x3e)
I2C_Write(0x00)
I2C_Write(0xC0)
I2C_Stop()

#firewall
I2C_Start()
I2C_WriteAddress(0x3e)
I2C_Write(0x40)
I2C_Write(0x66)
I2C_Write(0x69)
I2C_Write(0x72)
I2C_Write(0x65)
I2C_Write(0x77)
I2C_Write(0x61)
I2C_Write(0x6C)
I2C_Write(0x6C)
I2C_Stop()

time.sleep(1)

GPIO.cleanup()
--------------------

Raspberry Pi3 model B 電源回路 の熱対策2016/05/28 15:06:59

ヒートシンクが小さかったので容量アップしてみた。
通電時のヒートシンク温度が前よりも上がらないので、だいぶ放熱している感じ。

Raspberry Pi3 model B 電源回路2016/05/21 15:08:37

可変三端子レギュレータLM338Tを使った電源回路。
12V4Aの電源装置を繋いで、5V(写真では5.02V)に電圧を落としている。
入力が12Vだとヒートシンクの熱容量が足りない感じ。もっと大きなものを購入すればよかった。