در سلسله آموزش های راه اندازی و کار با ماژول SIM800L، در قسمت نهم به سراغ کاهش و کنترل توان مصرفی ماژول SIM800L می رویم. کاهش توان مصرفی یا همان Sleep Mode در ماژول سیم کارت بسیار اهمیت دارد. همانطور که در قسمت های پیشین مشاهده کردید، ماژول SIM800L قابلیت ارسال و دریافت پیامک و برقراری تماس دو طرفه صوتی را در خود جای داده است. همچنین این ماژول می تواند با اتصال به اینترنت GPRS، به ارسال و دریافت داده، آپلود و دانلود فایل و ارسال و دریافت ایمیل، بپردازد. چنانچه قصد طراحی و پیاده سازی دستگاهی پرتابل(قابل حمل) با این ماژول دارید و یا اینکه مجبورید سیستم خود را مبتنی بر باتری طراحی کنید، می بایست از مد کاری کم مصرف ماژول در پروژه خود، استفاده کنید. در این آموزش به بررسی نحوه استفاده از این مد، می پردازیم. در ادامه این آموزش با مرجع تخصصی ماژول سیم کارت به زبان فارسی، دیجی اسپارک همراه باشید.
جریان مصرفی ماژول SIM800L در حالت مختلف
ماژول SIM800L، یکی از ماژول های مخابراتی پر مصرف به شمار می رود. هرچند که میانگین جریان مصرفی این ماژول از ماژول های وای فای نظیر ESP8266 کمتر است، اما در هنگام اتصال به اینترنت، ارسال و دریافت داده در بستر GPRS و برقراری تماس و ارسال و دریافت پیامک، توان مصرفی این ماژول به میزان قابل ملاحظه ای افزایش می یابد. به عنوان مثال، هنگام اتصال به اینترنت و ارسال و دریافت داده، جریان مصرفی این ماژول به حدود ۱۶۰ میلی آمپر می رسد.
از دیگر موارد پر مصرف در ماژول SIM800L، برقراری تماس تلفنی است. با شماره گیری به کمک دستور ATD و برقراری تماس در شبکه، جریان مصرفی ماژول به حدود ۹۰ میلی آمپر، خواهد رسید.
جریان مصرفی ماژول SIM800L در حالت عادی، درحدود ۲۰ میلی آمپر است. با کاهش توان مصرفی، می توان این جریان را تا حوالی ۱ میلی آمپر، کاهش داد. این موضوع در قسمت های بعدی مورد بررسی قرار می گیرد.
مد کم مصرف در ماژول SIM800L
مد توان مصرفی و کاهش آن زمانی مهم است که شما قصد تغذیه ماژول SIM800L را از طریق باتری داشته باشید. با توجه به جریان مصرفی بالا، با بهینه سازی توان مصرفی، میتوانید عمر عملکردی دستگاه خود را افزایش دهید. در این زمینه، میتوانید آموزش این لینک را مطالعه نمایید.
پارامتر توان مصرفی و مدیریت آن، در پروژه های مبتنی بر باتری، با محدودیت شارژ و دسترسی به دستگاه، اهمیتی بیش از پیش پیدا می کند. در پروژه ای، فرض کنید که قرار است داده های مربوط به پارمترهای محیطی نظیر دما و رطوبت، از طریق اینترنت ارسال شود. در طرف دیگر، قصد داریم تا با نصب این دستگاه در یک موقعیت دور افتاده، به جمع آوری و دریافت داده بپردازیم. در اینجا، با توجه به جریان مصرفی بالای ماژول SIM800L، عدم دسترسی به جریان برق جهت شارژ، مدیریت توان مصرفی، امری حیاتی در افزایش مدت زمان کاری دستگاه خواهد شد. در قسمت بعدی، نحوه فعال سازی مد کم مصرف را بررسی می کنیم.
حالت Sleep Mode در ماژول SIM800L
در این قسمت، به بررسی فعال سازی حالت توان مصرفی پایین در ماژول SIM800L، می پردازیم. نخست، جهت فعال سازی حالت توان مصرفی کم که از این به بعد آن را Sleep می نامیم، می بایست از دستورزیر استفاده شود.
محدودیت در دسترسی کامل به این مجموعه آموزش
دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندسهای دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید. |
خروج از حالت Sleep در ماژول SIM800L
محدودیت در دسترسی کامل به این مجموعه آموزش
دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندسهای دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید. |
وسایل مورد نیاز
مبدل کاهنده ولتاژ LM2596(در صورت تغذیه از طریق آداپتور )
جمع بندی
در قسمت نهم از مجموعه آموزش های ماژول SIM800L، به سراغ کنترل و کاهش توان مصرفی این ماژول رفتیم. از آنجاییکه ماژول SIM800L جریان مصرفی نسبتا بالایی را برای اجرای قابلیت های مختلف نظیر تماس، پیامک، اینترنت و…. نیاز دارد. بنابراین در سیستم های مبتنی بر باتری، جهت افزایش ساعت کاری دستگاه مبتنی بر تغذیه باتری، نیاز است تا جریان مصرفی، کاهش یافته و کنترل و بهینه سازی شود. در این آموزش با بررسی مد Sleep ماژول، نحوه فعال سازی این مد و خروج آن را مورد بررسی قرار دادیم.
دیگر آموزشهای راه اندازی Sim800L
راه اندازی و کار با ماژول سیم کارت SIM800L بخش اول: معرفی
راه اندازی و کار با ماژول سیم کارت SIM800L بخش دوم: تغذیه
راه اندازی و کار با ماژول سیم کارت SIM800L بخش سوم: تماس تلفنی
راه اندازی و کار با ماژول SIM800L بخش چهارم: ارسال و دریافت پیامک
راه اندازی و کار با ماژول SIM800L بخش پنجم: اینترنت GPRS سیم کارت
راه اندازی و کار با ماژول SIM800L بخش ششم: آپلود و دانلود فایل در اینترنت
راه اندازی و کار با ماژول SIM800L بخش هفتم: ارتباط TCP با سرور
راه اندازی و کار با ماژول SIM800L بخش هشتم: ارسال و دریافت ایمیل
راه اندازی و کار با ماژول SIM800L: بخش دهم فعال سازی DTMF
راه اندازی و کار با ماژول SIM800L بخش یازدهم: دستورات و امکانات جانبی
چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریعترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در مراحل اجرایی وجود داشته و یا با رعایت نکات فوق، همچنان قادر به ارسال و دریافت پیامک نیستید، میتوانید از همین طریق اطلاع رسانی کنید.
سلام مهندس وارد اسلیپ میشه ولی بعدش هرچی دستور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 رو حالت خواب نزارم حدود۲۲ میلی امپر کلا مدار جریان میکشه. باتری من ۳۰۰۰ میلی امپر بر ساعت هستش یعنی باتری موبایل لمسیه بنظرتون ۲۴ ساعت نگاه مسداره اگه کاری نکنیم و همین۲۲ میلی اپر رو بکشه؟
برای محاسبه مدت زمان تغذیه مدار، می بایست ظرفیت باتری را بر جریان مصرفی تقسیم کنید. به عنوان مثال در مرد شما، باتری شما ۳۰۰۰ میلی ظرفیت دارد. جریان مدار شما، ۲۲ میلی است، پس با تقسیم ۳۰۰۰ بر ۲۲، سیستم ۱۳۶ ساعت دوام خواهد آورد.
متشکر
سپاس از همراهی شما
سلام، چرا وقتی ماژول رو خاموش می کنیم، بعد از چند ثانیه مجدد روشن میشه
برای حدود ۲۰ دقیقه به ماژول نیاز ندارم و می خوام خاموشش کنم
لطفا راهنمایی کنید
ممنون
سلام، شما احتمالا ماژول را ریست کرده اید، ماژول با دستور زیر خاموش می شود:
AT+CFUN=0
سلام وقت بخیر مهندس
من وقتی با ماژول sim800l رو میخوام اینترنت رو راه اندازی کنم توی دستور AT+SAPBR 1,1 ارور میده و در ضمن آیپی هم به ماژول اختصاص نمیده پاسخ HTTPACTION هم ۰,۶۰۱,۰ هست که مشکل شبکه هست. با چند سیمکارت تست کردم که همشون دیتا دارن و APN رو هم درست وارد میکنم با ماژولSIM800C هم همین ارور هارو میده. دیگه نمیدونم چیکار باید بکنم کلافه شدم. خیلی ممنون اگه راهنمایی بکنید
سلام و متشکرم
ابتدا از شارژ سیم کارت مطمعن شوید. پس از این مرد، ابتدا یکبار دستور AT&F را به ماژول وارد کنید. سپس یکبار تغذیه ماژول را قطع و سپس وصل کنید. پس از اتصال به شبکه، فقط دستور زیر را وارد کنید:
AT+SAPBR=1,1
سپس نتیجه را در کامنت بعد لطفا اعلام کنید.
ممنون از پاسختون،
روشی که فرمودید رو تست کردم وقتی AT+SAPBR=1,1 رو میزنم مینویسه ارور
پیش از این دستور باید اتصال به شبکه چک شود. دستور زیر چه پاسخی میدهد؟
AT+CCALR?
وقتی شبکه ها رو میزنم اینهارو میاره و اینکه پاسخ AT+CREG؟ رو ۰,۳ میاره که فکر کنم باید یا ۰,۱ باشه یا ۰,۵٫
۲۲:۲۶:۲۶٫۸۵۹ -> AT+COPS=?
۲۲:۲۶:۵۵٫۴۲۹ -> +COPS: (2,”TCI”,”TCI”,”43211″),(1,”43235″,”43235″,”43235″),,(
۲۲:۲۶:۵۵٫۴۶۳ -> OK
۲۲:۲۷:۲۸٫۹۷۷ -> AT+CREG?
۲۲:۲۷:۲۸٫۹۷۷ -> +CREG: 0,3
۲۲:۲۷:۲۹٫۰۱۰ ->
۲۲:۲۷:۲۹٫۰۱۰ -> OK
در پاسه به دستور AT+CCALR? چه پیامی دریافت می کنید؟
به AT+CCALR? پاسخ ۰ رو میده و بعد ok میاره
عدد صفر یا یک در پاسخ دارید؟
عدد صفر رو میاره
د این صورت یعنی ماژول به شبکه وصل نشده! من سیم کارت و تغذیه را کنترل کنید.
سلام
جریان مصرفی دستگاه رو فرمودین ۵۰ آمپره ک ۴۴ ساعت با باتری ۲۲۰۰ کار میکنه
میشه جدا جدا بفرمایید هر ماژول (( sim800l,neo6m,esp)) هر کدام جریان مصرفی شان چقدر است . متشکرم
با سلام
این ماژولها جریان مصرفی مشخصی ندارند. بسته به برنامهای که نوشته شده است میزان کارکرد ماژول متفاوت خواهد بود. بنابراین براساس برنامه ای که نوشته میشود بایستی مصرف انرژی را محاسبه کنید و سپس اقدام به بهینه سازی برنامه نوشته شده کنید تا به میزان مورد نظرتان برسید.