نکاتی از زبان برنامه نویسی C:
در برنامه نویسی C معمول است که ثابت های تعریف شده توسط ماکروها با حروف بزرگ نوشته شوند. مثال:
#define MINIMUM 0
#define MAXIMUM 100
#define BUFFER_SIZE 512
همچنین اعضای enum هم معمول است که با حروف بزرگ نوشته شوند. مثال:
enum color{RED,BLUE,GREEN,BLACK,WHITE};
@KnowledgePlus
در برنامه نویسی C معمول است که ثابت های تعریف شده توسط ماکروها با حروف بزرگ نوشته شوند. مثال:
#define MINIMUM 0
#define MAXIMUM 100
#define BUFFER_SIZE 512
همچنین اعضای enum هم معمول است که با حروف بزرگ نوشته شوند. مثال:
enum color{RED,BLUE,GREEN,BLACK,WHITE};
@KnowledgePlus
نکته ای در طراحی مدار چاپی:
در هنگام طراحی مدار چاپی، محل قرار گرفتن خازن های الکترولیت تا حد امکان نباید پشت هیت سینک های ایستاده و سایر مکان های در معرض حرارت باشد. زیرا وجود حرارت باعث کاهش عمر خازن های الکترولیت می شود.
(لطفا از کپی کردن پست ها خودداری و تنها به شکل فوروارد منتشر شود)
@KnowledgePlus
در هنگام طراحی مدار چاپی، محل قرار گرفتن خازن های الکترولیت تا حد امکان نباید پشت هیت سینک های ایستاده و سایر مکان های در معرض حرارت باشد. زیرا وجود حرارت باعث کاهش عمر خازن های الکترولیت می شود.
(لطفا از کپی کردن پست ها خودداری و تنها به شکل فوروارد منتشر شود)
@KnowledgePlus
به عنوان یک نظر که ممکن است همیشه هم صادق نباشد، این تجربه به دوستان تازه کار در زمینه الکترونیک عرضه می شود که با توجه به شرایط فعلی بازار کار در رشته الکترونیک و تعداد بسیار زیاد افراد داوطلب برای انجام کار در این رشته، انجام پروژه های تکی و موردی در درازمدت به عنوان یک استراتژی کاری، به جز موارد خاص معمولا آخر و عاقبت چندان درخشانی به لحاظ پیشرفت و امنیت اقتصادی ندارد.
بنابراین توصیه می شود در درازمدت با سنجش دقیق شرایط از انجام پروژه های موردی به سمت تولید محصولاتی حرکت کنید که برای مصرف کننده دارای مزیت های نسبی مانند دانش فنی بالا، قیمت مناسب، در دسترس بودن تولید کننده و وجود خدمات پس از فروش، customize کردن بر حسب نیاز مشتری و سایر مزیت هایی باشد که مشتری داخلی را ترغیب می کند که از محصول داخلی استفاده کند.
@KnowledgePlus
بنابراین توصیه می شود در درازمدت با سنجش دقیق شرایط از انجام پروژه های موردی به سمت تولید محصولاتی حرکت کنید که برای مصرف کننده دارای مزیت های نسبی مانند دانش فنی بالا، قیمت مناسب، در دسترس بودن تولید کننده و وجود خدمات پس از فروش، customize کردن بر حسب نیاز مشتری و سایر مزیت هایی باشد که مشتری داخلی را ترغیب می کند که از محصول داخلی استفاده کند.
@KnowledgePlus
نکته ای در طراحی سنسورهای مادون قرمز:
از آنجایی که نور محیط حاوی میزان قابل توجهی از طیف مادون قرمز است، به منظور عدم حساسیت سنسور در برابر تغییرات نور محیط یا نوسانات مادون قرمز ناشی از منابعی مانند لامپ ها می توان به این صورت عمل کرد که اولا دیود فرستنده، با فرکانسی در حدود کیلوهرتز قطع و وصل شود و طراحی بخش گیرنده بوسیله دیود یا ترانزیستورهای حساس به محدوده مادون قرمز به گونه ای انجام شود که تنها نسبت به تغییرات سطح و پوش مادون قرمز با فرکانسی در حد کیلوهرتز حساس باشد و تغییرات کند ناشی از نور محیط و لامپ ها و مانند آن باعث عملکرد سنسور نشود. مورد دومی که به منظور مقابله با اشباع گیرنده در برابر نور محیط باید بکار گرفته شود، یک مدار جبران ساز در برابر تغییرات کند امپدانس گیرنده است. به این صورت که بار اکتیوی با گیرنده سری می شود که در برابر تغییرات کند امپدانس گیرنده خود را تنظیم می کند. اما در برابر تغییرات سریع امپدانس گیرنده مادون قرمز نمی تواند خود را هماهنگ کند و به این ترتیب تغییرات سریع امکان ظاهر شدن در خروجی و تقویت بوسیله طبقات بعدی را پیدا می کند.
(لطفا از کپی کردن پست ها خودداری و تنها به شکل فوروارد منتشر شود)
@KnowledgePlus
از آنجایی که نور محیط حاوی میزان قابل توجهی از طیف مادون قرمز است، به منظور عدم حساسیت سنسور در برابر تغییرات نور محیط یا نوسانات مادون قرمز ناشی از منابعی مانند لامپ ها می توان به این صورت عمل کرد که اولا دیود فرستنده، با فرکانسی در حدود کیلوهرتز قطع و وصل شود و طراحی بخش گیرنده بوسیله دیود یا ترانزیستورهای حساس به محدوده مادون قرمز به گونه ای انجام شود که تنها نسبت به تغییرات سطح و پوش مادون قرمز با فرکانسی در حد کیلوهرتز حساس باشد و تغییرات کند ناشی از نور محیط و لامپ ها و مانند آن باعث عملکرد سنسور نشود. مورد دومی که به منظور مقابله با اشباع گیرنده در برابر نور محیط باید بکار گرفته شود، یک مدار جبران ساز در برابر تغییرات کند امپدانس گیرنده است. به این صورت که بار اکتیوی با گیرنده سری می شود که در برابر تغییرات کند امپدانس گیرنده خود را تنظیم می کند. اما در برابر تغییرات سریع امپدانس گیرنده مادون قرمز نمی تواند خود را هماهنگ کند و به این ترتیب تغییرات سریع امکان ظاهر شدن در خروجی و تقویت بوسیله طبقات بعدی را پیدا می کند.
(لطفا از کپی کردن پست ها خودداری و تنها به شکل فوروارد منتشر شود)
@KnowledgePlus
نقل یک تجربه عملی:
در بردهای صنعتی نصب شده در محیط های پر گرد و خاک به مدت طولانی که برد در معرض جریان هوا بوده، مشاهده شده که به مرور روی قطعات و به خصوص IC های smd با فاصله پین های کم، لایه ضخیمی از گرد و خاک تشکیل شده که منجر به اختلال در عملکرد مدار گردیده است.
@KnowledgePlus
در بردهای صنعتی نصب شده در محیط های پر گرد و خاک به مدت طولانی که برد در معرض جریان هوا بوده، مشاهده شده که به مرور روی قطعات و به خصوص IC های smd با فاصله پین های کم، لایه ضخیمی از گرد و خاک تشکیل شده که منجر به اختلال در عملکرد مدار گردیده است.
@KnowledgePlus
احترام به مالکیت معنوی و رعایت حقوق تولید کننده یک مطلب علمی ایجاب می کند که در هنگام نقل قول آن مطلب، مرجع آن هم ذکر شود. اما بر حسب اطلاع متاسفانه برخی از مدیران کانال ها و گروه ها بجای تاکید بر لزوم نقل مطالب با ذکر مرجع، افراد را به حذف نام منبع تولید کننده مطلب تشویق می کنند که نشان می دهد مسئله رعایت حقوق و احترام به مالکیت معنوی نیاز به فرهنگ سازی جدی در سطح جامعه علمی و دانشگاهی دارد.
@KnowledgePlus
@KnowledgePlus
تجربه و راهکاری برای کسب درآمدهای بالا در رشته الکترونیک:
یکی از شرایطی که برای یک محصول الکترونیکی می تواند ارزش افزوده بسیار بالایی را ایجاد کند، تولید محصولی است که عملکرد یک دستگاه یا وسیله بسیار گران قیمت به آن وابسته باشد. وابستگی یک دستگاه گران قیمت صنعتی یا پزشکی یا نیروگاهی و ... با قیمتی در حد چند ده یا حتی چند صد میلیون تومان به یک محصول الکترونیک، این امکان مانور را برای تولید کننده آن محصول فراهم می کند که قیمتی بسیار فراتر از هزینه های طراحی و قطعات را برای محصول خود تعیین کند و در واقع شان قیمتی کل دستگاه است که باعث ایجاد ارزش افزوده زیاد در اجزای آن و از جمله بخش الکترونیک می شود. به عنوان یک نمونه واقعی، بردهای خارجی بکار گرفته شده در یکی از صنایع را می توان مثال زد که بر حسب اطلاع قیمت آنها حدود 80 میلیون تومان است، اما قیمت واقعی قطعات آنها حداکثر چند میلیون تومان بیشتر نیست و در واقع انحصار تولید کننده و کاربردی که آن برد در آن بکار می رود که کنترل یک مجموعه بسیار گران قیمت است، چنین ارزش افزوده ای را برای آن ایجاد می کند. بنابراین یک روش برای رسیدن به درامدهای بالا در رشته الکترونیک، یافتن و نفوذ به چنین حوزه هایی است که البته کار چندان ساده ای هم نیست، اما ممکن است.
@KnowledgePlus
یکی از شرایطی که برای یک محصول الکترونیکی می تواند ارزش افزوده بسیار بالایی را ایجاد کند، تولید محصولی است که عملکرد یک دستگاه یا وسیله بسیار گران قیمت به آن وابسته باشد. وابستگی یک دستگاه گران قیمت صنعتی یا پزشکی یا نیروگاهی و ... با قیمتی در حد چند ده یا حتی چند صد میلیون تومان به یک محصول الکترونیک، این امکان مانور را برای تولید کننده آن محصول فراهم می کند که قیمتی بسیار فراتر از هزینه های طراحی و قطعات را برای محصول خود تعیین کند و در واقع شان قیمتی کل دستگاه است که باعث ایجاد ارزش افزوده زیاد در اجزای آن و از جمله بخش الکترونیک می شود. به عنوان یک نمونه واقعی، بردهای خارجی بکار گرفته شده در یکی از صنایع را می توان مثال زد که بر حسب اطلاع قیمت آنها حدود 80 میلیون تومان است، اما قیمت واقعی قطعات آنها حداکثر چند میلیون تومان بیشتر نیست و در واقع انحصار تولید کننده و کاربردی که آن برد در آن بکار می رود که کنترل یک مجموعه بسیار گران قیمت است، چنین ارزش افزوده ای را برای آن ایجاد می کند. بنابراین یک روش برای رسیدن به درامدهای بالا در رشته الکترونیک، یافتن و نفوذ به چنین حوزه هایی است که البته کار چندان ساده ای هم نیست، اما ممکن است.
@KnowledgePlus
نکته طراحی مدار:
با توجه به کند بودن عملکرد زنرها در هنگام روشن شدن برای برش ولتاژهای ناشی از نویز روی تغذیه و در صورتی که زنرهای سریع در دسترس نباشند، یک روش ساده این است که زنر را با اتصال یک مقاومت به تغذیه، روشن نگه داریم و بوسیله یکی از انواع دیودهای سریع که معمولا بیشتر در دسترس هستند، ولتاژی را که باید در صورت افزایش ولتاژ برش پیدا کند به زنر روشن متصل کنیم. در این شرایط چون زنر از قبل بایاس شده، زمانی برای روشن شدن آن سپری نمی شود و تاخیر، مربوط به زمان روشن شدن دیود سریع بکار رفته برای اتصال به زنر خواهد بود. این همان تکنیکی است که در منبع تغذیه معرفی شده در بخش بیستم آموزش AVR از آن استفاده شده است.
@KnowledgePlus
با توجه به کند بودن عملکرد زنرها در هنگام روشن شدن برای برش ولتاژهای ناشی از نویز روی تغذیه و در صورتی که زنرهای سریع در دسترس نباشند، یک روش ساده این است که زنر را با اتصال یک مقاومت به تغذیه، روشن نگه داریم و بوسیله یکی از انواع دیودهای سریع که معمولا بیشتر در دسترس هستند، ولتاژی را که باید در صورت افزایش ولتاژ برش پیدا کند به زنر روشن متصل کنیم. در این شرایط چون زنر از قبل بایاس شده، زمانی برای روشن شدن آن سپری نمی شود و تاخیر، مربوط به زمان روشن شدن دیود سریع بکار رفته برای اتصال به زنر خواهد بود. این همان تکنیکی است که در منبع تغذیه معرفی شده در بخش بیستم آموزش AVR از آن استفاده شده است.
@KnowledgePlus
مخاطب این مطلب، افراد تازه کار و کم تجربه ای هستند که در هیاهوی نام ها و ابزارها و قطعاتی که هر روز عناوین جدیدی برای آنها مطرح می شود سردرگم شده اند و نمی دانند چه مسیری را باید انتخاب کنند تا از دیگران عقب نیفتند.
در انتخاب مسیر، حتما با اساتید با تجربه و افراد صاحب صلاحیت و سرد و گرم چشیده ای که نسبت به جوانب مسائل دید جامعی دارند مشورت کنید و صرفا بر اساس برداشت های شخصی خود یا نظرات و آرای افرادی که در عمل تجربه ای ندارند و قضاوت هایشان از پختگی کافی برخوردار نیست، تصمیم نگیرید.
@KnowledgePlus
در انتخاب مسیر، حتما با اساتید با تجربه و افراد صاحب صلاحیت و سرد و گرم چشیده ای که نسبت به جوانب مسائل دید جامعی دارند مشورت کنید و صرفا بر اساس برداشت های شخصی خود یا نظرات و آرای افرادی که در عمل تجربه ای ندارند و قضاوت هایشان از پختگی کافی برخوردار نیست، تصمیم نگیرید.
@KnowledgePlus
نکته مهم در بکارگیری IC های درایور Mosfet و IGBT که به روش Bootstrap عمل می کنند:
در IC های درایوری که برای تامین تغذیه بخش High side از تکنیک Bootstrap استفاده می کنند و خازنی از طریق یک دیود، تغذیه این بخش را تامین می کند، سیگنال های فرمان اعمال شده به ورودی IC نباید به گونه ای باشند که بخش High side بیشتر از زمان مشخصی روشن بماند. در غیر اینصورت خازن تامین کننده تغذیه این بخش تخلیه می شود و به دلیل کافی نبودن تغذیه، عملکرد آن با اختلال مواجه می شود. برای جلوگیری از این مسئله باید سوییچ بخش Low side بصورت پریودیک روشن شود تا خارن تغذیه بخش High side بتواند از طریق دیود شارژ شود.
@KnowledgePlus
در IC های درایوری که برای تامین تغذیه بخش High side از تکنیک Bootstrap استفاده می کنند و خازنی از طریق یک دیود، تغذیه این بخش را تامین می کند، سیگنال های فرمان اعمال شده به ورودی IC نباید به گونه ای باشند که بخش High side بیشتر از زمان مشخصی روشن بماند. در غیر اینصورت خازن تامین کننده تغذیه این بخش تخلیه می شود و به دلیل کافی نبودن تغذیه، عملکرد آن با اختلال مواجه می شود. برای جلوگیری از این مسئله باید سوییچ بخش Low side بصورت پریودیک روشن شود تا خارن تغذیه بخش High side بتواند از طریق دیود شارژ شود.
@KnowledgePlus
نکاتی از زبان برنامه نویسی C:
(شبیه این مطلب در سال های گذشته در یکی از انجمن های برق و الکترونیک قرار داده شده است)
برای مقداردهی مستقیم به آدرس مشخص در حافظه با فرض اینکه برای آن آدرس قابلیت ذخیره سازی وجود داشته باشد، می توان مانند مثال های زیر عمل کرد.
عبارت های زیر معادل با هم هستند و در آدرس 0x200 مقدار 0x98 را ذخیره می کنند:
(*(unsigned char*) 0x200)=0x98;
((unsigned char*) 0x200)[0]=0x98;
عبارت های زیر معادل با هم هستند و با فرض ساختار بایتی برای حافظه از آدرس 0x10002000 به بعد 4 بایت با مقدار 0x0000fe55 را ذخیره می کنند:
(*(unsigned long*) 0x10002000)=0xfe55;
((unsigned long*) 0x10002000)[0]=0xfe55;
همچنین نسبت به یک آدرس پایه می توان offset اعمال کرد. مثلا عبارت زیر یک بایت با مقدار 0x54 را در آدرس 0x206 ذخیره می کند:
((unsigned char*) 0x200)[6]=0x54;
در این روش اگر اشاره گر به بیش از یک بایت اشاره کند، به ازای هر واحد افزایش offset نسبت به آدرس پایه، آدرس مقصد به اندازه تعداد بایت مورد اشاره افزایش پیدا می کند. مثلا عبارت زیر باعث ذخیره سازی 0x54 در آدرس 0x204 و 0x00 در سه بایت بعدی خواهد شد:
((unsigned long*) 0x200)[1]=0x54;
(لطفا از کپی کردن پست ها خودداری و تنها به شکل فوروارد منتشر شود)
@KnowledgePlus
(شبیه این مطلب در سال های گذشته در یکی از انجمن های برق و الکترونیک قرار داده شده است)
برای مقداردهی مستقیم به آدرس مشخص در حافظه با فرض اینکه برای آن آدرس قابلیت ذخیره سازی وجود داشته باشد، می توان مانند مثال های زیر عمل کرد.
عبارت های زیر معادل با هم هستند و در آدرس 0x200 مقدار 0x98 را ذخیره می کنند:
(*(unsigned char*) 0x200)=0x98;
((unsigned char*) 0x200)[0]=0x98;
عبارت های زیر معادل با هم هستند و با فرض ساختار بایتی برای حافظه از آدرس 0x10002000 به بعد 4 بایت با مقدار 0x0000fe55 را ذخیره می کنند:
(*(unsigned long*) 0x10002000)=0xfe55;
((unsigned long*) 0x10002000)[0]=0xfe55;
همچنین نسبت به یک آدرس پایه می توان offset اعمال کرد. مثلا عبارت زیر یک بایت با مقدار 0x54 را در آدرس 0x206 ذخیره می کند:
((unsigned char*) 0x200)[6]=0x54;
در این روش اگر اشاره گر به بیش از یک بایت اشاره کند، به ازای هر واحد افزایش offset نسبت به آدرس پایه، آدرس مقصد به اندازه تعداد بایت مورد اشاره افزایش پیدا می کند. مثلا عبارت زیر باعث ذخیره سازی 0x54 در آدرس 0x204 و 0x00 در سه بایت بعدی خواهد شد:
((unsigned long*) 0x200)[1]=0x54;
(لطفا از کپی کردن پست ها خودداری و تنها به شکل فوروارد منتشر شود)
@KnowledgePlus
سرو موتورهای ترمز دار:
در استفاده از سرو موتورهای صنعتی در برخی از کاربردها نیاز است که در شرایط قطع برق یا ایجاد وضعیت fault یا غیر فعال شدن سرو موتور و سایر موارد مشابهی که موتور، گشتاوری را در خروجی ایجاد نمی کند، محور موتور قفل بماند که برای چنین کاربردهایی می توان از سرو موتورهای ترمز دار استفاده کرد. در این نوع موتورها برای خارج شدن موتور از حالت ترمز باید جریان مشخصی از سیم پیچ های ترمز آن عبور کند که با قطع برق، این جریان قطع می شود و ترمز بواسطه فنرهای آن عمل می کند. در برخی انواع درایورهای سرو موتور هم خروجی خاصی به عنوان ورودی فرمان برای مدار اعمال جریان به سیم پیچ ترمز در نظر گرفته شده که عملکرد آن به گونه ای است که در شرایط غیرفعال بودن موتور، سبب قطع جریان سیم پیچ ترمز و قفل شدن موتور می شود.
@KnowledgePlus
در استفاده از سرو موتورهای صنعتی در برخی از کاربردها نیاز است که در شرایط قطع برق یا ایجاد وضعیت fault یا غیر فعال شدن سرو موتور و سایر موارد مشابهی که موتور، گشتاوری را در خروجی ایجاد نمی کند، محور موتور قفل بماند که برای چنین کاربردهایی می توان از سرو موتورهای ترمز دار استفاده کرد. در این نوع موتورها برای خارج شدن موتور از حالت ترمز باید جریان مشخصی از سیم پیچ های ترمز آن عبور کند که با قطع برق، این جریان قطع می شود و ترمز بواسطه فنرهای آن عمل می کند. در برخی انواع درایورهای سرو موتور هم خروجی خاصی به عنوان ورودی فرمان برای مدار اعمال جریان به سیم پیچ ترمز در نظر گرفته شده که عملکرد آن به گونه ای است که در شرایط غیرفعال بودن موتور، سبب قطع جریان سیم پیچ ترمز و قفل شدن موتور می شود.
@KnowledgePlus
نکته آموزشی:
خروجی های Open collector یا Open drain در سنسورها یا IC های دیجیتال را می توان به هم متصل کرد و مجموعه خروجی ها با یک مقاومت Pull up به تغذیه مجاز وصل می شوند که در این حالت هر خروجی که فعال باشد، باعث Low شدن خروجی کلی خواهد شد. به این آرایش wired-AND هم گفته می شود. لازم به یادآوری است که یک سری از میکروکنترلرها هم برای پورت های خود از این نوع خروجی پشتیبانی می کنند.
@KnowledgePlus
خروجی های Open collector یا Open drain در سنسورها یا IC های دیجیتال را می توان به هم متصل کرد و مجموعه خروجی ها با یک مقاومت Pull up به تغذیه مجاز وصل می شوند که در این حالت هر خروجی که فعال باشد، باعث Low شدن خروجی کلی خواهد شد. به این آرایش wired-AND هم گفته می شود. لازم به یادآوری است که یک سری از میکروکنترلرها هم برای پورت های خود از این نوع خروجی پشتیبانی می کنند.
@KnowledgePlus
توصیه ای برای موفقیت در استخدام:
یک روش پیشنهادی برای موفقیت در استخدام در مجموعه هایی که توانایی واقعی شما مورد نظر آنهاست این است که با صرف زمان کافی برای به ثمر رساندن نمونه هایی از پروژه های قابل توجه و پیشرفته وقت بگذارید و بعد از به نتیجه رساندن آنها، در مصاحبه های حضوری نمونه ساخته شده و در حال کار پروژه خود را ارائه کنید. این روش در مواردی می تواند تاثیر زیادی روی کارفرما به جهت احراز توانایی های واقعی شما داشته باشد. در ارسال رزومه ها هم ضمیمه کردن عکس و فیلم و سایر اطلاعات در مورد پروژه های انجام شده می تواند بسیار موثر باشد.
@KnowledgePlus
یک روش پیشنهادی برای موفقیت در استخدام در مجموعه هایی که توانایی واقعی شما مورد نظر آنهاست این است که با صرف زمان کافی برای به ثمر رساندن نمونه هایی از پروژه های قابل توجه و پیشرفته وقت بگذارید و بعد از به نتیجه رساندن آنها، در مصاحبه های حضوری نمونه ساخته شده و در حال کار پروژه خود را ارائه کنید. این روش در مواردی می تواند تاثیر زیادی روی کارفرما به جهت احراز توانایی های واقعی شما داشته باشد. در ارسال رزومه ها هم ضمیمه کردن عکس و فیلم و سایر اطلاعات در مورد پروژه های انجام شده می تواند بسیار موثر باشد.
@KnowledgePlus
نکته ای در استفاده از IC هایی مانند ADM485 و نظایر آن برای ارتباط rs485:
در استفاده از این IC ها معمول است که برای کنترل جهت ارتباط تنها با یک پین میکروکنترلر، پین های 2 و 3 به هم متصل شوند که در هنگام ارسال، این دو پین از طرف میکروکنترلر 1 و در هنگام دریافت 0 می شوند. با توجه به اینکه در این روش پین RO که به rx میکروکنترلر متصل می شود در هنگام ارسال دیتا از طرف میکروکنترلر در وضعیت High Z قرار می گیرد، به منظور جلوگیری از دریافت اطلاعات اشتباه در این محدوده زمانی به واسطه نویز، از دو روش می توان استفاده کرد. مورد اول قرار دادن مقاومت Pull up بصورت داخلی یا خارجی روی خط rx است و بصورت نرم افزاری هم می توان در هنگام ارسال از طرف میکروکنترلر، گیرنده USART را کلا غیر فعال و در فاز دریافت مجددا فعال کرد.
@KnowledgePlus
در استفاده از این IC ها معمول است که برای کنترل جهت ارتباط تنها با یک پین میکروکنترلر، پین های 2 و 3 به هم متصل شوند که در هنگام ارسال، این دو پین از طرف میکروکنترلر 1 و در هنگام دریافت 0 می شوند. با توجه به اینکه در این روش پین RO که به rx میکروکنترلر متصل می شود در هنگام ارسال دیتا از طرف میکروکنترلر در وضعیت High Z قرار می گیرد، به منظور جلوگیری از دریافت اطلاعات اشتباه در این محدوده زمانی به واسطه نویز، از دو روش می توان استفاده کرد. مورد اول قرار دادن مقاومت Pull up بصورت داخلی یا خارجی روی خط rx است و بصورت نرم افزاری هم می توان در هنگام ارسال از طرف میکروکنترلر، گیرنده USART را کلا غیر فعال و در فاز دریافت مجددا فعال کرد.
@KnowledgePlus
نکته آموزشی:
اسیلاتورهای RC داخلی در شماره های مختلف AVR دارای ساختارهای مختلف به لحاظ طراحی هستند و عملکرد آنها نسبت به تغییرات دما یکسان نیست. بنابراین در برخی شماره ها فرکانس اسیلاتورهای داخلی با افزایش دما کاهش می یابد (مانند ATmega8 و ATmega16 و ATmega32 و ATmega64) و در برخی از شماره های دیگر فرکانس آنها با افزایش دما افزایش می یابد (مانند ATtiny13 و ATmega48 و ATmega2560).
@KnowledgePlus
اسیلاتورهای RC داخلی در شماره های مختلف AVR دارای ساختارهای مختلف به لحاظ طراحی هستند و عملکرد آنها نسبت به تغییرات دما یکسان نیست. بنابراین در برخی شماره ها فرکانس اسیلاتورهای داخلی با افزایش دما کاهش می یابد (مانند ATmega8 و ATmega16 و ATmega32 و ATmega64) و در برخی از شماره های دیگر فرکانس آنها با افزایش دما افزایش می یابد (مانند ATtiny13 و ATmega48 و ATmega2560).
@KnowledgePlus
در Application Note منتشر شده از طرف شرکت Atmel به نام AVR1000 در مورد برنامه نویسی به زبان C برای خانواده XMEGA، نکات مفید و سودمندی درباره نحوه برنامه نویسی C ذکر شده که مطالعه آن به کسانی که قصد برنامه نویسی به این زبان برای میکروکنترلرها را دارند، توصیه می شود:
https://www.atmel.com/Images/doc8075.pdf
@KnowledgePlus
https://www.atmel.com/Images/doc8075.pdf
@KnowledgePlus
نقل یک تجربه عملی:
در هنگام شستشوی مدار چاپی، ریختن حلال های استفاده شده برای شستشو روی سوییچ های Push button و نفوذ آن به محل تماس کنتاکت ها معمولا باعث خرابی سوییچ می شود.
@KnowledgePlus
در هنگام شستشوی مدار چاپی، ریختن حلال های استفاده شده برای شستشو روی سوییچ های Push button و نفوذ آن به محل تماس کنتاکت ها معمولا باعث خرابی سوییچ می شود.
@KnowledgePlus
(مطلب زیر چند سال پیش در پاسخ به سوالی در یکی از انجمن های برق و الکترونیک نوشته شد)
یکی از موارد پرکاربرد کنترل کننده های PID، سیستم هایی با رفتار یک تابع تبدیل مرتبه اول و یک تاخیر ذاتی در پاسخ سیستم است. به عنوان مثال، یک فرایند کنترل حرارت را در یک فضای بسته نظر می گیریم که از طریق یک مولد حرارتی، دمای پروسه کنترل می شود و محل مورد نظر برای کنترل دما و سنسور تشخیص دما هم با یک فاصله نسبت به مولد حرارتی قرار دارند. چنین سیستمی در عمل دارای یک تاخیر ذاتی است، به این معنی که اگر بصورت ناگهانی میزان تولید حرارت توسط عامل گرمایشی را در حداکثر خود هم که قرار دهیم، در یک لحظه تغییر و تفاوتی در نقطه سنجش دما بوجود نمی آید و مدتی طول می کشد تا تاثیر تغییرات ورودی به خروجی برسد. به همین ترتیب اگر حرارت مولد در یک لحظه قطع شود، تاثیر آن با یک تاخیر و فاصله زمانی به نقطه سنجش دما می رسد. همچنین طبیعت عملکرد سیستم دارای رفتار مرتبه اول است،به این معنی که مانند خازنی که از طریق یک منبع و مقاومت شارژ می شود،با شکل موج شبه نمایی از مقدار اولیه تغییر می کند و به حالت دائمی می رسد.
در کنترل PID :
عامل حاصلضرب یک ضریب در خطا در مورد خطاهای لحظه فعلی قضاوت می کند.
عامل انتگرال تاثیر خطاهای گذشته را اعمال می کند.
و بخش مشتق هم به عنوان یک عامل پیش بینی خطا در زمان های آینده عمل می کند.
برای سیستم های پر اینرسی و با تاخیر، عامل مشتق می تواند تاخیرهای ذاتی سیستم را جبران سازی کند و با تنظیم درست ضرایب PID، می تواند رفتار یک پروسه با طبیعت مذکور را به خوبی تحت کنترل بگیرد. اما برای سیستم های سریع و بدون تاخیر معمولا از کنترلر PI استفاده می شود. برای تنظیم درست ضرایب PID می توانید به جزئیات روش زیگلر نیکولز در تنظیم ضرایب مراجعه کنید.
(لطفا از کپی کردن پست ها خودداری و تنها به شکل فوروارد منتشر شود)
@KnowledgePlus
یکی از موارد پرکاربرد کنترل کننده های PID، سیستم هایی با رفتار یک تابع تبدیل مرتبه اول و یک تاخیر ذاتی در پاسخ سیستم است. به عنوان مثال، یک فرایند کنترل حرارت را در یک فضای بسته نظر می گیریم که از طریق یک مولد حرارتی، دمای پروسه کنترل می شود و محل مورد نظر برای کنترل دما و سنسور تشخیص دما هم با یک فاصله نسبت به مولد حرارتی قرار دارند. چنین سیستمی در عمل دارای یک تاخیر ذاتی است، به این معنی که اگر بصورت ناگهانی میزان تولید حرارت توسط عامل گرمایشی را در حداکثر خود هم که قرار دهیم، در یک لحظه تغییر و تفاوتی در نقطه سنجش دما بوجود نمی آید و مدتی طول می کشد تا تاثیر تغییرات ورودی به خروجی برسد. به همین ترتیب اگر حرارت مولد در یک لحظه قطع شود، تاثیر آن با یک تاخیر و فاصله زمانی به نقطه سنجش دما می رسد. همچنین طبیعت عملکرد سیستم دارای رفتار مرتبه اول است،به این معنی که مانند خازنی که از طریق یک منبع و مقاومت شارژ می شود،با شکل موج شبه نمایی از مقدار اولیه تغییر می کند و به حالت دائمی می رسد.
در کنترل PID :
عامل حاصلضرب یک ضریب در خطا در مورد خطاهای لحظه فعلی قضاوت می کند.
عامل انتگرال تاثیر خطاهای گذشته را اعمال می کند.
و بخش مشتق هم به عنوان یک عامل پیش بینی خطا در زمان های آینده عمل می کند.
برای سیستم های پر اینرسی و با تاخیر، عامل مشتق می تواند تاخیرهای ذاتی سیستم را جبران سازی کند و با تنظیم درست ضرایب PID، می تواند رفتار یک پروسه با طبیعت مذکور را به خوبی تحت کنترل بگیرد. اما برای سیستم های سریع و بدون تاخیر معمولا از کنترلر PI استفاده می شود. برای تنظیم درست ضرایب PID می توانید به جزئیات روش زیگلر نیکولز در تنظیم ضرایب مراجعه کنید.
(لطفا از کپی کردن پست ها خودداری و تنها به شکل فوروارد منتشر شود)
@KnowledgePlus
قلاویز زنی هیت سینک های آلومینیومی:
برای نصب قطعات قدرت مانند mosfet و igbt و scr و غیره روی هیت سینک های آلومینیومی که دارای ضخامت کافی باشند، به غیر از استفاده از پیچ و مهره می توانیم از روش قلاویز کردن آلومینیوم هم استفاده کنیم. برای کسانی که با این روش آشنا نیستند، شیوه کار بصورت فهرست وار ذکر می شود:
1- ابتدا محلی را که قرار است قلاویز زده شود با سنبه نشان و چکش علامت می زنیم.
2- بوسیله دریل نصب شده روی پایه دریل و مته ای با قطر کوچکتر از قطر پیچ، محل مورد نظر را سوراخ می کنیم. برای هر سایز قلاویز مطابق جداول موجود، یک سایز مته مشخص شده که با توجه به کاربردهای الکترونیکی که پیچ های با قطرهای 3 و 4 میلیمتر معمولا جوابگو هستند از مته های زیر استفاده می کنیم:
مته 2.5 میلیمتر برای پیچ 3 میلیمتر
مته 3.3 میلیمتر برای پیچ 4 میلیمتر
3- قلاویز با سایز مناسب و از نوع ماشینی را روی پیچ گوشتی های برقی یا دریل هایی که دارای دور کم و قابلیت چپ گرد و راست گرد هستند نصب می کنیم. سپس سر قلاویز را به روغن آغشته می کنیم و عملیات قلاویز زنی را در دو مرحله رفت و برگشت انجام می دهیم.
4- بعد از پلیسه گیری می توان از محل قلاویز شده مانند مهره استفاده کرد و قطعات الکترونیک را بوسیله پیچ در آن محل نصب کرد.
(لطفا از کپی کردن پست ها خودداری و تنها به شکل فوروارد منتشر شود)
@KnowledgePlus
برای نصب قطعات قدرت مانند mosfet و igbt و scr و غیره روی هیت سینک های آلومینیومی که دارای ضخامت کافی باشند، به غیر از استفاده از پیچ و مهره می توانیم از روش قلاویز کردن آلومینیوم هم استفاده کنیم. برای کسانی که با این روش آشنا نیستند، شیوه کار بصورت فهرست وار ذکر می شود:
1- ابتدا محلی را که قرار است قلاویز زده شود با سنبه نشان و چکش علامت می زنیم.
2- بوسیله دریل نصب شده روی پایه دریل و مته ای با قطر کوچکتر از قطر پیچ، محل مورد نظر را سوراخ می کنیم. برای هر سایز قلاویز مطابق جداول موجود، یک سایز مته مشخص شده که با توجه به کاربردهای الکترونیکی که پیچ های با قطرهای 3 و 4 میلیمتر معمولا جوابگو هستند از مته های زیر استفاده می کنیم:
مته 2.5 میلیمتر برای پیچ 3 میلیمتر
مته 3.3 میلیمتر برای پیچ 4 میلیمتر
3- قلاویز با سایز مناسب و از نوع ماشینی را روی پیچ گوشتی های برقی یا دریل هایی که دارای دور کم و قابلیت چپ گرد و راست گرد هستند نصب می کنیم. سپس سر قلاویز را به روغن آغشته می کنیم و عملیات قلاویز زنی را در دو مرحله رفت و برگشت انجام می دهیم.
4- بعد از پلیسه گیری می توان از محل قلاویز شده مانند مهره استفاده کرد و قطعات الکترونیک را بوسیله پیچ در آن محل نصب کرد.
(لطفا از کپی کردن پست ها خودداری و تنها به شکل فوروارد منتشر شود)
@KnowledgePlus
نگهداری اطلاعات در حافظه های flash و eeprom میکروکنترلرها دارای یک محدودیت زمانی است که معمولا حداقلی برای این زمان بر حسب محدوده دما از طرف کارخانه سازنده اعلام می گردد. به عنوان مثال شرکت Atmel زمان نگهداری اطلاعات برای برخی از شماره های AVR را حداقل 100 سال در دمای 25 درجه یا 20 سال در دمای 85 درجه ذکر کرده است. برای XMEGA هم حداقل 100 سال در دمای 25 درجه یا 25 سال در دمای 55 درجه ذکر شده است. یا به عنوان مثال دیگر در میکروکنترلرهای سری LPC1788 زمان نگهداری اطلاعات برای حافظه های flash و eeprom در محدوده دمای منفی 40 درجه تا 85 درجه در صورت اتصال میکروکنترلر به تغذیه حداقل 10 سال و در صورت عدم اتصال به تغذیه این زمان برای حافظه flash حداقل تا 20 سال ذکر شده است.
@KnowledgePlus
@KnowledgePlus