エントリー

気圧センサー(BMP280)を交換

な!百葉箱で使用している気圧センサー(BMP280)が異常値を出力していた

WS_20210320_01.png

センサーの異常値出力は半年前くらいから発生しており,最初は稀だったのが徐々に頻度が上がっていった

暫くすれば正常値に戻ることもあったので長い間(様子を見るため)ほっといたがようやく交換

今回,な!百葉箱を開けてみると内部に砂などが侵入して汚れていた(1~2月に強風が多かったせいと思われる)

IMG_20210320_120032.jpg

しかし基板や電子部品の外観異常は無さそう

IMG_20210320_120321.jpg

異常となった⑫BMP280(左)を⑭BMP280の物(右)に交換

IMG_20210320_120812.jpg

交換後のデータは問題ないようなのでしばらく様子見

(1日後)

WS_20210321_12.png

赤線以降が交換後の気圧

高速スタートアップを有効(無効)にする

Windows10で「高速スタートアップを有効にする」ことができるが,何かと問題(RAID1の件も関係するかもしれない)があるようなので無効にしておいたほうが無難である

有効/無効設定方法が判り難いので記録しておく

①スタートメニューから電源オプションを実行

WS20210310_01.png

②右側の「電源の追加設定」を選択

WS20210310_02.png

③左側の「電源ボタンの動作の選択」を選択

WS20210310_03.png

④「現在利用可能でない設定を変更します」を選択

WS20210310_04.png

⑤「高速スタートアップを有効にする」で有効/無効を設定する

WS20210310_05.png

※)(推奨)とあるがどの程度の試験がなされているのかだな?

OctoPrint用ラズパイの電源制御ボードを作製

OctoPrint用ラズパイの電源を制御する

IMG_20210228_190639.jpg

基本仕様

ラズパイZEROを使用

ラズパイは3Dプリンタの電源と連動して起動/終了させる

電源制御

3Dプリンタの電源切りを判断し,ラズパイを正常終了(シャットダウン)して電源切りとするため,UPSと電源ON/OFF回路を作ることになる

ソフトコントロールした方が柔軟性が高いのでいつものとおりAVRを使用することとしATtiny13aを使用する

ラズパイZEROはWiFi使用時でも最大消費電流200mA程度(入力5V)→ 効率を多めにみても5V500mA入力できれば良しと見積もる

ラズパイの起動/終了確認はGPIOの8ピン(UART_TXD)を監視することで行う → OSのシリアル利用設定が必要でシリアルコンソールとなる,シリアルは負論理なので使用可能になるとON(1)となる(終了でOFF)

シャットダウン要求はGPIOの7ピンを利用して制御,ラズパイ側でGPIOを監視してシャットダウンする

GPIOは3.3VロジックなのでATtiny13aも3.3Vで使用する

回路図

octoPiPower_回路図.png

  • 元電源が入るとATtiny13aとリポ充放電モジュールが通電
  • ATtiny13aは起動後FETのONでラズパイを起動させGPIOの監視を行う
  • 元電源が切れると電圧の関係でFETへの充電はバッテリーに切り替わる
  • ATtiny13aは元電源OFFを感知してラズパイにシャットダウン要求しシャットダウン後FETをOFF(電源断)する
  • バッテリーはダイソーのUSB充電ライターのリポ(200mAh)を利用

IMG_20210223_200835.jpg

IMG_20210223_200826.jpgIMG_20210223_200911.jpg

  • ON時の5V出力安定のため100μFを付けた(オシロでチェックしたところ無くても問題なしだったが排除していない)
  • スイッチ部はGrd共通のためPチャネルFETとなる
  • ラズパイ3などに変更する場合はダイオードの許容電流に注意
ソフトウェア

ATtiny13a

IMG_20210227_141426.jpg

//3Dプリンター用ラズパイ(octoPi)電源制御プロクラム
// octoPiPower.ino V1.3
//
// ATMEL ATTINY13 / ARDUINO
//
// +-\/-+
// ADC0 (D 5) PB5 1|    |8 Vcc
// ADC3 (D 3) PB3 2| |7 PB2 (D 2) ADC1
// ADC2 (D 4) PB4 3| |6 PB1 (D 1) PWM1
// GND 4|    |5 PB0 (D 0) PWM0
// +----+
//
// PB0 - OUT FET ON/OFF
// PB1 - OUT raspi control (PIN7)
// PB2 - IN raspi sense (PIN8)
// PB3 - OUT LED
// PB4 - IN power
//
// 処理フロー(V1.2まで)
// ①元電源ONにより本機(ATTINY13)がON
// ②ラズパイの電源をONさせる(FET ON)
// ③電源(PB4)とラズパイの状態(PB2)を監視
// ④電源OFFでラズパイにシャットダウンを通知(PB1)
// ⑤ラズパイが終了したらラズパイの電源OFF(FET OFF)
// ⑥⑤により本機もOFFもしくは元電源がONなら終了状態へ移行
// 処理フロー(V1.3から③以降変更)
// 電源連動となるので電源OFFからの復帰はない,また,リブートを可能とした
// ③電源(PB4)を監視
// ④電源OFFでラズパイにシャットダウンを通知(PB1)
// ⑤ラズパイが終了したらラズパイの電源をOFF(FET OFF)
//
#include <avr/io.h>
#include <avr/sleep.h>
#include <util/delay.h>

//接続PIN
#define FET PB0             //電源SW制御
#define RASP7 PB1             //ラズパイ指示(ONでシャットダウンさせる)
#define RASP8          PB2 //TXD(通信ポート)で起動判断(負論理なので通常はON)
#define LED PB3             //動作状態を示すLED
#define POWER PB4 //主電源

void setup() {

  //PIN(入力)
    pinMode(RASP8, INPUT);
    pinMode(POWER, INPUT);
    //PIN(出力)
    pinMode(FET, OUTPUT);
    pinMode(RASP7, OUTPUT);
    pinMode(LED, OUTPUT);

  set_sleep_mode(SLEEP_MODE_PWR_DOWN);

  //ラズパイ電源ON
    digitalWrite(FET, HIGH); //ラズパイON
    digitalWrite(RASP7, LOW); //ラズパイ指示初期化

  //ラズパイ起動待ち
    while(!bit_is_set(PINB, RASP8)) {
     digitalWrite(LED, HIGH);
_delay_ms(900);
digitalWrite(LED, LOW);
_delay_ms(100);
        if(!bit_is_set(PINB, POWER)) {
            digitalWrite(RASP7, LOW); //ラズパイシャットダウン指示
            digitalWrite(FET, LOW); //ラズパイ電源OFF
return; //loop()で元電源OFF待ち
        }
    }
    digitalWrite(LED, HIGH);

//元電源OFF待ち
while(bit_is_set(PINB, POWER)) _delay_ms(1000);

//ラズパイへシャットダウン指示
digitalWrite(RASP7, HIGH);

//シャットダウン待ち
while(bit_is_set(PINB, RASP8)) {
digitalWrite(LED, HIGH);
_delay_ms(500);
digitalWrite(LED, LOW);
_delay_ms(500);
}

//20秒待ち,電源OFF実行
for(int n = 0; n < 20; n++) {
digitalWrite(LED, HIGH);
_delay_ms(100);
digitalWrite(LED, LOW);
_delay_ms(900);
}
digitalWrite(RASP7, LOW); //ラズパイシャットダウン指示
digitalWrite(FET, LOW); //ラズパイ電源OFF
}

//終了
void loop() {
sleep_mode();
}

ラズパイ

IMG_20210223_200934.jpg

ピン監視+シャットダウンプログラムを/etc/rc.localから起動

プログラムは参考の「While loop」版を元にほぼそのままで使用(7ピン監視は10秒間隔にしている)

※)割込み版はバックグランド動作しない

完成ボード

IMG_20210227_214435.jpgIMG_20210227_214450.jpg

バッテリーは基板の裏に配置した

接続

ラズパイとの接続用にソケットを作製

IMG_20210227_161542.jpgIMG_20210227_161553.jpg

ピンはラズパイ上から右ピンに多いので接続のやり易さから左右反転させている(基板の裏からみるとラズパイ上と同じ位置になる)

必要なのは8ピンまでだが切り良く10ピンまで対応できるようにしている(ただし不必要なピンは接続していない)

raspi_gpio.png

システムテストによる調整

最終確認にてソフトウェアの調整を行った

  • シャットダウン要求でシャットダウン後の電源OFFまでの時間を20秒にした(当初は5秒)→ 8ピンがOFF直後に電源OFFすると正常終了していないためディレイを入れている
  • 元電源OFFでシャットダウンまでにONになったらシャットダウン中止を削除(ラズパイ単体なら良いが3Dプリンタと連動なので必要ない)
  • ラズパイ起動後にて元電源OFF前にシャットダウンされたら電源OFFを削除(3Dプリンタと連動のため不必要と再起動を可能にした)

尚,3Dプリンタとの電源連動は(コンセントで連動でも良いが)DCDCで24Vから5Vにダウンさせ入力する予定である

(電源ON)

(電源OFF)

調整により電源OFFまで長くなっている(安全のためでもある)

参考

Windows10のミラー再同期が終わらない

Windows 10 Proのバージョンを1月にアップデート(現20H2)にしてから問題だらけで困っている

WS2021022000.png

直ぐ異常だと思ったのが

  • シャットダウン(再起動も同様)で残りプロセスが邪魔して終了までに時間が掛かる
  • ファイルアクセスが(何かを待っているように)異様に遅くなることが頻繁にある
  • 新しい日本語入力に互換性がなく文字入力でカーソルが消えたりする
  • SSDのデフラグ問題に加え自動デフラグをOFFにしても勝手にONにしてしまう
  • WSL2をセットアップすると起動しなくなる

加えて

  • ミラー再同期が何度も行われる(同期を終わらせた思っても数回起動すると再同期が開始を延々と繰り返す)
  • 上記のシャットダウンで強制終了させて終了させると必ず次回の起動後からミラー再同期が行われる
  • ミラー再同期の終了まで約8時間掛かるので全体を再同期しているように思える(ミラーボリュームが3TBでファイル総サイズが2.5TB位)
  • ミラー同期の関係かファイル操作(開く,コピー類など)が酷く遅い
  • CD・DVDドライブが使えない(暫く使ってなかったので判らなかった)

※)アップする前までは問題なかったのでバージョンアップでの不具合であると考えられる

先ずは,

  • 当初はウイルスを疑ったが違う
  • 異常なプロセスが実行されていることもない
  • ドライバーなど(関係ないと思われるが)最新にし直した

WS2021022004.pngWS2021022005.png

  • ディスクの異常も疑った

WS2021022002.pngWS2021022003.png

が,まるで効果がない

中でもミラー再同期が非常にネックになっておりネット検索してみたが該当するような事項は見つからない

ただミラーリングについてWindows7から10にバージョンアップした際に似たような現象が発生していたようである(その際の解決策がWindows7に戻すってことなので参考にならない)

対策

このままではラチがあかないので,とりあえず一連の問題がRAID絡みでないかと考えミラーリングの再構築を行ってみることにした

ミラー化しているのはデータドライブだけなのでファイルをバックアップ後ディスククリーンして構築し直しである

解決しない場合の事も考慮してミラーボリュームサイズを減らした減らすことにした(ミラーは1TBにして,残りは適時バックアップで対応)

ミラーで使用しているディスクは1台4TBでミラー以外の分を含めると4TB少々なのでバックアップのため6TBのUSB3接続ディスクを購入

IMG_20210220_092507.jpgIMG_20210220_092537.jpg

USB3接続で高速とはいえ最大150MB程度なのでバックアップ,ディスク再構成,リストアに1日半掛かってしまった

で,結果は・・・・✖o✖

結局解決とはならず起動(再起動も同じ)後再同期を繰り返す現象は止まらない(追加:理由は判らないが止まったようだ)

WS2021022001.png

結論!

Windows10のソフトウェアRAID1(ミラー)は使えない!

(正確には使い物にならなくなった)

このままではディスクの壽命が尽きてしまいそうなのでミラーを止めた

アホらしいが仕方ないのでディスク構成は変えず手動ミラーでバックアップにする

(追加)

早とちりだったかもしれないので訂正

一度ミラー全体の同期が終了した後,電源断起動して再同期終了した後,再起動をやってみて再同期が始まったので解決しなかっと判断したが,シャットダウン時やなにかと待たされる現象はクリアしたように思えたので様子をみていたら(再)起動しても再同期しなくなった

なので,もうしばらく様子を見て判断することにする

尚,USB3接続したドライブ(USBメモリも同じ)が,リムーバブルでありながら外せない現象が起きることがあるが,これが1つの要因として関係するのかもしれない(と,感じている)

(追加:2021.3.6)

2W位様子を見た結果,やはり

使えない!

何かの拍子に延々と同期を行うことが発生する(ミラーディスク内のファイルが更新された次の起動時のような気がする)

この時,起動して同期を始め10分位ディスクに対して何も操作できなくなる(つまりフォルダーも開けないので何もできない)場合がある

アップデート前までは,このような事は起きていないし,これだけ頻繁に同期するのはレベルダウン障害だよ

ユーティリティ

検索

エントリー検索フォーム
キーワード

過去ログ

Feed