پاسخ : تولید PWM سینوسی 3 فاز برای ساخت اینورتر و کنترل دور موتور ac
پاسخ سوال شما در لینک زیر داده شده است:
نوشته اصلی توسط lordcx
نمایش پست ها
ایجاد dead time بصورت نرم افزاری در میکروکنترلرهایی که فاقد امکان اضافه کردن آن به شکل موج هستند:
برای اعمال فرمان به سوییچ های نیمه هادی در مداراتی مانند پل های قدرت باید به سیگنال های متقارن، dead time اعمال شود تا به سوییچ های موجود در هر بازو آسیبی وارد نشود. اما در برخی از میکروکنترلرها مانند AVR، تایمرها دارای قابلیت اضافه کردن dead time در تولید شکل موج نیستند. با استفاده از روش نرم افزاری که در ادامه توضیح داده می شود در این نوع میکروکنترلرها هم می توان این اثر را در شکل موج ها ایجاد کرد. برای این کار باید ابتدا دو واحد تولید شکل موج در یک تایمر را به گونه ای تنظیم کنیم که منطق سیگنال های خروجی آنها مخالف یکدیگر باشند و مثلا اگر یک خروجی در هنگام افزایش مقدار تایمر در شرایط compare match از high به low تغییر وضعیت می دهد، خروجی دوم در شرایط compare match از low به high تغییر وضعیت بدهد. روش نرم افزاری برای ایجاد dead time در این وضعیت به این ترتیب است که مقادیر قرار گرفته در رجیسترهای compare نباید با یکدیگر برابر باشند. بلکه بسته به کلاک تایمر و میزان dead time مورد نیاز باید با هم اختلاف داشته باشند. مثلا اگر کلاک تایمر برابر 2MHz باشد، برای رسیدن به dead time=1us باید 2 واحد اختلاف در مقدار دو compare register وجود داشته باشد. به عنوان مثال عددی اگر compare register در یک کانال با 100 مقداردهی شده باشد و خروجی این کانال در هنگام افزایش تایمر در عبور از مقدار 100 از high به low تغییر وضعیت بدهد، برای کانال دوم باید مقدار 102 در compare register قرار بگیرد تا به میزان دو کلاک معادل با 1us هر دو خروجی low باشند و بعد با گذر مقدار تایمر از 102، خروجی دوم high شود. در این مثال در هنگام کاهش تایمر و گدر از 102 به 101 ابتدا خروجی دوم low می شود و باز به میزان 1us هر دو خروجی low می مانند و در ادامه خروجی اول در گذر از 100 به 99 مجددا high می شود. برای سایر مقادیر dead time هم می توان از همین روش با ایجاد اختلاف مناسب در مقادیر compare register استفاده کرد.
برای اعمال فرمان به سوییچ های نیمه هادی در مداراتی مانند پل های قدرت باید به سیگنال های متقارن، dead time اعمال شود تا به سوییچ های موجود در هر بازو آسیبی وارد نشود. اما در برخی از میکروکنترلرها مانند AVR، تایمرها دارای قابلیت اضافه کردن dead time در تولید شکل موج نیستند. با استفاده از روش نرم افزاری که در ادامه توضیح داده می شود در این نوع میکروکنترلرها هم می توان این اثر را در شکل موج ها ایجاد کرد. برای این کار باید ابتدا دو واحد تولید شکل موج در یک تایمر را به گونه ای تنظیم کنیم که منطق سیگنال های خروجی آنها مخالف یکدیگر باشند و مثلا اگر یک خروجی در هنگام افزایش مقدار تایمر در شرایط compare match از high به low تغییر وضعیت می دهد، خروجی دوم در شرایط compare match از low به high تغییر وضعیت بدهد. روش نرم افزاری برای ایجاد dead time در این وضعیت به این ترتیب است که مقادیر قرار گرفته در رجیسترهای compare نباید با یکدیگر برابر باشند. بلکه بسته به کلاک تایمر و میزان dead time مورد نیاز باید با هم اختلاف داشته باشند. مثلا اگر کلاک تایمر برابر 2MHz باشد، برای رسیدن به dead time=1us باید 2 واحد اختلاف در مقدار دو compare register وجود داشته باشد. به عنوان مثال عددی اگر compare register در یک کانال با 100 مقداردهی شده باشد و خروجی این کانال در هنگام افزایش تایمر در عبور از مقدار 100 از high به low تغییر وضعیت بدهد، برای کانال دوم باید مقدار 102 در compare register قرار بگیرد تا به میزان دو کلاک معادل با 1us هر دو خروجی low باشند و بعد با گذر مقدار تایمر از 102، خروجی دوم high شود. در این مثال در هنگام کاهش تایمر و گدر از 102 به 101 ابتدا خروجی دوم low می شود و باز به میزان 1us هر دو خروجی low می مانند و در ادامه خروجی اول در گذر از 100 به 99 مجددا high می شود. برای سایر مقادیر dead time هم می توان از همین روش با ایجاد اختلاف مناسب در مقادیر compare register استفاده کرد.
دیدگاه