سلام به شما مایکروالکامی ها. در مطلب قبلی راه اندازی SIM800 به بررسی و نحوه فعال کردن و استفاده از DTMF پرداخته شد. در این مطلب سعی دارم روش های خطا یابی ماژول های GSM سری SIM800 را بررسی کنم. با استفاده از پاسخی که ماژول میده میتونیم متوجه بشیم مشکلی که ماژول داره چی هست یا چی نیست. پس با من تا انتهای مطلب همراه باشید. همچنین شما میتونید سایر مطلب من رو از این قسمت مطالعه کنید.
قطعات مورد نیاز
- برد راه انداز ماژول SIM800L
- LM2596 Buck DC-DC Convertor
- آداپتور 12V
- آنتن GSM با سوکت IPEX
- مبدل سریال
روش های خطا یابی ماژول SIM800
از قسمت اول سری آموزش های راه اندازی ماژول SIM800 به تفکیک هر قسمت به کاربرد ها و خصوصیات این ماژول پرداخته شده است. ماژول های GSM یکی از پرکاربردترین ماژول ها هستند که پروژه های خیلی خوبی رو میشه باهاشون پیاده سازی کرد. خصوصا در بحث اینترنت اشیا و مانیتورینگ و سایر موارد، اما با این وجود گاهی اوقات در استفاده از اون به مشکل بر میخوریم. دلیل رخ دادن این مشکلات دلایل متعددی میتونه باشه که سعی میکنم به مواردی از اون در این مطلب بپردازم.
مشکل منبع تغذیه ماژول SIM800
قبل از اینکه این مورد رو شروع کنم، سر راست بگم این ماژول ها اصطلاحا Power hungry هستند! یعنی یکم ولتاژ یا جریانش بالا پایین بشه از شبکه خارج میشه یا کانکت نمیشه و ریست خواهد شد. پس در همین ابتدا بگم ولتاژ منبع تغذیه این ماژول باید پایدار و با قابلیت جریان دهی مناسب باشه.
نقل یک تجربه: دوستان من، بدانید و آگاه باشید که گول آداپتور های بازار رو نخورید زیاد. البته نه همشون رو فقط بعضی هاشون رو. چرا که به کرّات دیدم روی ماژول زده 5 آمپر بعد نهایتا بتونه 2 آمپر جریان دهی کنه! یا بعدا که کیس اون رو باز کنید کاشف به عمل میاد که یه منبع 1 آمپری یا نهایتا 2 آمپری هست والکی داخلش رو با یسری چیز پر کردند که سنگین به نظر بیاد و شما بگید حله دیگه این جنس خوبه از وزنش معلومه!
بلای خانمان سوز مبدل سریال و اتصال آن
شاید این عنوان یکم عجیب باشه اما حقیقت داره. در ارتباط سریال با ماژول باید اتصالات بصورت ضربدری باشه. یعنی Rx مبدل سریال به Tx ماژول و Tx مبدل به Rx ماژول. مورد دوم در ارتباط سریال، برای جلوگیری از آسیب به ماژول یا قطعه باید به حاشیه نویز و VIL و VIH قطعه توجه کرد. ولتاژ پایه Rx نباید از مقدار مشخص شده دیتاشیت و با توجه به پارامتر های مشخص شده در دیتاشیت، بیشتر بشه چرا که به مرور یا همون لحظه باعث آسیب به ماژول خواهد شد. برای رفع این مشکل میتونید از یک مدار تقسیم مقاومتی ساده استفاده کنید یا از مدار ترانزیستوری ساده ای که خود دیتاشیت هم پیشنهاد داده استفاده کنید. مدار زیر از داکیومنت طراحی SIM800 استخراج شده است.
بررسی سلامت مبدل سریال
قدم بعدی این هست که از اتصال صحیح مبدل سریال به ماژول یا از سلامت مبدل و انتخاب پورت COM اطمینان حاصل کنیم. برای این کار بعد از باز کردن نرم افزار سریال و اتصال مبدل سریال، پایه های Rx و Tx مبدل رو بهم وصل کنید. بعد از اون در نرم افزار سریال یک متنی، عددی و هرچیزی که خواستید ارسال کنید. بعد از ارسال بلافاصله باید همون دیتا رو مجددا دریافت کنید. با این کار از صحت عملکرد نرم افزار و پورت Com و سلامت مبدل مطمئن خواهیم شد.
در قدم بعدی ماژول را توسط رابط سریال به سیتسم متصل میکنیم. ماژول های سری SIM800 بصورت Auto Baud Rate هستن. یعنی نیازی نیست که شما حتما باودریت ماژول رو مثل باودریت تنظیم شده در نرم افزار سریال ست کنید. بلکه این کار خودش بصورت اتوماتیک انجام خواهد شد. یا با ارسال چند دستور AT معمولی خود ماژول متوجه شده و این مورد انجام خواهد شد. با این حال اگر خواستید باودریت رو روی عدد مد نظر خودتون تظنیم کنید میتونید از دستورات زیر استفاد کنید.
AT+IPR=0 // Enable auto bauding, this is enabled by default AT+IPR=1200 // Set baud rate to 1200 bps AT+IPR=2400 // Set baud rate to 2400 bps AT+IPR=9600 // Set baud rate to 9600 bps AT+IPR=19200 // Set baud rate to 19200 bps AT+IPR=38400 // Set baud rate to 38400 bps AT+IPR=57600 // Set baud rate to 57600 bps AT+IPR=115200 // Set baud rate to 115200 bps
پین کد سیم کارت
تمام سیم کارت ها دارای یک کد منحصر به فرد چند رقمی هستند. این کد برروی پوکه سیم کارت درج شده است. در اولین استفاده از سیم کارت باید حتما پین کد آن وارد شود تا بتوانید از امکانات آن استفاده کنید. در صورتی که سیم کارتی که به ماژول متصل میکنید دارای پین کد باشد، وارد شبکه نشده و نمیتوانید از آن استفاده کنید. لذا یکی دیگر از دلایلی که ماژول به شبکه متصل نمیشود این مورد است. پس ابتدا با قرار دادن سیم کارت در یک گوشی نسبت به غیر فعال کردن پین کد آن اقدام کنید. یا این کار را میتوانید با خود ماژول نیز انجام دهید. برای این کار از دستورات زیر استفاده کنید.
AT+CPIN? +CPIN: SIM PIN این پاسخ یعنی پین کد نیاز هست OK :وارد کردن پین کد: AT+CPIN="959595" OK :غیر فعال کردن پین کد AT+CLCK="SC",0,"959595" OK AT+CPIN? +CPIN: READY این پاسخ یعنی دیگه پین کد نیاز نیست و سیم کارت اوکیه
خطا یابی ماژول با استفاده از دستورات ماژول SIM800
چنانچه باز هم موارد فوق را برررسی کردید و همچنین مطالبی که در قسمت اول سری آموزش های SIM800 بیان شده بود و باز هم مشکل حل نشد، بهتر است از خود ماژول کمک بگیریم. با استفاده از دستور زیر میتوانیم ماژول را خطا یابی کنیم. در صورت وجود خطا، ماژول یک عبارت همراه با عدد به ما در پاسخ خواهد داد. با مراجعه به داکیومنت مربوطه یا استفاده از همین مطلب میتوانید آن را دیکد کرده از ارور ماژول مطلع شوید.
دستور خطا یابی ماژول
AT+CMEE=1
در پاسخ به این دستور 2 حالت وجود خواهد داشت که یکی از دو پاسخ زیر را به ما خواهد داد.
“CMS ERROR: xxx+” یا “CME ERROR: xxx+”
کد های خطا یابی CME مربوط به تجهزیات GSM
این خطا مربوط به خود ماژول است. مثلا برای خواندن یک شماره از روی لیست مخاطبان در صورتی که پین کد را وارد نکرده باشید این ارور را دریافت خواهید کرد.
CME ERROR (GSM Equipment Related errors) CME ERROR: 0 Phone failure CME ERROR: 1 No connection to phone CME ERROR: 2 Phone adapter link reserved CME ERROR: 3 Operation not allowed CME ERROR: 4 Operation not supported CME ERROR: 5 PH_SIM PIN required CME ERROR: 6 PH_FSIM PIN required CME ERROR: 7 PH_FSIM PUK required CME ERROR: 10 SIM not inserted CME ERROR: 11 SIM PIN required CME ERROR: 12 SIM PUK required CME ERROR: 13 SIM failure CME ERROR: 14 SIM busy CME ERROR: 15 SIM wrong CME ERROR: 16 Incorrect password CME ERROR: 17 SIM PIN2 required CME ERROR: 18 SIM PUK2 required CME ERROR: 20 Memory full CME ERROR: 21 Invalid index CME ERROR: 22 Not found CME ERROR: 23 Memory failure CME ERROR: 24 Text string too long CME ERROR: 25 Invalid characters in text string CME ERROR: 26 Dial string too long CME ERROR: 27 Invalid characters in dial string CME ERROR: 30 No network service CME ERROR: 31 Network timeout CME ERROR: 32 Network not allowed, emergency calls only CME ERROR: 40 Network personalization PIN required CME ERROR: 41 Network personalization PUK required CME ERROR: 42 Network subset personalization PIN required CME ERROR: 43 Network subset personalization PUK required CME ERROR: 44 Service provider personalization PIN required CME ERROR: 45 Service provider personalization PUK required CME ERROR: 46 Corporate personalization PIN required CME ERROR: 47 Corporate personalization PUK required CME ERROR: 48 PH-SIM PUK required CME ERROR: 100 Unknown error CME ERROR: 103 Illegal MS CME ERROR: 106 Illegal ME CME ERROR: 107 GPRS services not allowed CME ERROR: 111 PLMN not allowed CME ERROR: 112 Location area not allowed CME ERROR: 113 Roaming not allowed in this location area CME ERROR: 126 Operation temporary not allowed CME ERROR: 132 Service operation not supported CME ERROR: 133 Requested service option not subscribed CME ERROR: 134 Service option temporary out of order CME ERROR: 148 Unspecified GPRS error CME ERROR: 149 PDP authentication failure CME ERROR: 150 Invalid mobile class CME ERROR: 256 Operation temporarily not allowed CME ERROR: 257 Call barred CME ERROR: 258 Phone is busy CME ERROR: 259 User abort CME ERROR: 260 Invalid dial string CME ERROR: 261 SS not executed CME ERROR: 262 SIM Blocked CME ERROR: 263 Invalid block CME ERROR: 772 SIM powered down
کد های خطا یابی CMS مربوط به شبکه GSM
این خطا مربوط به شبکه GSM است. مثلا موقعی که پوشش شبکه وجود ندارد و شما میخواهید یک پیامک ارسال کنید این ارور را دریافت خواهید کرد.
CMS ERROR: 1 Unassigned number CMS ERROR: 8 Operator determined barring CMS ERROR: 10 Call bared CMS ERROR: 21 Short message transfer rejected CMS ERROR: 27 Destination out of service CMS ERROR: 28 Unindentified subscriber CMS ERROR: 29 Facility rejected CMS ERROR: 30 Unknown subscriber CMS ERROR: 38 Network out of order CMS ERROR: 41 Temporary failure CMS ERROR: 42 Congestion CMS ERROR: 47 Recources unavailable CMS ERROR: 50 Requested facility not subscribed CMS ERROR: 69 Requested facility not implemented CMS ERROR: 81 Invalid short message transfer reference value CMS ERROR: 95 Invalid message unspecified CMS ERROR: 96 Invalid mandatory information CMS ERROR: 97 Message type non existent or not implemented CMS ERROR: 98 Message not compatible with short message protocol CMS ERROR: 99 Information element non-existent or not implemente CMS ERROR: 111 Protocol error, unspecified CMS ERROR: 127 Internetworking , unspecified CMS ERROR: 128 Telematic internetworking not supported CMS ERROR: 129 Short message type 0 not supported CMS ERROR: 130 Cannot replace short message CMS ERROR: 143 Unspecified TP-PID error CMS ERROR: 144 Data code scheme not supported CMS ERROR: 145 Message class not supported CMS ERROR: 159 Unspecified TP-DCS error CMS ERROR: 160 Command cannot be actioned CMS ERROR: 161 Command unsupported CMS ERROR: 175 Unspecified TP-Command error CMS ERROR: 176 TPDU not supported CMS ERROR: 192 SC busy CMS ERROR: 193 No SC subscription CMS ERROR: 194 SC System failure CMS ERROR: 195 Invalid SME address CMS ERROR: 196 Destination SME barred CMS ERROR: 197 SM Rejected-Duplicate SM CMS ERROR: 198 TP-VPF not supported CMS ERROR: 199 TP-VP not supported CMS ERROR: 208 D0 SIM SMS Storage full CMS ERROR: 209 No SMS Storage capability in SIM CMS ERROR: 210 Error in MS CMS ERROR: 211 Memory capacity exceeded CMS ERROR: 212 Sim application toolkit busy CMS ERROR: 213 SIM data download error CMS ERROR: 255 Unspecified error cause CMS ERROR: 300 ME Failure CMS ERROR: 301 SMS service of ME reserved CMS ERROR: 302 Operation not allowed CMS ERROR: 303 Operation not supported CMS ERROR: 304 Invalid PDU mode parameter CMS ERROR: 305 Invalid Text mode parameter CMS ERROR: 310 SIM not inserted CMS ERROR: 311 SIM PIN required CMS ERROR: 312 PH-SIM PIN required CMS ERROR: 313 SIM failure CMS ERROR: 314 SIM busy CMS ERROR: 315 SIM wrong CMS ERROR: 316 SIM PUK required CMS ERROR: 317 SIM PIN2 required CMS ERROR: 318 SIM PUK2 required CMS ERROR: 320 Memory failure CMS ERROR: 321 Invalid memory index CMS ERROR: 322 Memory full CMS ERROR: 330 SMSC address unknown CMS ERROR: 331 No network service CMS ERROR: 332 Network timeout CMS ERROR: 340 No +CNMA expected CMS ERROR: 500 Unknown error CMS ERROR: 512 User abort CMS ERROR: 513 Unable to store CMS ERROR: 514 Invalid Status CMS ERROR: 515 Device busy or Invalid Character in string CMS ERROR: 516 Invalid length CMS ERROR: 517 Invalid character in PDU CMS ERROR: 518 Invalid parameter CMS ERROR: 519 Invalid length or character CMS ERROR: 520 Invalid character in text CMS ERROR: 521 Timer expired CMS ERROR: 522 Operation temporary not allowed CMS ERROR: 532 SIM not ready CMS ERROR: 534 Cell Broadcast error unknown CMS ERROR: 535 Protocol stack busy CMS ERROR: 538 Invalid parameter
جمع بندی
در این مطلب سعی شد عمده دلایل مطرح شده برای ارور ماژول های SIM800 و بطور کلی ماژول های GSM مورد بررسی قرار گیرد. در صورتی که روش های گفته شده در این ابتدای مطلب و قسمت اول سری آموزش های مخصوص SIM800 کار ساز نبود از دستور خطایابی ماژول (AT+CMEE=1) استفاده کرده و در نهایت پاسخ ماژول را بررسی کنید. در صورتی که شما هم تجربه ای در این خصوص داشتید لطفا با من و بقیه از طریق کامنت گذاشتن به اشتراک بگذارید.
امیدوارم از این آموزش کمال بهره را برده باشید. در صورتی که هرگونه نظر یا سوال داشتید درباره این آموزش لطفا اون رو در انتهای همین صفحه در قسمت دیدگاه ها قرار بدید. در کوتاه ترین زمان ممکن به اون ها پاسخ خواهم داد. اگر این مطلب براتون مفید بود، اون رو حتما به اشتراک بگذارید. همینطور میتونید این آموزش را پس از اجرای عملی توی اینستاگرام با هشتگ microelecom# به اشتراک بگذارید و پیج مایکروالکام (microelecom@) رو هم منشن کنید.
سلام وقتتون بخیر، من ماژول رو طبق یک آموزش با برد اردوینو اونو متصل کردم البته برای اتصال انتقال داده پایه های rx tx از مقاومت ۱۰ کیلو و ۲۰ کیلو اهم استفاده کردم، چون گفته بودن پایه های انتقال داده در اردوینو ولتاژ ۵ ولت دارن، بعد اینکه ماژول که سیم کارت روش هست رو پروگرام کردم، در مانیتور سریال هیچ فرمانی رو نمیگیره یعنی من AT میزنم که ok دریافت کنم اصن بعد زدن دکمه Enter اصن At چاپ نمیشه!
همچنین led ماژول هم بعد ۸ بار چشمک و یک مکس دوباره تکرار میشه!…
سلام، حالت چشمک زدنی که گفتید یعنی ماژول به شبکه کانکت نمیشه.
برای ارسال کامند باید حتما Rx Tx ماژول رو با Rx Tx برد بصورت ضربدری وصل کنید و همینطور GND ها یکی بشه. در ضمن برای اینکه برد اردوینو به عنوان رابط سریال استفاده کنید باید برنامه اش بنویسید.
پیشنهاد میکنم اول از مبدل سریال برای تست AT ها استفاده کنید بعد که اوکی بود همه چیز سراغ میکرو برید اینجوری عیب یابی خیلی راحت تر خواهد بود.
سلام وقت شما بخیر من ماژول sim800c رو می خواستم با AVR راه اندازی کنم ماژول به تغذیه که وصل می کنم یکی از ال ای دی ها کامل روشن هست که ال ای دی تغذیه هست یکی دیگه از ال ای دی ها همیشه خاموش هست وقتی دستور AT من ارسال میکنم هیچ چیزی برنمی گرده من این رو با اردوینو و سریال مانیتور هم تست کردم
سلام، LED هایی که فرمودید کاراییشون رو باید روی برد خودتون یا دیتاشیت اون بررسی کنید ببینید برای چی هست.
اول از همه مطمئن بشید مبدل سریالتون سالم باشه. دوم مطمئن بشید ماژول SIM800 روشن هست. سوم بررسی کنید GND مبدل سریال و ماژول یکی شده باشه. چهارم بررسی کنید Tx و Rx مبدل سریال و ماژول بصورت ضربدری (Tx مبدل به Rx ماژول و Rx مبدل به Tx ماژول) وصل شده باشه.
سلام باید پایه پاور کی رو به gnd متصل کنید