ریست شدن خودکار آردینو بعد از قطع و وصل برق

2 سال قبل
128 بازدید

0

سلام. دوستان راهنمایی کنن لطفا:

یک مدار داریم که ماژول سیمکارت و آردینو داره که به ups وصل نیست و مشکل اینجاست که وقتی برق قطع و وصل میشه تا آردینو را دستی ریست نکنیم ارتباط ماژول سیمکارت و آردینو برقرار نمیشه, چطور می توانیم این مشکل را حل کنیم که وقتی برق قطع و وصل شد آردینو مثلا 30 ثانیه بعد از وصل برق خودش ریست بشه و نیاز نباشه یکی مراجعه کنه و دستی ریست کنه؟

14 شهریور 01 در 05:12
مهندس قدیم
7

افزودن دیدگاه

2 پاسخ ثبت شده است
0

با سلام

این مورد را بررسی کنید آیا مشکل شما حل می شود یا خیر

از یک خازن در حدود 10 میکرو فاراد بین پایه های GND و REST قرار بدهید و وصل کردن برق را تست کنید. میکرو باید بعد از وصل شدن برق پس از چند ثانیه روش بشود.

15 شهریور 01 در 05:59
محمد دمیرچی
3670

ممنون حتما تست میکنم امکان این کار به صورت نرم افزاری وجود نداره که بشه زمان ریست شدن بعد از وصل برق را خودمان تعیین کنیم چون در برخی موارد و اماکن از جمله محل کار ما که مشکل شبکه هست زمان بیشتری طول میکشه تا سیمکارت شبکه را شناسایی کنه  – مهندس قدیم 01-06-20 در 05:43

برای این مورد در بوت آپ میکرو خود باید کد را جوری طراحی کنید که صبر کند تا دیتا توسط ماژول دریافت بشود سپس مابقی مراحل انجام بشود.  – محمد دمیرچی 01-06-23 در 05:13

ببخشید میشه توضیح بفرمایید در آردینو چطور میتوانم اینکار را انجام دهدم؟  – مهندس قدیم 01-06-23 در 08:02

برای مثال می توانید در ابتدای کد خود در Setup از دستور delay استفاده کنید که برای چند ثانیه صبر کند و سپس مابقی کد ها را اجرا کند.  – محمد دمیرچی 01-06-23 در 11:11

سپاس در چنین مواردی با تاخیر نرم افزاری در بخش setup مشکل برطرف می شود و دیگر نیازی به ریست کامل برد نیست؟  – مهندس قدیم 01-06-30 در 11:40

یکی از راه های منتظر ماندن برای روشن شدن GSM این می باشد. روش های دیگر مانند منتظر جواب های ماژول سیم کارت و بررسی جواب ها می باشد.  – محمد دمیرچی 01-07-09 در 10:05

افزودن دیدگاه

0

سلام. 

با استفاده از تایمر watchdog یا سگ نگهبان، به صورت نرم افزاری میتونید این مشکل رو حل کنید. و اساسا خیلی خوبه که در هر برنامه‌ای که نیاز به دقت و صحت اجرای برنامه داریم ازش استفاده کنیم تا مطمئن بشیم که برنامه حتماً اجرا میشه و در صورت بروز هر مشکلی، در زمان سرریز این تایمر، میکروکنترلر ریست شده و دستورات دوباره از اول اجرا خواهند شد. 

لینک های زیر نمونه برنامه و طرز کار این تایمر رو به خوبی توضیح و آموزش داده:

https://melec.ir/watchdog-in-arduino/

https://digispark.ir/setup-arduino-watchdog-timer/h

https://www.electronicwings.com/arduino/watchdog-in-arduino

اکر از بوردهای آردوینو مبتنی بر ESP32 استفاده می کنید از این کتابخانه و نمونه کد برنامه استفاده کنید:

https://github.com/espressif/arduino-esp32/blob/master/libraries/ESP32/examples/Timer/WatchdogTimer/WatchdogTimer.ino

16 شهریور 02 در 09:59
حسین میرزاپور
111

افزودن دیدگاه


انجمن کافه‌ربات © 1400