برق، الکترونیک، الکتروتکنیک، مکاترونیک، پزشکی، کشاورزی

برق، الکترونیک، الکتروتکنیک، مکاترونیک، پزشکی، کشاورزی و

برق، الکترونیک، الکتروتکنیک، مکاترونیک، پزشکی، کشاورزی

برق، الکترونیک، الکتروتکنیک، مکاترونیک، پزشکی، کشاورزی و

داده هایی در مورد برق، الکترونیک، الکتروتکنیک، مکاترونیک، پزشکی، کشاورزی و

تبلیغات
آخرین نظرات

۳۲ مطلب با موضوع «برق الکترونیک رباتیک :: انواع موتورها و راه اندازی آنها» ثبت شده است

PWM چیست

ShahBaz | يكشنبه, ۳ دی ۱۳۹۶، ۱۰:۰۸ ب.ظ

PWM چیست؟!

 

در بسیاری از موارد، ما نیاز به کنترل ولتاژ بر روی پایه‌های خروجی میکروکنترلر را داریم. مثلاً اگر بخواهیم سرعت موتور را کنترل کنیم، باید ولتاژی که بر روی موتور اعمال می‌شود را کنترل کرد. در حقیقت سرعت موتور تقریباًً تابع مستقیمی از ولتاژی است که بر روی آن اعمال می‌شود. یعنی اگر ولتاژ کاریِ موتوری (ولتاژ استاندارد برای فعال سازی موتور که بر روی بدنه‌ی آن نوشته می‌شود) 12 ولت باشد، با اعمال ولتاژ 6 ولت روی آن، می‌توانید سرعت چرخش آن(rpm) را حدوداً به نصف کاهش دهید.
کنترل سرعت ربات، در همه‌ی سطوح رباتیک اهمیت بسیار زیادی دارد، از ربات‌های مسیریاب ساده گرفته تا ربات‌های فوتبالیست. ما تا کنون یاد گرفته‌ایم که چگونه می‌توان به موتور دستور حرکت یا توقف داد، اما راهی برای کنترل سرعت موتور یاد نگرفته‌ایم.
یادآوری
همانطور که می‌دانید سطح ولتاژ پایه‌های خروجی میکروکنترلر منطقی است، یعنی یک پایه‌ای که برای کنترل موتور ربات استفاده می‌شود فقط می‌تواند 0 یا 1 باشد. ما 2 پایه از میکروکنترلر را به حرکت ربات اختصاص می‌دهیم، برای صدور دستور حرکت، باید یک پایه را 0 و پایه‌ی دیگر را 1 کنیم، در این حالت بین 2 پایه‌ی موتور اختلاف پتانسیل برقرار می‌شود و حرکت می‌کند. اگر هم بخواهیم موتور معکوس بچرخد، باید پایه‌ای که 1 بود 0 ، و پایه‌ای که 0 بود را 1 کنیم؛ و برای توقف موتور، باید هر دو پایه را 0 یا هر دو پایه را 1 کنیم (تا بین 2 پایه‌ی موتور اختلاف پتانسیل 0 ولت باشد). در نتیجه در حالت عادی ما فقط 2 فرمان "حرکت" و "توقف" را می‌توانیم به موتورها بدهیم، و ما هیچ کنترلی بر روی سرعت موتور نداریم.
PWM تکنیکی است که به کمک آن می‌توانیم ولتاژ پایه‌های خروجی میکروکنترلر، و در نتیجه سرعت موتور یا سایر قطعات جانبی که به میکروکنترلر متصل می‌شود را کنترل کنیم.

PWM مخفف واژه‌ی Pulse Width Modulation و به معنای "مدولاسیون پهنای پالس" است. همانطور که گفتیم PWM تکنیکی برای کنترل ولتاژِ پایه‌ی خروجی است. حال ببینیم چگونه با این تکنیک می‌توان ولتاژ خروجی را کنترل کرد.
می‌دانیم که ولتاژ در پایه‌های خروجی میکروکنترلر یا 0 است یا 5 ولت، اما برای کنترل سرعت موتور، باید بتوانیم حداقل ولتاژ یکی از پایه‌ها را بین 0 تا 5 تغییر دهیم. PWM روشی است تا ما بتوانیم با استفاده از همین پایه‌ی خروجی معمولی، به نوعی ولتاژ را بین 0 تا 5 ولت تغییر دهیم.
در این روش، ما با سرعت بالایی سطح ولتاژ خروجی را 0 و بلافاصله 1 می‌کنیم(مثلاً هزار بار در ثانیه)، نمودار ولتاژ خروجی بر حسب زمان به شکل زیر می‌شود.

 

نمودار بالا ولتاژ خروجی این پایه بر حسب زمان است.

 


در شکل بالا جمع 2 بازه‌ای که با فلش‌های 2طرفه نشان داده شده است، (به عنوان مثال) 10 میکرو ثانیه است. که 5میکرو ثانیه خروجی 1 و سپس 5میکرو ثانیه 0 می‌شود. اما همانطور که گفته شد، این عمل هزاران بار در ثانیه تکرار می‌شود، اما آیا موتور نیز به همین تعداد در ثانیه روشن و خاموش می‌شود؟
جواب منفیست، اتفاقی که روی می‌دهد این است که موتور، این موج را در درون خود به نوعی میانگین گیری می‌کند و در حقیقت آنرا به شکل زیر می بیند:


یعنی در واقع موتور این موج را به صورت یک ولتاژ 2.5 ولت معمولی دریافت می‌کند.
به همین ترتیب می‌توان هر ولتاژی بین 0 تا 5 ولت را بر روی خروجی‌ مورد نظر ایجاد کرد. اگر بخواهیم ولتاژی بالاتر از 2.5 ولت داشته باشیم، باید طول بازه‌های زمانی‌ای که خروجی 1 است را نسبت به بازه‌هایی که خروجی 0 است بیشتر کنیم. به عنوان مثال برای ایجاد ولتاژ 2.5 ولت، باید 5 میکرو ثانیه سطح ولتاژ خروجی 1 باشد، سپس 5 میکرو ثانیه سطح ولتاژ 0 شود تا موجی به شکل بالا ایجاد شود.
یا به عنوان مثالی دیگر، اگر بخواهیم در خروجی ولتاژ 4 ولت داشته باشیم، باید باید 8 میکرو ثانیه سطح ولتاژ خروجی 1 باشد، سپس 2 میکرو ثانیه سطح ولتاژ 0 شود، تا ولتاژ پایه‌ی خروجی مورد نظر 4 ولت باشد.
در حقیقت ولتاژ خروجی از رابطه‌ی ساده‌ی زیر به دست می‌اید:

(طول کل بازه)  / ( طول بازه‌ای که خروجی 1 است)

 

پس طبق رابطه‌ی بالا،برای ایجاد ولتاژ 4 ولت، می‌توان به جای استفاده از بازه‌های 8 و 2 میکرو ثانیه‌ای، از بازه‌های 4 و 1 میکرو‌ ثانیه‌ای استفاده کرد. (یعنی 4میکرو ثانیه 5ولت، 1 میکرو ثانیه 0 ولت)

زیرا:   2÷ 8 = 1÷4

نمودار ولتاژ‌های 4 ولت و 1 ولت در زیر نشان داده شده است:

 

  

نمودار نحوه‌ی تولید ولتاژ 4 ولت با تکنیک PWM. 

 

 

 

 

 نمودار نحوه‌ی تولید ولتاژ 1 ولت با تکنیک PWM.

 
حال ببینیم چگونه می‌توان برنامه‌ای نوشت تا بر روی پایه‌ای دلخواه از میکروکنترلر PWM ی برای ولتاژ 4 ولت ایجاد کرد.
هر دستوری که بر روی خروجی‌های میکروکنترلر قرار می‌گیرد، تا زمانی که دستور بعدی، خروجی را تغییر ندهد، آن خروجی تغییری نخواهد کرد. یعنی مثلاً زمانی که پایه‌ای را 1 می‌کنیم، تا زمانیکه با دستور دیگری آن پایه را 0 کنیم، مقدار خروجی آن پایه‌ 1 خواهد ماند. به این عمل اصطلاحاً Latch کردن می‌گویند. میکروکنترلر همواره اطلاعاتی که بر روی خروجی قرار می‌دهد را Latch می‌کند و تا زمانیکه اطلاعات جدید بر روی پایه قرار نگیرد، اطلاعات قبلی را تغییر نمی‌دهد.
در نتیجه، مثلاً اگر می‌خواهیم پایه‌ای را 5 میکروثانیه 1 وسپس 0 کنیم، کافیست پایه‌ی مورد نظر را 1 کنیم و 5میلی ثانیه در برنامه تاخیر ایجاد کنیم و سپس پایه‌ی مورد نظر را 0 کنیم.
پس وقتی می خواهیم مثلاَ بر روی پایه‌ی B.4 ، یک PWM برای ولتاژ 2.5 ولت ایجاد کنیم، باید به شکل زیر عمل کنیم.

 



while(1)
{
PORTB.4=1;
5 میکرو ثانیه تاخیر
PORTB.4=0;
5 میکرو ثانیه تاخیر
}


در بالا یک حلقه‌ی بی‌نهایت تعریف شده است که بر روی پایه‌یB.4، یک PWM برای 2.5 ولت ایجاد می‌کند.

 

مبحث کدویژن، وقفه و PWM :

ابتدا با توابعی که برای ایجاد وقفه در اجرای دستورات برنامه توسط CodeVision برای کاربران در نظر گرفته شده آشنا می‌شویم.
همان‌طور که در میحث پیش دیدیم، در قسمت‌هایی از برنامه ممکن است نیاز پیدا کنیم تا برای لحظاتی روند اجرای دستورات را متوقف کنیم. CodeVision برای این کار توابعی را از پیش تنظیم کرده است. (در مورد مبحث «توابع» در زبان C در آینده مفصل توضیح خواهیم داد.)

delay :
برای ایجاد تاخیر در روند اجرای دستورات، CodeVision دو تابع زیر را در اختیار ما قرار داده است.

delay_ms( );
delay_us( );


 تابع ()delay_ms برای ایجاد تاخیر‌هایی در حد میلی ثانیه به کار می‌رود. در داخل پرانتز، یک عدد صحیح مثبت می‌نویسیم که نشان دهنده‌ی اندازه‌ی تاخیر مورد نیز ما بر حسب میلی ثانیه است. به بیان ساده‌تر، مثلاً اگر داخل پرانتز عدد 100 را بنویسیم، روند اجرای برنامه به اندازه‌ی 100 میلی ثانیه در همان خط متوقف خواهد شد.
تابع ()delay_us برای ایجاد تاخیر‌هایی در حد میکروثانیه به کار می‌رود. نحوه‌ی استفاده از آن دقیقاً مانند ()delay_ms است.
به عنوان یک مثال عملی،همان برنامه‌ی ایجاد PWM 2.5 ولت را با استفاده از توابع delay بازنویسی می‌کنیم.




while(1)
{
PORTB.4=1;
delay_ms(5);   // 5 milliseconds delay
PORTB.4=0;
delay_ms(5);    //5 milliseconds delay
}


 
تنها نکته‌ی بسیار مهم در استفاده از توابع delay اضافه کردن هِدِرفایل Header file  باعنوان delay.h به برنامه است.( در مورد هدر فایل‌ها هم در آینده توضیح خواهیم داد، اما در این مبحث هیچ توضیحی در مورد آن نمی‌دهیم تا از بحث اصلی یعنی PWM منحرف نشویم.) برای این کار، جمله

 

#include <mega16.h> 

 

 ‌که اولین جمله‌ی برنامه‌ی شما است را پیدا کنید. (این جمله را CodeWizard در برنامه‌ی شما نوشته است). حال کافیست این جمله را درست زیر ان تایپ کنید:
دقت کنید که این دستور نیازی به « ; » ندارد !!
با آموختن تابع delay، دیگر شما می‌توانید هر ولتاژی را که می‌خواهید بر روی پایه‌های خروجی ایجاد کنید. البته دوستان دقت داشته باشند که ولتاژی که با تکنیک PWM شبیه سازی می‌شوند، در حقیقت ولتاژ خاصی نیستند و فقط شبیه سازی شده‌ی ولتاژهای مختلف هستند. هرچند که در راه‌اندازی موتورها این تکنیک بسیار کارآمد است، اما باید دقت نظر لازم را در استفاده از این تکنیک در سایر موارد را داشته باشید.
همانطور که می‌دانید موتور‌های متعارفی که برای ساخت ربات‌ها استفاده می‌شود،ممکن است ولتاژ‌های کاری مختلفی داشته باشند (مثلاً 12ولت، 24 ولت، 6 ولت و ...) و برای راه‌اندازی آن‌ها باید از درایور‌های موتور مثل L298 استفاده ‌کنیم.  سوالی که ممکن است پیش آید این است که وقتی ما میکروکنترلر را به درایور‌های موتور(مثل L298) وصل می‌کنیم و از تکنیک PWM برای کنترل سرعت موتور استفاده می‌کنیم، چه وضعیتی پیش می‌آید؟ مثلاً وقتی ما PWM مربوط به ولتاژ 2.5 ولت را تولید می‌کنیم، درایور ما چه عکس العملی نشان می‌دهد؟ آیا ولتاژ 2.5 ولت بر روی پایه‌های موتور قرار می‌گیرد؟
برای پاسخ دادن به این سوال باید به ساختار PWM دقت کنیم، ما وقتی PWM مربوط  به 2.5 ولت را تولید می‌کنیم، در حقیقت سطح ولتاژ خروجی را با فواصل زمانی برابر 0 و 1 می‌کنیم، پس اگر این خروجی را، به ورودی L298 وصل کنیم(مثلاً پایه‌ی 7)، L298 نیز موتور را با همین الگو ‌کنترل می‌کند و ولتاژی که به موتور می‌دهد را 0 و 1  می‌کند. و همانطور که می‌دانید، L298 هر ولتاژی که بر روی پایه‌‌ی شماره‌ی 4 آن قرار گرفته باشد را بر روی موتور قرار می‌دهد(اگر ولتاژ کاری موتور 12 ولت باشد، باید این پایه به 12 ولت متصل شود) . پس جواب سوال بالا منفیست!!!  وقتی ما PWM مربوط به 2.5 ولت را تولید می‌کنیم، در حقیقت سطح ولتاژ خروجی در 50 درصد زمان 1 و بقیه‌ی زمان 0 است. پس اگر همان طور که در بالا اشاره شد، این PWM به درایوری مثل L298 داده شود، و ولتاژ پایه‌ی 4 ِ آن 12ولت باشد، درایور، ولتاژ 6 ولت را به موتور می‌دهد. در نتیجه اهمیتی ندارد چه ولتاژی بر روی پایه‌ی 4 ِ L298 قرار گرفته باشد، وقتی که ما PWM مربوط به 2.5 ولت را تولید می‌کنیم، درایور ولتاژی که به موتور می‌دهد را 50 درصد می‌کند. در نتیجه بهتر است از این به بعد به جای آن که بگوییم PWM مربوط به 2.5 ولت، بگوییم PWMااا50 درصد. یا به جای PWM ِمربوط به 1 ولت، بگوییم PWMااا20 درصد

PWM در میکروکنترلر‌های AVR :

انجام تنظیمات اولیه برای استفاده از PWM برای راه اندازی موتور درمیکروکنترلر‌های AVR کمی پیچیده است، اما در اینجا هم CodeWizard به کمک ما آمده است و کار را کمی ساده‌تر کرده است. ما در ادامه مبحث، تنظیمات CodeWizard را بدون توضیح مطرح می‌نماییم، زیرا توضیح هر بخش از آن نیازمند مقدمات مفصلی است و تاثیر چندانی هم در روند کار ما ندارد، اما به دوستانی که می‌خواهند میکروکنترلر را کاملاً حرفه‌ای دنبال کنند، پیشنهاد می‌کنم از منابعی که قبلاً معرفی شده است، مطالب را تکمیل کنند.
به هر حال دوستان عزیز با انجام این تنظیمات اولیه‌ی مختصر در CodeWizard، می‌توانند از الگویی به مراتب ساده‌تر از آنچه تا به حال آموخته‌ایم، برای ایجاد PWM برای هدایت موتورهای ربات استفاده نمایند.

در میکروکنترلر‌های خانواده‌ی AVR، نیازی نیست در هربار استفاده از PWM ، چندین خط برنامه بنویسیم.  در ATmega16 چهارپایه‌ی مشخص از آی سی به این موضوع اختصاص داده شده است. یعنی این چهارپایه علاوه بر کاربرد‌های معمولی خود، این قابلیت را دارند که در مواقع لزوم برای تولید PWM استفاده شوند.
حال سوال اینجاست که این چهارپایه چه تفاوتی با بقیه‌ی پایه‌های خروجی آی‌سی دارند که آن‌ها را از سایر پایه‌های خروجی میکروکنترلر متمایز می‌سازد؟
برای این چهارپایه نیازی به اجرای الگویی که تا به حال برای ایجاد PWM فراگرفته‌اید نیست. در این روش، فقط  شما باید یک عدد صحیح بین 0 تا 255 انتخاب کنید، و طبق الگوی زیر آن را در برنامه‌ی خود بنویسید.

 

 

یک عدد صحیح بین 0 تا 255 = نام رجیستر مربوطه‌  ;

 


این عدد، بیانگر توان PWM شماست، و  شما توان PWM ِ مورد نیاز خود را با این عدد مشخص می‌کنید. که 255 بالاترین توان و مربوط بهPWMااا100 درصداست، و  0 پایین‌ترین توان و مربوط به PWMااا0 درصد است.
به عنوان مثال اگر این عدد را  128 قرار دهید، همان PWMااا50 درصد را ایجاد کرده‌اید. یا مثلا اگر این عدد 51 باشد، PWMااا20 درصد بر روی پایه قرار داده‌اید.

رجیستر‌های مربوط به این 4 پایه :
همانطور که می‌دانید، برای پایه‌هایی که در CodeWizard به صورت خروجی تعریف شده‌اند، رجیستری به نام «PORTx» وجود دارد که هر مقداری در این رجیستر قرار داده ‌شود، مقدار پایه‌های خروجی متناظر با آن رجیستر را مشخص می‌کند.
در این مبحث با 4 رجیستر دیگر آشنا می‌شویم، که وقتی تنظیمات مربوط به PWM ِ موتور در CodeWizard را انجام  دهیم، هر مقداری که در‌ آن‌ها ریخته شود، توان PWM پایه‌ی متناظر را مشخص می‌کنند.
این رجیستر‌ها OCR0، OCR1AL، OCR1BL و OCR2 نام دارند که به ترتیب، متناظر پایه‌های PB.3، PD.5، PD.4  و PD.7‌ هستند.
پس مثلاً اگر در بخشی از برنامه‌ی خود بنویسیم :

 

OCR0=127;


 در حقیقت بر روی پایه‌ی PB.3 میکروکنترلر، PWMااا50-درصد به وجود آورده‌ایم.

به مثال‌های دیگری توجه کنید: (توضیح هر دستور در جلوی دستور و  بعد از // آورده شده است)

 

 

OCR1AL=51; // 20% Duty Cycle on PD.5
OCR1BL=255; //100% Duty Cycle on PD.4
OCR2=0;  //0% Duty Cycle on PD.7

 


در ادامه این مبحث، در مورد نحوه‌ی انجام تنظیمات اولیه‌ جهت تولید PWM در CodeWizard را توضیح خواهیم داد....


همانطور که در مباحث قبلی هم متذکر شدیم، در اینجا مجال نیست تا تمام مباحث مربوط به PWM و تایمرها را باز کنیم و مفصل به آن‌ها بپردازیم، به همین خاطر در این بخش قسمتی از تنظیمات در CodeWizard را بدون توضیح آموزش می‌دهیم.
برای انجام تنظیمات به کمک CodeWizard،پس از انجام تنظیمات سایر لبه‌ها (مانند Ports، Chip و .... ) در CodeWizard، لبه‌ی Timers را باز کنید.
 همانطور که می‌بینید میکروکنترلر ATmega16 دارای 3 تایمر مجزا است و ما برای تولید PWM باید از این تایمرها استفاده کنیم. تایمر‌ها کاربرد‌ها‌ی متعددی دارند، و یکی از مهم‌ترین مباحث در میکروکنترلر هستند، ما هم  در مورد تایمر‌ها در جلسات آینده مفصل توضیح خواهیم داد. اما در این مبحث فقط استفاده از تایمر‌ها را برای ایجاد PWM برای کنترل موتور‌های ربات استفاده می‌کنیم.



Timer0
 Timer0 مربوط به رجیستر OCR0 است و باید به شکل زیر تنظیم شود:

 



نکته‌ای که در مورد تنظیم هر 3 تایمر باید رعایت شود، این است که در بخش "Clock Value" باید پایین‌ترین فرکانس را انتخاب کنید. در این مورد توضیح مختصری می‌دهم، ولی اگر عزیزان این بند را متوجه نشوند اهمیت زیادی ندارد: اندازه‌ی فرکانسی  که انتخاب می‌کنید در این بخش، در حکم اندازه‌ی همان Delayهایی است که برای تولید PWM به صورت عادی (که در ابتدای مبحث قبل توضیح دادیم) استفاده می‌کنیم. یعنی در حقیقت طول موج را در نمودار ولتاژ بر زمان تعیین می‌کند. هر چه فرکانس بالاتری را انتخاب کنید، طول موج کمتر می‌شود. در عمل دیده شده که هر چه فرکانس پایین‌تر باشد و در نتیجه طول موج بیشتر باشد، موتور‌ها بهتر هدایت می‌شوند. به همین خاطر در بالا گفته شد که دوستان پایین‌ترین فرکانس را برای "Clock Value" انتخاب کنند.

Timer1
 تایمر1 باید به شکل زیر تنظیم شود. دقت کنید که ممکن است در بخش Clock Value شما فرکانسی که در شکل زیر نمایش داده شده است را در گزینه‌ها نداشته باشید، ولی همانطور که گفته شد فقط مهم این است که شما پایین‌ترین فرکانس را انتخاب کنید.

 

همانطور که می‌بینید، تایمر1 دارای دو خروجی مجزا است که رجیستر‌های مربوط به آن‌ها OCR1AL و OCR1BL هستند.
Timer2
 تایمر2 میز به شکل زیر تنظیم می‌شود و مانند تایمر0 فقط یک خروجی دارد.



Watchdog
  یا سگ نگهبان (Watch Dog)  نیز یکی از مباحث مربوط به تایمر‌هاست که در ادامه بحث به آن خواهیم پرداخت.

حال که همه‌ی تنظیمات لازم را در CodeWizard انجام داده‌اید، "Generate, Save and Exit" انتخاب کنید و وارد فضای برنامه نویسی شوید.

نکته‌ی بسیار مهم:
برای کنترل هر موتور، علاوه بر یک پایه‌ی PWM، یک خروجی معمولی نیز لازم داریم تا بتوانیم به وسیله‌ی این دو پایه و به کمک درایور موتور، اختلاف پتانسیل مورد نظر را بر روی دو پایه‌ی موتور برقرار کنیم. این 2 پایه را به دو پایه‌ی ورودی L298 متصل می‌کنیم و دو پایه‌ی موتور را نیز، به دو پایه‌ی خروجی  L298 متصل می‌کنیم. حال می‌توانیم موتور را به وسیله‌ی میکروکنترلر با سرعت دلخواه کنترل کنیم. به عنوان مثال اگر بخواهیم موتور ما تقریباً با سرعت نصف بچرخد، و پایه‌های PD.6 و PD.7 (مربوط به رجیستر OCR2) را به L298 متصل کرده باشیم،برنامه‌ی زیر را باید بنویسیم:

 

OCR2=127;
PORTD.6=0;

و اگر بخواهیم موتور ما با همین سرعت و در جهت معکوس بچرخد، می‌نویسیم:

OCR2=127;
PORTD.6=1;

 

برای درک این موضوع دقت کنید که در این حالت چه ولتاژی توسط L298 بر روی موتورها قرار داده می‌شود. همانطور که می‌دانید، سرعت و جهت چرخش موتور وابسته به اختلاف ولتاژی است که بر روی پایه‌های موتور قرار داده می‌شود.
 
تا به اینجا مباحث پایه‌ای در میکروکنترلر‌های AVR مطرح شده است و همین آموخته‌های دوستان، نیاز‌های اولیه‌ی شما عزیزان را برای ساخت ربات‌های نسبتاً حرفه‌ای برطرف می‌سازد.

یکی از مهمترین فواید استفاده از میکروکنترلر در ساخت ربات‌های مسیریاب، استفاده از قابلیت PWM برای هدایت موتور‌های ربات است. اما به چه صورت از PWM استفاده می‌کنیم؟

 



به شکل بالا نگاه کنید، در همانطور که می دانید در این ربات ها  3 سنسور هر طرف را با همدیگر  ANDمنطقی می‌کنیم و اگر هر یک از این 3 سنسور خط را تشخیص داد، موتور همان سمت را متوقف می‌کنیم تا به این ترتیب ربات خط را  تعقیب کند.
اما در ربات‌های مسیریاب میکروکنترلر دار، ما می‌توانیم برای هر سنسور، به طور مجزا دستوری به موتور بدهیم. برای درک این موضوع مجدد به شکل بالا نگاه کنید، این نمای کلی یک ربات از زیر است. سنسور‌های آن را به ترتیب از چپ به راست، از 7 تا 1 شماره گذاری می‌کنیم.
همانطور که به خاط دارید در ربات‌های بدون میکروکنترلر، تفاوتی نداشت که سنسور 1 یا 2 یا 3 کدامیک خط را بیابند، هر کدام خط را تشخیص می‌داد، موتور سمت چپ خاموش می‌شد. اما در ربات‌های میکروکنترلر دار، ما می‌توانیم تعیین کنیم که مثلاً اگر سنسور شماره‌ی 3 خط را دید، موتور سمت چپ به طور کامل متوقف نشود، بلکه سرعت آن به نصف کاهش پیدا کند. این کار به نظر هم منطقی می‌رسد، زیرا سنسور شماره‌ی 3 و 5 تا خط فاصله‌ی کمی دارند و نیاز نیست وقتی خط را تشخیص می‌دهند به طور کامل موتور متوقف شود، بلکه فقط کافیست سرعت موتور کمی کاهش پیدا کند تا ربات به تدریج به روی خط باز گردد. این عمل باعث می‌شود حرکت ربات نرم‌تر و دقیق‌تر بشود و در مجموع سرعت ربات بالاتر برود.
حال اگر سنسور شماره‌ی 2 خط را ببیند، یعنی شرایط کمی خطرناک‌تر شده و ربات ممکن است از خط خارج شود، پس می‌توانیم در اینجا به موتور دستور توقف کامل را بدهیم تا ربات با سرعت بیشتری به مسیر مسابقه بازگردد. و در نهایت اگر سنسور شماره‌ی 1 خط را ببیند، یعنی ربات در آستانه‌ی خروج از مسیر مسابقه قرار گرفته است و باید با حداکثر توان ربات را به مسیر مسابقه بازگرداند. برای این کار به موتور سمت چپ دستور باز گشت به عقب را می‌دهیم. این کار بیشترین سرعت ممکن برای چرخش ربات را فراهم می‌سازد و ربات با سرعت زیادی به زمینه مسابقه باز می‌گردد.
در زیر بخشی از برنامه‌ی یک ربات مسیریاب پیشرفته، که فقط برای سنسور‌های سمت چپ و طبق توضیحات بالا نوشته شده است را می‌بینید. همانطور که می‌دانید ما نیاز به 3 پایه به عنوان ورودی برای دریافت وضعیت سنسورهای سمت چپ، و یک پایه‌ی خروجی و یک PWM برای کنترل موتور سمت چپ داریم که به ترتیب زیر هستند:
PA.0 برای سنسور شماره‌ی 1
PA.1 برای سنسور شماره‌ی 2
PA.2 برای سنسور شماره‌ی 3
PD.6 و OCR2 برای کنترل موتور چپ
PD.3 و OCR1BL برای کنترل موتور راست
حالا به برنامه دقت کنید:

 

 

 

(if (PINA.0==0
{
PORTD.6=0;
OCR2=127;

PORTD.3=0;
OCR1BL=255;
}


(if (PINA.1==0
{
PORTD.6=0
OCR2=0

PORTD.3=0;
OCR1BL=255;
}


(if (PINA.2==0
{
PORTD.6=1;
OCR2=0;

PORTD.3=0;
OCR1BL=255 ;  //end

 

{


به همین منوال باید برای سنسور‌های سمت راست هم برنامه را ادامه دهید. دقت کنید که باید حتماً قبل از نوشتن برنامه، از داخل CodeWizard، تنظیمات اولیه را انجام دهید.
اگر این سنسور  خط را تشخیص دهد، بیانگر این است که ربات در وضعیت مناسبی نسبت به خط قرار دارد و هر 2 موتور با تمام توان به سمت جلو حرکت می‌کنند. اگر  پایه‌ی PA.3 را نیز به سنسور وسط اختصاص دهیم، برای این سنسور نیز داریم:




 

(if (PINA.3==0
{
PORTD.6=0;
OCR2=255;

PORTD.3=0;
OCR1BL=255;
}

  • ShahBaz

سروو موتور (ServoMotor) چیست ؟

ShahBaz | جمعه, ۱۷ آذر ۱۳۹۶، ۰۹:۰۸ ب.ظ

سروو موتورها قادر به کارکرد به مدت طولانی در بسیاری از دستگاه ها می باشند. اندازه های کوچکی دارند، اما دارای پانچ بزرگ  به صورت بسته می باشند و دارای انرژی مقرون به صرفه ای هستند. این ویژگی ها اجازه می دهد تا آنها برای استفاده از ماشین های اسباب بازی کنترل از راه دور یا رادیویی، روبات ها و هواپیما استفاده شوند. سروو موتورها نیز در کاربردهای صنعتی، رباتیک، خط تولید، داروسازی و خدمات غذایی استفاده می گردند.

سرووموتور

 

ساختار سروو موتور (ServoMotor)

مدار سروو درست درون واحد موتور قرار گرفته است و دارای یک شفت قابل تنظیم است که معمولا با یک چرخ دنده فیت شده است. که موتور موجود در آن با یک سیگنال الکتریکی کنترل می شود که میزان حرکت شفت را تعیین می کند.

سرووموتور

کارکرد سروو موتور (ServoMotor)

هنگامی که شفت موتور در موقعیت دلخواه قرار می گیرد، انرژی تامین شده به موتور متوقف می شود. در غیر اینصورت، موتور در جهت مناسبی قرار می گیرد. در این حین ، موقعیت مورد نظر از طریق پالس های الکتریکی از طریق سیم سیگنال ارسال می شود. سرعت موتور مناسب با تفاوت بین موقعیت واقعی و موقعیت مطلوب است. بنابراین اگر موتور نزدیک موقعیت دلخواه باشد، به آرامی چرخانده می شود، در غیر این صورت سریعا تبدیل خواهد شد. این عمل کنترل متناسب خوانده می شود. این به این معنی است که موتور در صورت ضرورت برای انجام وظیفه مانند یک مرد کوچک بسیار کارآمد به سختی  کار می کند.

سرووموتور ac

انواع سروو موتور (ServoMotor)

دو نوع سروو موتور وجود دارد : AC و DC. سروو موتور AC می تواند موجب افزایش جریانهای بالاتر شده و در ماشین آلات صنعتی استفاده شود. سروو موتور های DC برای جریان های بالا طراحی نشده اند و معمولا برای برنامه های کوچکتر مناسب هستند. به طور کلی، موتورهای DC ارزان تر از همتایان AC خود هستند. این موتورهای سروو به طور خاص برای چرخش پیوسته ساخته شده اند، و این یک روشی آسان برای حرکت ربات به شمار می آید. آنها دارای دو یاطاقان توپی شکل بر روی شفت خروجی برای کاهش اصطکاک و دسترسی آسان به تنظیم نقطه استراحت پتانسیومتر هستند.

سرووموتور dc

کاربرد سروو موتور (ServoMotor)

سروو موتورها  در هواپیما های رادیویی استفاده می شود تا سطوح کنترل مانند آسانسور، استوانه، راه رفتن یک ربات یا عملگرهای گریپیر را کنترل کنند. موتورهای سروو ، کوچک و دارای مدار کنترل داخلی هستند و دارای قدرت خوبی به نسبت اندازه شان هستند.

فروش سرووموتور

در خدمات مواد غذایی و داروسازی، این ابزارها برای استفاده در محیط های سخت تر، که در آن پتانسیل خوردگی بالا به علت اینکه در فشار بالا و درجه حرارت به طور مداوم جریان دارد ، برای حفظ استانداردهای بهداشتی شدید طراحی شده اند. سروو موتورها همچنین در خط تولید ، که در آن تکرار مکرر و  لزوم دقت کار بالا وجود دارد ، استفاده می شوند.

خرید سرووموتور

 

برای مشاهده تازه های فناوری برق اینجا کلیک کنید

  • ShahBaz

نیتوتن در متر- کیلوگرم در سانتی متر

ShahBaz | جمعه, ۱۷ آذر ۱۳۹۶، ۰۸:۰۹ ب.ظ
واحد N.m واحد استاندارد برای بیان گشتاور است. واحد Kg.Cm با توجه به اینکه Kg واحد جرم است و واحد نیرو نیست چندان صحیح نیست با این حال بسیار رواج دارد.
  • ShahBaz

پایان نامه ساخت تاکومتر

ShahBaz | دوشنبه, ۱۴ دی ۱۳۹۴، ۰۸:۵۱ ق.ظ

http://arduino.zepo.ir/post/26749/shop_id_7791

شرح مختصر : این پایان نامه مربوط به طراحی تاکومتر دیجیتال بر مبنای سنسور مادون قرمز می باشد.در این وسیله نیازی به لمس موتور توسط دستگاه نمی باشد و در اصطلاح به آن تاکومتر بدون لمس می گویند.این وسیله دور موتور را با واحدهای RPM (دور بر دقیقه) و RPS (دور بر ثانیه) اندازه گیری می کند.تاکومتر ساخته شده بر مبنای بازتاب نور کارکرده و با فرستادن اطلاعات به میکروکنترلر و بازخوانی آن توسط نمایشگر، دور اندازه گیری شده نمایش داده می شود. طراحی مدار توسط نرم افزار Proteus طراحی شده و برنامه توسط نرم افزار Bascom نوشته شده است.

فهرست :

مقدمه

اجزا مورد استفاده در مدار

مقاومت

خازن

دیود

میکروکنترلر AVR

بررسی سری ATMEGA8

سنسور گیرنده و فرستنده مادون قرمز (IR)

LCD کاراکتری

شرح پایه های LCD کاراکتری

PCB (فیبر مدار چاپی)

تقویت کننده عملیاتی (Op Amp)

استفاده از تقویت کننده عملیاتی به عنوان مقایسه گر

رگولاتور ولتاژ (۷۸۰ )

رگولاتور ولتاژ (LM 7)

نحوه ساخت و مراحل کار

طراحی مدار تغذیه

مدار پیکره بندی LCD

مدار اصلی تاکومتر

نقشه PCB مدار

نحوه ساخت مدار

برنامه میکروکنترلر

توضیحات مربوط به برنامه

نتایج

فهرست مراجع

  • ShahBaz

تاکومتر

ShahBaz | چهارشنبه, ۹ دی ۱۳۹۴، ۰۲:۵۱ ب.ظ

http://www.bestrcmodel.com/index.php?route=product/product&product_id=154

با سلام خدمت همه ی دوستان خوب و نازنینم توی سایت 
مثل بچه ها به محض اینکه یه چیز یاد میگیرم بدو بدو میام اینجا و جار میزنم Mr. Green 
تو شرکت یه تاکومتر خراب شد رفتن بخرن گفتن حدود 1 ملیون تومن به بالاست خلاصه قرار شد بخرند که یکی از دوستامون گفتند که چند روز وقت بدید تا من خبر بدم 
و با این آی سی یه تاکومتر ساختیم با قیمتی کمتر از 100 تومن و حدود 900 تومن رفت تو جیب شرکت منم بدو بدو اومدم اینجا تا تجربه مو در اختیار شما هم بذارم امیدوارم مورد استفاده ی همه واقع بشه 
ایسی LM2917 or LM2907 یه آیسیه که ورودی قطار پالس میگیره و بر اساس فرکانس ورودی خودش در پایه ی خروجی یه ولتاژ ایجاد میکنه 
رنج فرکانسهای دریافتی همینطور رنج وتاژ خروجی هم توسط چندتا خازن و مقاومت تعیین میشه 
خیلی کار باهاش راحته 
ما روی شفت موتورمون یه فولی کوچیک بود یه پیچ بهش بستیم و یه سنسور پراکسیمیتی روش گذاشتیم و فرکانسهای دریافتی از اونو به آیسی دادیم و خیلی خوشگل و خطی خروجی ازش گرفتیم 
فقط 2-3 تا نکته درمورد کار باهاش وجود داره که بهتره بگم 
اولآ اینکه هرکار کردیم خروجی آیسی از 6.5 ولت بالاتر نمیرفت پس بازه ی ولتاژ خروجیمونو گذاشتیم روی کمتر از 3.3 ولت یعنی اگه بالاترین فرکانسمونو از موتور میگرفتیم ولتاژ خروجی آیسی 3.3 ولت باشه اما درایو ما ولتاژ 0 تا 10 میخواست که اونو هم با یه اپ امپ 3 برابرش کردیم 
دوم اینکهدامنه ی سیگنال ورودی آیسی باید بالاتر از 0 و پایین تر از 0 بره پس به جای استفاده از 0 تا 12 ولت برای سنسور از -9 و +9 ولت برای تغذیه ی آیسی استفاده کردیم 
نکته ی سوم اینکه بهتره از 2917 استفاده کنید چرا که یه زنر داخلی داره و نمیذاره ولتاژ تغذیه ی نا مناسب مدار رو بسوزونه و تغذیه ی داخلی آی سی همیشه روی 7.5 ولت میمونه 
نکته ی خاص دیگه ای به ذهنم نمیرسه ولی اگه سوالی داشتید بلد باشم در خدمتیم 
اینم عکسی از دیتاشیت آیسی امیدوارم مفید بوده باشه 

http://www.tsjco.com/products/aban.html

ugn3503 سنسور اثر هال مغناطیس

در این بخش به معرفی مختصری(در حد چند خط)  از  سنسور ugn3503 – سنسور اثر هال مغناطیس میپردازیم اساس کار در این سنسور بدین صورت میباشد در حالت عادی در صورتی که درمجاورت میدان مغناطیسی نباشد یک ولتاژ ثابت خروجی  حدود۲٫۵ ولت (حدود نصف ولتاژ تغذیه)در خروجی سنسور داریم درضمن رنج ولتاژ کاری این سنسور بین ۴٫۵ تا ۶ ولت میباشد و جریان کاری این سنسور بین ۹ تا ۱۴ میلی آمپر میباشد.

میزان رنج حساسیت این سنسور بین ۰ تا +-۹۰۰ گوس هست و حدود ۱٫۳ میلی ولت بر هر گوس g میباشد و پهنا باند آن ۲۳ کیلوهرتز میباشد و مقاومت خروجی آن ۵۰آهم میباشد

برای اشنایی بیشتر با این سنسور میتوانید دیتاشیت آن را دریافت کنید

===================================================

ساخت دور سنج با استفاده از سنسور اثر هال UGN3503

در چندین پست قبلی سنسور اثر هال Ugn3505  معرفی گردید که میتوانید جهت دیدن ان مطلب اینجا کلیک کنید،این سنسور را میتوان برای اندازه گیری جریان الکتریکی ، اندازه گیری دور موتور و … مورد استفاده قرار داد.

این سنسور دارای ۳ پایه میباشد که دو پایه ان به تغذیه متصل شده و پایه سوم ان خروجی میباشد. راه اندازی این سنسور بسیار راحت میباشد چون خروجی ان انالوگ است و میتوان با اندازه گیری ولتاژ این سنسور توسط میکرو مقدار خروجی این سنسور را اندازه گیری نمود.

برای شروع کار میتوانید این سنسور را به ۵ ولت DC  متصل نمایید و به خروجی سنسور یک ولتمتر وصل نمایید که در حالت عادی در خروجی سنسور باید ولتاژی حدود  ۲٫۵ ولت داشته باشد

حال یک اهنربا بردارید به طرف پشت سنسور نزدیک کنید و و هر چه اهنربا را به پشت سنسور نزدیک میکنید مقدار ولتاژ خروجی افزایش پیدا میکند و یا میتوانید به این صورت عمل کنید که یک تکه اهنربا کوچک به پشت سنسور بچسبانید و حالا با نزدیک کردن یک تکه آهن به جلوی سنسور مقدار خروجی سنسور افزایش می یابد .

در این قسمت یک پروژه دورسنج با استفاده از این سنسور را برای شما قرار میدهیم که خروجی  سنسور ugn3503 به یک اپ امپ LM358 متصل شده است که داخل این ای سی دو تا اپ امپ قرار دارد که در زیر نقشه شماتیک ان آورده شده است.

خروجی سنسور ابتدا به یک اپ امپ رفته است که در حالت بافر مثبت قرار دارد و بعد خروجی این اپ امپ به ورودی مثبت اپ امپ دوم متصل شده و به وردی منفی اپ امپ دوم یک پتانسیومتر ( مولتی ترن ) متصل شده که این اپ امپ در حالت مقایسه کننده استفاده شده است و با تنظیم پتانسیومتر ( مولتی ترن ) میتوانید حساسیت را تغییر دهید.

با نزدیک شدن اهنربا به پشت سنسور (که میزان حساسیت ان با پتانسیومتر تنظیم میشود) خروجی دومین اپ امپ یک منطقی شده و ال ای دی که به خروجی اپ امپ متصل شده است روشن میشود.

همانطور که در عکس بالا مشاهده میکنید از خروجی اپ امپ دوم به یک اپتوکوپلر متصل شده است که از اپتوکوپلر SFH615  استفاده شده است و از خروجی اپتوکوپلر به ورودی کانتر ای سی ATMEGA8  متصل شده است.

در این قسمت برای شروع ازمایش اولیه میتوانید یک اهنربا کوچک را به شفت یک موتور متصل کنید که با روشن شدن موتور اهنربا شروع به چرخش میکند و حال سنسور را نزدیک شفت بایرید و با تنظیم پتانسیومتر میبینید که به ازای هر دور چزخش موتور ال ای دی یک چشمک میزند.

حال اگر شما تعداد چرخش موتور را در یک ثانیه بشمارید مقدار دور موتور در ثانیه بدست میاید و اگر این مقدار را در عدد ۶۰ ضرب کنید مقدار دور موتور در دقیقه بدست میاید که به آن RPM   میگویند ( RPM = تعداد در در یک دقیقه )

میکرو ATMEGA 8  تعداد پالسی را که از خروجی اپتوکوپلر به کانتر ۱۶ بیتی ان متصل شده است را در مدت زمان یک ثانیه میشمارد و سپس مقدار بدست امده را در عدد ۶۰ ضرب میکند به این ترتیب دور موتور در یک دقیقه شمارش میگردد.

نکته:تنظیم کردن حسایت سنسور بسیار مهم میباشد چون اگر به دقت تنظیم نشود مقدار بدست امده درست نیست به همین دلیل باید به جای پتانسیومتر از مولتی ترن استفاده نماید.

زبان مورد استفاده برای برنامه نویسی میکرو بیسیک میباشد . برای اندازه گیری زمان دقیق یک ثانیه از تایمر “۲” میکرو در مد اسنکرون استفاده شده و به میکرو کریستال ۳۲٫۷۶۸  کیلو هرتز متصل شده است که تایمر دو کلاک خود را از این کریستال دریافت میکند.

 

در هر یک ثانیه یک ال دی که به پورت D.0  متصل شده است یک بار روشن ویک بار خاموش میشود.

جهت نمایش اطلاعات از ال سی دی ۱۶*۲ استفاده شده است.

سوکت JP1 که با نام  programmer con  مشخص شده است جهت برنامه ریزی میکرو استفاده میشود که میتوانید از هرنوع پروگرامر مثل STK200-300  استفاده نمایید.

برای راه اندازی مدار باید ولتاژ ۱۲ ولت DC  را با رعایت قطبیت به کانکتور J3  وصل نمایید.

جهت دریافت فایل شماتیک و برنامه مدار و همچنین دیتاشیت این ای سی روی لینک زیر کلیک نمایید.

========================================

http://www.aliexpress.com/item/1set-Digital-Laser-Tachometer-RPM-Meter-Non-Contact-Motor-Speed-Gauge-Revolution-Spin-Brand-New/32472075264.html?spm=2114.031010208.3.1.B4qZZ4&ws_ab_test=searchweb201556_3,searchweb201644_3_79_78_77_82_80_62_81,searchweb201560_2,searchweb1451318400_6148

===========================================

http://wle.ir/3566/پروژه-دور-سنج-با-سنسور-اثر-هال.html

http://yazdkit.com/tachometer-with-ugn3503-3784.html

===================================================

 مثل ugn3113: از این نوع سنسور تو فن کامپیوتر برای مشخص کردن سرعت چرخش فن استفاده میشه.

===================================================

یک برچسب سفید میزنم روی شفت بعد با تابش و بازتابه ir (سنسورcny70) تعداد دور دو میشمارم

=========================================

این روتاری انکودر یک وسیله اندازه گیری و فیدبک گیریه که مثل شفت انکودر میمونه
درمورد آپتوکانتر هم بازم باید با شفت اتصال فیزیکی داشته باشیم

========================================

سنسور های proximity

یه راه دیگه استفاده از سنسور های proximity که اصطلاخا پراکسی بهش می گن وای قیمت شون زیاده

  • ShahBaz

رله حالت جامد یا SSR

ShahBaz | شنبه, ۱۴ آذر ۱۳۹۴، ۱۰:۲۳ ب.ظ

رله حالت جامد یا SSR | نحوه عملکرد، ویژگی ها، انواع آن

رله حالت جامد یا SSR یک المان سوئیچینگ الکترونیکی است که در آن با یک سیگنال کنترلی می توان جریان یا ولتاژ بزرگتر را کنترل کرد. 


عملکرد SSR شبیه رله های الکترومکانیکی می باشد با این تفاوت که در این المان هیچ قسمت متحرکی وجود نداشته و نسبت به آن دارای ابعاد کوچکتری می باشد.عدم قسمت متحرک در SSR موجب افزایش عمر قطعه شده و در مداراتی که تعداد دفعات کلید زدن زیاد می‌باشد کاربرد دارد.

چنانچه بخواهیم در بارهای DC از SSR استفاده کنیم در ساختمان داخلی از ماسفت هایی به صورت موازی با یکدیگر استفاده می شود تا میزان جریان قابل تحمل SSR نیز افزایش یابد . 



سه پارامتری که برای انتخاب یک SSR باید لحاظ گردد، که به آنها اشاره می شود:
1- محدوده و نوع ولتاژ کنترلی جهت قطع و وصل SSR که دو حالت DC control input و AC control input می باشد. 
2- ولتاژی که به دو سر خروجی وصل می گردد (به دو سر سوئیچ) که این ولتاژ نیز دو حالت DC یا AC می باشد.
3- حداکثر جریان قابل عبور از سوئیچ الکترونیکی در خروجی.

انواع رله های SSR به چهار دسته ی :
1- کلیدزنی در صفر (zero switching)




2- لحظه ای روشن (instant on)



3- کلید زنی در پیک (peak switching)



4- کلید زنی آنالوگ (analog switching)



تقسیم بندی می شوند.

برای مشاهده ویدئوی آموزشی نحوه عملکرد رله SSR اینجا را کلیک کنید.


  • ShahBaz

رله SSR یا EMR

ShahBaz | شنبه, ۱۴ آذر ۱۳۹۴، ۱۰:۲۲ ب.ظ

رله SSR یا EMR | مساله این است


آن چه می خوانید گفتگویی با پیشکسوتان صنعت در خصوص مقایسه رله SSR (رله حالت جامد) با رله EMR (رله الکترومکانیکی) است که توسط مایک باکیدر، سردبیر مجله Control Design انجام شده است. گاهی انتخاب یک قطعه به نظر مشتری و گاهی به کاربرد آن بستگی دارد و گاهی نیز بسته به این است که سازنده ماشین با کدام قطعه راحت تر است. در مورد رله ها چند معیار مشخص برای تصمیم گیری وجود دارد ولی باز مواقعی قضاوت حرفه ای برای انتخاب قطعه درست لازم است. انتخاب بین رله SSR و رله EMR همیشه به این سادگی نیست. با آلینداس همراه باشید.

سوال: در چه کاربردهایی و به چه دلیلی همچنان رله های EMR (الکترومکانیکی) بر رله های SSR (حالت جامد) برتری دارند؟
پاسخ توماس استویج (مهندس کنترل در شرکت Zed Industries در واندالیا، اوهایو): 
رله های EMR در زمینه نسبت توان به قیمت، ولتاژ سوئیچ کردن، ویژگی های اتلاف توان و حالت خرابی بر رله های SSR برتری دارند. یک رله EMR با جریان اسمی 30 آمپر در حدود 10 دلار قیمت دارد ولی قیمت یک رله SSR با همین مشخصات چهار تا پنج برابر بیشتر است. یک رله SSR می تواند ولتاژ 440 ولت AC یا 24 ولت DC را بدون نیاز به تغییر طراحی سوئیچ کند. معمولا برای سوئیچ کردن در ولتاژهای پائین به ساختارهایی خاص مثل آبکاری با طلا نیاز است ولی برای اکثر کاربردهای صنعتی، رله های معمولی با کاربرد عمومی کافی هستند.
وقتی عمل سوئیچ کردن در رله های EMR صورت می گیرد، باید توان ذخیره شده در بار به نوعی رها یا منتقل شود. می توان از ابزارهای محافظ ولتاژ مثل MOV، وریستور، مدارهای RC و یا در کاربردهای DC از دیودها برای این منظور استفاده کرد. ولی در بسیاری از کاربردها باز کردن اتصال ها و خروج انرژی به صورت جرقه روشی کاملا مورد قبول است. بسته به چرخه کار رله می توان در مورد استفاده از محافظ جرقه تصمیم گرفت. ابزار محافظ سبب افزایش عمر مداری با چرخه کار در حد چند ثانیه یا دقیقه می شود ولی برای مداری با چرخه کار چند ساعت یا بیشتر معمولا نیازی به این ابزار محافظ نیست.
رله های SSR ممکن است به مدار محافظ جرقه نیازی نداشته باشند ولی برای جریان های بالا بهتر است از یک دفع کننده حرارت برای خروج حرارت ایجاد شده استفاده شود. همچنین وقتی قرار است در محیط با دمای بالا کار شود، حرارت تولیدی رله SSR باید در نظر گرفته شود. بنا به تجربه من معمولا و نه همیشه، وقتی رله EMR خراب می شود این خرابی به صورت مدار باز اتفاق می افتد. مدار باز می تواند به دلیل خرابی سیم پیچ، خرابی فنر مکانیکی اتصالات و یا خوردگی مواد به کار رفته در اتصالات نزدیک به هم جوش می خورند که منجر به اتصال کوتاه می شود. از طرف دیگر خرابی رله های SSR معمولا به صورت اتصال کوتاه رخ می دهد. در نتیجه با این که ولتاژ کنترل از سامانه حذف شده، مدار توان همچنان دارای انرژی الکتریکی است.
در مقالات بعدی پاسخ متخصصان و پیشکسوتان دیگر را بخوانید.
  • ShahBaz

ماسفت و ترانزیستور جریان بالا

ShahBaz | جمعه, ۱۳ آذر ۱۳۹۴، ۰۹:۳۴ ب.ظ

راه اندازی مدار های جریان بالا با  استفاده از میکرو و ترانزیستو و یا ماسفت یا رله

چیا ماسفت IRFZ44 بذارین که خوبه و یا ترانزیستور 2n3055 یا TIP3055 بذارین

IRF3205 تا 110 امپر جوابگو هست-البته تو عمل من تا 40 ام امپر تست زدم

z44 هم مناسبه هم ارزون

 دوستان نظرتون در رابطه با irf540 چطوره؟ فکر میکنم عمومی تر و راحتتر پیدا میشه


نحوه راه اندازی ماسفت:

قبل از ماسفت یدونه ترانزیستور BD140 به ایسی ببندین و بعدش ماسفتتونو ببندین

این بهترین روشه



  • ShahBaz