مهندسی طور

روزنوشت های یه مهندس تازه کار

مهندسی طور

روزنوشت های یه مهندس تازه کار

مهندسی طور

تا حالا به این فکر کردین که تو یه سیستم کامپیوتری GPU چقدر کارآمد و مهمه ولی به اندازه CPU شناخته شده نیست.یه جورایی همون "مجهولون فی الارض معروفون فی السماء" که میگن!
یه حسی بهم میگه کاش بتونم مثه GPU باشم :)

پیاده سازی ارتباط SSH

جمعه, ۸ مرداد ۱۴۰۰، ۱۱:۲۶ ب.ظ

سلام!

 

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

 

راهکار سادس.باید SD کارت مذکور رو تو سیستم لبتابت مثلا باز کنی و یه فایل خالی با نام SSH در قسمت boot بسازی.توجه کن اسم این فایل هیچ پسوند و پیشوندی نباید داشته باشه.حالا به سادگی میتونی ارتباط SSH رو با رزبری برقرار کنی و کلی کیف کنی باهاش :)

  • Saeid

روزها در پی روزها

جمعه, ۱ مرداد ۱۴۰۰، ۱۰:۲۰ ب.ظ

سلام!

بازم بعد کلی مدت اومدم اینجا بنویسم یه ذره.شابد بیشتر فکر میکنم نوشتن یه جور حسیه که فقط وقتی بخواد در خونت در میزنه و تو هم اگه شانس بیاری و اون موقع خونه باشی در رو شاید روش باز کنی!

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

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

  • Saeid

ساخت گیرنده 2.4 گیگاهرتزی!

سه شنبه, ۱۰ فروردين ۱۴۰۰، ۰۳:۱۵ ب.ظ

سلام!

 

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

این تصویر زمانیه که برد رو از اسید درآوردم و با سیم ظرفشویی تمیزش کردم.

اینم مربوط میشه به بعد انجام سوراخ کاری که با مینی دریل (دفعه پیش که اومدم خونه این مینی دریل رو با درایور کامپیوتر ساختم) انجام شد و البته زمانبر بود نسبتا چون مته تیزی نداشتم که سریع سوراخ رو ایجاد کنه.

خب اینم روی برده تو همون مرحله سوراخکاری!

اون ماژول ژیروسکوپ رو هم گذاشتم تا بتونم این گیرنده رو روی ربات پرنده ام نصب کنم و باهاش پرواز کنم.گیرنده های رادیویی که تو بازار هست برای رباتای پرنده برد محدودی دارند ولی این گیرنده با کمک آنتنی که داره طبق ادعای شرکت سازنده تو فضای آزاد میتونه تا 1 کیلومتر برد داشته باشه و این خیلی خوبه :)

و اینم نتیجه نهایی که بدون مشکل کار میکرد!

 

ایشالا تصمیم دارم تا پایان عید برنامه فلایت کنترلر رو تکمیل کنم و روی ربات تست کنم.فقط تنها قسمتی که از همین الان نگرانش هستم تنظیم ضرایب کنترلیه که اونایی که کار کردن میدونن تو کوادکوپترها سخت ترین قسمته تقریبا!

 

خب اینم از این :)

  • Saeid

بالاخره تموم شد :)

يكشنبه, ۸ فروردين ۱۴۰۰، ۱۱:۰۵ ب.ظ

سلام!

این چند روز درگیر ساختن یه برد کنترلر با ماژول مخابراتی nrf24l01 بودم که PCB ش رو خودم تو خونه بزنم.اول برد رو خیلی باحال طراحی کرده بودم و پلی گان گذاشته بودم و اینا ولی بعد اینکه بردشو زدم(خود اینم کلی داستان داشت.کلی تو شهر گشتم تا یه جا پیدا کردم که کاغذ گلاسه خوب داشت و بعدش هم بردم یه جا که چاپ تبلیغاتی انجام میداد برام پرینت گرفتن!) در کمال تعجب دیدم که ترک ها با پلی گان تماس دارن و خیلی داغون شده :/ فکر کردم بردشو کلا بندازم دور و یکی دیگه درست کنم ولی حیفم اومد راستش :) همین شد که اون قسمت اتصالات الکتریکی برد رو فقط رو یه فیبر مسی دیگه اینبار بدون پلی گان و یه سری تغییرات پیاده کردم و روی برد قبلی رو چسب نواری زدم (که اتصالاتش با این برد جدیده مشکل درست نکنن) و این برد جدیده رو با چسب رو اون قسمتش چسبوندم.قبول دارم خیلی کار مزخرفیه برا یه برد مدار چاپی ولی خب پروتوتایپه دیگه D:

خلاصه بعد اینکه با هزار امید و آرزو پروگرامش کردم دیدم کار نمیکنه :/ بوق چک که کردم دیدم یکی از پایه های SPI ماژول به آردوینو خوب اتصال پیدا نکرده و سر همین مجبور شدم یه سیم خیلی کوتاه از پایه یه مقاومت بیچاره جدا کنم و این دو تا پین رو به هم لحیم کنم(احتمالا تو عکس یه خورده معلومه!) وخب شکر خدا بعدش کامل درست کار کرد و خستگی از تنم بیرون رفت.

 

ته داستان این شد نتیجش :)

 

 

پ.ن. امشب شب نیمه شعبانه و ولادت آقاجانمون.ایشالا زودتر بیان...

  • Saeid

ساخت مدارچاپی تو خونه!

پنجشنبه, ۵ فروردين ۱۴۰۰، ۰۷:۰۹ ب.ظ

سلام!

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

- برای طراحی برد خروجی PDF رو کهمیبرید برای چاپ بعضا میان روی صفحه A4 فیت میکنن که خب باعث میشه ابعاد بردتون همون ابعاد اصلی نباشه بنابراین برای جلوگیری از این موضوع میتونید از کسی که پرینت میکنه بخواید گزینه actual size رو انتخاب کنه که این مشکل پیش نیاد.از طرفی راهکاری که من خودم استفاده کردم این بود که از PCB بردم اسکرین شات گرفتم(البته بعد اینکه خروجی PDF گرفتم از رو اون PDF عه اسکرین شات گرفتم) و بعدش تو یه فایل ورد insert کردمش.نکته ای که هست اینه که ورد اجازه میده ابعاد عکس رو تغییر بدیم و منم همین کار رو کردم و ابعاد واقعی بردم رو وارد کردم.البته این راهکار باعث میشه وضوح مقداری کاهش پیدا کنه که همین مطلب تو فرایند ساخت PCB ممکنه دچار اشکال کنه کار رو.

- تو بردهای دست ساز خونگی به هیچ وجه از Polygun استفاده نکنید و یا هم اگه مجبور به استفاده هستید حتما spacing مناسبی رو در نظر بگیرید چون مشکلی که من خودم با بردم دارم همینه که این فاصله رو رعایت نکردم و یه جاهایی از برد متاسفانه ترک ها به پلی گان اتصال پیدا کردند و خب هیچی دیگه :/

- ضخامت ترک ها رو به نحو مناسب انتخاب کنید.ترک هایی که ضخامت خیلی کم داشته باشند و یا فاصله شون باهم کم باشه احتمال اتصالشون وجود داره.

- ترجیحا ترک ها رو از بین پدها و یا hole ها عبور ندید.تو بردی که من زدم همین داستان سبب اتصال کوتاه شده :(

 

خب برم ببینم با این بردی که ساختم چی کار میتونم کنم!
 

  • Saeid

پروگرام میکرو خارجی با STlink روی بردها

سه شنبه, ۳ فروردين ۱۴۰۰، ۱۲:۴۰ ق.ظ

سلام!

در ادامه اکتشافات امروزم :) تصمیم گرفتم برنامه نویسی میکرو رو با STlink روی برد دیسکاوری که دارم هم انجام بدم ببینم چی میشه.اینبار هم شکر خدا مشکل زیادی وجود نداشت و انجام شد.یه بار با نرم افزار Stlink utility که خب نرم افزار جانبی برای پروگرام میکروهای ST هستش انجام دادم ولی خب سرعت بالایی نداشت به همین خاطر رفتم سراغ پروگرام از طریق خود Keil که اونم اوکی شد و تونستم پروگرام رو انجام بدم.نکته ای که به نظرم مهم بود اینه که تو این روش فقط دو سیم SWDIO و SWCLK به همراه تغذیه و زمین کافیه برای پروگرام میکرو و نیازی به پایه ریست هم نیست حتی!

 

  • Saeid

پروگرام کردن میکروی stm32 با رابط سریال

دوشنبه, ۲ فروردين ۱۴۰۰، ۱۰:۵۸ ب.ظ

سلام!

برای ریختن برنامه روی میکروهای ST با کمک رابط سریال(UART) تنها چیزی که لازمه یه مبدل usb to serial هستش که لازمه چهارتا پینش رو (تغذیه و زمین و Tx و Rx) رو به پین های معادل در میکرو متصل کنیم و بعد هم با کمک نرم افزار Flash loader شرکت ST برنامه مطلوبمون رو که فایل hex ش رو ساختیم روی میکرو پروگرام کنیم.این نرم افزاره کارای دیگه ای هم میکنه که اینجا موضوع بحث نیست.یه سری نکته رو هم باید رعایت کرد که میگم اینجا :

اول اینکه دقت کنید تغذیه خروجی مبدل روی 3.3 ولت تنظیم شده باشه(بعضی از این مبدلا یه جامپر دارن که با تغییر اون میتونید تغذیه رو بین 5 ولت و 3.3 ولت عوض کنید)

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

از قرار معلوم برای اینکه این نرم افزاره میکرو رو بشناسه و روش برنامه بریزه لازمه که میکرو از System memory بوت بشه و برای همینم باید پین های بوت رو در میکرو ولتاژهای خاص بدیم(تو موردی که من کار میکردم پین Boot0 رو به 3.3ولت و پین Boot1 رو به زمین متصل میکنیم تا میکرو از حافظه سیستم - و نه حافظه فلش داخلی - بوت بشه.)

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

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

راستی تا یادم نرفته بگم حتی زمانی که از این روش برای پروگرام میکرو استفاده میکنید هم میتونید از پورت سریال شماره یک(در واقع همون پورتی که برای برنامه نویسی استفاده میکنین) تو برنامه تون استفاده کنید.

  • Saeid

حل مشکل نرفتن Blue Pill به حالت Boot

دوشنبه, ۲ فروردين ۱۴۰۰، ۰۸:۲۰ ب.ظ

سلام!

امروز بعد مدتها اومدم به Blue Pill یه سر بزنم ببینم میتونم راش بندازم یا نه.اولش کلی داستان درست کرد ولی بالاخره راه افتاد.دوستانی که طراحی این برد رو انجام دادن اومدن یه مقاومت گردن کلفت (100 کیلو) گذاشتن سری با پین Boot0 این برده و تو هم اگه بخوای از طریق بوت برنامه رو روش دانلود کنی داستان درست میشه.چرا؟چون این مقاومته تمام ولتاژ رو دو سر خودش میندازه و نتیجتا چیزی به پایه بوت نمیرسه و در نهایت هم میکرو بوت نمیشه و خب تو هرچی زور میزنی نرم افزار نمیتونه برنامه رو روی حافظه فلش میکرو بریزه.حل مساله راهکار جالبی داشت.کافی بود این مقاومته (R3 برای اونایی که مشکل مشابه دارن) رو شورت کنی بعدش مشکل کامل حل میشه.البته برای احتیاط میتونی یه مقاومت 100 اهمی مثلا سری کنی که جریان زیادی نکشه میکرو ولی من بدون اونم تست کردم مشکلی نداشت.خلاصه که این دوستمون امروز کلی وقت گرفت تا راه افتاد ولی چیزای خوبی بهم یاد داد :)

  • Saeid

راهبرد

جمعه, ۳ بهمن ۱۳۹۹، ۰۲:۰۰ ب.ظ

سلام!

 

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

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

 

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

فرض کنیم به یه مهندس یه پروژه رو سپردیم.به نظرتون این مهندس اولین قدمی که برمیداره چیه؟

خب تو این حالت مهندس نابلد مثل پروژه های دوران دانشجویی عمل میکنه و برای اینکه به ددلاین پروژه برسه سریعا خودشو میندازه وسط اقیانوس پروژه و تهش هم اگه خیلی شانس بیاره و پروژه به مشکل جدی نخوره میتونه تحویل کارفرما بده و حداقل ضرری که کرده اینه که چیزی یاد نگرفته و حداکثر ضرر هم گذاشتن وقتش به ازای دریافت پوله(البته میدونم که برای پول درآوردن باید وقت گذاشت ولی مهم اینه که چجوری و به چه مقدار وقت بذاریم که علاوه بر پول چیزای دیگه هم گیرمون بیاد!)

حالا بریم سراغ مهندس کاربلد!

این مهندس در قدم اول قبل هرکاری راجع به پروژه و ابعاد مختلف فنی و اجراییش فکر میکنه.اینکه آیا اصلا به صرفه هست وقت بذاره برای انجام این پروژه؟ آیا کارفرما خودش میدونه چی میخواد؟(اینو بارها تو پروژه های دیدم که کارفرما وسط کار میگه این قسمت رو عوض کن مهندس :/ و حرف روز اولش رو نقض میکنه و این باعث میشه که پروژه بشه یه سیاه چاله که تو توش وقتتو میریزی و کارفرما هم پولشو ولی تهش چیزی در نمیاد!)

کلی سوال از این دست باید پرسیده بشه تا یه تصمیم درست راجع به انجام پروژه بگیره.

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

 

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

 

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

 

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

 

نکته آخر هم که بد نیش بگم اینه که مهترین داشته یه مهندس تجربیات و وفتشه.اگه تو یه پروژه پول گرفتین(فارغ از اینکه جقدر و از کی!)و تجربه کسب نکردین یا وقتتون تلف شد شک نکنین ضرر بزرگی رو متحمل شدین.

 

 

  • Saeid

بیخیال!

پنجشنبه, ۲ بهمن ۱۳۹۹، ۱۲:۰۸ ق.ظ

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

 

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

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

چند روز پیش فرصتی شد یه سر برم شرکت یکی از اساتید که اونجاس.ساعتای 3 اینا رفتم ولی اصلا نفهمیدم کی شد ساعت 5 و باید برمی گشتم.یه جو جوون و سرزنده که دارن برای اهدافشون میجنگن واقعا هیجان انگیزه!

 

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

 

از مهدی عزیز هم که کامنتش رو خیلی دیر جواب دادم عذر میخوام.

 

  • Saeid