私は3年前から使っているunoを持っています。ボードの故障がかなり高価で危険な可能性のあるかなり重要なプロジェクトで再び使用します。ですから、私は、取締役会が終末に近づいていないか、いつでもすぐに失敗することはないと確信しています。故障やパフォーマンスの低下を伴わずにボードが機能する時間を把握する信頼できる方法はありますか?
私は3年前から使っているunoを持っています。ボードの故障がかなり高価で危険な可能性のあるかなり重要なプロジェクトで再び使用します。ですから、私は、取締役会が終末に近づいていないか、いつでもすぐに失敗することはないと確信しています。故障やパフォーマンスの低下を伴わずにボードが機能する時間を把握する信頼できる方法はありますか?
回答:
残念ながら、ソリッドステートエレクトロニクスのコンテキストで「摩耗」を実際に判断する方法はあまりありません。
おそらく故障する可能性が最も高いのは、電解コンデンサとコネクタです。
まず、誰かを負傷させる可能性のあるものにATmega CPUを使用している場合は、安全上の注意についてATMELと通話に連絡してください。ほとんどのarduinoモデルで使用されているATmega CPUは、そのような状況での使用は評価されていません。
すべてのデータシートで:
Atmel製品は、生命の維持または維持を目的とするアプリケーションのコンポーネントとしての使用を意図、認可、または保証されていません。
さて、現実的には、これはおそらく大部分が弁護士忌避剤ですが、それでも適切な予防措置を取るべきです。
実際、一般的なarduinoボードにはコネクタ以外に摩耗するものはありませんが、なぜ潜在的な莫大な費用で30ドルを節約しようとしていますか?新しいボードを購入するだけです。
また、SMT ATmega328Pを搭載したボードを選択したことを強くお勧めします。これにより、懸念リストからICソケットコンタクトが削除されるためです。可能であれば、ピンヘッダーも取り外して、ワイヤをボードに直接はんだ付けします。頻繁に障害が発生するため、コネクタを最小限に抑えてください。
時間の経過とともに信頼性が低下する可能性が高いArduinoのセクションの1つは、その記憶です。avrベースのArduinoボードで使用されるマイクロコントローラーには、3つのメモリプールがあります。
メモリはボードの一部であり、確認および検証することができるため、信頼性/健康状態を評価できます。メモリをチェックする非常に基本的な方法は、メモリ内のすべてのアドレスに特定の8ビットパターン(バイト文字)を書き込み、すべてのアドレスから現在の値を読み取ることです。書き込まれた値が読み取られた値と一致する場合、メモリ内のその特定の8ビットブロックは現時点で正しく機能しています。
ROMメモリの摩耗は通常、ブロックごとのパターンで発生します。つまり、n * 8ビットブロックは時間とともに劣化します。したがって、2KバイトのROMチップの場合、チップの正常性は、チップ上のすべてのバイトの書き込みと読み取りを行い、正しく機能するブロックの割合を計算することで推定できます。失敗したブロックの割合が大きい場合(15%〜20%)、それはメモリがすぐに失敗する可能性が高いことを意味します。
テストコードは、メモリセクションごとに個別のメソッドを使用して記述できます。
静的または動的に宣言された変数はすべてSRAMに割り当てられます。したがって、大きな文字配列(〜2000)を宣言し、すべての要素を255(すべてのビット1)で埋めることができます。次に、これらの各要素を読み取って、読み取られる値が実際に255であるかどうかを確認します。
EEPROMはEEPROMライブラリを使用して操作できます。ライブラリは、EEPROMの特定の場所から読み取りおよび書き込みを行う機能を提供します。したがって、メモリ空間全体をループするだけで、すべてのメモリアドレスをテストできます。この操作には500回の書き込みと読み取りが必要です。
ボードの使用状況によっては、EEPROMが最初に故障する可能性が最も高くなりますが、ボードの動作にとって重要ではありません。
PROGMEM
ディレクティブを使用して、データをフラッシュメモリに保存できます。SRAMと同様に、ここで大きな配列を宣言して初期化できます。その後、値を読み取って確認できます。
編集:私の答えに下票した人たち、ああ普通の人はあまり愚かではない!そのためには、あなたは電子であり、回路自体を通ってすべてがOKかどうかを確認する必要があります:)
ボードをコンピューターのUSBポートに差し込み、ボードの緑色のLED電源インジケーターが点灯することを確認します。標準のArduinoボード(Uno、Duemilanove、Mega)には、リセットスイッチの近くに緑色のLED電源インジケータがあります。
ボードの電源がオンになると、ボードの中央近くにあるオレンジ色のLED(下の画像の「ピン13 LED」というラベル)が点滅します(ボードは、工場出荷時にソフトウェアがプリロードされており、ボードが動作しています)。
ボードがコンピューターに接続されているときに電源LEDが点灯しない場合、ボードに電力が供給されていない可能性があります。
点滅するLED(デジタル出力ピン13に接続)は、ボード上で実行されるコードによって制御されています(新しいボードにはBlinkサンプルスケッチがプリロードされています)。ピン13のLEDが点滅している場合、スケッチは正しく実行されています。つまり、ボード上のチップが機能しています。緑色の電源LEDが点灯しているが、ピン13のLEDが点滅していない場合は、工場コードがチップ上にない可能性があります。標準ボードを使用していない場合、ピン13に内蔵LEDがない場合があるため、ボードの詳細についてはドキュメントを確認してください。
Arduinoの使用を開始するためのオンラインガイドは、Windows、Mac OS X、およびLinuxで利用できます。