اینترنت اشیا - IOTمطالب علمی

روش‌های خطایابی و رفع مشکلات کار با ماژول‌های GSM SIM800

ماژول‌های SIMCOM یکی از پرکاربردترین ماژول‌های GSM موجود در بازار هستند. متأسفانه بسیاری از کاربران در هنگام کار با این ماژول‌ها دچار مشکل شده و نمی‌توانند با ماژول ارتباط برقرار کنند.

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

در صورت رعایت کردن تمامی نکات ذکرشده در اسناد ارائه‌شده توسط شرکت سازنده، این ماژول می‌تواند به یکی از دقیق‌ترین و بهترین ماژول‌های GSM تبدیل شود.

5pcs lot font b SIM800C b font SIMCOM font b GSM b font GPRS With small 1

در این مقاله سعی داریم تا انواع روش‌های تست و خطایابی نرم‌افزاری و سخت‌افزاری ماژول را آموزش دهیم. تقریباً بیشتر اطلاعات ارائه‌شده در این نوشتار در اسناد منتشرشده توسط شرکت سازنده موجود بوده و تنها چند نکته خاص که به‌صورت تجربی به‌دست‌آمده است به آن افزوده‌شده است. همیشه بهترین منبع برای راه‌اندازی و کار با هر نوع وسیله‌ای، اسناد منتشرشده توسط شرکت سازنده آن بوده و بهتر است قبل از هر کاری اسناد مربوط به ماژول را مطالعه کنید. لازم به ذکر است در این مطلب از ماژول SIM800C استفاده‌شده است.

تقریباً تمامی مشکلات به وجود آمده با این ماژول‌ها، به سه دسته تقسیم می‌شوند:

الف) تأمین تغذیه ماژول
ب) نحوه ارتباط بین ماژول و پردازنده
ج) اتصال به شبکه

الف) تأمین تغذیه ماژول

درصورتی‌که شما نتوانید ولتاژ و جریان موردنیاز ماژول را تأمین کنید، کارکرد ماژول با مشکل مواجه خواهد شد. بسیاری از کاربران در هنگام کار با دستگاه‌های الکترونیکی تنها به فکر تنظیم ولتاژ برای ماژول خود هستند و هیچ‌گاه نسبت به تأمین جریان موردنیاز اقدامی نمی‌کنند. در مورد ماژول‌های SIM شما علاوه بر تأمین ولتاژ دقیق نیاز به تأمین جریان موردنیاز ماژول را نیز خواهید داشت. ماژول در حالت عادی جهت روشن شدن نیاز به جریان پایینی دارد، ولی در هنگان اتصال به شبکه جریان موردنیاز ماژول تا 2.5 آمپر افزایش می‌یابد. درنتیجه اگر منبع تغذیه شما قادر به تأمین این جریان نباشد، ماژول کارکرد صحیحی نخواهد داشت.

در حالت اولیه نشانگر NET ماژول به‌صورت مستمر چشمک می‌زند و بعد از یافتن شبکه، سرعت چشمک زدن ماژول تغییر می‌کند. همان‌گونه که ذکر شد، ماژول‌های SIMCOM در هنگام اتصال به شبکه و یا ارسال SMS تا 2.5 آمپر به‌صورت لحظه‌ای جریان می‌کشند. درصورتی‌که منبع تغذیه شما قادر به تأمین جریان نباشد، ماژول ریست شده و به‌صورت مداوم چشمک می‌زند.

استفاده از منابع تغذیه جریان آزمایشگاهی به علت محدود کردن جریان، رگلاتورهای جریان پایین مثل 7805 و یا باتری‌های ضعیف همگی باعث عدم اتصال ماژول به شبکه می‌شوند. چون ولتاژ کاری ماژول غیر استاندارد می‌باشد، جهت تأمین آن می‌بایست از رگلاتورهای پیشنهاد شده در دیتاشیت ماژول استفاده کنید طی تست‌های انجام‌شده، بهترین راندمان کاری ماژول SIM800 در ولتاژی بین 4.1 الی 4.4 ولت می‌باشد. در تصویر زیر مدار پیشنهاد شده برای استفاده در قسمت تغذیه ماژول را مشاهده می‌کنید.

Screenshot 37

قطعه LM2596 یک کاهنده ولتاژ با قابلیت تعیین ولتاژ خروجی بوده که مهم‌ترین مزیت آن به رگلاتورهای دیگر، قابلیت تأمین جریان تا 3 آمپر می‌باشد. البته لازم به ذکر است که شما فقط ملزم به استفاده از این قطعه نیستید، ولی باید به این نکته توجه داشته باشید که مبدل شما می‌بایست ولتاژی بین 4.1 الی 4.4 ولت را با قابلیت تأمین جریان 2.5 آمپر داشته باشد.

10pcs LM2596 LM2596S ADJ Power supply module DC DC Step down module 5V 12V 24V adjustable 1

نزدیک‌ترین مدار به این ماژول، کاهنده معروف LM2596 موجود در فروشگاه ECA می‌باشد.در بعضی مواقع به علت محدودیت‌های موجود، نمی‌توان جریان موردنیاز 2 آمپری ماژول را تأمین کرد، در این‌گونه موارد با قرار دادن چند خازن ظرفیت بالا به‌صورت موازی در مسیر ولتاژ ماژول، می‌توان تا حد زیادی کمبود جریان در هنگام پیک جریان ماژول را تأمین کرد.

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

مثال:

AT+CBC [Enter]

+CBC: 0,100,4263


OK

قسمت سوم (عدد 4263 در این مثال) همان ولتاژ دوسر ماژول بر اساس میلی ولت می‌باشد، یعنی 4.263 ولت (این ولتاژ در هنگام تست برای شما شاید متفاوت باشد)

ب) نحوه ارتباط بین ماژول و پردازنده

رایج‌ترین مشکل بعدی مربوط به کابل سریال می‌باشد. علی‌الخصوص در مواقعی که از مبدل‌های کابل سریال به USB استفاده می‌شود، این مشکل بیشتر نمایان می‌شود.
در ابتدا از یک نرم‌افزار مناسب برای مشاهده ترمینال سریال استفاده کنید. نرم‌افزار Termite به‌عنوان یک نرم‌افزار رایگان و کاربری ساده پیشنهاد می‌شود.
برای تست پورت سریال، پورت RX و TX را به هم متصل کنید. درصورتی‌که درایور پورت سریال شما درست نصب‌شده باشد و اتصالات به‌درستی برقرارشده باشند، با تایپ هر کاراکتر، باید در ترمینال برگشت داده شود.

CP2102 USB 2 0 to TTL UART Module 5Pin Serial Converter STC Replace FT232 Module 5pin

ماژول CP2102 یکی از بهترین ماژول‌ها برای مبدل سریال به USB می‌باشد بعد از تست سریال، به سراغ ماژول می‌رویم. پس از اتصال تغذیه و چشمک زدن ماژول، در صورت درست بودن اتصال سریال، می‌توانید دستورات را به ماژول ارسال کنید. معمولاً تنظیمات سریال ماژول AUTO BAUD RATE بوده و نیازی به انجام تنظیم خاصی نیست؛ ولی بهتر است برای راحتی کار تنظیمات سریال در نرم‌افزار سریال خود را روی 9600 تنظیم کنید.
در هنگام اتصال به میکروکنترلر، یا باید بیت ریت ماژول را بر روی عدد خاصی فیکس کنید و یا اینکه با ارسال چندین‌باره کاراکتر A بیت ریت را تنظیم کنید. پیشنهاد من فیکس کردن عدد بیت ریت بر روی عددی خاص است. برای این کار یک‌بار ماژول را باید به رایانه متصل کرده و سپس با ارسال یکی از دستورات زیر عدد را ثابت کنید.

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

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

درصورتی‌که در ترمینال، بعد از ارسال کاراکترها، اطلاعات برگشتی نامفهوم بود، یعنی اینکه اطلاعات بیت ریت شما درست تنظیم نشده است.

بهترین کار در هنگام اتصال ماژول به پردازنده، هماهنگ‌سازی ولتاژ بین ماژول و میکروکنترلر می‌باشد. بااین‌حال که در هنگام تست، اتصال پورت سریال 5 ولت به ماژول باعث بروز مشکل نمی‌شود، ولی بهتر است مقاومت‌های محدودکننده جریان (حدود 100 اهم) در مسیر میکروکنترلر به ماژول قرار گیرد.

بعضاً مشاهده‌شده است در هنگام تبادل دستورات بین ماژول و پردازنده، به علت بالا بودن سرعت بالای پاسخ پردازنده، ماژول دستورات را به‌درستی دریافت نکرده و با خطا مواجه می‌شود. به‌شخصه در هنگام کار با Labview یا میکروکنترلر، بارها با این مشکل مواجه شده‌ام. تنها راه رفع این مشکل، قرار دادن یک تأخیر بسیار کوتاه (در حد 5 میلی‌ثانیه) بین دریافت و ارسال دستور به ماژول می‌باشد.

ج) اتصال به شبکه

مورد بعدی پین کد سیم‌کارت می‌باشد. اگر پین کد سیم‌کارت فعال باشد، ماژول به شبکه متصل نمی‌شود. برای این کار می‌توانید توسط یک گوشی موبایل پین کد را غیرفعال کنید و یا اینکه توسط دستورات زیر کد را غیرفعال کنید.

AT+CPIN?
>>> +CPIN: SIM PIN // pin codes need to be entered
>>> OK

AT+CPIN="9546"
>>>; OK

AT+CLCK="SC",0,"9546" // disable pin code
>>> OK

AT+CPIN?
>>> +CPIN: READY

2000px SmartCardPinout.svg

شماره پایه‌های سیم‌کارت

درصورتی‌که تمامی موارد را تست کردید ولی باز هم نتوانستید به شبکه متصل شوید، می‌بایست اتصالات مربوط به آنتن و سیم‌کارت را چک کنید. روش سریع برای یافتن ایراد استفاده از دستور خطایابی ماژول می‌باشد. با ارسال دستور زیر در صورت بروز مشکل خطای مربوطه گزارش داده می‌شود.

AT+CMEE=1

با ارسال این دستور، عبارت ok مبنی بر فعال شدن گزارش خطا برای شما ارسال می‌شود. در صورت وجود خطا، اعلام به‌صورت کد برگشتی گزارش داده می‌شود، در لیست زیر می‌توانید خطای مربوط به کد خود را مشاهده کنید.

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

بعد از تست ولتاژ و پین کد، تعدادی تست دیگر نیز موجود می‌باشد که در ادامه آن‌ها را انجام خواهیم داد. در ابتدا اتصال سیم‌کارت به ماژول را با ارسال دستور AT+CPIN? تست می‌کنیم در صورت سالم بودن:

AT+CPIN?

+CPIN: READY


OK

درصورتی‌که سیم‌کارت به هر دلیلی به ماژول وصل نباشد:

AT+CPIN?

+CME ERROR: 10

در این تست، سیم‌کارت به ماژول متصل نبوده و خطایابی ماژول از طریق دستور AT+CMEE=1 فعال‌شده است. در صورت جستجو در لیست خطاهای ماژول، مشاهده خواهید کرد که خطای شماره 10 مربوط به متصل نبودن سیم‌کارت به ماژول می‌باشد.

دستور بعدی، تست میزان قدرت سیگنال می‌باشد. با ارسال دستور AT+CSQ شما می‌توانید از درست بودن مدار مربوط به آنتن، کیفیت آنتن و میزان سیگنال مخابرات در محل ماژول مطلع شوید.

مثال:

AT+CSQ+CSQ: 16,0OK

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

جهت دسترسی به‌تمامی دستورات، شما می‌توانید به اسناد مربوط به AT Command ماژول مراجعه کنید. دستورات بسیار زیادی هستند که شما می‌توانید از طریق آن‌ها تمامی قسمت‌های ماژول را تست کنید.

original

یکی از ماژول‌های بسیار کوچک SIM800

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

در این مطلب، انواع روش‌های رایج خطایابی ماژول‌های Sim800 آموزش داده شد، شما می‌توانید از همین دستورات برای ماژول sim808 نیز استفاده کنید. درصورتی‌که می‌خواهید مداری برای این ماژول طراحی کنید، سعی کنید برای طراحی برد از شماتیک پیشنهادی موجود در اسناد مخصوص ماژول استفاده کنید.

 این مطلب در شماره 15 مجله نویز منتشر شده است.

نوشته های مشابه

10 دیدگاه

  1. با سلام و خسته نباشید
    من ماژولو تو نرم افزار rstermplus ، تست میکنم ولی ماژول به هیچ یک از atcommand هایی که میفرستم پاسخ نمیده ، پایه های rx,tx ماژول سوخته نباشه ؟
    خیلی ممنون میشم راهنمایی کنین .

    1. سلام من هم همین مشکل و دارم. اگر مشکل و حل کردین به منم بگین . با یک ماژول نو هم تست کردم ولی کامندی دریافت نمیکنه و پاسخی به کامند ها نمیده

  2. سلام
    من اخیرا این ماژول رو از فروشگاه شما تهیه کردم ، تو شبکه ثبت میشه و LED هر سه ثانیه یک بار چشمک میزنه ولی نمیتونم با آردوینو ارتباط سریال برقرار کنم
    مشکل رو تو انجمن ECA هم مطرح کردم ولی هنوز مشکل حل نشده ، تمام راه کار هایی که هم تو یوتیوب هم انجمن های خارجی هم ECA مطرح شده بود رو تست کردم که از این قراره
    1 – استفاده از مبدل دی سی به دی سی
    2 – استفاده از باتری بعنوان پاور ماژول
    3 – استفاده از جامپر های با طول کم ( جامپر های بلند رو کوتاه کردم در حد 5 سانتی متر )
    4 – استفاده از سورس کد های مختلف روی آردوینو که تست شده بودن و جواب دادن
    5 – استفاده از تقسیم مقاومتی روی پین RX ماژول و TX آردوینو
    6 – استفاده از رگولاتور IRFZ44N بجای تقسیم مقاومتی و کاهش ولتاژ 5 ولت TX آردوینو به 2.8 ( سطح ولتاژ منطقی ماژول ) ولت و اعمال آن به پین RX ماژول
    چند تا راهکار دیگه هم تست کردم که الان حضور ذهن ندارم
    چیکار کنم که مطمئن بشم مشکل از خود ماژول نیست ؟؟؟؟

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

    1. البته وقتی تغذیه رو از ماژول مبدل USB میگیرم (3.3) ریسپانس رو درست میده به شبکه وصل نمیشه اما وقتی از ماژول LM میگیرم به شبکه وصل میشه پاسخ نامفهوم میده
      خازن هم 2 تا 3300 و یدونه 4700 الکترولیتی (شیمیایی) در نزدیکترین جای ممکن به GSM استفاده کردم

  4. با عرض سلام. من یه پروژه کار کردم که با یک مشکل روبرو شدم با دریافت دیتا ماژول GSM SIM800l من به گوشی من زنگ نمی زند در همان لحظه ای اول که دیتا را دریافت میکند و بصورت خودکار و متواتر برام زنگ می زند. لطفا راهنمایی‌ام کنید.

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

  6. سلام . منم هر کار میکنم باز ماژول ریست میشه و به شبکه وصل نمیشه . منبع ۸ ولت ۳ امپر دادم به رگولاتور ۲۵۹۶ و به ماژول ولتاژ دقیق ۴.۲ دادم . البته ماژول من نسخه بلک ادیتیشن هست و به قول سایت ها ورودی ۵ ولت میگیره و خود بردش تبدیل میکنه به ۴.۲ . ظاهرا هم درسته چون من با رگدلاتور ۵ ولت دقیق دادم بهش ولی وقتی کد شارژ باتری رو میزنم ۴.۲ نشون میده . البته ماژول تا زمانی سیم کارت روش نیست خیلی پایداره ولی زمانی سیمکارت میزارم(همراه اول) یه لحظه ماژول به شبکه وصل میشه و بعد ریست میشه . ممنون میشم راهنمایی بیشتری بکنین . خازن ۲۲۰۰ هم مستقیم زدم به پایه های تغذیه ماژول

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا