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
تجربه ای از خرابی یک شارژر لپ تاپ:

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

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

@KnowledgePlus
به اطلاع می رساند که برگزاری دوره های آموزشی بصورت کلاس های حضوری اعم از عمومی و خصوصی از سال ۱۳۹۴ تاکنون متوقف شده و تا اطلاع ثانوی هم تصمیمی برای برگزاری چنین دوره هایی وجود ندارد. چنانچه آموزشی هم ارائه شود تنها به شکل فیلم های آموزشی رایگان یا مقالات و نمونه کد و مانند آن خواهد بود.

@KnowledgePlus
پیرو پست های زیر:

https://t.iss.one/KnowledgePlus/42
https://t.iss.one/KnowledgePlus/211
https://t.iss.one/KnowledgePlus/318
https://t.iss.one/KnowledgePlus/422

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

@KnowledgePlus
یک تجربه درباره مشکل اسیلاتورهای کریستالی:

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

@KnowledgePlus
در نمونه کد زیر که برای avr نوشته شده به دلیل این موضوع فکر کنید که چرا وقفه قبل از تغییر در data32 غیر فعال و بعد فعال شده است:

volatile unsigned long data32;
در حلقه اصلی برنامه:
...
cli();
data32++;
sei();
...
در روتین یک وقفه:
...
data32=0;
...

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

@KnowledgePlus
اخیرا برای تولید یک برد الکترونیک و به منظور قرار ندادن پتانسیومتر، دو نوع از LCD های کاراکتری 2x8 موجود در بازار از این نظر تست شدند که با قرار دادن چه مقاومتی بین پین تنظیم کنتراست تا زمین، بهترین سطح کنتراست ایجاد می شود که در یک نوع از LCD ها مقاومت 2.2K و در دیگری مقاومت 4.7K بهترین شرایط نمایش را ایجاد می کرد.

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

@KnowledgePlus
محاسبه سرانگشتی خازن خروجی پل دیود:

برای محاسبه ظرفیت خازن خروجی پل دیود به ازای ولتاژ ریپل دلخواه می توان از فرمول زیر استفاده کرد که در آن i جریان متوسط و Vr ولتاژ ریپل است.

C=0.01.i/Vr

@KnowledgePlus
زرنگی در دو نسخه

نسخه یک:

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

نسخه دو:

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

* انتخاب نسخه زرنگ بودن به عهده مخاطب.

@KnowledgePlus
معرفی دو سایت مفید درباره جزییات پروتکل usb:

https://www.usbmadesimple.co.uk/index.html
https://www.beyondlogic.org/usbnutshell/usb1.shtml

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

@KnowledgePlus
در مورد فرمول محاسبه خازن خروجی پل دیود در پست های قبلی، ذکر این توضیح ضروری است که فرمول مذکور بصورت تقریبی و با فرض یکسوسازی ولتاژ سینوسی با فرکانس 50 هرتز توسط پل دیود نوشته شده است.

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

@KnowledgePlus
مثالی از نحوه تعریف کردن یک بایت در union و دسترسی به آن بصورت بیتی و بایتی (کامپایلر IAR):

union
{
unsigned char flags_byte;
struct
{
unsigned char bit0:1;
unsigned char bit1:1;
unsigned char bit2:1;
unsigned char bit3:1;
unsigned char bit4:1;
unsigned char bit5:1;
unsigned char bit6:1;
unsigned char bit7:1;
}flags;
};
...
flags_byte=0xf5;
flags.bit3=1;
flags.bit7=0;
...

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

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

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

@KnowledgePlus
مشاهده ای از ضرر هنگفت ناشی از قطعات تقلبی:

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

@KnowledgePlus
تجربه استفاده از تاچ های مقاومتی نصب شده روی LCD های 240x128 به تعداد زیاد نشان می دهد که بعد از چند سال استفاده مداوم از این تاچ ها در محیط صنعتی، میزان خرابی آنها بسیار کم بوده و هنوز مشغول کار هستند.

@KnowledgePlus
نکته ای در کد نویسی به زبان C:

در صورتی که تعداد متغیرهای Global در برنامه زیاد باشد، برای جلوگیری از شلوغ شدن کد می توانیم تمام این متغیرها را در یک فایل جداگانه قرار دهیم و این فایل را در ابتدای فایل اصلی include کنیم. نکته حائز اهمیت در این روش این است که فایل حاوی متغیرها نباید به پروژه add شود. در این شرایط لازم نیست که متغیرها در فایل اصلی بصورت extern تعریف شوند و تنها با include کردن فایلی که متغیرها در آن تعریف شده اند، این متغیرها در فایل اصلی قابل شناسایی هستند.

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

در سال های دور در دهه 70 و در زمانی که هنوز استفاده از میکروکنترلرها مطرح نبود، پروژه ای انجام شد که قرار بود توسط یک منبع جریان، سه جریان با مقادیر 80 و 180 و 1180 میلی آمپر به باری تزریق شود و مقدار جریان هم روی تعدادی 7segment نمایش داده شود. این مدار با روش های آنالوگ طراحی و تست شد و برای نمایش جریان هم بعد از تبدیل آن از طریق مدارات مناسب به ولتاژ، از یک آی سی ولت متر به نام ICL7107 استفاده شد. بعد از تحویل این مدار مجموعه سفارش دهنده پروژه اعلام کردند که جریان نمایش داده شده قابل قبول نیست و دارای کمی تغییرات است. در حالی که یک گروه رقیب همین پروژه را انجام داده اند، اما تغییری در جریان خروجی روی صفحه نمایش وجود ندارد و جریان ها کاملا تثبیت شده هستند. بنابراین پروژه مجددا باز پس گرفته شد و این بار هر تکنیک مداری و به اصطلاح فوت و فن کوزه گری که برای تثبیت جریان به ذهن می رسید اعمال شد تا جریان در هر سه مرحله تا حد ممکن ثابت باشد و تغییری نکند. بعد از اعمال تمهیدات مورد نظر در مدارات آنالوگ، تغییرات جریان نمایش داده شده تقریبا به صفر رسید و فقط گاهی ممکن بود یک واحد تغییر کند که با توجه به شرایط مدار و تغییرات دما و مانند آن چنین تغییراتی قابل قبول بود. اما بعد از تحویل دوباره پروژه باز اعلام شد که هر چند تغییرات بسیار بسیار کم شده است. اما در پروژه تحویل داده شده توسط مجموعه رقیب، همین تغییرات بسیار کم در حد یک در هزار هم وجود ندارد و کاملا ثابت است و اگر می خواهید پروژه شما پذیرفته شود باید به عملکردی شبیه پروژه رقیب برسید. در این مرحله این سوال ایجاد شد که آخر چطور ممکن است هیچ تغییری در جریان وجود نداشته باشد و کاملا ثابت باشد و رقبا چه تکنیکی را از نظر طراحی مدار بکار برده اند که به چنین کیفیتی رسیده اند؟ ضمن اینکه در این پروژه نه چنین دقتی مهم بود و نه امکان سنجش آن با توجه به امکانات مجموعه سفارش دهنده پروژه برای آنها وجود داشت. سپس این امکان مطرح شد که نکند در پروژه رقبا بجای آنکه واقعا جریان اندازه گیری و نمایش داده شود، با دو 7segment عدد 80 را بصورت دائمی نشان می دهند و با تغییر سلکتور دستگاه، سگمنت های متناظر با دو عدد 1 را در دو 7segment دیگر برای نمایش 180 و 1180 روشن می کنند. با بررسی بیشتر تقریبا یقین حاصل شد که در مدار رقیب از همین روش استفاده شده و بحث اندازه گیری واقعی جریان مطرح نیست و ملاک مجموعه سفارش دهنده هم بجای توجه به عملکرد واقعی مدار، اعداد نمایش داده شده روی 7segment ها است. بنابراین به دلیل وجود اطمینان از صحت جریان های تولید شده مطابق تست های قبلی، بخش ولت متر و اندازه گیری جریان از مدار حذف شد و از همان روش روشن کردن سگمنت ها بجای نمایش جریان واقعی استفاده شد و پروژه مجددا تحویل داده شد. با شرایط جدید مجموعه سفارش دهنده پروژه اعلام کردند که این همان کیفیت عملکردی است که مد نظر آنها بوده و پروژه را تائید کردند. و در این جریانات تجربه و عبرت هایی نهفته بود.

@KnowledgePlus