سلام خدمت همه شما مایکروالکامی ها. در مطالب قبلی از سری آموزش های ماژول SIM800 به بررسی و نحوه ارسال دیتا به سرور با استفاده از SIM800 پرداخته شد. در این قسمت به نحوه مدیریت مصرف توان و کاهش جریان مصرفی با استفاده از حالت خواب یا Sleep Mode در ماژول های SIM800 پرداخته خواهد شد. پس با من تا انتهای مطلب همراه باشید. همچنین شما میتویند سایر مطالب من رو از این لینک مطالعه و بررسی کنید.
قطعات مورد نیاز
- برد راه انداز ماژول SIM800L
- LM2596 Buck DC-DC Convertor
- آداپتور 12V
- آنتن GSM با سوکت IPEX
- مبدل سریال
مدیریت مصرف توان با استفاده از Sleep Mode
حالت مدیریت مصرف با استفاده از Sleep Mode دارای دو حالت است که توسط AT Command ها میتوان آن را مشخص کرد. خارج شدن و غیرفعال کردن حالت کم مصرفی Sleep Mode نیز توسط همین دستورات یا روشی دیگر صورت میپذیرد. جریان مصرفی هر دو وضعیت Sleep Mode یک و دو مشابه هم میباشند. تنها تفاوت در فعال کردن و خارج شدن از Sleep Mode میباشد.
با فعال کردن حالت مصرف بهینه، جریان مصرفی ماژول حدود یا کمتر از 1mA خواهد شد. در حالتی که ماژول در حالت Sleep Mode فعال باشد، خود ماژول بطور متناوب از آن خارج شده تا ارتباط خود با شبکه را حفظ نماید. لذا کاربر نیاز به انجام کار خاصی در این حالت جهت حفظ ارتباط با شبکه ندارد. اما در حالت فعال بودن حالت کم مصرف، پورت سریال ماژول به درخواست های کاربر پاسخ نخواهد داد. در ادامه به این مورد اشاره خواهد شد.
مدت زمان بیدار شدن اتوماتیک ماژول چند ده میلی ثانیه میباشد که بسیار کوتاه است. یکی از روش های کنترل جریان مصرفی در دستگاه های مبتنی بر باتری نیز همین مورد است. یعنی بجای اینکه دستگاه دائم کار باشد، در مدت زمان های کوتاه کار خود را انجام و مدت زمانی در حالت اصطلاحا Sleep رفته و مجددا خارج و همین سیکل تکرار میگردد. در تصاویر زیر میزان مصرف جریان در حالت Sleep Mode را مشاهده مینمایید. تصویر دوم در واقع همان تصویر اول با بزرگنمایی بیشتر میباشد.
عملکرد ماژول در حالت Sleep Mode
در زمانی که ماژول در حالت Sleep Mode میباشد، پورت سریال ماژول کار نمیکند. لذا ماژول را نمیتوان در اثر ارسال دیتا به پورت سریال ماژول بیدار کرد. درمدت زمان یا پریود بیدار شدن اتوماتیک ماژول (بازه X1 و X2 در تصویر 2) که پیشتر به آن اشاره شده و فقط چند ده میلی ثانیه است، ماژول میتواند دیتا ها را از طریق پورت سریال دریافت کند. بدلیل کوتاه بودن این بازه زمانی ممکن است همه دیتا ها بطور کامل دریافت نشود. با توجه به تصویر 2، در مدت زمان X2 و X3 ماژول در حالت Sleep Mode بوده و توانایی برقرای ارتباط از طریق پورت سریال را ندارد.
فعال کردن حالت Sleep Mode در ماژول SIM800
برای فعال کردن این مد در ماژول SIM800، دو مورد پیشنیاز است. مورد اول، پایه DTR یک یا HIGH باشد. مورد دوم، هیچ وقفه خارجی یا فعالیت تحت شبکه مانند دریافت تماس، پیامک و GPRS حادث نشود.
فعال کردن حالت Sleep Mode 1 در ماژول SIM800
چنانچه پیشنیاز های بالا رعایت شود، با ارسال دستور زیر به ماژول، SIM800 وارد Sleep Mode خواهد شد. دریافت OK به منزله موفق بودن آن است. پس از وارد شدن به این حالت کاری، مشاهده میشود که مصرف جریان تا حدود 1mA کاهش خواهد یافت. در صورتی که بخواهیم وضعیت فعلی Sleep Mode ماژول کدام وضعیت است، دستور “?AT+CSCLK” را ارسال میکنیم. در حالت پیشفرض در صورتی که وضعیتی ست نشده باشد پاسخ ماژول “CSCLK: 0+” خواهد بود.
AT+CSCLK=1 OK
غیر فعال کردن حالت Sleep Mode 1 در ماژول SIM800
بعد از فعال کردن این حالت، هر دستوری به ماژول ارسال شود یا دیتایی برروی پورت سریال قرار گیرد، ماژول عکس العملی نشان نخواهد داد. دلیل این امر پیشتر ذکر شد. البته این نکته را باید گفت که درصورتی که پیام یا تماسی دریافت شود، ماژول از این حالت خارج شده و مجددا بعد از اتمام دریافت تماس یا پیامک یا وقفه بوجود آمده، به حالت Sleep باز خواهد گشت. برای اینکه ماژول بتواند به حالت عادی بازگردد و دستورات را دریافت کند باید از این حالت خارج شویم. برای غیر فعال کردن، پایه DTR باید صفر شده و همزمان یک بار دستور AT و بلافاصله دستور AT+CSCLK=0 ارسال شود تا از این حالت خارج شود. شایان ذکر است مادامی که پایه DTR صفر باشد، در حالت Sleep Mode نیز پورت سریال فعال شده و میتوان دیتا به ماژول ارسال و پاسخ را دریافت کرد.
AT+CSCLK=0 OK
فعال کردن حالت Sleep Mode 2 در ماژول SIM800
همانطور که مشاهده شد، غیر فعال کردن Sleep Mode 1 کمی دشوار بود. در حالت Sleep Mode 2 مرحله غیر فعال کردن آن راحت تر بوده و براحتی این فرایند طی خواهد شد. برای تنظیم ماژول در این حالت دستور زیر را به ماژول ارسال نمایید. 5 ثانیه بعد از ارسال دستور زیر، ماژول وارد حالت Sleep میشود.
AT+CSCLK=2 OK
غیر فعال کردن حالت Sleep Mode 2 در ماژول SIM800
در صورت دریافت پیامک، تماس یا وقفه خارجی، ماژول از حالت Sleep خارج شده و مجددا بعد از اتمام آن وارد وضعیت Sleep خواهد شد. در حالت Sleep Mode 2 هم پورت سریال غیر فعال است و ماژول دیتایی دریافت نمیکند. چنانچه برروی سریال دیتایی به ماژول ارسال شود، در مرحله اول ماژول پاسخی نمیدهد اما در همان زمان از حالت Sleep خارج خواهد شد.
بعد از اولین ارسال دیتا به پورت سریال، 5 ثانیه ماژول در حالت Wake up قرار میگیرد. چنانچه در این مدت زمان دیتایی به ماژول ارسال شود، پاسخ داده خواهد شد. در غیر اینصورت بعد از سپری شدن این مدت زمان، مجددا ماژول به حالت خواب باز خواهد گشت. با توجه به توضیحات ذکر شده، ابتدا مثلا AT را به ماژول ارسال کرده، ماژول به مدت 5 ثانیه از حالت Sleep خارج شده، در همین حین دیتا اصلی یعنی دستور زیر را به ماژول ارسال کرده تا از وضعیت Sleep 2 غیر فعال گردد.
AT+CSCLK=0 OK
بررسی میزان جریان مصرفی در حالت Sleep و حالت عادی (Function)
در تصویر زیر میزان جریان مصرفی ماژول در هر دو حالت Sleep و Function (عملکرد عادی) را مشاهده مینمایید. در هر دو حالت Sleep 1 و Sleep 2 میزان جریان مصرفی حدود 1mA میباشد.
نتیجه گیری
در این مطلب بطور کامل و دقیق نحوه فعال و غیر فعال مردن Sleep Mode در ماژول های SIM800 مورد بررسی قرار گرفت. با بهره گیری از این حالت کاری میتوان مصرف جریان ماژول را تا حد زیادی کنترل کرده و در طول عمر باتری صرفه جویی کرد. بهرحال در هر دو حالت کم مصرفی 1 و 2 که ذکر شد، جریان مصرفی حدود 1 میلی آمپر خواهد بود. تنها تفاوت در نحوه غیر فعال کردن Sleep Mode در آنها میباشد.
امیدوارم از این آموزش کمال بهره را برده باشید. در صورتی که هرگونه نظر یا سوال داشتید درباره این آموزش لطفا اون رو در انتهای همین صفحه در قسمت دیدگاه ها قرار بدید. در کوتاه ترین زمان ممکن به اون ها پاسخ خواهم داد. اگر این مطلب براتون مفید بود، اون رو حتما به اشتراک بگذارید. همینطور میتونید این آموزش را پس از اجرای عملی توی اینستاگرام با هشتگ microelecom# به اشتراک بگذارید و پیج مایکروالکام (microelecom@) رو هم منشن کنید.
سلام
ممنون از توضیحات خوبتون.
در حالت ۲ نیازی به صفر کردن پایه DTR نیست؟
سلام، استفاده از این پایه در حالت ۲ نیازی نیست.