ساخت مقاومت فن حساس به دما و رطوبت با میکروکنترلر الکترونیک Picaxe 08M2
میکروکنترلر Picaxe 08M2 از نوع الکترونیک به همراه یک سنسور HIH6030 نیاز داریم تا بتوانیم با استفاده از دما یا رطوبت و یا هر دو فاکتور نسبت به کنترل فن تهویه استفاده نماییم.
ما از فن های تهویه برای حرکت هوا استفاده می کنیم. گاها این فن ها برای آشپزخانه مورد استفاده می شوند و مانند یک اگزوز عمل کرده و هوای داخل را به خارج هدایت می کند. همچنین فن ها برای استفاده از هوای خنک تر در کامپیوترها مورد استفاده قرار می گیرند. کاربرد فن ها برای استفاده در محیط های مرطوب مانند حمام نیز قابل بحث می باشد.
می توانیم کنترل فن الکترونیک را با استفاده از سوئیچ خاموش و روشن انجام دهیم و یا می توانیم استفاده از این دستگاه ها را به صورت خودکار انجام دهیم. در این پروژه الکترونیک ما می خواهیم یک فن خودکار بسازیم که توسط تنظیمات دمایی که از کاربر دریافت می کند، تنظیمات رطوبت یا بر اساس هر دو فاکتور عمل می کند.
آموزش تخصصی پیشنهادی ما به شما:
شماتیک مدار الکترونیک
برای ساخت این پروژه ما یک مدار نیاز داریم که از میکروکنترلر الکترونیک Picaxe 08M2 پشتیبانی کند و همچنین یک سنسور از نوع دما و رطوبت ساخت شرکت Honeywell مدل HIH6030 را بتواند جایگذاری کند. بر اساس مقایسه ای که بین مقادیر تعریف شده توسط کاربر که در حافظه غیر ولتاژ Picaxe و مقادیر خوانده شده از سنسور برنامه ریزی شده اند، تصمیم گیری نسبت به خاموش یا روشن کردن فن را می گیرد.
در صورت بروز خطا در سنسور باید فن الکترونیک خاموش شود و یک هشدار به صدا در بیاید. این مدار الکترونیک همچنین باید بتواند سرعت کنترل فن را کنترل کند و در صورتی که در میان حرکت مشکلی به پیش بیاید، باید یک هشدار ارسال نماید. در ادامه می توانید مدار کامل پروژه را مشاهده کنید که قطعا برای شما مفید خواهد بود.
شماتیک این پروژه الکترونیک
وسایل مورد نیاز
در ادامه لیستی از وسایل مورد نیاز برای ساخت این پروژه را در اختیار شما قرار می دهیم که برای ساخت این دستگاه می تواند برای شما مناسب باشد.
- فن از نوع Thermaltake Pure 20 با قیمت 19.95 دلار
- تنظیم کننده ولتاژ مدل 78L05 با ظرفیت 100 میلی آمپر با قیمت 0.38 دلار
- میکروکنترلر الکترونیک مدل Picaxe 08M2 با قیمت 2.89 دلار
- سنسور مدل hum/tem نوع HIH6030-021-001 با قیمت 8.61 دلار
- MOSFET نوع IRL540 مدل N-CH TO-220AB با قیمت 1.87 دلار
- هشدار دهنده پیزوالکترونیک مدل 5 ولت با قیمت 0.55 دلار
- خازن قطبی با ظرفیت 1.0 میکرو فاراد
- خازن غیر قطبی با ظرفیت 0.1 میکرو فاراد
- خازن غیر قطبی با ظرفیت 0.22 میکرو فاراد
- دیود مدل 1N4001
- دیود مدل 1N914
- مقاومت 10 کیلو اهم
- مقاومت 33 کیلو اهم
- مقاومت 4.7 کیلو اهم
- مقاومت 2.2 کیلو اهم
- مقاومت 2.2 کیلو اهم
- مقاومت 120 اهم
میکروکنترلر الکترونیک Picaxe 08M2 سمت چپ و سنسور HIH6030 سمت راست
سخت افزار
پردازنده ای که برای این پروژه در نظر گرفته شده است، یک میکروکنترلر الکترونیک از نوع Picaxe 08M2 می باشد که با استفاده از زبان برنامه نویسی BASIC Picaxe برنامه ریزی شده است. این میکروکنترلر الکترونیک دارای 8 پین و 2048 بایت حافظه برنامه برای حداکثر 1800 خط برنامه می باشد. 128 بایت رم و شش پین پورت C.0 تا C.4 I / O است. C.5 تنها به عنوان ورودی در نظر گرفته می شود.
برای این پروزه الکترونیک باید پین های پورت به توابع زیر اختصاص پیدا کند :
- 0 برای هشدار دهنده پیزو الکترونیک
- 1 – I2C, SCL
- 2 – I2C, SDA
- 3 برای خواندن سیگنال دما و رطوبت
- 4 برای خاموش و روشن کردن فن الکترونیک به واسطه سوئیچ MOSFET
- 5 غیر قابل استفاده (به واسطه R3 به زمین متصل شده است.
سنسور الکترونیک سنجش دما و رطوبت
در این پروژه از سنسور هانیول مدل HIH 6030 برای سنجش دما و رطوبت استفاده می شود. این تراشه دامنه ولتاژ از منبع تغذیه برابر با 1.8V تا 5.5V را دارد و از یک رابط 12C برای برقراری ارتباط با میکروکنترلر الکترونیک استفاده می کند. R4 و R5 مقاومت کششی توصیه شده را دارند و خازنهای C4 و C5 همچنین مقادیر توصیه شده توسط هانیول را دنبال می کنند.
در این دستگاه یک پک SOIC-8 نصب شده است و برای این پروژه برد لحیم کاری برای پم DIP-8 قابلیت استفاده را دارد.
منبع تغذیه مورد استفاده
منبع تغذیه
منبع تغذیه دوازده ولت مدل F1650 که قبلا به عنوان یک منبع تغذیه لپ تاپ استفاده می شده است، مورد بهره گیری قرار می گیرد. این دستگاه توان 12 ولت و 3.5 آمپر را دارا می باشد. خرید این مدل از فروشگاه های اینترنتی ساده است و در بازار به سادگی در دسترس خریداران می باشد. به یاد داشته باشید که همه منابع تغذیه F1650 لزوما برای شما کاربرد ندارند و شما باید جزئیات خروجی منبع تغذیه را که استفاده می کنید بررسی کرده و بر این اساس نسبت به خرید آن اقدام نمایید.
منبع تغذیه 12 ولت برای کار با فن مورد استفاده قرار می گیرد و همچنین توان معادل با 5 ولت را تامین می نماید. برای اجرای عرضه 5 ولت از تنظیم کننده 78L05 به همراه خازن های c1 و C2 استفاده می شود. منبع تغذیه 5 ولت می تواند انرژی مورد نیاز در Picaxe، سنسور و هشدار دهنده پیزو الکترونیک را برق دهی کند.
فن
ما از فن Termaltake استفاده می کنید که دارای ابعاد 200*200mm بوده و منبع تغذیه برابر با دوازده ولت نیاز دارد. همچنین یک دیود برگشتی برای جلوگیری از اتصال کوتاه و همچنین تنظیم بار القایی مورد استفاده قرار می گیرد که بر روی ورودی M1 قرار می دهیم.
سرعت نمای فن
فنی که ما استفاده می کنیم، سه اتصال کابلی دارد. یکی از این اتصال ها مربوط به اتصال برق دوازده ولت است، اتصال به زمین و سرعت سنج بیرونی دو اتصال دیگر می باشد. سیم ها به ترتیب قرمز، سیاه و زرد می باشند. سیگنال سرعت از یک سنسور هال داخل فن اتصالات را دریافت می کند و همچنین در داخل فن دو آهنربا قرار داده شده است. به طور معمول انرژی مورد نیاز برای کارکرد فن برابر با دوازده ولت می باشد. زمانی که یک آهنربا از سنسور هال عبور می کند، سیگنال به زمین ارسال می شود و به صورت صورت مقاومت در برابر فشار دوباره انرژی موجود در فن برابر با دوازده ولت تنظیم می شود.
ما نیاز داریم که پورت ورودی از CM 08M2 سیگنال سرعت را بخواند ولی با فشار الکترونیک برابر با پنج ولت نه دوازده ولت. برای این امر ما از R3 دیود D2 را استفاده می کنیم تا بتواند میزان فشار بار را کاهش داده و به پنج ولت برساند. باید توجه داشته باشیم که چون دو آهنربا در این فن وجود دارد، در هر گردش دو پالس به وجود می آید.
همه فن ها دارای سیگنال فشار سنج یکسان کار نمی کنند. مواردی وجود دارد که هیچ مقاومت داخلی وجود ندارد و حتی مواردی وجود دارد که هیچ اتصال داخلی کار نمی کند. بهتر است پیش از اتصالات، فشار سنج فن را یک بار چک کنید.
هشدار دهنده پیزو الکترونیک در سمت چپ و MOSFET مدل IRL540 در سمت راست
سوئیچ کنترل کننده فن
این فن با استفاده از یک بیت خروجی 08M2 به ورودی Q1 که یک MOSFET از نوع NRL IRL 540 بر روی آن نصب شده است کنترل می گردد. در درایور پایین به طوری که ولتاژ کاهش پیدا کرد و منبع نتوانست این میزان ولتاژ مورد نیاز را تامین نماید، باید با چند ولت افزایش بتواند کارایی دستگاه را افزایش دهد.
IRL540 از نظر کاربردی گزینه ای بسیار مطلوب به شمار می رود. زمانی که دروازه نزدیک به 5 ولت می شود، مقاومت دستگاه برابر با 0.077 اهم اندازه گیری می شود و می تواند مقدار جریان بیشتری را تهیه کند. بنابراین زمانی که پین خروجی Picaxe برابر با 5 ولت اندازه گیری می شود، فن روشن می گردد و زمانی که پین خروجی در سطح منطقی کم باشد، فن خاموش می شود.
R1 برای کاهش ولتاژ در ورودی Q1 هنگامی که درگاه خروجی Picaxe در حالت امپدانس بالا باشد، استفاده می گردد.
هشدار دهنده پیزو الکترونیک
SG1 یک هشدار دهنده 5 ولت می باشد. جریان وارد شده در دستگاه برابر با 5 ولت و 24 میلی آمپر می باشد. از آنجا که این مقدار نزدیک به حداکثر جریان خروجی پورت Picaxe می باشد، از مقاومت با محدود کننده جریان R6 استفاده می کند. SG1 به خروجی C.0 میکروکنترلر الکترونیک Picaxe متصل می شود و به عنوان یک هشدار دهنده فعالیت می کند. حتی با R6 نیز می توانید آن را ست کنید.
پروژه اجرا شده بر روی برد مدار الکترونیک
نرم افزار
پیش از اینکه بخواهیم یک لیست از کد برنامه را در اختیار شما قرار دهیم، یک سری توضیحات در مورد کارهای اساسی که نرم افزار باید انجام دهد را در اختیار شما قرار خواهیم داد.
خواندن مقادیر رطوبت و دما
برای این که بتوانیم درک کاملی از نحوه استفاده از سنسور HIH 6030 داشته باشیم، توصیه می شود که با یادداشت فنی شرکت هانیول که در ادامه در رابطه با این سنسور الکترونیک اعلام شده است را شرح می دهیم که قطعا می تواند برای شما مفید واقع شود.
آدرس پیش فرضی که برای این سنسور اعمال می شود برابر با 12C 0x27 می باشد و Picaxe BASIC مقدار تغییر یافته هشت بیتی چپ در قسمت 0x4E را نیاز دارد. یک باید داده 0xA0 را برای قرار دادن آن در حالت فرمان نیز انتخاب می کند. می توانیم از حالت فرمان برای تنظیم هشدارها، خواندن EEPROM و حتی پیکربندی آدرس پیش فرض 12C استفاده داشته باشیم. در صورتی که می خواهید اطلاعات بیشتری در این زمینه داشته باشید می توانید توصیه نامه شرکت هانیول را مطالعه کنید. با این حال ما از حالت فرمان استفاده نمی کنیم و از نرم افزاری که خودمان آن را برنامه نویسی می کنیم استفاده می کنیم تا بتوانیم برنامه نویسی را انجام دهیم.
برای خواندن درجه حرارت و رطوبت می توانیم یک درخواست برای اندازه گیری سنسور ارسال کنیم که به این منظور ما باید به آدرس سنسور یک پیام ارسال کنیم. سنسور با تایید پاسخ ACK را ارسال می کند و دستگاه MASTER یک وضعیت ایست ایجاد می نماید. برای تکمیل این تراکنش الکترونیک باید یک بایت داده را به همراه دستور نوشتن اولیه ارسال کنیم. پس ما یک بایت داده ساختگی از 0xFF ارسال می کنیم که همواره توسط سنسور نادیده گرفته می شود.
پس از صدور درخواست اندازه گیری و انتظار برای یک مدت زمان کوتاه 37 میلی ثانیه ای، می توانیم مقادیر سنسور را با بازایابی چهار بایت داده مانند تصویر زیر بخوانید.
مراحل خواندن داده از HIH6030
جریان داده شامل وضعیت، رطوبت و مقادیر دما می شود. مقادیر دما می توانند در وضعیت 0b00 یعنی طبیعی، 0b01 یعنی داده های قدیمی، 0b10 یعنی در حالت فرمان و 0b11 یعنی تعریف نشده باشند. برای اطلاعات بیشتر در مورد این کد ها باید یادداشت فنی شرکت تولید کننده را مطالعه کنید. در پروژه ما، مقدار مضعیت باید برابر با 0b00 یا حالت عادی باشد که یک فرآیند طبیعی به شمار می رود. هر مقدار وضعیت دریافتی دیگر نشانگر خطای حسگر یا انتقال می باشد و در صورت زنگ هشدار در یک حلقه نامحدود به وجود می آید.
میکروکنترلر الکترونیک Picaxe چهار مقدار را می خواند و مقدار رطوبت 14 بیتی را در یک متغیر و مقدار درجه حرارت 14 بیتی در متغیر دیگر ذخیره سازی می کند.
این مقادیر رطوبت و درجه حرارت خام با رطوبت بالا و مقادیر رطوبت و دما که کاربر در برنامه تعیین نموده است برای تصمیم گیری در مورد خاموش یا روشن کردن فن مقایسه خواهد شد. در حالی که این مقادیر خام هستند که برنامه از آن استفاده می کند. لازم است رابطه بین مقدار خام و درصد رطوبت و همچنین درجه حرارت را که نشان می دهد را درک کنید.
این رابطه برای درصد رطوبت نستی توسط فرمول زیر آورده شده است. مقدار رطوبت خام برابر با 14 بیت می باشد.
سنجش میزان رطوبت
برای روابط مربوط به دما، باید از فرمول زیر استفاده کنید. همانطور که مشاهده می کنید، دما نیز یک داده 14 بیتی می باشد.
سنجش میزان دما
پیکربندی زمان خاموش و روشن شدن فن
حالت کار کردن فن الکترونیک در نرم افزار دستگاه توسط کاربر تنظیم می شود که نماد UMODE را تنظیم می کند. که مقدار متغیر برنامه MODE را در کد Picaxe را نیز تعیین می نماید. مقادیر یک، دو و سه کاربردی است و فن با مقادیر دیگر کار نمی کند.
- زمانی که MODE برابر با یک قرار داده می شود، فن بر اساس مقدار دمای سنسور کار می کند. زمانی که دما در تعداد حسگرها برابر یا بیشتر از مقدار تعیین شده در متغیر TemH باشد، فن روشن می شود و زمانی که دما در حسگر ها برابر یا پایین تر از مقدار تعیین شده در متغیر TemL باشد، فن خاموش می گردد.
- زمانی که MODE برابر با دو قرار داده شود. فن بر اساس مقدار سنجی رطوبت سنسور کار می کند. زمانی که رطوبت را محاسبه کنید، برابر است با مقدار تعیین شده در متغیر HumH و فن روشن می گردد. زمانی که رطوبت پایین تر یا برابر با متغیر HumL باشد، فن خاموش می گردد.
- زمانی که MODE برابر با 3 تنظیم شود، از مقادیر سنسور برای دما و رطوبت برای کنترل فن استفاده می شود. یعنی هر دو متغیر رطوبت و دما برای تصمیم گیری در زمینه روشن یا خاموش شدن فن مورد استفاده قرار می گیرند. در ادامه بیشتر با این مفهوم آشنا می شویم.
در حالت سه، در صورتی که فن در نتیجه افزایش دما روشن شده باشد، در صورتی که دما به حد پایین می سد، فن خاموش می شود و به طور مشابه در صورتی که فن در صورت رطوبت بالا روشن شود، فن زمانی که سنسور الکترونیک رطوبت را پایین تشخیص دهد، خاموش می شود. رویه ها به ترتیب مانند حالت های یک و دو می باشند.
زمانی که دما و رطوبت هر دو به حد بالایی رسیده یا از آن بالاتر می روند، با این وجود فن خاموش می شود و در صورتی که هر دو متغیر در دامنه پایین قرار بگیرند، فن به صورت مستقل برای هرکدام از این متغیر ها کار می کند. این کار باعث می شود تا فن بر اساس متغیرهای FMODE روشن و خاموش شود.
به طور مثال در زمینه دما به حد زیادی افزایش پیدا کند، FMODE bit 0 تنظیم شده و فن روشن می شود. در صورتی که متعاقبا رطوبت نیز بالا برود. به این دلیل که FMODE bit 1 تنظیم شده است یا فن روشن است، دستگاه روشن می ماند. حال اگر رطوبت کاهش پیدا کند، FMODE bit 0 پاک می شود ولی چون فن همچنان بر روی FMODE bit 1 دما قرار دارد، فن روشن می ماند. زمانی که دما هم کاهش پیدا کند، هر دو بیت پاک می شوند و فن خاموش می شود.
بررسی دور فن
دور سرعت فن الکترونیک بر اساس واحدی که در برنامه نویسی مشخص می شود 800 دور در دقیقه می باشد می توانیم با استفاده از دو فرکانس مختلف دور فن را اندازه گیری کنیم و به 900 دور در دقیقه برسانیم.
برای اینکه بتوانیم دور فن در دقیقه را در این پروژه الکترونیک اندازه گیری کنیم از دستور count در BASIC Picaxe استفاده می کنیم. این فرمان می تواند تعداد انتقال را اندازه گیری کند و نسبت به شمارش دور موتور فن مورد استفاده قرار می گیرد. برای مثال در صورتی که 30.2 پالس در ثانیه یا 1812 پالس در دقیقه دریافت می کند. فن الکترونیک دارای دو آهن ربا می باشد که توسط سنسور الکترونیک هال عمل می کند. بنابراین باید تعداد پالس ها را به دو تقسیم کنیم که در نتیجه به عدد 906 دور در دقیقه می رسیم که نزدیک به اندازه گیری های برنامه نویسی می باشد.
این برنامه از این ویژگی برای این که بداند آیا فن در هنگام روشن بودن واقعا کار می کند یا خیر استفاده می کند. یعنی برنامه دور موتور فن را نمونه برداری می کنند و عدد را با حداقل مقدار برنامه ریزی شده که با استفاده از متغیر mRPM در سیستم عامل تنظیم شده است مقایسه می کند. پیش فرض mRPM برابر با صد می باشد ولی کاربر می تواند عدد مورد نظر خود را نیز وارد کند. بنابراین در صورتی که دور موتور کمتر از mRPM باشد، خطای فن رخ می دهد.
همچنین می توانیم از این ویژگی برای تشخیص اینکه فن هنگام خاوش بودن در حال چرخش می باشد استفاده کنیم. یعنی در صورتی که دور موتور فن الکترونیک بیشتر از mRPM باشد، خطای فن رخ می دهد.
فن ترمز ندارد و هنگامی که خاموش است، مقدار دور موتور در چند ثانیه به صفر کاهش پیدا می کند. همچنین هنگام روشن شدن تا رسیدن به اوج ممکن است نیاز به زمان داشته باشد. ما قبل از اینکه بخواهیم اندازه گیری را انجام دهیم باید 5 ثانیه وقفه در کار اندازه گیری ایجاد کنیم. همچنین 10 ثانیه وقفه برای دما و رطوبت مورد نیاز است.
کد
*این کد از روی سایت مرجع کپی شده است.
001 ; AxeFan.bas-PICAXE code to accompany the article –
002 ; “Build a temperature and/or humidity controlled fan”
003 ;
004 ; *** This software is offered stricly as-is with no warranties
005 ; whatsoever. Use it at your own risk. ***
006 init:
007 ;——————————–
008 ; User sets the following turn on and turn off values for temperature
009 ; and humidity as 16 bit sensor counts in decimal
010 SYMBOL TemH=6852 ;29 degrees (C)
011 SYMBOL TemL=6703 ;27.5 degrees (C)
012 SYMBOL HumH=13443 ;82 % RH
013 SYMBOL HumL=12131 ;74 % RH
014 SYMBOL mRPM=100 ;151=~900 RPM full on
015 ; User sets the mode to 1=temperature only, 2=humidity only, 3=both
016 SYMBOL UMode=3
017 ;——————————–
018 ; The SYMBOLS below are for program variable use
019 SYMBOL HUM=W0 ; 16 bit humidity
020 SYMBOL TEMP=W1 ; 16 bit temperature
021 SYMBOL status=B4 ; HIH status (must be 0)
022 SYMBOL Fstatus=B5 ; fan bit status (0=off, 1=on)
023 SYMBOL MODE=B6 ; fan mode
024 SYMBOL FMODE=B7 ; to track which (T or H) or both turned the Fan on
025 ; FMODE bit 0=T and bit 1=H
026 SYMBOL RPM=W4 ; to measure Fan RPM
027 ; Note: Fan=4=MOSFET G on C.4
028 SYMBOL Fan=4;
029 ; Note: Buzzer=0=piezo on C.0
030 SYMBOL Buzzer=0;
031 ; Note: RPMin=3=Fan tach on C.3
032 SYMBOL RPMin=3
033 ;——————————–
034 let MODE=UMode
035 ; get fan bit status, Fstatus=1 if fan GPIO is on
036 Fstatus=pinc.4
037 gosub FanOff ; should boot up off but switch it to be sure
038 let Fstatus=0
039 ; I2C address is $27 shifted=$4e
040 hi2csetup I2CMASTER, $4E, i2cslow, i2cbyte
041 let B5=$ff ; dummy arg
042 pause 30 ; wait past command window
043 gosub PU_tone
044 ;——————————–
045 ; main loop
046 main: ;get temperature and humidity
047 hi2cout (B5) ; wake up kick to start measurement cycle
048 pause 60 ; wait for measurement cycle (nominally 36.65 ms)
049 hi2cin (B1) ; Hum hi
050 hi2cin (B0) ; Hum low
051 hi2cin (B3) ; Tem hi
052 hi2cin (B2) ; Tem lo
053 let status=B1 & %11000000 ; get status bits
054 let B1=B1 & %00111111 ; mask status
055 let W1=W1/4 ; shift temperature
056 ; if status is not 0, we have a read error indicating either a
057 ; transmission error or a sensor error.
058 ; ** This results in an error trap. **
059 if status<>0 then
060 goto TerrorS
061 endif
062 ; handle fan on/off depending on the operating mode
063 MODE1:
064 ; mode 1 is temperature only
065 if MODE = 1 then
066 if TEMP >=TemH then
067 gosub FanOn
068 endif
069 if TEMP <=TemL then
070 gosub FanOff
071 endif
072 endif
073 MODE2:
074 ; mode 2 is humidity only
075 if MODE=2 then
076 if HUM >=HumH then
077 gosub FanOn
078 endif
079 if HUM<=HumL then
080 gosub FanOff
081 endif
082 endif
083 MODE3:
084 ; mode 3 is both humidity and temperature
085 if MODE=3 then
086 ; If fan is off, should we turn it on?
087 if Fstatus=0 then
088 if TEMP >=TemH then
089 FMODE=FMODE|1 ;set b0
090 gosub FanON
091 endif
092 if HUM >=Humh then
093 FMODE=FMODE|2 ;set b1
094 gosub FanOn
095 endif
096 elseif Fstatus=1 then
097 ;else
098 ; if fan is on should we turn it off?
099 if TEMP <=TemL then
100 FMODE=FMODE&2 ;reset b0
101 endif
102 if HUM <=HumL then
103 FMODE=FMODE&1 ;reset b1
104 endif
105 if FMODE=0 then
106 gosub FanOff
107 endif
108 endif
109 endif
110
111 next1:
112 ; get fan bit status, Fstatus=1 if fan GPIO is on
113 Fstatus=pinc.4
114 ; delay for 10 seconds before looping
115 pause 5000;
116 ; check fan RPM as part of the 10 sec delay
117 count RPMin,5000,RPM
118 if Fstatus=1 then
119 if RPM < mRPM then
120 goto TerrorF ; fan error – RPM too low!
121 endif
122 elseif Fstatus=0 then
123 ;else
124 if RPM >= mRPM then
125 goto TerrorF ; fan error – RPM too high!
126 endif
127 endif
128 goto main
129 ;——————————–
130 ; Error Traps (infinite loops)
131 ; sensor or transmission error – give continuous fast beeps
132 TerrorS:
133 switchon Buzzer
134 pause 35
135 switchoff Buzzer
136 pause 100
137 goto TerrorS
138 ; Fan RPM eror – give continuous slow beeps
139 TerrorF:
140 switchon Buzzer
141 pause 75
142 switchoff Buzzer
143 pause 300
144 goto TerrorF
145 ;——————————–
146 ; subroutines
147 FanOn:
148 if pinc.4=0 then switchon Fan endif
149 return
150 FanOff:
151 if pinc.4=1 then switchoff Fan endif
152 return
153 PU_tone:
154 ; power up – three beeps
155 switchon Buzzer
156 pause 100
157 switchoff Buzzer
158 pause 100
159 switchon Buzzer
160 pause 100
161 switchoff Buzzer
162 pause 100
163 switchon Buzzer
164 pause 100
165 switchoff Buzzer
166 return
بررسی ساختار برنامه
خطوط 8 الی 16 : مقادیر تعریف شده توسط کاربر برای نمادها برای تعیین متغیرهای برنامه ای که فن را کنترل می کند.
- TemL, TemH, HumH, HumL مقادیر کم و زیاد داده های خام برای کنترل روشن یا خاموش کردن دستگاه فن الکترونیک.
- mRPM مقدار دور در دقیقه است که برای تعیین این که آیا فن در حال حاضر روشن است یا خیر.
- UMODE حالت عملکرد فن الکترونیک را تعیین می کند. یک برابر با فقط دما، دو برابر با فقط رطوبت و سه برابر با هر دو.
خطوط 17 الی 32 : تعاریف نماد برای متغیر های مورد استفاده در برنامه.
خطوط 33 الی 43 : تنظیمات اولیه.
- تنظیمات اولیه I2C
- تنظیمات روش شروع
خطوط 44 الی 128 : حلقه اصلی
- خط 47 الی 61 : سنسور HIH3060 را تنظیم می کند و مقادیر وضعیت داده ها و رطوبت و درجه حرارت داده های خام را ذخیره سازی می کند.
- خط 62 الی 111 : مشخص می کند که فن در چه حالتی باید روشن یا خاموش شود.
- خط 116 الی 127 : بسته به وضعیت خاموش یا روشن بودن دستگاه دور گردش دستگاه را اندازه گیری می کند.
خط 129 الی 144 : وضعیت هشدار را مشخص می کند.
- خطوط 132 تا 137 : مشخص می کند که اگر وضعیت داده ها نامشخص است هشدار می دهد.
- خطوط 139 الی 144 : هشدار خطا در صورتی که دور فن با حالت خاموش یا روشن بودن ناسازگار است.
خطوط 145 الی 166 : برنامه های فرعی
ما در آموزشگاه برق و الکترونیک کلیه مهارتهای فنی را بصورت تخصصی به شما عزیزان آموزش می دهیم برای کسب اطلاعات بیشتر با ما مشاورین ما در تماس باشید. به طور کلی مهارت های زیر را به شما عزیزان تدریس می کنیم:
آموزش تعمیرات موبایل ، آموزش تعمیرات لوازم خانگی ، آموزش تعمیرات برد ، آموزش تعمیرات ساعت ، آموزش برق ساختمان ، آموزش سیم پیچی ، آموزش تعمیرات پکیج دیواری ، آموزش نصب کولر گازی ، آموزش تعمیرات یخچال ، آموزش تعمیرات ماشین ظرفشویی ، آموزش تعمیرات ماکروفر ، آموزش هوشمند سازی ساختمان ، آموزش مونتاژ تابلو برق ، آموزش نصب دوربین مدار بسته ، آموزش نصب دزدگیر اماکن ، آموزش نصب اعلام حریق ، آموزش نصب تعمیر نگهداری آسانسور ، آموزش نصب کرکره برقی ، آموزش نصب درب شیشه ای اتوماتیک ، آموزش لوله کشی ساختمان
کلام آخر
به انتهای مقاله آشنایی با ساخت مقاومت فن با میکروکنترلر الکترونیک Picaxe 08M2 رسیدیم. این پروژه را می توان یک نمونه مقرون به صرفه و نسبتا ساده از خودکار سازی فن الکترونیک دانست. این پیاده سازی با تنها چند IC انجام می شود و به دلیل اینکه سنسور و میکروکنترلر الکترونیک دستگاه هایی یک پارچه استفاده این سیستم انعطاف پذیری دارد و از این روی می توان تنظیم کرد که توسط دما یا رطوبت و یا ترکیبی از دما و رطوبت کنترل شود. علاوه بر این. کاربر می تواند به راحتی پارامترهای کنترل را پیکربندی کرده و آن ها را متناسب با نیاز خود تغییر دهد.