मेरे पास एक कस्टम Arduino ATMega328 बोर्ड है जो आम तौर पर 5V @ 8MHz (Arduino Pro 3.3V 8MHz प्रोफ़ाइल और बूटलोडर का उपयोग करके) पर चलता है। इस सेटअप का उपयोग करने का मुख्य कारण यह है कि मैं बोर्ड को सोने के लिए रख सकता हूं जब मुख्य बिजली काट दी जाती है और यह बैटरी पावर (एक सिक्का सेल से 3V) से चलना शुरू हो जाता है। 5V और 3V स्रोत डायोड OR'ed एक साथ हैं और 5V इनपुट INT0 से बंधा है। कोड में, जब यह पता लगाता है कि INT0 कम हो गया है, तो यह स्लीप मोड को इनिशियलाइज़ करता है और वॉचडॉग टाइमर के अपवाद के साथ सब कुछ डाउन हो जाता है जो कि एक आंतरिक गिनती रखने के लिए 1Hz का चक्र रखता है और इसकी जाँच करता है कि चिप बैक अप हो जाना चाहिए। यह खूबसूरती से काम करता है जब 5V पावर पहले लागू किया जाता है, तब बैटरी डाली जाती है, फिर5V काट दिया जाता है। यह सो जाता है और जब 5 वी लाया जाता है तो यह जाग जाता है और मैं देख सकता हूं कि यह खोई हुई गिनती नहीं है।
हालाँकि, समस्या तब आती है जब 3V को पहले लागू किया जाता है । मैं ईमानदारी से यकीन नहीं कर रहा हूँ अगर यह भी बूट हो रहा है। लेकिन यह माना जाता है कि बूट करना है, तो जांचें कि क्या INT0 (डिजिटल 2) कम है और यदि हां, तो सोने के लिए सही जाएं। वर्तमान ड्रा को देखकर मैं देखता हूं कि यह कुछ सेकंड के लिए कुछ एमए तक की शक्ति रखता है, फिर लगभग 0.3mA (फिर भी यह नींद मोड में अधिक होना चाहिए) तक गिर जाता है। लेकिन जब मैं 5V को फिर से लागू करता हूं, तो कुछ भी नहीं । पावर ड्रॉ वापस हो जाता है, लेकिन यह अनुत्तरदायी (FTDI सीरियल पर) है।
वहाँ शायद कुछ मुझे याद आ रहा है कि यह 3V पर बूट नहीं किया जा सकता है ... सिद्धांत रूप में यह ठीक चलना चाहिए।
अद्यतन: मैंने D13 पर एक एलईडी को गिरा दिया और पलक स्केच की कोशिश की। 3V या 5V से शुरू होने पर ठीक काम करता है। हालांकि, जब मैं अपना फर्मवेयर चलाता हूं और इसे 3V से शुरू करता हूं, तो एलईडी बस बेतहाशा चमकने लगती है। मुझे नहीं पता कि इसका क्या कारण है क्योंकि मैंने अपने कोड में कभी भी D13 को सेटअप नहीं किया है। लेकिन यह मुझे बात यह है कि यह बूटलोडर के साथ कुछ करना है ...