سلام به همه مایکروالکامی ها. در مطالب قبلی سیستم A-GPS، سیستم موقعیت یابی GNSS و همچنین مکان یابی بدون نیاز به ماژول GPS توسط SIM800 مورد بررسی قرار گرفت. همانطور که مشخص است سیستم های موقعیت یابی و مکان یابی نقش مهمی را در زندگی انسان ها بازی میکنند. خروجی همه ماژول های موقعیت یابی یسکری دیتا تحت عنوان کد های NMEA میباشد که در مطالب قبلی بطور مفصل به آن پرداخته شد. در این قسمت از سری آموزش قصد دارم تا با معرفی و راه اندازی ماژول NEO6M (NEO-6M) شرکت UBLOX (یوبلاکس) کار را آغاز و در چند قسمت بطور مفصل به آن بپردازم. پس با من تا انتهای مطلب همراه باشید. همچنین شما میتونید سایر مطلب من رو از این قسمت مطالعه کنید.
سایر قسمت های بعدی آموزش های NEO6M
معرفی و کابرد سیستم موقعیت یابی
اولین بار در دهه 70 میلادی سیستم موقعیت یابی GPS توسط وزارت دفاع و ارتش ایالات متحده آمریکا مورد استفاده قرار گرفت. بعد از آن نیز سیستم موقعیت یابی GNSS بصورت استفاده همگانی پا به جهان گشود. در دنیای امروز شاهد استفاده های زیاد و کاربرد این سیستم ها هستیم. استفاده در سیستم های رهگیری بار ها و کانتینر ها، موقعیت یابی وسایل نقلیه، ردیابی اشخاص و … برخی از کاربرد های عمومی بوده و در کنار آن استفاده های نظامی نیز وجود دارد.
معرفی ماژول یوبلاکس مدل NEO6M
تقریبا ماژول های موقعیت یابی با امکانات مشابه و متفاوت زیاد در بازار وجود دارد. سه برند محبوب و سر شناس تر در میان سایر برند ها در ایران، برند های یوبلاکس، کوئیکتل و سیمکام هست که دارای ماژول های موقعیت یابی GPS/GNSS میباشند. اما در این بین در این سری آموزش به ماژول NEO6M برند UBlox (یوبلاکس) پرداخته خواهد شد.

خوشبختانه این ماژول دارای برند راه انداز در بازار نیز میباشد. پس کار در استفاده از آن آسان شده است. برد راه انداز این ماژول چند نمونه است که در برخی شاهد پورت USB بوده و در برخی دیگر تنها چند پین مهم و کاربردی در دسترس وجود دارد. بهرحال هر نمونه ای که باشد فرقی نداشته و نحوه استفاده و راه اندازی تقریبا مشابه است. ماژول NEO6M خود دارای ابعاد 16×12.2×2.4mm میباشد. البته سری ماژول NEO-6 دارای مدل های دیگر مانند NEO-6G ،NEO-6Q ،NEO-6P و… نیز میباشد. در جدول زیر انوع این سری ماژول با یکدیگر مقایسه گردیده اند. همه این سری ماژول ها از سرویس های u-blox AssistNow Online و AssistNow Offline A-GPS پشتیبان میکنند. برای AssistNow آفلاین نیاز به حافظه خارجی میباشد.

مشخصات فنی ماژول NEO6M
در جدول زیر بخشی از مشخصات فنی مربوط به ماژول NEO-6M آورده شده است. برای مطالعه بیشتر و کسب اطلاعات بیشتر حتما دیتاشیت این ماژول کاربردی را از طریق این لینک مطالعه نمایید.
Specification | Parameter |
50 Channels GPS L1 (1575.42Mhz) frequency, C/A Code SBAS: WAAS, EGNOS, MSAS |
Receiver type |
Cold Start: 27s Warm Start: 27s Hot Start: 1s Aided Starts: <3s |
Time-To-First-Fix |
Tracking & Navigation: -161 dBm Reacquisition: -160 dBm Cold Start (without aiding): -147 dBm Hot Star: -156 dBm |
Sensitivity |
5Hz | Maximum Navigation update rate |
0.25Hz to 1KHz | Horizontal position accuracy |
NMEA, UBX Binary, RTCM | Communication Protocol |
4800-230400 (default 9600) | Serial Baud Rate |
-40°C ~ 85°C | Operating Temperature |
2.7V ~ 3.6V | Operating Voltage |
45mA | Operating Current |
510Ω | TXD/RXD Impedance |
بلوک دیاگرام داخلی ماژول
در تصویر زیر بلوک دیاگرام این ماژول را مشاهده مینمایید. برای اطلاع از اینکه هر کدام از سری ماژول های NEO-6 دارای کدام بخش است به جدول 2-1 دیتاشیت مراجعه نمایید.

آنتن مورد نیاز ماژول NEO-6M
این ماژول طوری طراحی شده است که از هر دو آنتن اکتیو و پسیو میتوان جهت اتصال به آن استفاده کرد. در جدول زیر خصوصیات آنتن مورد استفاده این ماژول قابل مشاهده است.

برد راه انداز ماژول NEO-6M
در تصویر زیر چند نمونه از برد راه انداز ماژول NEO-6M قابل مشاهده است.


وسایل مورد نیاز
بررسی کد های خروجی ماژول GPS
در ابتدا آنتن GPS را مستقیما یا از طریق تبدلیل SMA به UFL به کانکتور UFL روی برد متصل کرده و در ادامه خروجی کاهنده ولتاژ خود را بین 2.7V تا حداکثر 3.6V تنظیم کرده و به پین تغذیه ماژول وصل نمایید. در اولین بار بعد از اتصال تغذیه، LED روی برد راه انداز خاموش است. به محض اتصال و یافتن ماهواره ها و داشتن خروجی معتبر این LED شروع به چشمک زدن خواهد کرد. یا ممکن است بسته به نوع برد شما، ابتدا LED روشن و ثابت باشد و بعد از کانکت شدن به ماهواره و داشتن خروجی معتبر، شروع به چشمک زدن کند که از من به این صورت بود. همچنین پایه RX مبدل را به Tx ماژول و Tx مبدل را به Rx ماژول GPS متصل نمایید و باودریت نرم افزار سریال مانیتور را روی 9600 تنظیم نمایید. در قسمت بعدی به تحلیل دقیق تر و بررسی کد های NMEA ماژول پرداخته خواهد شد.
نمونه کد های NMEA خروجی ماژول


موقعیت شناسایی شده توسط ماژول و نمایش روی نقشه
در تصویر زیر موقعیت شناسایی شده توسط ماژول و نمایش آن برروی نقشه را مشاهده مینمایید. طبق اطلاعاتی که از ماژول استخراج شد خطایی حدود 10 تا 15 متر بین موقعیت اصلی و موقعیت شناسایی شده مشاهده شد.

همانطور که قابل مشاهده است هر 1 ثانیه، ماژول پکت های NMEA را به پورت سریال ارسال خواهد کرد. برای استخراج ساعت، تاریخ و موقعیت فعلی و… نیاز است که بسته NMEA مروبط به خود را دیکد کنیم. در این مطلب به توضیحات هر کد NMEA پرداخته شده است.
توضیحات و نکات تکمیلی
اگر مشخصات فنی ماژول رو مطالعه کرده باشید، شاید اصطلاح Cold Start و Hot Start براتون جالب باشه و بگید یعنی چی؟ در لحظه اول که تغذیه ماژول را برای اولین بار وصل میکنیم، ماژول در حالت Cold Start راه اندازی میشود و با توجه به کیفیت سیگنال، محل قرار گیری آنتن، محوطه و ساختمان های اطراف، گین آنتن و… مدت زمانی تا چندین دقیقه یا کمتر یا بیشتر طول میکشه که ماژول ماهواره ها را پیدا کرده و به آنها متصل شود. به این حالت Cold Start گویند. حالت دیگر Hot Start هست و ماژول کاملا به ماهواره ها کانکت شده و خروجی که در اختیار کاربر قرار میدهد کاملا دقیق و ثابت میباشند.
یکی از مزایای این ماژول قابلیت اتصال USB بصورت مستقیم به آن بوده که هم تغذیه آن تامین شده و هم اینکه بصورت یک پورت مجاز توسط سیستم شناسایی خواهد شد. برای مشاهده اطلاعات خروجی ماژول از نرم افزار اختصاصی شرکت Ublox بنام U-Center میتوانید استفاده کنید. همچنین از سایر نرم افزار ها مانند GPS WIVER و MINI GPS نیز میتوان استفاده نمود.
مشاهده خروجی ماژول NEO6M با استفاده از نرم افزار U-Center
ابتدا نرم افزار را نصب کنید. برای دانلود نرم افزار میتوانید از این لینک استفاده کنید. در نرم افزار ابتدا باودریت را روی 9600 تنظیم کرده و شماره پورت صحیح را نیز انتخاب کنید.

جمع بندی
در این مطلب بطور خلاصه ماژول GPS مدل NEO-6M مورد بررسی و ارزیابی قرار گرفت. برای موقعیت یابی و استخراج و استفاده از دیتا های ارسالی از طرف ماهواره ها نیاز به رمزگشایی و ترجمه کد های NMEA خروجی ماژول است. در قسمت های بعدی این سری از آموزش، به مرور این موارد پوشش قرار خواهد گرفت.
امیدوارم از این آموزش کمال بهره را برده باشید. در صورتی که هرگونه نظر یا سوال داشتید درباره این آموزش لطفا اون رو در انتهای همین صفحه در قسمت دیدگاه ها قرار بدید. در کوتاه ترین زمان ممکن به اون ها پاسخ خواهم داد. اگر این مطلب براتون مفید بود، اون رو حتما به اشتراک بگذارید. همینطور میتونید این آموزش را پس از اجرای عملی توی اینستاگرام با هشتگ microelecom# به اشتراک بگذارید و پیج مایکروالکام (microelecom@) رو هم منشن کنید.
آقا کتابخونه این ماژول منو بیچاره کرده. همراه چند ماژول دیگه که به آزدوینو uno متصله میخوام دیتاها در یک خط هر یک ثانیه نمایش داده بشه. چکار کنم؟
سلام، درست متوجه نشدم میخواید چیکار کنید!
نمایش دیتا روی سریال مانیتور با دستورات سریال پرینت هست در محیط Arduino IDE و به کتابخونه کاری نداره. لطفا شرح کنید تا راهنمایی کنم.
سلام. سپاس فراوان از اموزشهای عالیتون. سوالی که داشتم از خدمتان اینکه آیا تغییر فرمت دیتای ارسالی ماژول GPS وجود دارد. منظورم این است که براساس پروتکل NMEA که فرمت دیتا بصورت DD MM. MMMMMM هست را ماژول میتونه بصورت تبدیل شده ارسال کنه یعنی DD.DDDD . متاسفانه در بسیک تقسیم بصورت دو بایتی است و امکان تقسیم اعداد بالای یک WORD بصورت یک مرحله ای وجود نداد.دنبال راحلی هستم که بتونم یا دیتای تبدیل شده از ماژول دریافت کنم یا راحل برای تبدیل .
سلام، خواهش میکنم.
همینطور که داخل مطلب لینک زیر گفته شده، پکت های NMEA دیتا های ثابت و استانداری هست که هر ماژول GPS تحویل میده و در واقع ساختار آنها یکی هست و برابر. برای این امر باید دیتا ها رو دیکد کنید خودتون یا اگر کتابخانه ای هستش از اون استفاده کنید. پیشنهاد میکنم از سورس های موحود استفاده کنید برای کشف راه حل.
مطلب معرفی NMEA:
https://blog.microele.com/nmea-protocol/