abass
کاربر فعال
عضو افتخاری گروه موبایل وتبلت
عضو افتخاری گروه کامپیوتر
عضو افتخاری گروه برنامه نویسی
عضو افتخاری گروه الکترونیک
- Jun 7, 2020
- 436
- 694
[HIDEPOSTS=5]
کنترل فاز AC با آردوینو
یک روش کنترل توان برای مدارات AC وجود دارد، که از TRIACTRIAC TRIAC استفاده می کند تا روشن و خاموش شدن دستگاه ها در فواصل زمانی دقیق و هماهنگ با سیگنال AC انجام شود. این روش، روش کنترل فاز AC نامیده می شود. این روش در بسیاری از مدارات دیمر (کنترل شدت روشنایی) و کنترل میزان دمای هیتر استفاده می شود. و به نوعی شبیه PWM PWM برای ولتاژ AC عمل میکند.
سلب مسئولیت: ما در این آموزش از برق شهری استفاده کرده ایم. اگر شما نیز می خواهید از آن استفاده
نمایید، باید کمال احتیاط را انجام دهید. این فایل صرفاً جنبه آموزشی دارد. و ما هیچ گونه مسئولیتی را در
قبال حوادث ناشی از ساخت آن نمی پذیریم.
ساخت مدار:
با استفاده از یک میکروکنترلر یا آردوینو به همراه چند تا قطعه ساده، ما می توانیم موج AC را مانیتورکرده و زمان مناسب برای روشن و خاموش کردن TRIACTRIAC TRIAC را تعیین کنیم. مدار مورد استفاده برای انجام این کار در شکل زیر نشان داده شده است. شما میتوانید پین 5 از H11AA1 را با یک مقاومت 10KΩ -
Pull_Up کنید. یا مقاومت Pull_Up ورودی آردوینو که به این پین متصل می شود، را فعال کنید.
شرح کار مدار:
آی سی H11AA1 یک اپتوکوپلر با ورودی AC و خروجی ترانزیستور می باشد. بنابراین در هر دو سیکل مثبت و منفی برق شهری ترانزیستور داخل آن روشن شده و ورودی آردوینو به GND متصل میشود. و فقط در هنگامی که موج سینوسی برق شهری می خواهد از صفر رد شود، ترانزیستور داخل آن خاموش می شود. و چون این ورودی آردوینو را Pull_Up کرده ایم، در هنگام عبور از صفر یک پالس مثبت 5 ولتی در هر نیم سیکل مثبت و منفی دریافت خواهیم کرد. پس این مدار یک آشکارساز عبور از صفر است.
آی سی MOC3052 نیز یک اپتوکوپلر با ورودی DC و خروجی دیاک نوری است. و یک مدار تریگر اپتوکوپلری ایزوله برای تحریک تریاک را تشکیل می دهد.
اپتوکوپلر ها برای محافظت بخش ولتاژ پایین مدار از بخش برق شهری ضروری هستند و سطح ایمنی مناسبی را ارائه می دهند.
روش کنترل توان در نمودار زیر نشان داده شده است.
مدار تشخیص عبور از صفر، هر بار که سیگنال AC از ولتاژ صفر عبور می کند، یک پالس 5V را برای آردوینو فراهم می کند. که ما آن را با آردوینو تشخیص می دهیم و دقیقا هماهنگ با این رویدادهای عبور صفر به اندازه زمان t1 صبر میکنیم و بعد گیت تریاک را تحریک میکنیم. هرچه زمان t1 بیشتر باشد، توان کمتری به مصرف کننده متصل به خروجی مدار می رسد. بنابراین ما خروجی H11AA1 را به پین 2 آردوینو UNO متصل کرده ایم تا باعث ایجاد وقفه شده و بلافاصله تشخیص داده شود.
پس از زمان t1 ما باید به گیت تریاک مقدار HIGH اعمال کنیم تا روشن شده و روشن بماند و شکل موج ورودی را به خروجی منتقل نماید. و سپس قبل از اینکه زمان t3 به اتمام برسد، باید به گیت تریاک LOW ارسال کنیم تا در لحظه عبور از صفر تریاک مجدداً خاموش شود. هنگامی که عبور صفر دوم رخ می دهد، از آنجا که ولتاژ در گیت وجود ندارد، تریاک خاموش می شود. به همین دلیل ما لازم نیست که تریاک را خاموش کنیم. بنابراین زمان HIGH بودن پالس تریگر (t2 ) ، خیلی مهم است. اگر زمان t2 خیلی کوتاه باشد، تریاک به نقطه آتش نرسیده و روشن نمی شود. اگر هم زیاد طولانی شود، و بیشتر از t3 – t1 شود، دیگر در نیم سیکل بعدی که ولتاژ ورودی از صفر عبور میکند، تریاک خاموش نمیشود.
ما از وقفه ها و تایمر آردوینو استفاده می کنیم تا زمان تریگر گیت تریاک، دقیقا کنترل شود.
محاسبه t2 باید بر حسب فرکانس برق شهری و فرکانس کاری میکروکنترلر روی برد آردوینو و همچنین فرکانس تایمر، انجام شود. این کار خیلی مهم است زیرا ما فواصل زمانی را با شمارش زمان در کد آردوینو برحسب فرکانس کاری آردوینو تعیین می کنیم، نه اینکه بگوییم چند ثانیه زمان میبرد.
فرکانس برق شهری در ایران 50 هرتز است. و چون ما در هر سیکل، دوبار عبور از صفر داریم، پس ما در هر ثانیه 100 بار عبور از صفر داریم. زمان هر نیم سیکل میشود:
t3 = (1 / 50) = 10 mS
فرکانس کاری آردوینو UNO برابر 16MHz است. و ما برای تایمر از فرکلنس CPU تقسیم بر 256 استفاده کرده ایم. بنابراین زمان هر کلاک تایمر می شود:
??????= 16000000 / 256 = 62500 Hz-->Ttimer 1/62500 = 16µS زمان هر کلاک تایمر
یعنی ما با این تایمر، هر نیم سیکل فرکانس 50 هرتز را میتوانیم تا حد اکثر 625 قسمت تقسیم نماییم:
10ms/16µS=625
نتیجه کار این است که ما بخش هایی از موج را خرد کرده و حذف می کنیم که در نتیجه توان متوسط خروجی پایین می آید. این کار اساس اً نحوه کنترل PWM بر روی یک موج AC را انجام می دهد.
نحوه کار وقفه به این صورت است که وقتی یک رویداد اتفاق می افتد، (یا داخل یا خارج از ریزپردازنده)، ریزپردازنده بلافاصله کاری که در حال انجام
آن است را متوقف می کند و به زیر روال وقفه رفته و دستوراتی که برای آن رویداد نوشته ایم را انجام میدهد و سپس به برنامه اصلی برگشته و کار قبلی را ادامه میدهد. پس وقفه به ریزپردازنده اجازه می دهد تا رویدادهای بسیار حساس را کنترل کند. (مانند زمانبندی کار در کنترل فاز AC در این مثال).
برنامه آردوینو زیر برای استفاده در مدار کنترل کننده هیتر است که شامل یک تابع شناسایی عبور از صفر و یک کنترل کننده تریاک است.
کنترل فاز AC با استفاده از تایمر سخت افزاری داخلی انجام می شود در ثبات تایمر کانتر کنترل آردوینو تنظیم شده است، اما غیرفعال است. وقتی عبور از صفر در پین 2 شناسایی شد، تایمر شروع به شمارش از مقدار صفر می کند تا به مقدار تنظیم شده برای تاخیر برسد (t1 ) . ما در این مثال از تایمر 1 ، در مود مقایسه ای استفاده کرده ایم. بنابراین، هر موقع عدد شمرده شده توسط تایمر، به مقدار داخل ثبات OCR1A OCR1A رسید، وقفه مقایسه فعال شده و تریاک روشن می شود. و در تابع وقفه سرریز تایمر، تریاک خاموش می شود. ما در این مثال هر نیم سیکل موج ورودی را به 483 قسمت تقسیم کرده ایم. و با تغییر ثبات OCR1A از 483 تا 65 ، در تابع void loop میزان توان خروجی را تغییر می دهیم. (شما می توانید مقادیر دلخواه خود را وارد نمایید).
نحوه استفاده از اپتو کوپلر معمولی به جای اپتو قید شده در مدار
[/HIDEPOSTS]
کنترل فاز AC با آردوینو
یک روش کنترل توان برای مدارات AC وجود دارد، که از TRIACTRIAC TRIAC استفاده می کند تا روشن و خاموش شدن دستگاه ها در فواصل زمانی دقیق و هماهنگ با سیگنال AC انجام شود. این روش، روش کنترل فاز AC نامیده می شود. این روش در بسیاری از مدارات دیمر (کنترل شدت روشنایی) و کنترل میزان دمای هیتر استفاده می شود. و به نوعی شبیه PWM PWM برای ولتاژ AC عمل میکند.
سلب مسئولیت: ما در این آموزش از برق شهری استفاده کرده ایم. اگر شما نیز می خواهید از آن استفاده
نمایید، باید کمال احتیاط را انجام دهید. این فایل صرفاً جنبه آموزشی دارد. و ما هیچ گونه مسئولیتی را در
قبال حوادث ناشی از ساخت آن نمی پذیریم.
ساخت مدار:
با استفاده از یک میکروکنترلر یا آردوینو به همراه چند تا قطعه ساده، ما می توانیم موج AC را مانیتورکرده و زمان مناسب برای روشن و خاموش کردن TRIACTRIAC TRIAC را تعیین کنیم. مدار مورد استفاده برای انجام این کار در شکل زیر نشان داده شده است. شما میتوانید پین 5 از H11AA1 را با یک مقاومت 10KΩ -
Pull_Up کنید. یا مقاومت Pull_Up ورودی آردوینو که به این پین متصل می شود، را فعال کنید.
برای دیدن تصاویر باید ثبت نام کنید
شرح کار مدار:
آی سی H11AA1 یک اپتوکوپلر با ورودی AC و خروجی ترانزیستور می باشد. بنابراین در هر دو سیکل مثبت و منفی برق شهری ترانزیستور داخل آن روشن شده و ورودی آردوینو به GND متصل میشود. و فقط در هنگامی که موج سینوسی برق شهری می خواهد از صفر رد شود، ترانزیستور داخل آن خاموش می شود. و چون این ورودی آردوینو را Pull_Up کرده ایم، در هنگام عبور از صفر یک پالس مثبت 5 ولتی در هر نیم سیکل مثبت و منفی دریافت خواهیم کرد. پس این مدار یک آشکارساز عبور از صفر است.
آی سی MOC3052 نیز یک اپتوکوپلر با ورودی DC و خروجی دیاک نوری است. و یک مدار تریگر اپتوکوپلری ایزوله برای تحریک تریاک را تشکیل می دهد.
اپتوکوپلر ها برای محافظت بخش ولتاژ پایین مدار از بخش برق شهری ضروری هستند و سطح ایمنی مناسبی را ارائه می دهند.
روش کنترل توان در نمودار زیر نشان داده شده است.
برای دیدن تصاویر باید ثبت نام کنید
مدار تشخیص عبور از صفر، هر بار که سیگنال AC از ولتاژ صفر عبور می کند، یک پالس 5V را برای آردوینو فراهم می کند. که ما آن را با آردوینو تشخیص می دهیم و دقیقا هماهنگ با این رویدادهای عبور صفر به اندازه زمان t1 صبر میکنیم و بعد گیت تریاک را تحریک میکنیم. هرچه زمان t1 بیشتر باشد، توان کمتری به مصرف کننده متصل به خروجی مدار می رسد. بنابراین ما خروجی H11AA1 را به پین 2 آردوینو UNO متصل کرده ایم تا باعث ایجاد وقفه شده و بلافاصله تشخیص داده شود.
پس از زمان t1 ما باید به گیت تریاک مقدار HIGH اعمال کنیم تا روشن شده و روشن بماند و شکل موج ورودی را به خروجی منتقل نماید. و سپس قبل از اینکه زمان t3 به اتمام برسد، باید به گیت تریاک LOW ارسال کنیم تا در لحظه عبور از صفر تریاک مجدداً خاموش شود. هنگامی که عبور صفر دوم رخ می دهد، از آنجا که ولتاژ در گیت وجود ندارد، تریاک خاموش می شود. به همین دلیل ما لازم نیست که تریاک را خاموش کنیم. بنابراین زمان HIGH بودن پالس تریگر (t2 ) ، خیلی مهم است. اگر زمان t2 خیلی کوتاه باشد، تریاک به نقطه آتش نرسیده و روشن نمی شود. اگر هم زیاد طولانی شود، و بیشتر از t3 – t1 شود، دیگر در نیم سیکل بعدی که ولتاژ ورودی از صفر عبور میکند، تریاک خاموش نمیشود.
ما از وقفه ها و تایمر آردوینو استفاده می کنیم تا زمان تریگر گیت تریاک، دقیقا کنترل شود.
محاسبه t2 باید بر حسب فرکانس برق شهری و فرکانس کاری میکروکنترلر روی برد آردوینو و همچنین فرکانس تایمر، انجام شود. این کار خیلی مهم است زیرا ما فواصل زمانی را با شمارش زمان در کد آردوینو برحسب فرکانس کاری آردوینو تعیین می کنیم، نه اینکه بگوییم چند ثانیه زمان میبرد.
فرکانس برق شهری در ایران 50 هرتز است. و چون ما در هر سیکل، دوبار عبور از صفر داریم، پس ما در هر ثانیه 100 بار عبور از صفر داریم. زمان هر نیم سیکل میشود:
t3 = (1 / 50) = 10 mS
فرکانس کاری آردوینو UNO برابر 16MHz است. و ما برای تایمر از فرکلنس CPU تقسیم بر 256 استفاده کرده ایم. بنابراین زمان هر کلاک تایمر می شود:
??????= 16000000 / 256 = 62500 Hz-->Ttimer 1/62500 = 16µS زمان هر کلاک تایمر
یعنی ما با این تایمر، هر نیم سیکل فرکانس 50 هرتز را میتوانیم تا حد اکثر 625 قسمت تقسیم نماییم:
10ms/16µS=625
نتیجه کار این است که ما بخش هایی از موج را خرد کرده و حذف می کنیم که در نتیجه توان متوسط خروجی پایین می آید. این کار اساس اً نحوه کنترل PWM بر روی یک موج AC را انجام می دهد.
نحوه کار وقفه به این صورت است که وقتی یک رویداد اتفاق می افتد، (یا داخل یا خارج از ریزپردازنده)، ریزپردازنده بلافاصله کاری که در حال انجام
آن است را متوقف می کند و به زیر روال وقفه رفته و دستوراتی که برای آن رویداد نوشته ایم را انجام میدهد و سپس به برنامه اصلی برگشته و کار قبلی را ادامه میدهد. پس وقفه به ریزپردازنده اجازه می دهد تا رویدادهای بسیار حساس را کنترل کند. (مانند زمانبندی کار در کنترل فاز AC در این مثال).
برنامه آردوینو زیر برای استفاده در مدار کنترل کننده هیتر است که شامل یک تابع شناسایی عبور از صفر و یک کنترل کننده تریاک است.
کنترل فاز AC با استفاده از تایمر سخت افزاری داخلی انجام می شود در ثبات تایمر کانتر کنترل آردوینو تنظیم شده است، اما غیرفعال است. وقتی عبور از صفر در پین 2 شناسایی شد، تایمر شروع به شمارش از مقدار صفر می کند تا به مقدار تنظیم شده برای تاخیر برسد (t1 ) . ما در این مثال از تایمر 1 ، در مود مقایسه ای استفاده کرده ایم. بنابراین، هر موقع عدد شمرده شده توسط تایمر، به مقدار داخل ثبات OCR1A OCR1A رسید، وقفه مقایسه فعال شده و تریاک روشن می شود. و در تابع وقفه سرریز تایمر، تریاک خاموش می شود. ما در این مثال هر نیم سیکل موج ورودی را به 483 قسمت تقسیم کرده ایم. و با تغییر ثبات OCR1A از 483 تا 65 ، در تابع void loop میزان توان خروجی را تغییر می دهیم. (شما می توانید مقادیر دلخواه خود را وارد نمایید).
کد:
محتوای بلوک کدها در دسترس شما نیست. برای مشاهده بلوک کدها، وارد انجمن شوید یاثبت نام کنید
نحوه استفاده از اپتو کوپلر معمولی به جای اپتو قید شده در مدار
برای دیدن تصاویر باید ثبت نام کنید
[/HIDEPOSTS]