リセットICの使い方 [Arduino]
システムリセット用のICで電池容量の確認などにも使用できます。

今回はPST600シリーズの「PST600D」(他型番でも可)を使用します。
このICはVCC/GND/VOUTの3本足です。通常時のVOUTの出力電圧はVCCの電圧とほぼ同じになります。電池が減った場合などに「検出電圧」(この型番は4.0Vから4.4V以下)を検出すると「リセット動作」となります。リセット動作はVOUTから出力される電圧が0.4V以下になる事です。
このVOUTの出力電圧によって「システムのリセット」や「電池切れの確認」を行います。主にアナログ回路で使用されると思います。
使用部品・材料
総額で約580円です。(Arduino本体の値段を除く)
部品/材料 | 値段 | 備考 |
---|---|---|
サンハヤト SAD-101 ニューブレッドボード | ¥500 | Amazon.com |
リセットIC PST600D-2 | ¥40 | 秋月電子の通販コード(I-11033) |
5mm赤色LED OSDR5113A | ¥20 | 秋月電子の通販コード(I-11655) |
基板用スライドスイッチ SS-12D00-G5 | ¥20 | 秋月電子の通販コード(P-08790) |
カーボン抵抗器 | 数円 | 560Ω(1個)、220Ω(2個)を使用。 |
秋月電子ではPST600D、PST600Eの2つが販売されていますが、検出電圧が異なるだけですので、お好きな方で構いません。
配線図
ICに「リセット動作」をさせる為に5Vと3.3Vをスライドスイッチで変更できるようにしています。5Vの時は通常動作でLEDが点灯します。3.3Vはリセット動作(0.4V以下)となるのでLEDは点灯しません。

次は公式データシートより(pst600.pdf)


スケッチ(プログラム)
シリアルモニターに検出電圧の状態を表示します。
void setup() { Serial.begin(9600); } void loop() { int val = analogRead(A0); // リセット動作(0.4V以下) if (val <= (0.4 / 5.0 * 1024.0)) { // リセットをする場合はここに処理を追記します // ※Arduinoの場合はRESETピンをGNDにつなぐとリセットします。 Serial.println("リセットする電圧を検出しました。"); // 通常 } else { Serial.println("検出なし"); } delay(1000); }
実行例

最後に
Arduinoはデジタル回路ですので、このICを使用しなくてもアナログピンで電圧を計測して同じような事が可能です。
掲示板
ArduinoやRaspberry Piなどの電子工作の掲示板を作成しました。質問やわからない事は電子工作 (Arduino・ラズパイ等)でユーザー同士で情報を共有して下さい。