
مقدمه:
در محیط های صنعتی و تولیدی که کنترل دقیق دما نقش حیاتی در کیفیت محصول و بهره وری دارد، طراحی یک سیستم ثبت دما با قابلیت کنترل از راه دور اهمیت ویژه ای پیدا می کند. پروژه حاضر با هدف ایجاد یک سیستم جامع و کارآمد برای ثبت و مدیریت دما شکل گرفته است تا در محیط هایی مانند کارخانه های مواد غذایی، سالن های پرورش طیور، سالن های پرورش قارچ و دیگر مراکز تولیدی، امکان نظارت و تصمیم گیری سریع در مورد شرایط محیطی فراهم شود. اهمیت این سیستم در این است که دما به عنوان یکی از عوامل اصلی حفظ کیفیت محصول و جلوگیری از ضایعات، باید به صورت دقیق و مداوم پایش شود و ثبت ساعت و تاریخ هر تغییر، امکان بررسی روندهای محیطی و برنامه ریزی برای اصلاح شرایط را ایجاد می کند.
این پروژه شامل دو بخش نرم افزاری و سخت افزاری است که با هماهنگی کامل با یکدیگر عمل می کنند. در بخش سخت افزاری، داده های دمایی از سنسور آنالوگ LM دریافت شده و با استفاده از میکروکنترلر ATmega پردازش می شوند. ارتباط میان میکروکنترلر و کامپیوتر از طریق پورت سریال و پروتکل RS232 برقرار می شود و با استفاده از پروتکل USART، مخفف Universal Synchronous/Asynchronous Receive Transmitter، انتقال داده ها به نرم افزار به شکل همزمان و با دقت بالا انجام می شود. این ساختار سخت افزاری امکان دریافت و پردازش داده ها به صورت لحظه ای را فراهم می آورد و قابلیت اتصال به نمایشگر LCD، مشاهده مستقیم دما و وضعیت سیستم را در محیط های صنعتی فراهم می سازد. شبیه سازی این ارتباط در محیط پروتئوس با استفاده از قطعه COMPIM انجام شده است تا عملکرد سیستم در شرایط واقعی مورد ارزیابی قرار گیرد و برنامه نویسی میکروکنترلر بدون خطا و هماهنگ با نرم افزار انجام شود.
بخش نرم افزاری این پروژه شامل فرم ها و ماژول های متنوعی است که هر یک نقش مشخصی در مدیریت داده ها و تعامل با کاربر ایفا می کنند. فرم اصلی Temperature Values مقادیر دریافتی از میکروکنترلر را نمایش می دهد و امکان پایش لحظه ای دما فراهم می شود. در بخش Set Alarm، کاربران می توانند محدوده های دمایی خاصی را تعریف کنند تا هنگام عبور دما از حد تعیین شده، هشدار صوتی یا تصویری فعال شود و از بروز مشکلات جلوگیری شود. فرم History سوابق دمایی ثبت شده در ساعات و تاریخ های مختلف را نمایش می دهد و امکان تجزیه و تحلیل روند تغییرات دما را فراهم می آورد. همچنین بخش Internet Setting امکان اتصال نرم افزار به شبکه و کنترل از راه دور سیستم را فراهم می کند تا مدیریت محیطی حتی از فواصل دور امکان پذیر شود.
توابع و متغیرهای نرم افزاری مانند OpenedCom، comBuffer، UpdateFormDelegate و mySerialPort_DataReceived، داده ها را از میکروکنترلر دریافت کرده و به فرم های مختلف منتقل می کنند. تنظیمات BaudRate و Load Form باعث می شوند داده ها بدون تاخیر و با دقت کامل نمایش داده شوند و توابع UpdateDisplay نیز اطلاعات را به روز نگه می دارند. ماژول ControlCenter و کلاس Sound وظایف مربوط به مدیریت هشدارها و اعلان های صوتی را بر عهده دارند تا واکنش به تغییرات دمایی سریع و دقیق باشد و کاربر امکان بررسی شرایط بحرانی را به راحتی داشته باشد.
در بخش سخت افزاری، استفاده از ADC، سنسور آنالوگ LM و اتصال LCD به میکروکنترلر، فرآیند ثبت و نمایش داده ها را بهینه کرده است. نحوه انتقال برنامه به میکروکنترلر در محیط شبیه سازی پروتئوس، پیکربندی CKSEL Fuses و اتصال دقیق LCD از نکات مهم طراحی پروژه هستند که باعث هماهنگی کامل سخت افزار با نرم افزار شده و عملکرد صحیح سیستم را تضمین می کنند. کدهای نوشته شده برای میکروکنترلر ATmega داده ها را از سنسور خوانده و از طریق USART به نرم افزار منتقل می کنند و امکان پردازش دقیق و به موقع داده ها را فراهم می آورند.
سیستم طراحی شده در این پروژه ترکیبی از سخت افزار و نرم افزار است که امکان ثبت دقیق دما، ذخیره سوابق، تعریف آلارم و کنترل از راه دور را فراهم می آورد. ساختار یکپارچه سیستم، استفاده از سنسورهای دقیق، میکروکنترلر قابل اعتماد و نرم افزار کاربرپسند باعث شده است که این سیستم قابلیت استفاده در محیط های صنعتی، تولیدی و تحقیقاتی را داشته باشد و بتواند نقش مهمی در ارتقای بهره وری، مدیریت منابع و کنترل کیفیت ایفا کند و بستر مناسبی برای توسعه و بهبود سیستم های پایش دمایی فراهم آورد.
فهرست مطالب:
توضیحات کلی پروژه
قسمت نرم افزاری
چگونگی کار با نرم افزار
منوی File
منوی Setting
منوی Help
قسمت Set Alarm
قسمت History
قسمت Internet Setting
کدهای برنامه نرم افزاری
توضیحات در مورد کدهای برنامه نرم افزار
متغیر OpenedCom
مرجع mySerialPort
متغیر comBuffer
()UpdateFormDelegate
متغیر n
متغیر COMP
متغیر Alln
متغیر DT
توضیحاتی در مورد BaudRate
Load Form قسمت اصلی
توابع UpdateDisplay و mySerialPort_DataReceived
تایمر T
کدهای نوشته شده در فرم Temperature Values
کدهای نوشته شده در فرم مربوط به اتصال اینترنت
کدهای موجود در قسمت فرم History
کدهای موجود در قسمت Set Alarm
ماژول ControlCenter
کلاس Sound
قسمت سخت افزاری
ADC
USART
ارتباط با LCD
قطعه COMPIM در پروتوس
میکروکنترلر ATmega
نحوه ی انتقال برنامه به میکروکنترلر در شبیه ساز پروتوس
قسمت Program File میکروکنترلر در پروتوس
قسمت CKSEL Fuses در پروتوس
نحوه اتصال LCD به میکرو
سنسور آنالوگ LM
توضیح درمورد کدهای نوشته شده برای میکروکنترلر ATmega
نکته ای مهم در مورد شبیه سازی