موقعیت یاب GPS

راه اندازی و کار با ماژول GPS مدل NEO6M: قسمت ششم پکت GSA

gps-neo6m-tutorial-step-six-gsa-packet-and-dop-digispark
نوشته شده توسط معین صابری

در سلسله آموزش های ماژول GPS مدل NEO6M، به دیگر پکت مهم و کاربردی، GPGSA می پردازیم. در آموزش های قبلی پکت های کاربردی که اطلاعات جغرافیایی را در اختیار ما قرار میدهند، مورد بررسی قرار گرفتند. در این آموزش به کمک پکت GSA میزان دقت (تعدیل دقت) جغرافیایی را محاسبه می کنیم. مبحث تعدیل دقت یا DOP که مخفف عبارت Dilution Of Precision است، مبحثی مهم بوده که مربوط به کاهش دقت GPS می شود. از آنجاییکه بحث هندسه ماهواره ها و نحوه قرارگیری آن ها در کنار هم بر تعدیل دقت تاثیر می گذارد، لذا این پکت بسیار کلیدی و کاربردی خواهد بود. در ادامه این آموزش، با مرجع تخصصی ماژول GPS به زبان فارسی، دیجی اسپارک همراه باشید.

 


تعریف تعدیل دقت DOP


همانطور که اطلاع دارید، جهت دریافت داده های جغرافیایی ماژول های گیرنده سیگنال های داده را از ماهواره ها دریافت می کنند. ماهواره های GPS در مدار زمین دائم در حال گردش هستند و داده های خود را با گیرنده ها مخابره می کنند. در این بین، عوامل مختلفی در کاهش دقت اثر گذار هستند. از جمله این عوامل می توان به موارد زیر اشاره نمود.

  • وضعیت جوی
  • وضعیت ساختمان ها و سازه ها
  • فاصله بین ماهواره های در حال گردش که کاهش فاصله سبب کاهش دقت و افزایش فاصله سبب افزایش دقت می شود.

همانطور که گفته شد، پکت GPGSA حاوی اطلاعاتی مهم در رابطه با تعدیل دقت است. این پکت میزان دقت کاهش یافته محاسبه شده را در فرمت های زیر بر می گرداند.

HDOP: این پارامتر دقت تعدیل شده در راستای افق را بر می گرداند.

VDOP: این پارامتر دقت تعدیل شده را به صورت عمودی بیان می کند.

PDOP: این پارامتر تعدیل دقت موقعیت ۳ بعدی را بیان می کند.

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

 

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

 


پکت GSA و فیلدهای اطلاعاتی


در این قسمت به بررسی فیلدهای اطلاعاتی پکت GPGSA می پردازیم. به عنوان یک مثال، این پککت به صورت زیر در ترمینال دریافت می گردد.

$GPGSA,A,3,23,29,07,08,09,18,26,28,,,,,1.94,1.18,1.54*0D

جدول زیر این فیلدها را به همراه توضیحات آن ها نمایش می دهد.

 

توضیح مقدار فیلد
هدر و یا پیشوند مشخص کننده پکت $GPGSA
این متغیر وضعیت کاری ماژول را نمایش می دهد. مقدار A یعنی ماژول می تواند بین حالت ۲ و ۳ بعدی سوییچ کند. در صورتیکه این مقدار M شود، ماژول یا در حالت ۲ و یا در حالت ۳ بعدی فعال خواهد بود. A
این متغیر وضعیت فیکس ماژول به ماهواره را نشان می دهد. مقادیر زیر برای فیکس تعریف می شوند.

۱:فیکس نشده

۲: فیکس دو بعدی

۳: فیکس سه بعدی

۳
از این فیلد تا فیلد شماره ۱۵(با شروع شمارش فیلدها از ۱) شماره ماهواره های استفاده شده نمایش داده می شود.
این متغیر عدد مربوط به PDOP، تعدیل دقت سه بعدی موقعیت را نمایش می دهد. ۱٫۹۴
این متغیر عدد مربوط HDOP، تعدیل دقت به صورت افقی را نمایش می دهد. ۱۸٫۱
این متغیر عدد مربوط به VDOP، تعدیل دقت به صورت عمودی را نمایش می دهد. ۵۴٫۱
این متغیر مربوط به فیلد CHECK SUM و یا کنترل خطا را نمایش می دهد. *۰D

 

پس از معرفی فیلدها، نوبت به اجرای یک نمونه برنامه می رسد. مطابق آموزش های پیشین، ابتدا به فیلتر پکت ها می پردازیم. پس از آن به اجرای یک نمونه برنامه جهت استخراج پکت GPGSA خواهیم پرداخت.

 


فیلتر کردن پکت های NMEA


همانطور که پیشتر مشاهده نمودید، ماژول GPS پکت ها را به صورت دائم در سریال قرار می دهد. زمانیکه بخواهید با میکروکنترلرها داده ها را بخوانید، از آنجاییکه ماژول GPS تمام پکت ها را با هم فرستاده و این مورد می تواند سبب پر شدن بافر سریال شود، بنابراین باید داده هایی که به آن ها احتیاج نیست فیلتر شوند. دستورات زیر سبب فیلتر شدن بافر از سایر داده ها شده و تنها داده های مربوط به GPGSA ارسال می شوند.

 

محدودیت در دسترسی کامل به این مجموعه آموزش

 

دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندس‌های دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید.

 

با ارسال دستورات فوق به ماژول GPS، داده ها فیلتر شده و تنها داده های مربوط به پکت GPGSA در بافر قرار می گیرند. بدین ترتیب روال برنامه نویسی ساده تر شده و بافر سریال سبک خواهد شد. در قسمت بعدی به یک نمونه کد جهت دریافت GPGSA و جداسازی داده های مربوط به طول و عرض جغرافیایی، می پردازیم.

 


نمونه برنامه خواندن پکت GPGSA


در این قسمت به بررسی یک نمونه برنامه می پردازیم. در این برنامه داده های NMEA به جز پکت GPGSA را فیلتر می کنیم. سپس با خواندن سریال مانیتور، GPGSA را دریافت کرده و نمایش می دهیم.

 

محدودیت در دسترسی کامل به این مجموعه آموزش

 

دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندس‌های دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید.

 

در کد فوق به کمک کتابخانه سریال نرم افزاری، از طریق پایه های ۸ و ۹ با ماژول GPS ارتباط برقرار می سازیم. سپس دستورات مربوط به غیر فعال سازی داده هایی غیر از GPGGA را ارسال می کنیم. در نهایت با دریافت GPGGA، آن را در سریال مانیتور نمایش می دهیم.

 

 

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

معین صابری

کارشناسی ارشد رشته معماری سیستم های کامپیوتری

مالي که ز تو کس نستاند، علم است
حرزي که تو را به حق رساند، علم است
جز علم طلب مکن تو اندر عالم
چيزي که تو را ز غم رهاند، علم است
(شیخ بهایی)

تبادل نظر و رفع عیب با ثبت دیدگاه