KnowledgePlus.ir
5.48K subscribers
47 photos
11 videos
16 files
176 links
کانال مهندس اوژن کی نژاد
کلیه مطالب این کانال به جز مواردی که صریحا در متن آن ذکر شده باشد جنبه تالیفی دارد و از جایی کپی نشده است.
کانال اشتغال:
@KnowledgePlusir
@StepMotor
@MC3Delta
@FindChips
instagram.com/knowledgeplus.ir
aparat.com/KnowledgePlus
Download Telegram
ضمن احترام به نظر کسانی که معتقدند به اشتراک گذاری تجربیات و کمک به دیگران برای کسی که از مراحل سربازی و فارغ التحصیلی و استخدام و تشکیل خانواده و ... عبور کرده کاری اشتباه و نوعی وقت تلف کردن است، خوشبختانه اکثریت قاطع شرکت کنندگان در نظرسنجی بر این عقیده بوده اند که چنین رویکردی وظیفه ای اخلاقی برای کمک به رشد جامعه است.

https://t.iss.one/KnowledgePlus/648

@KnowledgePlus
نکته ای در ارتباط I2C سخت افزاری:

در ارتباط I2C آدرس 7 بیتی که از طرف master به slave ارسال می شود در هنگام ارسال یک بیت به سمت چپ شیفت پیدا می کند. زیرا بیت شماره 0 نشان دهنده عملیات write و بیت های 1 تا 7 حاوی آدرس است. بنابراین بین آدرس ارسال شده و بایت ارسال شده تفاوت بوجود می آید که عدم توجه به این مسئله یکی از دلایل عدم موفقیت در برقراری این نوع ارتباط بین میکروکنترلر و ماژول ها و آی سی های مختلف است.

@KnowledgePlus
نگهداری (maintenance) نرم افزار:

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

@KnowledgePlus
تجربه ای از تولید محصولات متعدد الکترونیکی:

فقط در همین حد اشاره می شود که علیرغم وجود همه مشکلات و موانع موجود، اگر تولید یک محصول کاملا سنجیده و بر اساس نیاز بازار و مبتنی بر دانش فنی بالا باشد در نهایت جواب می دهد.

@KnowledgePlus
یک توضیح ضروری در مورد شکل قرار داده شده از سایت IAR:

در چارت قرار داده شده برای مقایسه IAR و AVR-GCC، حجم کد تولید شده توسط دو کامپایلر برای پیاده سازی چند کاربرد مقایسه شده که نشان می دهد عملکرد IAR در همه موارد بهتر بوده است.

https://t.iss.one/KnowledgePlus/170

@KnowledgePlus
منظور از عبارت "کیلوگرم" در مشخصه استپر موتور چیست؟

معمولا در بازار برای بیان گشتاور استپر موتورها از عبارت کیلوگرم استفاده می شود که منظور واحد kgf.cm (کیلوگرم نیرو سانتی متر) است. واحد دیگری که برای گشتاور ذکر می شود N.m (نیوتن متر) است که برای تبدیل به kgf.cm باید آن را بصورت تقریبی در 10 ضرب کرد. به عنوان مثال یک استپر موتور با گشتاور 2 نیوتن متر دارای گشتاوری معادل تقریبا 20 کیلوگرم نیرو سانتی متر است.

@KnowledgePlus
تجربه ای خوشایند از نتیجه به اشتراک گذاری اطلاعات:

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

https://knowledgeplus.ir/userfiles/BASCOMv1.pdf

@KnowledgePlus
نظر سنجی: به نظر شما افزایش قیمت دلار

به ضرر تولید داخلی محصولات الکترونیک است – 378
👍👍👍👍👍👍👍 70%

به نفع تولید داخلی محصولات الکترونیک است – 160
👍👍👍 30%

👥 538 people voted so far. Poll closed.
بنا به درخواست دوستانی که با استفاده از اطلاعات قرار داده شده در سایت برای ساخت برد آموزشی AVR و XMEGA اقدام کرده اند، لینک حاوی فایل های بوت لودر برای برنامه ریزی چند شماره 64 و 100 پین XMEGA قرار داده می شود.

https://knowledgeplus.ir/userfiles/XMEGA_BootLoaders.rar

@KnowledgePlus
یک روش تجربی برای در آوردن قطعات از بردهای متالیزه:

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

@KnowledgePlus
درباره افزایش قیمت دلار و نفع و ضرر آن برای تولید داخلی محصولات الکترونیک:

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

https://t.iss.one/KnowledgePlus/690

@KnowledgePlus
آیا می دانستید قدرت پردازشی کامپیوتر فضاپیمای آپولو (Apollo Guidance Computer یا AGC) در پروژه نشستن انسان بر کره ماه، از برخی میکروکنترلرهایی که امروزه حتی دانش آموزان با آن کار می کنند بسیار ضعیف تر بوده است؟

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

@KnowledgePlus
در سورس های نوشته شده تحت winavr یا AtmelStudio برای خواندن یک بایت از حافظه فلش از pgm_read_byte استفاده می شود که برای مطابقت دادن این سورس ها با CodeVision یا IAR می توانیم از ماکرو زیر استفاده کنیم:

#define pgm_read_byte(x) (*((unsigned char __flash *)(x)))

@KnowledgePlus
تمرین برنامه نویسی نسبتا مشکل با یک تک LED:

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

1- مدت زمان افزایش نور از حداقل به حداکثر.
2- منحنی ولتاژ اعمال شده به LED در یکی از دو وضعیت خطی یا سهمی در سیکل افزایش نور.
3- مدت زمان کاهش نور از حداکثر به حداقل (مستقل از گزینه 1).
4- منحنی ولتاژ اعمال شده به LED در یکی از دو وضعیت خطی یا سهمی در سیکل کاهش نور.
5- حداکثر ولتاژ اعمال شده به LED که محل تلاقی دو منحنی افزایش یا کاهش ولتاژ است.

به عنوان مثال می خواهیم ولتاژ متوسط یک LED در مدت زمان 1 ثانیه تحت منحنی خطی از صفر به نصف مقدار حداکثر خود برسد و سپس در مدت زمان 2.2 ثانیه تحت منحنی سهمی به صفر برسد و این روال بصورت پریودیک همچنان ادامه یابد.

پی نوشت: اگر شما مشغول یادگیری یکی از میکروکنترلرها هستید و نظیر این کاربرد را نمی توانید برای یک LED پیاده سازی کنید توصیه می شود بیشتر از آنکه به دنبال کار کردن با سخت افزارهای پیچیده تر باشید، روی توسعه مهارت های برنامه نویسی خود متمرکز شوید.

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

@KnowledgePlus
در چند روز اخیر در یک کنترلر صنعتی شامل دو میکروکنترلر با کدهای سنگین و مفصلی که یکی با C و دیگری با اسمبلی نوشته شده بود، عملکرد غلطی مشاهده شد که پیدا کردن دلیل آن وقت بسیار زیادی را به خود اختصاص داد. در نهایت مشخص شد که این باگ به دلیل عملیات کپی از یک بخش کد و قرار دادن آن در بخش دیگر و عدم اصلاح لازم در محتوای paste شده بوجود آمده که خطایی در کامپایل ایجاد نمی شد اما عملکرد نهایی هم درست نبود. این تجربه برای بار چندم نشان داد که در مورد ایجاد باگ ناشی از عملیات copy/paste یک بخش کد و تغییر در آن باید بصورت مضاعف دقت و مراقبت شود.

@KnowledgePlus
دوستانی که قصد ساخت برد آموزشی AVR و XMEGA را دارند که فایل مدار چاپی آن در سایت قرار داده شده، برای انتخاب 7segment های برد به دو نکته توجه کنند:

1- متناسب با این برد در بازار دو نوع 7segment وجود دارد که شبیه به هم هستند. اما در یکی کاتد مشترک در پین وسط قرار دارد و در دیگری کاتد در پین کناری واقع است که برای این برد باید از نوع کاتد کنار استفاده شود.

2- برای بهبود نمایش کاراکترها از 7segment های نوع high brightness استفاده کنید.

@KnowledgePlus
برای not کردن بیت های تعریف شده در یک struct می توان مطابق مثال زیر عمل کرد.

مرحله تعریف x و y به عنوان بیت در ساختار flags:

struct
{
unsigned char x:1;
unsigned char y:1;
}flags;

برای not کردن بیت x:

flags.x=flags.x?0:1;

@KnowledgePlus
این یک نظر و تجربه شخصی است. مطابق آمارهایی که در سایت های مختلف قابل دسترس است بین 70 تا 85 درصد (یا حتی بیشتر) اقتصاد ایران دولتی یا شبه دولتی است. اما تجربه نشان می دهد که به دلایل متعدد که شرح آن در این مجال نمی گنجد، موقعیت ها و فرصت ها برای طراحی و تولید پروژه ها و محصولات داخلی در رشته الکترونیک در آن بخش اقلیت که صنایع خصوصی را هم شامل می شود، بسیار بیشتر از فرصت ها در آن اکثریت دولتی و شبه دولتی است.

@KnowledgePlus