۴-۲- برنامه میکروکنترلر ARM
در این قسمت به بررسی قسمت های مختلف نشان داده شده در بلوک دیاگرام شکل ۴-۳۵ میپردازیم. همانطور که در بلوک دیاگرام شکل ۴-۳۵ مشاهده میکنید برنامه از ۱۰ زیر برنامه و ۵ متغیر محلی (Local) تشکیل شده است که ۳ تای آنها در حالت نوشتن (write) و ۲ تای آنها در حالت خواندن (Read) هستند، رابطه بین زیربرنامهها نیز در این بلوک دیاگرام نشان داده شده است.
برنامه از ساختار کلی تشکیل شده است که شامل ۵ گام است و هر گام پروسه خاصی را انجام میدهد.
گام اول: تنظیمات مربوط به پروتکلهای ارتباطی (TCP/IP و RS485) را انجام داده و پیام مورد نظر را روی LCD برد اصلی نمایش میدهد.
گام دوم: داده را از رایانه دریافت می کند.
گام سوم: دادۀ دریافتی از رایانه را روی خط انتقال RS485 قرار میدهد.
گام چهارم: داده ها را از روی خط انتقال RS485 تا زمانی که به بایت تریلر برسد، دریافت می کند یا به مدت ۳۰ میلیثانیه از زمان ارسال داده، برای دریافت داده ها از برد مشخص شده منتظر میماند.
گام پنجم: داده های دریافتی را از طریق پروتکل TCP/IP به برنامه کامپیوتری ارسال می کند.
شکل ۴-۳۵: بلوک دیاگرام برنامه ARM
حال به بررسی هر قسمت میپردازیم. [۱۱]
۴-۲-۱- ARM-BOARD.vi
این VI (شکل ۴-۳۶) مربوط به همان برنامه اصلی نوشته شده در ARM است که در قسمت قبل برخی از ویژگیهای آن گفته شده است.
شکل ۴-۳۶: ARM-BOARD.vi
۴-۲-۲- Serial Port Init.vi
بلوک نشان داده شده در شکل ۴-۳۷، تنظیمات اولیۀ مربوط به پورت سریال، از قبیل شماره پورت، پریتی، تعداد بایتهای اتمام بسته و… را انجام میدهد.
شکل ۴-۳۷: Serial Port Init.vi
۴-۲-۳- Byte at Serial Port.vi
این بلوک (شکل ۴-۳۸) تعداد بایتهای موجود در پورت مورد نظر را از طریق خروجیbyte count اعلام می کند.
شکل ۴-۳۸: Byte at Serial Port.vi
۴-۲-۴- Serial Port Read.vi
این بلوک (شکل ۴-۳۹) داده ها را از پورت مورد نظر میخواند.
شکل ۴-۳۹: Serial Port Read.vi
۴-۲-۵- Serial Port Write.vi
این بلوک (شکل ۴-۴۰) داده ها را روی پورت مورد نظر قرار میدهد.
شکل ۴-۴۰: Serial Port Write.vi
۴-۲-۶- MCB2300 Turn On LED.vi
LED های مورد نظر را با این بلوک (شکل ۴-۴۱) میتوانید روشن کنید.
شکل ۴-۴۱: MCB2300 Turn On LED.vi
۴-۲-۷- MCB2300 Turn Off LED.vi
LED های مورد نظر را با این بلوک (شکل ۴-۴۲) میتوانید خاموش کنید.
شکل ۴-۴۲: MCB2300 Turn Off LED.vi
۴-۲-۸- MCB2300 Init LCD.vi
این بلوک (شکل ۴-۴۳) LCD برد اصلی را آماده کار می کند.
شکل ۴-۴۳: MCB2300 Init LCD.vi
۴-۲-۹- MCB2300 Clear LCD Screen.vi
این بلوک (شکل ۴-۴۴) LCD برد اصلی را پاک می کند.
شکل ۴-۴۴: MCB2300 Clear LCD Screen.vi
۴-۲-۱۰- MCB2300 Set Text on LCD.vi
با بهره گرفتن از بلوک شکل ۴-۴۵، کاربر می تواند متن دلخواه خود را در دو ورودیLine1 وLine2 که مربوط به دو سطرِ LCD است، بنویسد.
شکل ۴-۴۵: MCB2300 Set Text on LCD.vi
نتیجه گیری و پیشنهادات
با توجه به مطالب گفته شده، این سامانه می تواند دمای حداقل ۱ کانال و حداکثر ۶۴ کانال را در کمتر از یک ثانیه و در فضای حداکثر ۹۰۰ متر بخواند؛ همچنین ۱۰ کانال را به صورت همزمان روی گراف نمایش دهد، بیشترین و کمترین مقدار را نشان دهد، داده های دریافتی را با نرخهای متفاوت ذخیره کند و داده های ذخیره شده را بارگذاری کند.
در این پروژه بر حسب نیاز و سلاح دید استاد مربوطه، از آیسی ADM485 که بر حسب پروتکل RS485 کار می کند، برای انتقال اطلاعات استفاده شده است تا بتوان مسافت بیشتری را با نرخ انتقال اطلاعات ۳۸۴۰۰bits/s، تحت پوشش قرار داد. همچنین پروتکل ارتباطی بین میکرو و Max6675 از نوع SPI است که در آن میکرو به عنوان Master و آیسی Max6675 به عنوان Slave عمل می کند و برای ارتباط راحت با سرعت بالا بین سختافزار و نرمافزار از پروتکل TCP/IP استفاده شده است.
این سامانه در حال حاضر برای اندازه گیری دمای ترموکوپل نوع K طراحی شده است اما میتوان با کمی تغییر در بردهای جانبی، مقدار هر نوع سنسوری را خواند و آنها را در بستهبندی خاصی که برای داده ها در نظر گرفته شده به برنامه تحت رایانه ارسال کرد. همچنین میتوان در این سامانه با تغییرات جزئی در بردهای جانبی و برنامه کامپیوتری آن را به یک سامانه کنترلی نیز تبدیل کرد.
مراجع
[۱] امیرحسین رضایی و محمدرضا ذهابی، “اندازه گیری الکترونیکی” چاپ چهارم، دانشنگار، ۱۳۸۴، صص ۱۹۴-۲۰۱
[۲] J.P.Holman، “Heat Transfer” Sixth Edition، کبری، ۱۳۶۸، صص ۱-۲۲
[۳]امیر ره افروز، “میکروکنترلرهای AVR و کاربرد آنها"، چاپ هفتم، ۱۳۹۲، نص، صص ۵۵-۶۶
[۴] Tanenbaum، ” Computer Networks"، ۴th edition، نص، ۱۳۸۸
[۵] عبدوس محمد علی، صنعت هوشمند، “معیار انتخاب حسگرهای دما“، ۱۶، ۱۳۹۲، ۴۹-۵۱
نگارش پایان نامه درباره :طراحی و ساخت سامانه اندازه گیری دمای چند کاناله با ...