سیم کارت GSM - GPRS

راه اندازی و کار با ماژول SIM800L، بخش نهم: کنترل و کاهش توان مصرفی

sleep-mode-in-gsm-module-sim800l-digispark
نوشته شده توسط معین صابری

در سلسله آموزش های راه اندازی و کار با ماژول SIM800L، در قسمت نهم به سراغ کاهش و کنترل توان مصرفی ماژول SIM800L می رویم. کاهش توان مصرفی یا همان Sleep Mode در ماژول سیم کارت بسیار اهمیت دارد. همانطور که در قسمت های پیشین مشاهده کردید، ماژول SIM800L قابلیت ارسال و دریافت پیامک و برقراری تماس دو طرفه صوتی را در خود جای داده است. همچنین این ماژول می تواند با اتصال به اینترنت GPRS، به ارسال و دریافت داده، آپلود و دانلود فایل و ارسال و دریافت ایمیل، بپردازد. چنانچه قصد طراحی و پیاده سازی دستگاهی پرتابل(قابل حمل) با این ماژول دارید و یا اینکه مجبورید سیستم خود را مبتنی بر باتری طراحی کنید، می بایست از مد کاری کم مصرف ماژول در پروژه خود، استفاده کنید. در این آموزش به بررسی نحوه استفاده از این مد، می پردازیم. در ادامه این آموزش با مرجع تخصصی ماژول سیم کارت به زبان فارسی، دیجی اسپارک همراه باشید.

 


جریان مصرفی ماژول SIM800L در حالت مختلف


ماژول SIM800L، یکی از ماژول های مخابراتی پر مصرف به شمار می رود. هرچند که میانگین جریان مصرفی این ماژول از ماژول های وای فای نظیر ESP8266 کمتر است، اما در هنگام اتصال به اینترنت، ارسال و دریافت داده در بستر GPRS و برقراری تماس و ارسال و دریافت پیامک، توان مصرفی این ماژول به میزان قابل ملاحظه ای افزایش می یابد. به عنوان مثال، هنگام اتصال به اینترنت و ارسال و دریافت داده، جریان مصرفی این ماژول به حدود ۱۶۰ میلی آمپر می رسد.

جریان مصرفی ماژول SIM800L در حالت مختلف - دیجی اسپارک

 

از دیگر موارد پر مصرف در ماژول SIM800L، برقراری تماس تلفنی است. با شماره گیری به کمک دستور ATD و برقراری تماس در شبکه، جریان مصرفی ماژول به حدود ۹۰  میلی آمپر، خواهد رسید.

جریان مصرفی ماژول SIM800L در حالت مختلف - دیجی اسپارک

 

جریان مصرفی ماژول SIM800L در حالت عادی، درحدود ۲۰ میلی آمپر است. با کاهش توان مصرفی، می توان این جریان را تا حوالی ۱ میلی آمپر، کاهش داد. این موضوع در قسمت های بعدی مورد بررسی قرار می گیرد.

کاهش توان مصرفی ماژول Sim800L - دیجی اسپارک

 


مد کم مصرف در ماژول SIM800L


مد توان مصرفی و کاهش آن زمانی مهم است که شما قصد تغذیه ماژول SIM800L را از طریق باتری داشته باشید. با توجه به جریان مصرفی بالا، با بهینه سازی توان مصرفی، میتوانید عمر عملکردی دستگاه خود را افزایش دهید. در این زمینه، میتوانید آموزش این لینک را مطالعه نمایید.

استفاده از باتری لیتیومی در ماژول Sim80L - دیجی اسپارک

 

پارامتر توان مصرفی و مدیریت آن، در پروژه های مبتنی بر باتری، با محدودیت شارژ و دسترسی به دستگاه، اهمیتی بیش از پیش پیدا می کند. در پروژه ای، فرض کنید که قرار است داده های مربوط به پارمترهای محیطی نظیر دما و رطوبت، از طریق اینترنت ارسال شود. در طرف دیگر، قصد داریم تا با نصب این دستگاه در یک موقعیت دور افتاده، به جمع آوری و دریافت داده بپردازیم. در اینجا، با توجه به جریان مصرفی بالای ماژول SIM800L، عدم دسترسی به جریان برق جهت شارژ، مدیریت توان مصرفی، امری حیاتی در افزایش مدت زمان کاری دستگاه خواهد شد. در قسمت بعدی، نحوه فعال سازی مد کم مصرف را بررسی می کنیم.

 


حالت Sleep Mode در ماژول SIM800L


در این قسمت، به بررسی فعال سازی حالت توان مصرفی پایین در ماژول SIM800L، می پردازیم. نخست، جهت فعال سازی حالت توان مصرفی کم که از این به بعد آن را Sleep می نامیم، می بایست از دستورزیر استفاده شود.

 

جهت دسترسی به این بخش، اشتراک اسپارکر پلاس تهیه کنید.

 

فعال سازی حالت Sleep Mode در ماژول Sim800L - دیجی اسپارک

 


خروج از حالت Sleep در ماژول SIM800L


 

جهت دسترسی به این بخش، اشتراک اسپارکر پلاس تهیه کنید.

 

 


وسایل مورد نیاز


ماژول SIM800L

باتری 

مبدل کاهنده ولتاژ LM2596(در صورت تغذیه از طریق آداپتور )

مبدل سریال به USB

 


جمع بندی


در قسمت نهم از مجموعه آموزش های ماژول SIM800L، به سراغ کنترل و کاهش توان مصرفی این ماژول رفتیم. از آنجاییکه ماژول SIM800L جریان مصرفی نسبتا بالایی را برای اجرای قابلیت های مختلف نظیر تماس، پیامک، اینترنت و…. نیاز دارد. بنابراین در سیستم های مبتنی بر باتری، جهت افزایش ساعت کاری دستگاه مبتنی بر تغذیه باتری، نیاز است تا جریان مصرفی، کاهش یافته و کنترل و بهینه سازی شود. در این آموزش با بررسی مد Sleep ماژول، نحوه فعال سازی این مد و خروج آن را مورد بررسی قرار دادیم.

 

چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریع‌ترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در مراحل اجرایی وجود داشته و یا با رعایت نکات فوق، همچنان قادر به ارسال و دریافت پیامک نیستید، می‌توانید از همین طریق اطلاع رسانی کنید.

 

درباره نویسنده

معین صابری

کارشناسی ارشد رشته معماری سیستم های کامپیوتری

مالي که ز تو کس نستاند، علم است
حرزي که تو را به حق رساند، علم است
جز علم طلب مکن تو اندر عالم
چيزي که تو را ز غم رهاند، علم است
(شیخ بهایی)

تبادل نظر و رفع عیب با ثبت دیدگاه

۱۷ دیدگاه

  • سلام مهندس وارد اسلیپ میشه ولی بعدش هرچی دستورAT میفرستم واسش خارج نمیشه ولی تماس میگیرم خارج میشه.مشکل کجاست؟

    • سلام
      دستور AT برای ماژول نفرستید، چند بار، مثلا برای ۱۰ بار یا بیشتر و به صورت پشت سر هم، کاراکتر A را بفرستید. پس از این مورد، دستور خارج شدن از مد اسلیپ را به ماژول بفرستید که مجددا وارد مد اسلیپ نشود. پس از انجام کار، دوباره ماژول را وارد مد اسلیپ کنید.

          • خیر مثلا بعد غیر فعال کردن حالت اسلیپ تماس میزنم با اردوینو عمل نمیکنه حتی اون امپرشم به اندازه حالت اسلیپه و تغییری نمیکنه ممکنه من تو ستاب اول اسلیپش کردم اینجوری شده باشه ک غیر فعالم نمیشه کرد؟

            • بعد از اتصال به شبکه، مد اسلیپ را فعال کنید. همچنین، قطعه کدی که برای فعال سازی اسلیپ و غیر فعال کردن آن استفاده می کنید را لطفا در کامنت بعدی قرار دهید.

              • بعد از اتصال به شبکه هم انجام دادم توسط کد زیر فعال کردم.
                ;mySerial.println(“AT+CSCLK=2”)
                و با ارسال کد های زیر برای غیر فعال کردنش تلاش کردم.
                mySerial.println(“A”);
                mySerial.println(“A”);
                mySerial.println(“A”);
                mySerial.println(“A”);
                mySerial.println(“A”);
                mySerial.println(“A”);
                mySerial.println(“A”);
                mySerial.println(“A”);
                mySerial.println(“b”);
                mySerial.println(“b”);
                mySerial.println(“b”);
                mySerial.println(“b”);
                mySerial.println(“b”);
                mySerial.println(“AT+CSCLK=0”);
                delay(10);

                • سلام مجدد
                  پس از اینکه به شبکه متصل شد، کد خود را به شکل فوق تغییر دهید:
                  ;mySerial.println(“AT+CSCLK=2”)
                  ;()mySerial.flush
                  for(int i=0;i<10;i++)
                  delay(1000);
                  }for(int j=0;j<10;j++)
                  ;mySerial.println(“A”)
                  ;()mySerial.flush
                  {
                  mySerial.println(“AT+CSCLK=0”);
                  ;()mySerial.flush
                  delay(1000);

  • مهندس برسی کردم دیدم از حالت اسلیپ خارج میشه ولی خیلی زود بر میگرده به اسلیپ.

    • بازگشت به حالت اسلیپ به این دلیل است که دستور آن را در کد قرار داده ام. شما آن را بردارید و متناسب با نیاز در کد خود قرار دهید.

      • مهندس مشکل رو فهمیدم ۵ ثانیه طول میکشه از اسلیپ بیاد بیرون. نمیشه این تایم رو کمتر کرد؟

          • خب مدار من با ال سی دی تا جایی تونستم بهینه کردم اگرsim800l رو حالت خواب نزارم حدود۲۲ میلی امپر کلا مدار جریان میکشه. باتری من ۳۰۰۰ میلی امپر بر ساعت هستش یعنی باتری موبایل لمسیه بنظرتون ۲۴ ساعت نگاه مسداره اگه کاری نکنیم و همین۲۲ میلی اپر رو بکشه؟

            • برای محاسبه مدت زمان تغذیه مدار، می بایست ظرفیت باتری را بر جریان مصرفی تقسیم کنید. به عنوان مثال در مرد شما، باتری شما ۳۰۰۰ میلی ظرفیت دارد. جریان مدار شما، ۲۲ میلی است، پس با تقسیم ۳۰۰۰ بر ۲۲، سیستم ۱۳۶ ساعت دوام خواهد آورد.