بهزاد اندیشمند
بهزاد اندیشمند
خواندن ۶ دقیقه·۵ سال پیش

تجربه من در راه اندازی ماژول سیم کارت SIM800L با آردینو

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

بقول خارجکی ها این ماژول های شرکت Simcom کلا ماژول های Power Hungry یا تشنه ی برق هستن و تقریبا میشه گفت 99 % کسایی که نمیتونن این ماژول راه بندازن احتمالا مشکل برق رسانی دارند.

Copyright LastMinueEngineers.com
Copyright LastMinueEngineers.com

طبق تصویر بالا برای راه انداختن معمولی ما فقط با پایه های شماره 1 تا 6 کار داریم که شماره 1 آنتن هست و باید به بورد لحیم کنید (آنتن همراه بورد است ) . و شماره 2 پایه ی برق مثبت هست ، پایه 3 که برای ریست هست ( برای ریست کافیه پایه ریست رو لحظه ای به Ground وصل کنید ) . پایه های 4 و 5 هم پایه های ارتباط سریال هستن که در این حالت من به پایه های 2 و 3 آردینو وصلشون کردم . پایه 6 هم برق منفی هست .

ولتاژ و شدت جریان مورد نیاز ماژول

برق مورد نیاز ماژول طبق دیتاشیت بین 3.4 تا 4.4 ولت و جریان 2 آمپر هست که به هیچ وجه نمیشه با خروجی 5 ولت آردینو اون رو تغذیه کرد ، چون خروجی 5 ولت آردینو حدود 500 میلی آمپر شدت جریان داره که مناسب این ماژول نیست .

اگر منبع تغذیه متغیر دارید که هیچ ، ولی اگر ندارید در قدم اول پیشنهاد میکنم یک آداپتور حداقل 5 ولت با توانایی شدت جریان 3 آمپر تهیه کنید و با استفاده از مبدل کاهنده LM2596 ADJ برق رو به 4.2 ولت کاهش بدید و به سمت ماژول بفرستید و همچنین پیشنهاد میشه قبل از ماژول یک خازن 1000 میکرو فارادی (حداقل 10 ولتی ) قرار بدید وگرنه ماژول بدون خازن بدرستی کار نمیکنه :

مبدل DC DC LM2596 ADJ یک کاهنده ولتاژ متغیر است که ورودی آن 3 تا 40 ولت است و قادر است خروجی 1.5 تا 35 ولت  با حداکثر جریان 3 آمپر تولید کند
مبدل DC DC LM2596 ADJ یک کاهنده ولتاژ متغیر است که ورودی آن 3 تا 40 ولت است و قادر است خروجی 1.5 تا 35 ولت با حداکثر جریان 3 آمپر تولید کند

در تجربه ای که من داشتم یک آداپتور 5 ولت 2 آمپر از بازار تهیه کردم ولی متاسفانه ماژول رو روشن نکرد و خیلی وقتم رو گرفت و بعدا فهمیدم مشکل از آداپتور هست .

متاسفانه این آداپتور با اینکه روش نوشته 5 ولت 2 آمپر ولی توانایی روشن کردن ماژول رو نداشت . نمیدونم شاید ماژول بیشتر از 2 آمپر (مثلا 2.5 آمپر ) برق میکشه موقع وصل شدن به شبکه .
متاسفانه این آداپتور با اینکه روش نوشته 5 ولت 2 آمپر ولی توانایی روشن کردن ماژول رو نداشت . نمیدونم شاید ماژول بیشتر از 2 آمپر (مثلا 2.5 آمپر ) برق میکشه موقع وصل شدن به شبکه .


نکته مهم : به هیچ وجه ماژول رو به برق بیشتر از 4.4 ولت وصل نکنید وگرنه ماژول میسوزه و از کار میفته .


آداپتور لپ تاپ سونی با خروجی 19.5 ولت و شدت جریان 3.9 آمپر
آداپتور لپ تاپ سونی با خروجی 19.5 ولت و شدت جریان 3.9 آمپر

بعد ازینکه فهمیدم مشکل از آداپتور هست ، یه آداپتور قدیمی لپ تاپ سونی پیدا کردم که قادره خروجی 19.5 ولت با شدت جریان 3.9 آمپر تولید کنه و آداپتور رو به کاهنده وصل کردم و خروجی 4.2 ولت ازش گرفتم و براحتی ماژول روشن شد ! .

مداری که من بستم طبق تصویر زیر و جواب داد .

پیشنهاد میشه پایه ی Rx ماژول رو از طریق روش Voltage Divider و با استفاده از دو مقاومت 120 اهم و 220 اهم به 3.3 کاهش بدید ، چون برق خروجی پایه های دیجیتال آردینو 5 ولت هست و ممکنه به ماژول آسیب بزنه یا باعث ریست شدنش بشه . ( طبق دیتاشیت پایه های IO ماژول سیم کارت با برق 2.8 ولت کار میکنن ولی در موردی که من تست کردم با 3.3 هیچ مشکلی نداشت و ماژول کاملا پایدار بود . )

نکته :

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

کدی که در آردینو استفاده کردم :

#include <SoftwareSerial.h> //SIM800 TX is connected to Arduino #define SIM800_TX_PIN 3 //SIM800 RX is connected to Arduino #define SIM800_RX_PIN 2 //Create software serial object to communicate with SIM800 SoftwareSerial serialSIM800(SIM800_TX_PIN,SIM800_RX_PIN); void setup() { //Begin serial comunication with Arduino and Arduino IDE (Serial Monitor) Serial.begin(9600); while(!Serial); //Being serial communication witj Arduino and SIM800 serialSIM800.begin(9600); } void loop() { //Read SIM800 output (if available) and print it in Arduino IDE Serial Monitor if(serialSIM800.available()){ Serial.write(serialSIM800.read()); } //Read Arduino IDE Serial Monitor inputs (if available) and send them to SIM800 if(Serial.available()){ serialSIM800.write(Serial.read()); } }

اگر برق رو درست رسونده باشید و سیم کارت رو درست جا زده باشید ، چراغ ماژول شروع به چشمک زدن میکنه که هر 1 ثانیه یکبار هست و این به معنی تلاش برای جستجو و وصل شدن به شبکه هست ، و موقعی که به شبکه وصل شد این چراغ هر 3 ثانیه یکبار روشن میشه .

نشانه ی عدم وصل شدن به شبکه چشمک هر 1 ثانیه یکبار LED می باشد.
نشانه ی عدم وصل شدن به شبکه چشمک هر 1 ثانیه یکبار LED می باشد.


نشانه وصل شدن ماژول به شبکه چشمک زدن هر 3 ثانیه یکبار LED می باشد.
نشانه وصل شدن ماژول به شبکه چشمک زدن هر 3 ثانیه یکبار LED می باشد.


دستورات AT مهم و ضروری :

چند تا دستور AT مهم هست که از طریق ارتباط سریال میتونید از وضعیت ماژول مطلع بشید .

اولین دستوری که پیشنهاد میکنم بزنید چک کردن قفل بودن سیم کارت هست که اگر سیم کارت قفل نباشه با نمایش مقدار +CPIN: READY به شما اعلام میکنه .

AT+CPIN? // چک کردن قفل بودن سیم کارت


دستور AT+CBC? برای چک کردن برق دستگاه هست , خروجی اون به این شکل هست

+CBC: 0,100,4268

عدد 4268 برق ورودی به دستگاه هست که یعنی 4.2 ولت در اینجا

عدد 100 میزان درصد شارژ بودن باتری هست که برای مواقعیه که از باتری های لیتیومی استفاده میکنید .

AT+CBC? //چک کردن وضعیت شارژ و ولتاژ ورودی

دستور AT+COPS? برای چک کردن وضعیت وصل شدن سیم کارت به شبکه هست اگر سیم کارت به شبکه وصل شده باشه اسم اپراتور یا کد اون برای شما برگردونده میشه برای مثال وقتی به ایرانسل وصل هستم این خروجی نمایش داده میشه : COPS?: 0,0,"43235" اگر در حال تلاش برای جستجور باشه خروجی 0,2 خواهد بود .

AT+COPS? //چک کردن وضعیت وصل شدن به شبکه

ماژول های سیم کارت نیاز به رجیستری دارند؟

خیر ، ماژول های سیم کارت با تستی که من انجام دادم هیچ مشکل رجیستری نداشت و ازونجایی که وقتی گوشی موبایلی به شبکه وصل بشه و مشکل رجیستری داشته باشه فورا یک پیام از طرف سامانه هتما با عنوان Hamta دریافت میکنه ، ولی من هیچ پیامی از سامانه همتا دریافت نکردم و تا اونجایی که در فروم های الکترونیک شنیدم این ماژول های سیم کارت به هیچ وجه شامل طرح رجیستری نمیشن و فقط گوشی های هوشمند شامل رجیستری میشن ( بر اساس کد IMEI سامانه همتا می تواند تشخیص دهد که گوشی موبایل به شبکه وصل شده یا ماژول )

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

sim800lآردینوarduinoiotالکترونیک
سلام . بهزاد اندیشمند هستم و به ویرگول اومدم تا راجع به کتاب هایی ک خوندم یا مسائلی که دغدغه ام هستن بنویسم .
شاید از این پست‌ها خوشتان بیاید