نکته طراحی مدار:
سری کردن مقاومتی در حدود 10 تا 22 اهم با خطوط دیتا (موازی یا سریال) می تواند مانع سوختن مدارات در هنگام اتصال یا قطع کردن کانکتور های دیتا بین دو برد یا دستگاه شود.
سری کردن مقاومتی در حدود 10 تا 22 اهم با خطوط دیتا (موازی یا سریال) می تواند مانع سوختن مدارات در هنگام اتصال یا قطع کردن کانکتور های دیتا بین دو برد یا دستگاه شود.
نکته طراحی مدار:
جرقه های ایجاد شده روی کنتاکت برخی از رله ها علیرغم ایزوله بودن ظاهری کنتاکت ها از سیم پیچ تحریک کننده رله، ممکن است باعث القاء ولتاژ ناخواسته روی سیم پیچ و سرایت آن و هنگ کردن میکروکنترلری شود که به رله فرمان می دهد. بنابراین برای بالا بردن حفاظت میکروکنترلر در مواردی لازم است بجای استفاده از یک سوئیچ ترانزیستوری ساده، از ترکیب اپتوکوپلر برای فرمان به رله استفاده شود.
جرقه های ایجاد شده روی کنتاکت برخی از رله ها علیرغم ایزوله بودن ظاهری کنتاکت ها از سیم پیچ تحریک کننده رله، ممکن است باعث القاء ولتاژ ناخواسته روی سیم پیچ و سرایت آن و هنگ کردن میکروکنترلری شود که به رله فرمان می دهد. بنابراین برای بالا بردن حفاظت میکروکنترلر در مواردی لازم است بجای استفاده از یک سوئیچ ترانزیستوری ساده، از ترکیب اپتوکوپلر برای فرمان به رله استفاده شود.
نکته آموزشی:
یک استپر موتور پنج سیم، ممکن است:
۱- استپر دو فاز با آرایش Unipolar
۲- استپر موتور پنج فاز با آرایش پنج ضلعی
باشد.
یک استپر موتور شش سیم ممکن است:
۱- استپر موتور دو فاز با دو سر وسط اضافی
۲- استپر موتور سه فاز با سیم پیچ های مجزا
۳- استپر موتور پنج فاز با آرایش ستاره باشد.
یک استپر موتور پنج سیم، ممکن است:
۱- استپر دو فاز با آرایش Unipolar
۲- استپر موتور پنج فاز با آرایش پنج ضلعی
باشد.
یک استپر موتور شش سیم ممکن است:
۱- استپر موتور دو فاز با دو سر وسط اضافی
۲- استپر موتور سه فاز با سیم پیچ های مجزا
۳- استپر موتور پنج فاز با آرایش ستاره باشد.
نکته طراحی مدار:
دیودهای زنر عادی به لحاظ زمان روشن شدن اصولا کند عمل می کنند و بنابراین برای برش اسپایک های سریع نویز درخطوط تغذیه، عملکرد مناسبی ندارند.
دیودهای زنر عادی به لحاظ زمان روشن شدن اصولا کند عمل می کنند و بنابراین برای برش اسپایک های سریع نویز درخطوط تغذیه، عملکرد مناسبی ندارند.
نکته آموزشی:
برای استفاده از اسیلاتور داخلی 2MHz یا 32MHz در XMEGA برای تامین Baud Rate در ارتباط USART لازم است حتما مکانیزم DFLL برای بالا بردن دقت اسیلاتور فعال شود. استفاده از کریستال یا اسیلاتور دقیق خارجی با دقت بالاتر، برای این نوع ارتباط ارجحیت دارد.
برای استفاده از اسیلاتور داخلی 2MHz یا 32MHz در XMEGA برای تامین Baud Rate در ارتباط USART لازم است حتما مکانیزم DFLL برای بالا بردن دقت اسیلاتور فعال شود. استفاده از کریستال یا اسیلاتور دقیق خارجی با دقت بالاتر، برای این نوع ارتباط ارجحیت دارد.
نکته آموزشی:
استپر موتور های چهار فاز با سری یا موازی کردن دو به دو فازها، با درایورهای دو فاز قابل کنترل هستند.
استپر موتور های چهار فاز با سری یا موازی کردن دو به دو فازها، با درایورهای دو فاز قابل کنترل هستند.
تقلب و خلاف فراگیری به نام پروژه دانشجویی:
یکی از معضلات جاری جامعه علمی برق و الکترونیک، مسئله ای به نام پروژه دانشجویی است. انجام پروژه، وظیفه یک دانشجو است. دانشجویی که بجای انجام پروژه اش، آن را در قبال پرداخت پول برای انجام دادن به دیگران می سپارد، کار خلاف و تقلب و عمل زشتی را انجام می دهد. و اما خلاف بزرگتر و عمل زشت تر را فرد متخصصی انجام می دهد که با علم به اینکه این یک تقلب علمی است، در قبال دریافت مبلغی علم و تجربه خود را در اختیار می گذارد و انجام یک پروژه دانشجویی را به عهده می گیرد.
برای پالایش جامعه برق و الکترونیک از این معضل زشت و فراگیر که عاملی برای تشدید بی سوادی و تهی شدن هرچه بیشتر فارغ التحصیلان این رشته از دانش و تجربه و بی اعتباری این رشته است ، تلاش و اطلاع رسانی کنیم.
یکی از معضلات جاری جامعه علمی برق و الکترونیک، مسئله ای به نام پروژه دانشجویی است. انجام پروژه، وظیفه یک دانشجو است. دانشجویی که بجای انجام پروژه اش، آن را در قبال پرداخت پول برای انجام دادن به دیگران می سپارد، کار خلاف و تقلب و عمل زشتی را انجام می دهد. و اما خلاف بزرگتر و عمل زشت تر را فرد متخصصی انجام می دهد که با علم به اینکه این یک تقلب علمی است، در قبال دریافت مبلغی علم و تجربه خود را در اختیار می گذارد و انجام یک پروژه دانشجویی را به عهده می گیرد.
برای پالایش جامعه برق و الکترونیک از این معضل زشت و فراگیر که عاملی برای تشدید بی سوادی و تهی شدن هرچه بیشتر فارغ التحصیلان این رشته از دانش و تجربه و بی اعتباری این رشته است ، تلاش و اطلاع رسانی کنیم.
نکته آموزشی:
با یک تایمر در میکروکنترلر، به تعداد واحدهای compare در آن تایمر می توان پایه (base) زمانی مستقل از هم ایجاد کرد. مثلا اگر یک تایمر دارای سه واحد مقایسه باشد، از طریق این تایمر و وقفه های مقایسه یا بررسی flag های آن می توان سه پایه زمانی مختلف و مستقل از هم را ایجاد کرد. برای این کار باید تایمر در مد نرمال خود قرار بگیرد و بعد از هر بار عملیات مقایسه، بسته به زمان مورد نیاز مقدار مشخصی با رجیستر مقایسه جمع شود.
با یک تایمر در میکروکنترلر، به تعداد واحدهای compare در آن تایمر می توان پایه (base) زمانی مستقل از هم ایجاد کرد. مثلا اگر یک تایمر دارای سه واحد مقایسه باشد، از طریق این تایمر و وقفه های مقایسه یا بررسی flag های آن می توان سه پایه زمانی مختلف و مستقل از هم را ایجاد کرد. برای این کار باید تایمر در مد نرمال خود قرار بگیرد و بعد از هر بار عملیات مقایسه، بسته به زمان مورد نیاز مقدار مشخصی با رجیستر مقایسه جمع شود.
نکته طراحی مدار:
یکسوسازی سینوسی با پل دیود باعث دو برابر شدن فرکانس میشود. بنابراین در یکسوسازی ترانس تغذیه شده از برق شهر، فرکانس تغییرات ریپل بعد از پل دیود و خازن بجای 50 هرتز، 100 هرتز خواهد بود. این فرکانس می تواند بسته به نوع مدارات از طریق تغذیه به مدار نفوذ کند. بنابراین در طراحی مدارات حساس به نویز در صورت استفاده از این روش برای تامین تغذیه، علاوه بر تاثیر نویز 50 هرتز ناشی از برق شهر، تاثیر نویز 100 هرتز هم باید مد نظر قرار بگیرد.
@KnowledgePlus
یکسوسازی سینوسی با پل دیود باعث دو برابر شدن فرکانس میشود. بنابراین در یکسوسازی ترانس تغذیه شده از برق شهر، فرکانس تغییرات ریپل بعد از پل دیود و خازن بجای 50 هرتز، 100 هرتز خواهد بود. این فرکانس می تواند بسته به نوع مدارات از طریق تغذیه به مدار نفوذ کند. بنابراین در طراحی مدارات حساس به نویز در صورت استفاده از این روش برای تامین تغذیه، علاوه بر تاثیر نویز 50 هرتز ناشی از برق شهر، تاثیر نویز 100 هرتز هم باید مد نظر قرار بگیرد.
@KnowledgePlus
نکته ای در استفاده از اسیلوسکوپ:
اتصال probe اسیلوسکوپ در وضعیت x1 به پایه های کریستال متصل به میکروکنترلر، می تواند باعث از کار افتادن اسیلاتور و عدم مشاهده صحیح نوسان شود و برای اندازه گیری در این شرایط باید از وضعیت x10 استفاده شود.
@KnowledgePlus
اتصال probe اسیلوسکوپ در وضعیت x1 به پایه های کریستال متصل به میکروکنترلر، می تواند باعث از کار افتادن اسیلاتور و عدم مشاهده صحیح نوسان شود و برای اندازه گیری در این شرایط باید از وضعیت x10 استفاده شود.
@KnowledgePlus
نکته طراحی مدار:
قرار دادن خازن های بزرگ (مثلا 1000 میکروفاراد) در خروجی رگولاتورهای سری 78 و رگولاتورهای مشابه در زمان خاموش شدن مدار و در صورتی که ولتاژ ورودی رگولاتور سریع تر از ولتاژ خروجی آن افت کند، به دلیل تخلیه خازن از طریق پین خروجی رگولاتور می تواند باعث سوختن آن شود. بنابراین در صورت وجود خازن های بزرگ در خروجی این نوع رگولاتورها باید یک دیود بصورت معکوس از خروجی به ورودی رگولاتور متصل شود تا مسیر دشارژ خازن را فراهم کند و مانع از سوختن احتمالی آن شود.
@KnowledgePlus
قرار دادن خازن های بزرگ (مثلا 1000 میکروفاراد) در خروجی رگولاتورهای سری 78 و رگولاتورهای مشابه در زمان خاموش شدن مدار و در صورتی که ولتاژ ورودی رگولاتور سریع تر از ولتاژ خروجی آن افت کند، به دلیل تخلیه خازن از طریق پین خروجی رگولاتور می تواند باعث سوختن آن شود. بنابراین در صورت وجود خازن های بزرگ در خروجی این نوع رگولاتورها باید یک دیود بصورت معکوس از خروجی به ورودی رگولاتور متصل شود تا مسیر دشارژ خازن را فراهم کند و مانع از سوختن احتمالی آن شود.
@KnowledgePlus
برای هر استپر موتور، عددی به عنوان گشتاور بر حسب واحدهای مختلف مانند
@KnowledgePlus
N.m
یا kgf.cm
بیان می شود. برای درک بهتر این عدد، فرض کنیم شفت یک استپر موتور در وضعیت قفل به موازات افق قرار بگیرد و میله ای عمود بر شفت به آن متصل باشد و این میله هم در وضعیت افقی باشد. اگر وزنه ای را به سر این میله آویزان کنیم، سوال این است که این استپر موتور تا چه وزنه ای را می تواند بدون اینکه بچرخد در حالت قفل نگه دارد؟ پاسخ این سوال به گشتاور موتور و جرم وزنه و فاصله آن از مرکز شفت بستگی دارد. یک استپر موتور با Holding Torque یا همان گشتاور وضعیت قفل برابر با 1kgf.cm
می تواند در فاصله 1cm از مرکز شفت خود، نیروی 1kgf را عمود بر محور چرخش وارد کند. همین موتور می تواند در فاصله 10cm از مرکز شفت خود، نیروی 0.1kgf را عمود بر محور چرخش وارد کند. به همین ترتیب می توان در هر فاصله ای از محور موتور، حداکثر نیروی اعمال شده را محاسبه کرد. بنابراین در مثال اخیر با آگاهی از گشتاور موتور که به نوع موتور و مشخصات آن بستگی دارد و فاصله وزنه، میتوان حداکثر وزن قابل تحمل توسط استپر موتور را در فاصله مشخص محاسبه کرد.@KnowledgePlus
نکته طراحی مدار:
در صورت نیاز به وجود مقاومت pull up در پین ورودی میکروکنترلر، فعال کردن این مقاومت بصورت داخلی ممکن است به تنهایی در محیط های پر نویز کافی نباشد و در مواقعی لازم است مقاومت pull up با مقدار مناسب بصورت خارجی قرار داده شود. همچنین در صورت نیاز به مقاومت pull down برای خانواده هایی که امکان فعال کردن این نوع مقاومت در آنها وجود دارد، در شرایط پرنویز ممکن است لازم باشد این مقاومت بصورت خارجی قرار داده شود.
@KnowledgePlus
در صورت نیاز به وجود مقاومت pull up در پین ورودی میکروکنترلر، فعال کردن این مقاومت بصورت داخلی ممکن است به تنهایی در محیط های پر نویز کافی نباشد و در مواقعی لازم است مقاومت pull up با مقدار مناسب بصورت خارجی قرار داده شود. همچنین در صورت نیاز به مقاومت pull down برای خانواده هایی که امکان فعال کردن این نوع مقاومت در آنها وجود دارد، در شرایط پرنویز ممکن است لازم باشد این مقاومت بصورت خارجی قرار داده شود.
@KnowledgePlus
نکته طراحی مدار:
در برخی از کاربردها، استفاده از دیود داخلی ماسفت ها به عنوان دیود هرزگرد به دلیل مشخصات و نحوه عملکرد آن مطلوب نیست و لازم است این دیود بای پس شود و بجای آن یک دیود بصورت خارجی قرار داده شود. برای بای پس کردن دیود داخلی ماسفت های کانال N میتوان با پایه درین(drain) آن یک دیود مناسب را سری کرد به نحوی که کاتد دیود به درین ماسفت متصل شود. حال برای اتصال دیود هرزگرد خارجی می توان آند آن را به سورس ماسفت و کاتد آن را به آند دیود سری شده با ماسفت متصل کرد. با این آرایش، جریان معکوس امکان عبور از دیود داخلی ماسفت را نخواهد داشت و بجای دیود داخلی از مسیر دیود معکوس خارجی عبور خواهد کرد.
@KnowledgePlus
در برخی از کاربردها، استفاده از دیود داخلی ماسفت ها به عنوان دیود هرزگرد به دلیل مشخصات و نحوه عملکرد آن مطلوب نیست و لازم است این دیود بای پس شود و بجای آن یک دیود بصورت خارجی قرار داده شود. برای بای پس کردن دیود داخلی ماسفت های کانال N میتوان با پایه درین(drain) آن یک دیود مناسب را سری کرد به نحوی که کاتد دیود به درین ماسفت متصل شود. حال برای اتصال دیود هرزگرد خارجی می توان آند آن را به سورس ماسفت و کاتد آن را به آند دیود سری شده با ماسفت متصل کرد. با این آرایش، جریان معکوس امکان عبور از دیود داخلی ماسفت را نخواهد داشت و بجای دیود داخلی از مسیر دیود معکوس خارجی عبور خواهد کرد.
@KnowledgePlus
توصیه ای برای برنامه نویسان خانواده های AVR و XMEGA:
اگر قصد استفاده از حداکثر ظرفیت و توانمندی AVR یا XMEGA را دارید، حتما برنامه نویسی اسمبلی برای این خانواده ها را در سطح حرفه ای یاد بگیرید.
@KnowledgePlus
اگر قصد استفاده از حداکثر ظرفیت و توانمندی AVR یا XMEGA را دارید، حتما برنامه نویسی اسمبلی برای این خانواده ها را در سطح حرفه ای یاد بگیرید.
@KnowledgePlus
اتصال کوتاه کردن سیم های یکی از فازهای استپر موتور، باعث ایجاد نیروی مخالف در برابر حرکت و وضعیتی مانند قفل شدن موتور می شود. از این خاصیت می توان بدون استفاده از مولتی متر برای تشخیص فازهای موتورهایی استفاده کرد که سیم پیچ فازها بصورت مجزا خارج شده باشند. مثلا در یک استپر موتور دو فاز و چهار سیم، از این روش می توان برای تشخیص هر یک از دو فاز استفاده کرد. در این شرایط اگر سیم پیچ های مربوط به دو فاز مختلف به هم متصل شوند، حالت قفل ابجاد نمی شود. در موتورهایی مانند استپر موتوهای دو فاز و پنج سیم که سیم پیچ ها بصورت داخلی به هم متصل شده اند، این روش برای تشخیص فازها قابل استفاده نیست.
@KnowledgePlus
@KnowledgePlus
در AVR برای جلوگیری از پاک شدن eeprom داخلی باید Brownout detection فعال شود و سطح ولتاژ آن با توجه به مقدار تغذیه، در بالاترین سطح ممکن تنظیم شود.
@KnowledgePlus
@KnowledgePlus
نکته ای در برنامه نویسی:
برای کاهش حجم کد و افزایش سرعت اجرای عملیات در استفاده از عبارت های با دسترسی چند مرحله ای، بجای تکرار عبارتی که هر بار ذکر آن باعث چند مرحله عملیات می شود می توان عملیات را روی یک کپی از آن عبارت انجام داد.
برای درک بهتر، فرض کنیم در برنامه نویسی c اعضای آرایه a به عنوان index آرایه b در نظر گرفته شده باشند و عبارت زیر در برنامه برای دسترسی به آرایه b بکار رفته باشد:
b[a[i]]
حال اگر در عملیات مختلف، چند بار نیاز به استفاده از این عبارت وجود داشته باشد و فرض بر عدم تغییر این عبارت باشد، بجای تکرار آن که در هر بار، باعث چند مرحله دسترسی می شود کافی است یک کپی از آن را در یک متغیر قرار دهیم و عملیات را روی آن کپی انجام دهیم تا سرعت اجرای کد معادل افزایش و حجم آن کاهش یابد.
@KnowledgePlus
برای کاهش حجم کد و افزایش سرعت اجرای عملیات در استفاده از عبارت های با دسترسی چند مرحله ای، بجای تکرار عبارتی که هر بار ذکر آن باعث چند مرحله عملیات می شود می توان عملیات را روی یک کپی از آن عبارت انجام داد.
برای درک بهتر، فرض کنیم در برنامه نویسی c اعضای آرایه a به عنوان index آرایه b در نظر گرفته شده باشند و عبارت زیر در برنامه برای دسترسی به آرایه b بکار رفته باشد:
b[a[i]]
حال اگر در عملیات مختلف، چند بار نیاز به استفاده از این عبارت وجود داشته باشد و فرض بر عدم تغییر این عبارت باشد، بجای تکرار آن که در هر بار، باعث چند مرحله دسترسی می شود کافی است یک کپی از آن را در یک متغیر قرار دهیم و عملیات را روی آن کپی انجام دهیم تا سرعت اجرای کد معادل افزایش و حجم آن کاهش یابد.
@KnowledgePlus
در کاربردهای صنعتی و پر نویز بهتر است پین reset بعد از برنامه ریزی میکروکنترلر بصورت مستقیم از طریق جامپر یا لحیم کاری (بسته به نوع میکروکنترلر و منطق این پین) به vcc یا gnd اتصال کوتاه شود.
@KnowledgePlus
@KnowledgePlus
نکته طراحی مدار:
استفاده از مقاومت های با سلف معادل زیاد به عنوان مقاومت شنت برای اندازه گیری جریان در کاربرد هایی که سوییچ جریان های زیاد در زمان های کوتاه اتفاق می افتد، به دلیل ولتاژ ایجاد شده دو سر مقاومت ناشی از جمله Ldi/dt که L سلف معادل در مدل مقاومت است، باعث خطا در قرائت جریان واقعی در لحظات سوییچ جریان می شود.
@KnowledgePlus
استفاده از مقاومت های با سلف معادل زیاد به عنوان مقاومت شنت برای اندازه گیری جریان در کاربرد هایی که سوییچ جریان های زیاد در زمان های کوتاه اتفاق می افتد، به دلیل ولتاژ ایجاد شده دو سر مقاومت ناشی از جمله Ldi/dt که L سلف معادل در مدل مقاومت است، باعث خطا در قرائت جریان واقعی در لحظات سوییچ جریان می شود.
@KnowledgePlus