আমরা আমাদের বেশিরভাগ পণ্যগুলিতে বহু বছর ধরে এটিমেগা 48/88/168/328 মাইক্রোকন্ট্রোলারগুলি সফলভাবে ব্যবহার করে আসছি। আমরা এখন এ এবং পিএ ভেরিয়েন্টগুলি থেকে নতুন পিবি ভেরিয়েন্টে স্যুইচ করার কথা বিবেচনা করেছি (কারণ নতুন পণ্যগুলিতে আমাদের অতিরিক্ত পিন, টাইমার এবং ইউআরটি লাগবে, কারণ এটি সস্তা হয়ে গেছে, এবং বলে মনে হচ্ছে যে পুরানো বৈকল্পগুলি বন্ধ হয়ে যাবে), সুতরাং আমরা একটি ATmega328PB সহ একটি ATmega328A চালু করেছি। বিদ্যুতের ব্যাঘাতের পরে এটি প্রায়শই হাইওয়াইরে যায় বলে মনে হয় । পুরানো বৈকল্পগুলির সাথে এ জাতীয় সমস্যা কখনও ঘটেনি।
আমাদের পণ্যগুলির ব্যবহারের জন্য নিয়মিত বিদ্যুতের ব্যাঘাতগুলি স্বাভাবিক। আমরা একটি সুইচিং পাওয়ার সাপ্লাই (যেমন ব্যবহার এই এক 5V করার জন্য) সেট করুন এবং এটিমেগা এর VCC উপর 220μF সীমার মধ্যে ক্যাপাসিটারগুলিকে আছে, বেশ কয়েক মিনিট সীমার মধ্যে ক্ষমতা বাধা বেচে র্যাম রাখা, অভ্যন্তরীণ রাজ্যের যা মিশন নয় সঞ্চয় করতে পুনঃসূচনা করার পরে তাত্ক্ষণিকভাবে উপলব্ধ হয়ে সমালোচনামূলক তবে ব্যবহারকারীর অভিজ্ঞতা উল্লেখযোগ্যভাবে বৃদ্ধি করুন (এই রাজ্যগুলি প্রায়শই EEPROM কে অপ্রয়োজনীয় করতে যথেষ্ট পরিবর্তন করে)। এটি সর্বদা কাজ করেছে।
তবে নতুন এটিমেগা ৩৩৮ পিবি দিয়ে, বিদ্যুতের ব্যাঘাতের পরে, চিপটি পুনরায় সেট করার শর্ত ছাড়াই পুনরায় সেট করে এমসিইউএসআর-এ পাওয়া যায় এবং ঘড়ির কাঁটাচামচায় মনে হয়।
- বাদামী আউট ডিটেক্টর প্রতি ফিউজ সেট করা হয়। আমরা প্রতিটি উপলভ্য বোদলেভেল চেষ্টা করেছি, বাগ তাদের সকলের মধ্যেই ঘটে।
- আমরা বাহ্যিক 20 মেগাহার্টজ ব্যবহার করি, ফিউজ প্রতি সঠিকভাবে সেটও করি।
- আমরা 3 টি আলাদা চিপ চেষ্টা করেছি, সুতরাং এটি কোনও একক সোল্ডারিং বা অন্য হার্ডওয়্যার ব্যর্থতা ছিল না।
ত্রুটি হওয়ার পরে, ঘড়িটি প্রায়শই 2.5x ধীর গতিতে সেট হয় যা ইঙ্গিত করে যে এমসিইউ 8 মেগাহার্টজ অভ্যন্তরীণ দোলকের দ্বারা আটকে রয়েছে। যাইহোক, কখনও কখনও মন্দা প্রায় 6x এর কাছাকাছি হয়। এর অর্থ এটি ক্লক ডিভাইডার পরিবর্তনকারী কোনও সফ্টওয়্যার বাগ হতে পারে না, কারণ আমি সফ্টওয়্যার থেকে ফিউস সেট করতে পারি না এবং ঘড়ির ডিভাইডার ঘড়িকে 2.5 বা 6 দ্বারা ভাগ করতে পারে না।
সুতরাং, আমার প্রথম সন্দেহভাজন ছিল নতুন ক্লক ব্যর্থতা সনাক্তকরণ ফিউজ। যাইহোক, এটি চালু বা বন্ধ করা যায় না, আচরণ একই থাকে।
সফ্টওয়্যার অদ্ভুততাগুলি অস্বীকার করার জন্য, আমি স্ক্র্যাচ থেকে একটি সাধারণ পরীক্ষা প্রোগ্রাম লিখেছিলাম, যা টাইমার বিঘ্নিত হয়ে 100 হার্জ হার্টের সাথে একটি আউটপুট টগল করে, এবং পুনরায় সেট করার পরে এলইডি দিয়ে ইঙ্গিত করে যা পুনরায় সেট করার শর্ত চালু হয়েছিল (এমসিইএসআর থেকে পড়া হিসাবে)। বাকি হার্ডওয়্যারগুলিও সরানো হয়েছিল, কেবলমাত্র এমসিইউ এবং নিয়ন্ত্রক সেখানে রয়েছে (এবং সূচকটি সিরিজ প্রতিরোধকের নেতৃত্বে) with
ফলাফলগুলো
মোটামুটি সময় 2/3, আকর্ষণীয় কিছুই ঘটে না। বিদ্যুতের ব্যাঘাতের পরে, এমসিইউ আবার কাজ শুরু করে, উভয় বাদামী-আউট রিসেট এবং পাওয়ার অন রিসেট সূচকগুলি আলোকিত হয়।
(চিত্রটিতে লালটি টগলড পিন, এবং নীলটি ভিসিসি this এই চিত্রটিতে, 2.7 ভি ব্রোন-আউট পরিষ্কারভাবে দৃশ্যমান। আমি অন্যান্য ব্রাউন-আউট সেটিংসের সাথে একই পরীক্ষা করেছি, ফলাফলগুলি ঠিক একই, সুতরাং আমি সেই ছবিগুলি বাদ দেব)
মোটামুটিভাবে সময় 1/3, উপরোক্ত বাগ ঘটে, এবং ক্ষমতা ফিরে আবার যখন, কেউ কটা-আউট রিসেট করুন এবং রিসেট সূচক ক্ষমতা- উপর উজ্জ্বল হয়! আউটপুটটি আলাদা, যেন এমসিইউ একটি অদ্ভুত ঘড়ি নিয়ে টিকটিক করে। এটি বিশৃঙ্খলাযুক্ত নয়, তবে এটি একই ফ্রিকোয়েন্সি দিয়ে টিকটিক করে রাখে।
মজার বিষয় হল, এই পরিস্থিতিতে, বাদামী আউট ডিটেক্টরটি সম্পূর্ণ নিষ্ক্রিয় বলে মনে হচ্ছে, কারণ পরবর্তী শক্তি বিঘ্নের পরে (যেখানে সঠিক ঘড়িটি কখনও কখনও পুনরুদ্ধার করা হয়, কখনও কখনও নয়), এটি পরিষ্কারভাবে দেখা যায় যে বাদামের পরে আউটপুট ভালভাবে টগল করতে থাকে keeps আউট লেভেল কেটে গেছে এই পরিস্থিতিতে, ঘড়ির মাঝে মাঝে দ্রুত হয়, অন্য সময় এটি ধীর হয়ে যায়:
এই পরীক্ষাগুলির সময় আমি স্টার্ট-আপ বিলম্বের জন্য 16 কে সি কে / 14 সি কে + 4.1 এমএস ব্যবহার করি (তবে 65 এমএস দেরি সমস্যাগুলি এড়ায় না)।
এখানে জুম করা একটি চিত্র এখানে আপনি পরিষ্কারভাবে দেখতে পাচ্ছেন যে ভিসিসি 2 এমএসের নীচে 5 ভিতে স্থিতিশীল অবস্থায় পৌঁছেছে:
উপরের ছবিতে, এমসিইউ সঠিকভাবে শুরু হয়েছিল।
মজার বিষয় হল, যখন এটি হয় না, সরবরাহ ভোল্টেজ তত তাড়াতাড়ি একটি স্থিতিশীল 5 ভি পর্যন্ত পৌঁছে যায় (এটি মনে হয় এমসিইউয়ের অনেকগুলি অংশই বিদ্যুৎ ব্যবহার করে না, তাই এটি প্রারম্ভকালীন সময়ে কম বর্তমান আঁকায়)
নীচে একটি ব্যর্থ শুরু থেকে একটি চিত্র দেওয়া হয়েছে:
দয়া করে মনে রাখবেন যে সরবরাহটি ভোল্টেজ স্থিতিশীল হওয়ার পরে 85.5 এমএসের পরে সফ্টওয়্যারটি চলতে শুরু করে অন্যথায় প্রয়োজন 10.5 এমএসের পরিবর্তে required প্রারম্ভিক বিলম্বের জন্য ফিউসগুলি এখনও একই, 16 কে সি কে / 14 সি কে + 4.1 এমএস।
আরও লক্ষণীয় বিষয়টি হ'ল, সরবরাহটি বন্ধ হওয়ার পরে, ভিসিসি প্রায় 1.1 থেকে 1.2 ভোল্ট স্থিতিশীল হয় (পুরাতন, এটিমেগ 328 এ রূপটি 0.6 - 0.7 ভি এর কাছাকাছি চলে যায়)। এটি কয়েক মিনিটের জন্য এটি রাখে। আমি যদি দীর্ঘ পরিমাণ অপেক্ষা করি (অর্ধ ঘন্টা বা তার বেশি অর্ডার দিয়ে), এমসিইউ সর্বদা সঠিকভাবে শুরু হয়! সুতরাং সমস্যাটি মনে হচ্ছে চারপাশে 1.1 ভোল্ট রয়েছে, যা ডাটাশিট অনুসারে পাওয়ার-অন রিসেটের পক্ষে পর্যাপ্ত পরিমাণে গ্যারান্টিযুক্ত নয়। ব্রাউন আউট রিসেটের জন্য এটি যথেষ্ট হওয়া উচিত!
এই পরিস্থিতিতে বাদে বাদামী আউট ডিটেক্টরটি ভাল কাজ করে। এটি প্রথম চিত্রটিতে দৃশ্যমান হয় (বোডলেভেল পৌঁছে গেলে আউটপুট সিগন্যালটি বন্ধ হয়ে যায় এবং এমসিইউর অংশগুলি বন্ধ হয়ে যাওয়ার কারণে ভোল্টেজ ড্রপ ধীর হয়ে যায়)। আমি ভিসিসিটি বোডলেভেলের সামান্য নীচে নামিয়ে এনে আবার ফিরে আসতে দিলে আমি পরীক্ষা করেছিলাম, এমসিইউ সর্বদা ঠিক এইরকম পরিস্থিতিতে সঠিকভাবে পুনঃসূচনা করে, কেবল বাদামী আউট রিসেট ইন্ডিকেটরটি জ্বলজ্বল করে।
আমি কি স্পষ্ট কিছু মিস করেছি, বা এটিএমগা 328 পিবি এর ব্রাউন-আউট ডিটেক্টরটিতে একটি গুরুতর বাগ আছে?
সম্পাদনা করুন:
মজার বিষয় হল, উপরের সমস্যাগুলি কেবল তখনই উদ্ভূত হয় যখন আমি নিয়ামকের আগে সরবরাহগুলিতে বাধা পাই। আমি যদি নিয়ামকের (বা ল্যাব পাওয়ার সাপ্লাই ব্যবহার করে) পরে এটি বাধাগ্রস্ত করি, সমস্যাগুলি কখনই ঘটে না। যেন ক্রমবর্ধমান ভোল্টেজের আকার সমস্যা তৈরি করে। তবে, আপনি শেষ চিত্রটি থেকে দেখতে পাচ্ছেন, ভোল্টেজের উত্থানটি বেশ দুর্দান্ত এবং এটি দ্রুত স্থিতিশীল হয়।
সম্পাদনা 2
আমি 20 মেগাহার্জের পরিবর্তে 16 মেগাহার্টজ দিয়ে চেষ্টা করেছিলাম, তবে ঠিক একই সমস্যা ঘটে।