Arduinoの電源を突然削除しても安全ですか?[閉まっている]


12

Arduinoを持っている場合、破損することなく突然電源をオン/オフできますか?オン/オフスイッチのある製品を設計している場合、マイクロコントローラーが何らかのクリーンオフを実行できるように、電源をオフにする前に遅延を組み込む必要がありますか?それとも、SPSTスイッチをArduinoの電力線に接続するだけで大​​丈夫ですか?

(製品を設計するということは、他のコンポーネントを備えたカスタムボード上で、ArduinoコードでATmegaを独立して使用することを意味します。)

編集:ArduinoによってArduinoブートローダーをフラッシュするだけで、AVRの代わりにArduinoでプログラムできます。使用したいチップはAtmel atmega328Pで、EEPROMを使用する必要はありません。


3
「Arduino」はブランド名であるため、大文字の「A」を取得します。首都は重要です。
トランジスタ

3
たぶんそれが実際には「Arduino」であるが、質問は実際には「arduino」に近いカスタムボード上のATmegaに関するものです。実際のトピックに関しては、ATmegaに加えて、状態、特に外部メモリを持つ可能性がある他のコンポーネントも考慮する必要があります。たとえば、大量の思考と懸念を必要とするSDカードがある場合です。最後に、一部の電源はオン/オフ時に厄介なことをします。
クリスストラットン

1
SDカードも使用していないと仮定できますか?
UKMonkey

それはあなたの製品です。電源が切れた場合、何かを保存する必要がありますか?その質問に対する答えがあなたの質問に答えます。
ステンレス鋼

回答:


18

はい、Arduinoを突然停止しても安全です。

まあ、ほとんど安全です。

さまざまなArduinoで使用されるプロセッサには、3種類のメモリがあります。

  1. Flash-プログラムが保存される場所。プログラムはここからデータを読み取ることができますが、書き込むことはできません。

  2. RAM-プログラムの実行中にプログラム変数が保持される場所。ここのデータは、Arduinoをオフにすると消えます。プログラムはここで常に読み取りと書き込みを行います。

  3. EEPROM-プログラムが内容を保存できる場所では、次回の実行時に必要になります。通常、めったに変更されないが、プログラムの実行時には常に必要なもの。センサーのキャリブレーションデータと同様。

ほとんどのプログラムは、フラッシュとRAMのみを使用します。Arduinoは、これらのプログラムで好きなときにいつでもオンとオフを切り替えることができます。

プログラムがEEPROMに書き込む場合、EEPROMへの書き込み中に電源を切ると、そこのデータが破損する可能性があります。

それがプログラムに与える影響は、データが何であるかによって異なります。

センサーのキャリブレーションデータが破損すると、センサーが検出しているものが何であれ、測定値が悪くなります。

EEPROMデータを使用してチェックサムを書き込むと、破損を検出でき、不良データを使用する代わりにプログラムをシャットダウンできます。

もちろん、プログラムがEEPROMに書き込むかどうかはわかります。別のライブラリをロードし、特別なコマンドを使用してEEPROM領域の読み取りと書き込みを行う必要があります。

本当に危険なのは、EEPROMに書き込むその短い瞬間だけです。それはめったに起こらないため(通常は制御された条件下でのみ)、EEPROMデータを破損することもまれです。


概要:

EEPROMを使用している場合を除き、Arduinoのオンとオフを危険なく自由に切り替えることができます。その場合でも、ほとんどの場合は回避できます。


8
「フラッシュ-プログラムの保存場所。プログラムはここからデータを読み取ることはできますが、書き込むことはできません。」-多くのAVRチップ(328Pは間違いなく含まれています)は、フラッシュを自己プログラムできます。実際、これがArduinoプログラミングサイクルの仕組みです。328Pで実行されるブートローダーは、328P自体をプログラムします。それはOPがそれをやってますかなりそうだが、それがある可能。
-marcelm

2
また、追加のハードウェア(センサーなど)を搭載したArduinoを使用する場合は、コンデンサーを追加し、外部電力を測定するためにポートピンを使用することもできます。欲しいです。ATmegaでは、EEPROM書き込みサイクルは通常3.4 msです。そのため、コンデンサがプロセッサを5ミリ秒にわたって有効に保ち、各eeprom書き込み操作の前に外部電源をチェックできる場合、安全です。
-vsz

10

はい、破損せずにすぐに電源を切ることができます。

回路のパワーダウンに遅延を入れる理由は、外部周辺機器の安全性または機能上の理由だけです。

たとえば、電源オフ時、データを不揮発性メモリに保存する必要があります。または、電源オフ時に、電源オフ時に機構が安全な位置にあることを確認する必要があります。

これには、電源の監視と、プロセッサを実行するのに十分なホールドアップ容量、および実行する必要のある機能が必要です。


6

Arduinoという用語は、さまざまなチップを搭載した非常に広範なマイクロコントローラボードを指し、電力損失の影響はさまざまです。したがって、使用されているATmegaチップの正確な部品番号を入力することをお勧めします。しかし、ATmega328のようなチップの一般的な方法では、次のことが当てはまります。

はい、Arduinoを破損したり破損したりすることなく電源を切ることができますが、次のことに注意してください。

  • コードでEEPROMを使用している場合、デバイスがデータをフラッシュして電源が切れると、フラッシュが破損したり、データが正確に保存されなかったりする場合があります。

  • EEPROMとは別に、突然の電力損失が害を及ぼす唯一の方法は、Arduinoで使用されているデバイス(SDカードなど)です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.